主要针对网络摄像头的漏洞扫描框架,目前已集成海康、大华、宇视、dlink等常见设备
1、项目地址
https://github.com/jorhelp/Ingram
2、安装
Windows 仍有部分bug,Linux 与 Mac可以正常使用。请确保安装了3.7及以上版本的Python,推荐3.8
1.克隆该仓库:
git clone https://github.com/jorhelp/Ingram.git
2.进入项目目录,创建一个虚拟环境,并激活该环境:
cd Ingram
pip3 install virtualenv
python3 -m virtualenv venv
source venv/bin/activate
3.安装依赖:
pip3 install -r requirements.txt
至此安装完毕!
3、运行
由于是在虚拟环境中配置,所以,每次运行之前,请先激活虚拟环境:source venv/bin/activate
1.你需要准备一个目标文件,比如 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
2.有了目标文件之后就可直接运行:
python run_ingram.py -i 你要扫描的文件 -o 输出文件夹
3.端口: 如果target.txt文件中指定了目标的端口,比如: 192.168.6.6:8000,那么会扫描该目标的8000端口
否则的话,默认只扫描常见端口,若要批量扫描其他端口,需自行指定,例如:
python run_ingram.py -i 你要扫描的文件 -o 输出文件夹 -p 80 81 8000
4.默认的并发数目可能对你的宽带来说 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 调试模式
4、结果
.
├── not_vulnerable.csv
├── results.csv
├── snapshots
└── log.txt
results.csv 里保存了完整的结果, 格式为: ip,端口,设备类型,用户名,密码,漏洞条目:
not_vulnerable.csv 中保存的是没有暴露的设备
snapshots 中保存了部分设备的快照: