针对CCTV摄像头的扫描爆破工具 :Cameradar

0x01功能介绍
    
        简述:Cameradar 是一款基于docker使用的RTSP数据流访问工具。该工具可以通过基于RTSP协议认证的形式暴力破解账号密码。可以渗透常规的CCTV摄像头。自带账密字典和目标流路径字段。
        功能详解:
  • 可以检测任何可访问的目标设备并扫描出开放的RTSP主机。
  • 检测正在传输监控数据的设备型号。
  • 内置字典自动化渗透爆破账号密码和目标流路径。
        工具优势:
  • 可以很方便的批量检测摄像头设备的弱口令。
  • 可以自定义爆破的账密字典和目标流路径,可以检测的不同的摄像头设备来改变字典。
        GitHub源码地址:https://github.com/Ullaakut/cameradar
 
0x02环境配置
 
        这里使用的是系统是CentOS7的环境。docker安装,官方建议内核在3.8 以上。这里用的CentOS的内核版本为3.10,符合要求。

  1. [root@localhost docker_test]# uname -a
  2. Linux bogon 3.10.-.el7.x86_64 # SMP Fri Apr :: UTC x86_64 x86_64 x86_64 GNU/Linux
  3. [root@localhost docker_test]#
 
 一、使用yum包管理器将软件包升级到最新。
  1. [root@localhost docker_test]# yum update
  2. Loaded plugins: fastestmirror, langpacks
  3. Determining fastest mirrors
  4. * base: mirrors.huaweicloud.com
  5. * extras: mirrors.tuna.tsinghua.edu.cn
  6. * updates: mirrors.huaweicloud.com
  7. base | 3.6 kB :
  8. extras | 2.9 kB :
  9. updates | 2.9 kB :
  10. (/): base//x86_64/group_gz | kB :
  11. (/): extras//x86_64/primary_db | kB :
  12. (/): updates//x86_64/primary_db | 2.8 MB :
  13. (/): base//x86_64/primary_db | 6.0 MB :
二、安装相关依赖。(这里已经安装过了)
  1. [root@localhost docker_test]# yum install -y yum-utils device-mapper-persistent-data lvm2
  2. Loaded plugins: fastestmirror, langpacks
  3. Loading mirror speeds from cached hostfile
  4. * base: mirrors.huaweicloud.com
  5. * extras: mirrors.tuna.tsinghua.edu.cn
  6. * updates: mirrors.huaweicloud.com
  7. Package yum-utils-1.1.-.el7.noarch already installed and latest version
  8. Package device-mapper-persistent-data-0.8.-.el7.x86_64 already installed and latest version
  9. Package :lvm2-2.02.-.el7_7..x86_64 already installed and latest version
  10. Nothing to do
三、添加docker的yum源。
        这里安装的是docker社区免费版。
  1. [root@localhost docker_test]# yum install docker-ce
  2. Loaded plugins: fastestmirror, langpacks
  3. Loading mirror speeds from cached hostfile
  4. * base: mirrors.huaweicloud.com
  5. * extras: mirrors.tuna.tsinghua.edu.cn
  6. * updates: mirrors.huaweicloud.com
  7. No package docker-ce available.
  8. Error: Nothing to do
  9. [root@localhost docker_test]#

在CentOS7.0上默认的源中没有docker的资源。(我这里安装的epel-release的源里也没有docker资源)

  1. [root@localhost yum.repos.d]# pwd
  2. /etc/yum.repos.d
  3. [root@localhost yum.repos.d]# ls
  4. CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo
  5. CentOS-CR.repo CentOS-Media.repo epel.repo
  6. CentOS-Debuginfo.repo CentOS-Sources.repo epel-testing.repo

添加docker源。(可以看到添加docker源后,增加了一个yum源文件docker-ce.repo)

  1. [root@localhost yum.repos.d]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  2. Loaded plugins: fastestmirror, langpacks
  3. adding repo from: https://download.docker.com/linux/centos/docker-ce.repo
  4. grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
  5. repo saved to /etc/yum.repos.d/docker-ce.repo
  6. [root@localhost yum.repos.d]# ls
  7. CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo epel-testing.repo
  8. CentOS-CR.repo CentOS-Media.repo docker-ce.repo
  9. CentOS-Debuginfo.repo CentOS-Sources.repo epel.repo
  10. [root@localhost yum.repos.d]#

