
Ferramenta de varredura de vulnerabilidades de webcam | Ferramenta de varredura de vulnerabilidades de webcam
Chinês Simplificado | English
Principalmente voltado para o framework de varredura de vulnerabilidades em câmeras de rede, atualmente integra Hikvision, Dahua, Uniview, D-Link e outros dispositivos comuns.
Por favor, use no Linux ou Mac, certifique-se de ter Python 3.8 ou superior instalado. Evite usar 3.11, pois a compatibilidade com vários pacotes não é boa.
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
Pronto! A instalação está concluída.
Como foi configurado no ambiente virtual, antes de cada execução ative-o: source venv/bin/activate
Você precisa preparar um arquivo de alvos, por exemplo targets.txt, que contém os endereços IP a serem escaneados, um alvo por linha. O formato específico é o seguinte:
# 你可以使用井号(#)来进行注释
# 单个的 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 especificar a porta do alvo, por exemplo: 192.168.6.6:8000, então essa porta será escaneada.
Caso contrário, por padrão apenas as portas comuns são escaneadas (definidas em Ingram/config.py). Para escanear outras portas em lote, especifique-as manualmente, por exemplo:python3 run_ingram.py -i 你要扫描的文件 -o 输出文件夹 -p 80 81 8000
-t:python3 run_ingram.py -i 你要扫描的文件 -o 输出文件夹 -t 500
Suporta recuperação de interrupção, mas não registra o estado de execução em tempo real, apenas em intervalos, portanto não é possível restaurar exatamente o estado anterior. Se a varredura for interrompida devido a rede ou erro, você pode repetir o comando de varredura anterior para continuar.
Todos os parâmetros:
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
Podemos usar scanners de portas poderosos para obter hosts ativos, reduzindo o escopo da varredura do Ingram e aumentando a velocidade. O método é organizar o arquivo de resultados do scanner de portas no formato ip:port e usá-lo como entrada do Ingram.
Aqui usamos o masscan como exemplo (a descrição detalhada do masscan não será repetida). Primeiro, use o masscan para escanear hosts com portas 80 ou 8000-8008 abertas: masscan -p80,8000-8008 -iL 目标文件 -oL 结果文件 --rate 8000
Após a execução do masscan, organize o arquivo de resultados: grep 'open' 结果文件 | awk '{printf"%s:%s\n", $4, $3}' > targets.txt
Depois, escaneie esses hosts: 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 contém os resultados completos, no formato: ip,porta,tipo de dispositivo,usuário,senha,entrada de vulnerabilidade:
not_vulnerable.csv contém os dispositivos que não foram expostos.
snapshots contém capturas de tela de alguns dispositivos:
Você pode visualizar diretamente através do navegador
Para visualizar em lote, fornecemos um script show/show_rtsp/show_all.py, mas ele ainda tem alguns problemas:
Esta ferramenta é apenas para testes de segurança. É estritamente proibido usá-la para fins ilegais. As consequências não são de responsabilidade da nossa equipe.
Thanks to Aiminsun for CVE-2021-36260
Thanks to chrisjd20 for hidvision config file decryptor
Thanks to mcw0 for DahuaConsole