【工具分享】针对常见网络摄像头的漏洞扫描工具

admin 2023年8月7日10:34:16评论183 views字数 1950阅读6分30秒阅读模式

工具简介

主要针对网络摄像头的漏洞扫描框架,目前已集成海康、大华、宇视、dlink等常见设备。
【工具分享】针对常见网络摄像头的漏洞扫描工具
工具安装

Windows 仍有部分bug,Linux 与 Mac可以正常使用。请确保安装了3.7及以上版本的Python,推荐3.8

克隆该仓库
git clone https://github.com/jorhelp/Ingram.git
进入项目目录,创建一个虚拟环境,并激活该环境
cd Ingrampip3 install virtualenvpython3 -m virtualenv venvsource venv/bin/activate
安装依赖
pip3 install -r requirements.txt
至此安装完毕!
工具使用

由于是在虚拟环境中配置,所以,每次运行之前,请先激活虚拟环境:source venv/bin/activat

 

你需要准备一个目标文件,比如 target.txt,里面保存着你要扫描的 IP 地址,每行一个目标,具体格式如下:

# 你可以使用井号(#)来进行注释# 单个的 IP 地址192.168.0.1# IP 地址以及要扫描的端口192.168.0.2:80#'/' 的IP段192.168.0.0/16#'-' 的IP段192.168.0.0-192.168.255.255

 

有了目标文件之后就可直接运行

python run_ingram.py -i 你要扫描的文件 -o 输出文件夹

 

如果target.txt文件中指定了目标的端口,比如: 192.168.6.6:8000,那么会扫描该目标的8000端口;否则的话,默认只扫描常见端口。

 

若要批量扫描其他端口,需自行指定,例如:

python run_ingram.py -i 你要扫描的文件 -o 输出文件夹 -p 80 81 8000

 

默认的并发数目可能对你的宽带来说 so easy 了, 你可以根据网络情况适当增大,比如在我测试机上将并发数目加到800依然运行良好,而且速度极快。

python run_ingram.py -i 你要扫描的文件 -o 输出文件夹 -t 800

 

其他参数:

optional arguments:  -h, --help            打印参数信息  -i IN_FILE, --in_file IN_FILE                        要扫描的文件  -o OUT_DIR, --out_dir OUT_DIR                        扫描结果输出路径  -p PORT [PORT ...], --port PORT [PORT ...]                        要扫描的端口,可以指定多个端口,比如 -p 80 81 82  -t TH_NUM, --th_num TH_NUM                        并发数目,视网络状况自行调整  -T TIME_OUT, --time_out TIME_OUT                        超时--debug               调试模式

 

端口扫描器

我们可以利用强大的端口扫描器来获取活动主机,进而缩小 Ingram 的扫描范围,提高运行速度,具体做法是将端口扫描器的结果文件整理成 ip:port 的格式,并作为 Ingram 的输入。

这里以 masscan 为例简单演示一下(masscan 的详细用法这里不再赘述),首先用 masscan 扫描 80 或 8000-8008 端口存活的主机:

masscan -p80,8000-8008 -iL 目标文件 -oL 结果文件 --rate 8000

masscan 运行完之后,将结果文件整理一下:

grep 'open' 结果文件 | awk '{printf"%s:%sn", $4, $3} > targets'

之后对这些主机进行扫描:

python run_ingram.py -i targets -o out

微信提醒(可有可无)

(可选) 扫描时间可能会很长,如果你想让程序扫描结束的时候通过微信发送一条提醒的话,你需要按照 wxpusher 指示来获取你的专属 UID、APP_TOKEN,并将其写入 run_ingram.py

 

wxpusher:https://wxpusher.zjiecode.com/docs/

# wechatconfig.set_val('WXUID', '这里写uid')config.set_val('WXTOKEN', '这里写token')

 

支持中断恢复,不过由于考虑到性能,并不会实时记录当前运行状态,而是间隔一定时间,所以并不能准确恢复到上次的运行状态。(这里做的比较粗糙,下个版本调整)

 

结果

.├── not_vulnerable.csv├── results.csv├── snapshots└── log.txt

 

  • results.csv 里保存了完整的结果, 格式为:
ip,端口,设备类型,用户名,密码,漏洞条目
【工具分享】针对常见网络摄像头的漏洞扫描工具
  • not_vulnerable.csv 中保存的是没有暴露的设备

  • snapshots 中保存了部分设备的快照

【工具分享】针对常见网络摄像头的漏洞扫描工具
下载地址

https://github.com/jorhelp/Ingram

 

 

原文始发于微信公众号(黑客白帽子):【工具分享】针对常见网络摄像头的漏洞扫描工具

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年8月7日10:34:16
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【工具分享】针对常见网络摄像头的漏洞扫描工具https://cn-sec.com/archives/1937836.html

发表评论

匿名网友 填写信息