查看仓库中所有docker版本。

  1. [root@localhost yum.repos.d]# yum list docker-ce --showduplicates | sort -r
  2. * updates: mirrors.huaweicloud.com
  3. Loading mirror speeds from cached hostfile
  4. Loaded plugins: fastestmirror, langpacks
  5. * extras: mirrors.tuna.tsinghua.edu.cn
  6. * epel: mirrors.tuna.tsinghua.edu.cn
  7. docker-ce.x86_64 :19.03.-.el7 docker-ce-stable
  8. docker-ce.x86_64 :19.03.-.el7 docker-ce-stable
  9. docker-ce.x86_64 :19.03.-.el7 docker-ce-stable
  10. docker-ce.x86_64 :19.03.-.el7 docker-ce-stable
  11. .
  12. .
  13. .

安装docker社区免费版。

  1. [root@localhost yum.repos.d]# yum install docker-ce
  2. Loaded plugins: fastestmirror, langpacks
  3. Loading mirror speeds from cached hostfile
  4. * base: mirrors.huaweicloud.com
  5. * epel: mirrors.tuna.tsinghua.edu.cn
  6. * extras: mirrors.tuna.tsinghua.edu.cn
  7. * updates: mirrors.huaweicloud.com
  8. Resolving Dependencies
  9. --> Running transaction check
  10. ---> Package docker-ce.x86_64 :19.03.-.el7 will be installed
  11. --> Processing Dependency: container-selinux >= :2.74 for package: :docker-ce-19.03.-.el7.x86_64
  12. --> Processing Dependency: containerd.io >= 1.2.- for package: :docker-ce-19.03.-.el7.x86_64
  13. --> Processing Dependency: docker-ce-cli for package: :docker-ce-19.03.-.el7.x86_64
  14. --> Running transaction check
  15. ---> Package container-selinux.noarch :2.107-.el7 will be installed
  16. ---> Package containerd.io.x86_64 :1.2.-3.2.el7 will be installed
  17. ---> Package docker-ce-cli.x86_64 :19.03.-.el7 will be installed
  18. --> Finished Dependency Resolution
  19.  
  20. Dependencies Resolved
  21.  
  22. =======================================================================================
  23. Package Arch Version Repository Size
  24. =======================================================================================
  25. Installing:
  26. docker-ce x86_64 :19.03.-.el7 docker-ce-stable M
  27. Installing for dependencies:
  28. container-selinux noarch :2.107-.el7 extras k
  29. containerd.io x86_64 1.2.-3.2.el7 docker-ce-stable M
  30. docker-ce-cli x86_64 :19.03.-.el7 docker-ce-stable M
  31.  
  32. Transaction Summary
  33. =======================================================================================
  34. Install Package (+ Dependent packages)
  35.  
  36. Total download size: M
  37. Installed size: M

查看docker版本,启动docker

  1. [root@localhost yum.repos.d]# docker version
  2. Client: Docker Engine - Community
  3. Version: 19.03.
  4. API version: 1.40
  5. Go version: go1.12.10
  6. Git commit: 9013bf583a
  7. Built: Fri Oct ::
  8. OS/Arch: linux/amd64
  9. Experimental: false
  10. Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

启动docker

  1. [root@localhost yum.repos.d]# systemctl start docker
  2. [root@localhost yum.repos.d]# systemctl status docker
  3. docker.service - Docker Application Container Engine
  4. Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
  5. Active: active (running) since Fri -- :: EST; 32s ago
  6. Docs: https://docs.docker.com
  7. Main PID: (dockerd)
  8. Tasks:
  9. Memory: 99.4M
  10. CGroup: /system.slice/docker.service
  11. └─ /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
  12.  
  13. Nov :: bogon dockerd[]: time="2019-11-08T03:31:54.384116486-05:00" level=info msg="ccResolverWrapper: s...e=grpc
  14. Nov :: bogon dockerd[]: time="2019-11-08T03:31:54.384130527-05:00" level=info msg="ClientConn switching...e=grpc
  15. Nov :: bogon dockerd[]: time="2019-11-08T03:31:54.416778226-05:00" level=info msg="[graphdriver] using ...rlay2"
  16. Nov :: bogon dockerd[]: time="2019-11-08T03:31:54.420853788-05:00" level=info msg="Loading containers: start."
  17. Nov :: bogon dockerd[]: time="2019-11-08T03:31:55.048703993-05:00" level=info msg="Default bridge (dock...dress"
  18. Nov :: bogon dockerd[]: time="2019-11-08T03:31:55.312303083-05:00" level=info msg="Loading containers: done."
  19. Nov :: bogon dockerd[]: time="2019-11-08T03:31:55.357432633-05:00" level=info msg="Docker daemon" commi...9.03.
  20. Nov :: bogon dockerd[]: time="2019-11-08T03:31:55.357497299-05:00" level=info msg="Daemon has completed...ation"
  21. Nov :: bogon dockerd[]: time="2019-11-08T03:31:55.394993466-05:00" level=info msg="API listen on /var/r....sock"
  22. Nov :: bogon systemd[]: Started Docker Application Container Engine.
  23. Hint: Some lines were ellipsized, use -l to show in full.
  24. [root@localhost yum.repos.d]#
 
 0x03工具使用
 
