
Este script é usado para identificar serviços MongoDB que estão expostos na rede e permitem handshakes de protocolo não autenticados.
mongo_exposure_scanner.py
Verifique o Python:
python3 --version
| Arquivo | Finalidade |
|---|---|
mongo_scanner.py | Script de varredura |
targets.txt | Hosts e portas alvo |
mongo_exposed_targets.txt | Resultados da varredura (criado automaticamente) |
targets.txt)Formatos suportados:
# Host only (default ports used)
10.99.1.52
# Host with specific port
mongo.example.com:3717
# Multiple ports
192.168.1.10:27017,28017
# Port range
172.16.0.20:27017-27030
Notas:
# são ignoradasExecute o scanner:
python3 mongo_scanner.py
O script solicitará:
Enter target file name (default: targets.txt):
Opções:
targets.txtprod_mongo.txtpython3 mongo_scanner.py
Enter target file name (default: targets.txt): prod_mongo.txt
[*] Using target file: prod_mongo.txt
[*] Total host:port pairs: 4
[*] Concurrency: 50 | Timeout: 5s
------------------------------------------------------------
[+] MongoDB OPEN: 10.99.1.52:3717
[-] 192.168.1.10:27017 - Not exposed
------------------------------------------------------------
[*] Done. Results saved to mongo_exposed_targets.txt
mongo_exposed_targets.txt
[2026-01-20 12:34:07] 10.99.1.52:3717 - Unauthenticated MongoDB exposed
[2026-01-20 12:34:07] dds-d9j6c3a7096ded641.mongodb.ap-southeast-5.rds.aliyuncs.com:3717 - Unauthenticated MongoDB exposed
| Status | Significado |
|---|---|
MongoDB OPEN |
O serviço MongoDB respondeu ao hello |
Unauthenticated MongoDB exposed | Handshake permitido sem autenticação |
Not exposed | Não é MongoDB ou autenticação/conexão bloqueada |
Connection refused / timeout | Serviço inacessível |