
Outil de scan de vulnérabilités de webcam | Webcam vulnerability scanning tool
Français | English
Cadre de scan de vulnérabilités principalement pour les caméras réseau, intégrant actuellement des équipements courants tels que Hikvision, Dahua, Uniview, D-Link, etc.
Veuillez utiliser sur un système Linux ou Mac, assurez-vous d'avoir installé Python version 3.8 ou supérieure, évitez d'utiliser 3.11 car la compatibilité avec de nombreux paquets n'est pas bonne
git clone https://github.com/jorhelp/Ingram.git
cd Ingram
pip3 install virtualenv
python3 -m virtualenv venv
source venv/bin/activate
pip3 install -r requirements.txt
L'installation est terminée !
Comme la configuration est dans un environnement virtuel, avant chaque exécution, veuillez activer l'environnement virtuel : source venv/bin/activate
Vous devez préparer un fichier cible, par exemple targets.txt, contenant les adresses IP à scanner, une cible par ligne, le format spécifique est le suivant :
# 你可以使用井号(#)来进行注释
# 单个的 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 输出文件夹
Sinon, seuls les ports courants (définis dans Ingram/config.py) sont scannés par défaut. Pour scanner d'autres ports en masse, vous devez les spécifier, par exemple :
python3 run_ingram.py -i 你要扫描的文件 -o 输出文件夹 -p 80 81 8000
-t en fonction de la configuration de votre machine et de la bande passante :python3 run_ingram.py -i 你要扫描的文件 -o 输出文件夹 -t 500
La reprise après interruption est prise en charge, mais l'état d'exécution actuel n'est pas enregistré en temps réel, mais à intervalles réguliers, il n'est donc pas possible de reprendre exactement l'état précédent. Si l'analyse est interrompue pour des raisons réseau ou exception, vous pouvez continuer l'analyse en exécutant à nouveau la commande d'analyse précédente.
Tous les paramètres :
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
Nous pouvons utiliser un scanner de ports puissant pour obtenir les hôtes actifs, réduisant ainsi la portée du scan d'Ingram et augmentant la vitesse d'exécution. La méthode consiste à organiser le fichier de résultats du scanner de ports au format ip:port et à l'utiliser comme entrée pour Ingram.
Ici, nous prenons masscan comme exemple pour une démonstration simple (les détails d'utilisation de masscan ne seront pas répétés ici). Tout d'abord, utilisez masscan pour scanner les hôtes avec les ports 80 ou 8000-8008 ouverts : masscan -p80,8000-8008 -iL 目标文件 -oL 结果文件 --rate 8000
Après l'exécution de masscan, organisez le fichier de résultats : grep 'open' 结果文件 | awk '{printf"%s:%s\n", $4, $3}' > targets.txt
Ensuite, scannez ces hôtes : python run_ingram.py -i targets.txt -o out
run_ingram.py :# wechat
config.set_val('WXUID', '这里写uid')
config.set_val('WXTOKEN', '这里写token')
.
├── not_vulnerable.csv
├── results.csv
├── snapshots
└── log.txt
results.csv contient les résultats complets, au format : ip,port,type_appareil,utilisateur,mot_de_passe,entrée_vulnérabilité :
not_vulnerable.csv contient les appareils non exposés.
snapshots contient des instantanés de certains appareils :
Vous pouvez vous connecter via le navigateur pour prévisualiser
Pour une visualisation en masse, nous fournissons un script show/show_rtsp/show_all.py, mais il présente encore quelques problèmes :
Cet outil est uniquement destiné aux tests de sécurité. Il est strictement interdit de l'utiliser à des fins illégales. Les conséquences n'engagent pas notre équipe.
Thanks to Aiminsun for CVE-2021-36260
Thanks to chrisjd20 for hidvision config file decryptor
Thanks to mcw0 for DahuaConsole