【工具分享】Ingram网络摄像头漏洞扫描工具

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

安装:

请在Linux或Mac系统使用,确保安装了3.8及以上版本的Python,尽量不要使用3.11,因为对许多包的兼容不是很好。

进入项目目录,创建一个虚拟环境,并激活该环境

cd Ingrampip3 install virtualenvpython3 -m virtualenv venvsource venv/bin/activate

安装依赖

pip3 install -r requirements.txt

使用:

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

source venv/bin/activate

需要准备一个目标文件,比如targets.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

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

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

端口:如果target.txt文件中指定了目标的端口如: 192.168.6.6:8000,则会扫描该目标的8000端口,没有的话默认只扫描常见端口(定义在 Ingram/config.py 中),若要批量扫描其他端口,需自行指定,例如:

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

默认并发数目为 300,可以根据机器配置及网速通过 -t 参数来自行调控:

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

Ingram支持中断后恢复扫描,但不会实时记录扫描进度,而是每隔一段时间保存一次状态,因此恢复时可能有少量重复或遗漏。如果扫描因网络或异常中断,只需重新运行相同的扫描命令即可继续扫描。

所有参数:

optional arguments:  -h, --help            show this help message and exit  -i IN_FILE, --in_file IN_FILE                         the targets will be scan  -o OUT_DIR, --out_dir OUT_DIR                         the dir where results will be saved  -p PORTS [PORTS ...], --ports PORTS [PORTS ...]                         the port(s) to detect  -t TH_NUM, --th_num TH_NUM                         the processes num  -T TIMEOUT, --timeout TIMEOUT                         requests timeout  -D, --disable_snapshot                         disable snapshot  --debug

扫描结果:

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

results.csv里保存了完整的结果, 格式为: ip,端口,设备类型,用户名,密码,漏洞条目:

not_vulnerable.csv中保存的是没有暴露的设备。

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

原文链接:,转发请注明来源!