Analizza la superficie d'attacco di un dominio a partire dal file di zona DNS. Carica il file, avvia la scansione e ottieni in tempo reale una mappa completa degli host con analisi SSL, security headers e rilevamento di IP privati esposti.
Supporto per file di zona in formato BIND e PowerDNS API. Estrazione automatica del dominio da $ORIGIN o record SOA.
Due modalita' di input: carica un file di zona DNS oppure inserisci uno o piu' URL/IP manualmente con il tasto +.
Rilevamento di IP privati (RFC 1918) esposti nel DNS pubblico: 10.x, 172.16-31.x, 192.168.x, 127.0.0.1.
Versione TLS, HTTP/2 via ALPN, cipher suite, scadenza certificato, self-signed, wildcard, SAN mismatch.
Rileva versioni software, CMS, pannelli admin, file sensibili esposti. CVE note e suggerimenti di hardening.
Tre moduli attivabili singolarmente: Record DNS, SSL+Headers, Fingerprinting. Usa solo quello che ti serve.
Backend multi-thread (5 worker). Risultati in streaming via SSE in tempo reale.
Filtra i risultati per IP privati, record obsoleti, solo HTTP, non raggiungibili o CNAME.
$ORIGIN o dal record SOAServer e X-Powered-By.git/, .env, wp-config.php.bak, server-statusserver_tokens off, expose_php Off, ServerTokens ProdOgni host riceve un punteggio da 0 a 100 basato sull'analisi SSL e degli header di sicurezza. Le penalita' vengono applicate per ogni problema rilevato.
| Check | Penalita' |
|---|---|
| TLS deprecated (1.0/1.1) | -25 punti |
| Cipher debole | -20 punti |
| Certificato scaduto | -40 punti |
| Scadenza < 15 giorni | -20 punti |
| Scadenza < 30 giorni | -10 punti |
| Self-signed | -20 punti |
| SAN mismatch | -15 punti |
| HSTS mancante | -5 punti |
| CSP mancante | -10 punti |
| X-Frame-Options mancante | -8 punti |
| Server header esposto | -3 punti |
| X-Powered-By esposto | -3 punti |
| No redirect HTTP→HTTPS | -5 punti |
Il frontend (r3conmap.html) effettua il parsing del file di zona lato client,
poi invia la lista di host al backend Flask che esegue la scansione in streaming.
Ogni risultato viene trasmesso tramite Server-Sent Events e visualizzato
in tempo reale nella tabella e nelle card SSL.
r3conmap/
├── r3conmap.html # Frontend — apri nel browser
├── r3conmap_server.py # Backend Flask (API + scan engine)
├── start.sh # Script di avvio automatico
└── README.md
| Endpoint | Metodo | Descrizione |
|---|---|---|
| /ping | GET | Health check — ritorna {"status": "ok"} |
| /scan_zone | POST | Scansione zona DNS. Body: {"hosts": {...}, "cnames": {...}, "modules": {...}}. SSE stream. |
| /scan_urls | POST | Scansione URL manuali. Body: {"urls": [...], "modules": {...}}. SSE stream. |
| Pacchetto | Utilizzo |
|---|---|
| flask | Backend HTTP e routing |
| flask-cors | CORS per richieste dal browser |
| requests | Probe HTTP/HTTPS verso gli host |
| cryptography | Parsing certificati SSL (formato DER) |
Verifica che l'indicatore BACKEND ONLINE sia verde in alto a destra.
Zona DNS: carica un file di zona (BIND / PowerDNS). URL Manuali: inserisci uno o piu' URL/IP con il tasto +.
Attiva o disattiva i moduli: Record DNS, SSL+Headers, Fingerprinting. Usali singolarmente o tutti insieme.
Premi AVVIA SCANSIONE. I risultati appariranno in tempo reale grazie alla scansione parallela (5 thread).
Usa i filtri (IP privati, obsoleti, solo HTTP, CNAME) per trovare subito i problemi. Ogni card mostra i comandi equivalenti.
Report HTML stampabile o CSV. L'export include solo i moduli selezionati.
$ORIGIN esempio.it.
$TTL 86400
@ IN SOA ns1.esempio.it. hostmaster.esempio.it. (...)
www IN A 1.2.3.4
mail IN A 1.2.3.5
esempio.it. 300 IN A 1.2.3.4
www.esempio.it. 300 IN A 1.2.3.4
mail.esempio.it. 300 IN A 1.2.3.5
Ogni riga della tabella e ogni card SSL espone i comandi da terminale equivalenti
tramite il tasto [ CMD ], con copia negli appunti.
# Tabella host
dig host.esempio.it
curl -sI http://host.esempio.it -o /dev/null -w "%{http_code} %{redirect_url}"
curl -sI https://host.esempio.it -o /dev/null -w "%{http_code}" --insecure
ping -c 3 host.esempio.it
# Card SSL
openssl s_client -connect host.esempio.it:443 \
-servername host.esempio.it < /dev/null 2>/dev/null \
| openssl x509 -noout -dates -subject -issuer
curl -sI https://host.esempio.it \
| grep -i "strict\|csp\|x-frame\|x-content\|referrer\|permissions\|server"
unzip r3conmap.zip
cd r3conmap
chmod +x start.sh
./start.sh
Estrai l'archivio ZIP ricevuto, entra nella cartella e lancia start.sh.
Lo script crea automaticamente un ambiente virtuale Python,
installa le dipendenze e avvia il backend su http://localhost:5000.
Poi apri r3conmap.html nel browser.
python3 -m venv venv
source venv/bin/activate
pip install flask flask-cors requests cryptography
python3 r3conmap_server.py
CERT_NONE) per poter analizzare anche certificati scaduti o self-signed
R3CONMAP e' il progetto originale da cui e' nato NetForge.
L'idea di analizzare la superficie d'attacco di un dominio si e' evoluta in un
toolkit completo per security audit e gestione infrastruttura:
50+ moduli, VPN, firewall, certificati x509, CVE aggiornabili — tutto dal browser, zero cloud.