将docker镜像pull下来。
  1. [root@localhost yum.repos.d]# docker pull ullaakut/cameradar
  2. Using default tag: latest
  3. latest: Pulling from ullaakut/cameradar
  4. 9d48c3bd43c5: Pull complete
  5. cc7766bf8751: Pull complete
  6. a497a345880d: Pull complete
  7. 919b21ac9ea0: Pull complete
  8. 3f9aebbc778b: Pull complete
  9. Digest: sha256:04bbc19c486584ccc12d8bca2bd07e24bb859b63c44e07c0c17e940ec8badc75
  10. Status: Downloaded newer image for ullaakut/cameradar:latest
查看本地下载下来的镜像
  1. [root@localhost yum.repos.d]# docker images
  2. REPOSITORY TAG IMAGE ID CREATED SIZE
  3. ullaakut/cameradar latest fe268aaf499c weeks ago .8MB
  4. hello-world latest fce289e99eb9 months ago .84kB
  5. [root@localhost yum.repos.d]#

 具体使用方法

1、使用工具扫描单个摄像头设备:
    docker run ullaakut/cameradar --targets=“ip”

 
2、自定义扫描端口:
    docker run ullaakut/cameradar --targets=“ip" --ports="554,5554,8554“
 
3、自定扫描的扫描使用的账密的字典和路由字典。
  1. 用法:
  2. docker run -t -v /my/folder/with/dictionaries:/tmp/dictionaries \
  3. ullaakut/cameradar \
  4. -r "/tmp/dictionaries/my_routes" \
  5. -c "/tmp/dictionaries/my_credentials.json" \
  6. -t 172.19.124.0/
  正常情况下,工具会加载docker容器中默认的账密字典和路由字典
  1. [root@localhost ~]# docker run ullaakut/cameradar -t192.168.64.
  2. Loading credentials...ok
  3. > Loading credentials dictionary from path "/app/dictionaries/credentials.json"
  4. > Loaded usernames and passwords
  5. Loading routes...ok
  6. > Loading routes dictionary from path "/app/dictionaries/routes"
  7. > Loaded routes
  8. Scanning the network...ok
  9. > Found RTSP streams
  10. unable to attack empty list of targets

   我们可以查看该工具的源文件,可以看到它的密码只有 账密字典中有14个用户名和32个密码,路径字典中有182个路径。

  1. [root@localhost cameradar]# ls
  2. attack.go cmd Dockerfile helpers.go LICENSE README.md scan_test.go
  3. attack_test.go curl.go examples helpers_test.go loaders.go scan.go summary.go
  4. cameradar.go curl_test.go go.mod images loaders_test.go scanner.go summary_test.go
  5. CHANGELOG.md dictionaries go.sum ISSUE_TEMPLATE.md models.go scanner_test.go tools
  6. [root@localhost cameradar]# cd dictionaries/
  7. [root@localhost dictionaries]# ls
  8. credentials.json routes
  9. [root@localhost dictionaries]# head credentials.json
  10. {
  11. "usernames": [
  12. "",
  13. "",
  14. "",
  15. "Admin",
  16. "admin",
  17. "admin1",
  18. "administrator",
  19. "Administrator",
  20. [root@localhost dictionaries]# head routes
  21.  
  22. /live/ch01_0
  23. /:/main
  24. /usrnm:pwd/main
  25. /video1
  26.  
  27. .AMP
  28. /h264major
  29. /stream1
   我们在本机新建自己的账密文件(使用数组的形式存储账密字典)
  1. [root@localhost tools]# ls
  2. my_credentials.json my_routes
  3. [root@localhost tools]# vim my_credentials.json
  4. {
  5. "usernames": [
  6. "",
  7. "",
  8. "",
  9. "Admin",
  10. "admin",
  11. "admin1",
  12. "administrator",
  13. "Administrator",
  14. "aiphone",
  15. "Dinion",
  16. "root",
  17. "service",
  18. "supervisor",
  19. "ubnt",
  20. "test",
  21. "ciby",
  22. "hello"
  23. ],
  24. "passwords": [
  25. "",
  26. "",
  27. "",
  28. "",
  29. "",
  30. "",
  31. "",
  32. "",
  33. "",
  34. "",
  35. "",
  36. "admin",
  37. "administrator",
  38. "aiphone",
  39. "camera",
  40. "fliradmin",
  41. "hikvision",
  42. "hikadmin",
  43. "ikwd",
  44. "jvc",
  45. "meinsm",
  46. "pass",
  47. "password",
  48. "reolink",
  49. "root",
  50. "service",
  51. "supervisor",
  52. "system",
  53. "toor",
  54. "tp-link",
  55. "ubnt",
  56. "wbox123",
  57. "test.com",
  58. "test1.com",
  59. "123.com"
  60. ]
  61. }
  62. [root@localhost tools]# head my_routes
  63.  
  64. /live/ch01_0
  65. /:/main
  66. /usrnm:pwd/main
  67. /video1
  68.  
  69. .AMP
  70. /h264major
  71. /stream1

  将我们本机的字典挂在到容器中,然后使用-c -r 参数来调用自定义的字典。

  1. [root@localhost tools]# docker run -t -v /home/docker_test/tools:/tmp ullaakut/cameradar -c "/tmp/my_credentials.json" -r "/tmp/my_routes" -t 192.168.64.128
  2. Loading credentials...ok
  3. > Loading credentials dictionary from path "/tmp/my_credentials.json"
  4. > Loaded usernames and passwords
  5. Loading routes...ok
  6. > Loading routes dictionary from path "/tmp/my_routes"
  7. > Loaded routes
  8. Scanning the network...ok
  9. > Found RTSP streams
  10. unable to attack empty list of targets
 4、批量扫描文件中的目标IP(这里IP可以有多种格式)
  1. [root@localhost tools]# docker run -t -v /home/docker_test/tools:/tmp ullaakut/cameradar -c "/tmp/my_credentials.json" -r "/tmp/my_routes" -t "/home/docker_test/tools/target.txt"
  2. Loading credentials...ok
  3. > Loading credentials dictionary from path "/tmp/my_credentials.json"
  4. > Loaded usernames and passwords
  5. Loading routes...ok
  6. > Loading routes dictionary from path "/tmp/my_routes"
  7. > Loaded routes
  8. Scanning the network...ko
  9. error while scanning network: Unable to split netmask from target expression: "/home/docker_test/tools/target.txt"
  10. WARNING: No targets were specified, so hosts scanned

(这里报错了。未能拆分网络掩码,不懂go语言暂未解决)

    可以扫C段:
  1. [root@localhost tools]# docker run -t -v /home/docker_test/tools:/tmp ullaakut/cameradar -c "/tmp/my_credentials.json" -r "/tmp/my_routes" -t 192.168.64.0/
  2. Loading credentials...ok
  3. > Loading credentials dictionary from path "/tmp/my_credentials.json"
  4. > Loaded usernames and passwords
  5. Loading routes...ok
  6. > Loading routes dictionary from path "/tmp/my_routes"
  7. > Loaded routes
  8. Scanning the network...

 5、其他参数

  1. * -h”:显示用法信息
  2. * -T,--2000ms timeout ”:(默认:)设置自定义超时值,在此之后应放弃没有答案的攻击尝试。在尝试扫描不稳定和慢速的网络时,建议增加该值;在快速可靠的网络中,建议减少该值。
  3. * -d,-- debug ”:启用调试日志
  4. * -v,-- verbose ”:启用详细的curl日志(不推荐用于大多数用途)
  5. -s,--scan-speed”:(默认:)4设置自定义nmap发现预设以提高速度或准确性。如果您尝试扫描不稳定和慢速的网络,建议降低它,如果在性能良好且可靠的网络上,则建议增加它。您可能还希望将其保持在较低水平,以使发现变得隐秘。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

针对CCTV摄像头的扫描爆破工具 :Cameradar的更多相关文章

  1. 基于nmap扫描结果的端口爆破工具:BrutesPray

      大家搞内网或者C段渗透测试的时候可能遇到很多时候需要对大批的主机进行精确爆破,这时候BruteSpray就派上用场了. BruteSpray是一款基于nmap扫描输出的gnmap/XML文件.自动 ...

  2. PJzhang:经典子域名爆破工具subdomainsbrute

    猫宁!!! 参考链接: https://www.waitalone.cn/subdomainsbrute.html https://www.secpulse.com/archives/5900.htm ...

  3. [原创]内网SSH密码爆破工具sshcrack(配合Cscan批量弱口令检测)

    0x000 前言 sshcrack是一个命令行下的SSH密码爆破工具,适用于内渗中SSH密码检测 当然也可用于外网SSH密码爆破,支持Windows/Linux,其它系统未测.Tip1 0x001 目 ...

  4. PJzhang:lijiejie的敏感目录爆破工具BBScan

    猫宁!!! 参考链接: https://www.freebuf.com/sectool/85729.html https://segmentfault.com/a/1190000014539449 这 ...

  5. 子域名收集之DNS字典爆破工具fierce与dnsdict6的使用

    子域名收集之DNS字典爆破工具fierce与dnsdict6的使用 一.fierce 0.介绍 该工具是一个域名扫描综合性工具.它可以快速获取指定域名的DNS服务器,并检查是否存在区域传输(Zone ...

  6. Web应用类型扫描识别工具WhatWeb

    Web应用类型扫描识别工具WhatWeb   WhatWeb是一款Kali Linux预安装的Web扫描工具.它使用Ruby语言编写.该工具可以扫描网站,获取该网站的各类信息,如所使用的CMS.博客平 ...

  7. python 写的http后台弱口令爆破工具

    今天来弄一个后台破解的Python小程序,哈哈,直接上代码吧,都有注释~~ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ...

  8. Python开发爆破工具

    上一篇讲到了如何用Python开发字典,而当我们手里有了字典 就可以进一步去做爆破的任务了,可以用现成的工具,当然也可以自己写 接下来我就要一步一步来写爆破工具! 爆破MySQL: 想要爆破MySQL ...

  9. 更新 是 可用的 针对 安卓 软件开发包和工具 Updates are available for android software development packages and tools

    作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱:313134555@qq.com E-mail: 313134555 @qq.com 更新 是 可用的 针对 安卓 软件开发包和工 ...

随机推荐

  1. java IO、NIO、AIO详解

    概述 在我们学习Java的IO流之前,我们都要了解几个关键词 同步与异步(synchronous/asynchronous):同步是一种可靠的有序运行机制,当我们进行同步操作时,后续的任务是等待当前调 ...

  2. Podman 使用指南

    原文链接:Podman 使用指南 Podman 原来是 CRI-O 项目的一部分,后来被分离成一个单独的项目叫 libpod.Podman 的使用体验和 Docker 类似,不同的是 Podman 没 ...

  3. Java8两大特性(一)——Stream

    什么是Stream? Stream(流)是一个来自数据源的元素队列并且支持聚合操作,元素流在管道中经过中间操作,最终操作得到结果. 数据源:集合,数组,I/O channel,产生器generator ...

  4. 实验吧之【简单的登录题(】CBC字节反转攻击)

    开始刷ctf题吧  慢慢来. 实验吧---简单的登录题 题目地址:http://ctf5.shiyanbar.com/web/jiandan/index.php 随便提交一个id,看到后台set了两个 ...

  5. LeetCode初级算法--排序和搜索01:第一个错误的版本

    LeetCode初级算法--排序和搜索01:第一个错误的版本 搜索微信公众号:'AI-ming3526'或者'计算机视觉这件小事' 获取更多算法.机器学习干货 csdn:https://blog.cs ...

  6. Apache Pig中文教程集合

    Apache Pig中文教程集合: http://www.codelast.com/?p=4550#more-4550

  7. 罕见的coredump了

    最近,项目在越南版删档测试的时候,发生了罕见的coredump,简单记一点排查日志 目前的敏感词过滤是在C层做判定的,先后经过几个项目考验,模块算是比较稳定了.越南版有个需求,需要将敏感词里的空格去掉 ...

  8. window下设置定时任务及基本配置

    ### window下设置定时任务及基本配置 轉載請註明出處: https://www.cnblogs.com/funnyzpc/p/11746439.html |****************** ...

  9. java中JVM内存管理(1)

    Java岗位面试,JVM是对程序员基本功考察,通常会问你对JVM了解吗?  可以分几部分回答这个问题,首先JVM内存划分 | JVM垃圾回收的含义  |  有哪些GC算法  以及年轻代和老年代各自特点 ...

  10. SpringBoot SpringCloud版本对应