ODIN
Osserva, Rileva e Indaga sulle Reti


Versione corrente: v2.0.0 "Huginn"
ODIN è uno strumento Python per automatizzare la raccolta di intelligence, la scoperta di asset e la reportistica. Ricorda, controlla il branch dev per l'ultima versione in sviluppo, e i feedback sono benvenuti!
Vedi il wiki di GitHub per dettagli e istruzioni di installazione e configurazione.
Cosa Può Fare ODIN?
ODIN mira ad automatizzare le attività di ricognizione di base utilizzate dai team red per scoprire e raccogliere dati sugli asset di rete, inclusi domini, indirizzi IP e sistemi esposti su Internet. La caratteristica principale di ODIN è la gestione dei dati e la reportistica. I dati sono organizzati in un database e, opzionalmente, quel database può essere convertito in un report HTML o in un database grafico Neo4j per visualizzare i dati.
ODIN svolge questo in più fasi:
Fase 1 - Scoperta degli Asset
- Raccogli informazioni di base sull'organizzazione da fonti come il database di marketing Full Contact.
- Controlla DNS Dumpster, Netcraft e certificati TLS per scoprire sottodomini per i domini forniti.
- Risolvi domini e sottodomini in indirizzi IP tramite connessioni socket e record DNS.
- Raccogli informazioni per tutti gli indirizzi IP, come dati di proprietà e organizzazione, da RDAP, whois e altre fonti di dati.
- Cerca domini e indirizzi IP su Shodan per raccogliere dati aggiuntivi, come sistemi operativi, banner dei servizi e porte aperte.
- Controlla la possibilità di takeover e domain fronting con i domini e sottodomini.
Fase 2 - Scoperta dei Dipendenti
- Raccogli indirizzi email e nomi di dipendenti per l'organizzazione target.
- Collega i dipendenti ai profili dei social media tramite motori di ricerca e API di Twitter.
- Verifica incrociata degli indirizzi email scoperti con Have I Been Pwned di Troy Hunt.
Fase 3 - Servizi Cloud e Web
- Cerca file Office e PDF sotto il dominio target, scaricali ed estrai i metadati.
- Cerca bucket AWS S3 e Digital Ocean Spaces utilizzando parole chiave relative all'organizzazione.
- Acquisisci screenshot dei servizi web scoperti per una rapida revisione iniziale dei servizi.
Fase 4 - Reportistica
- Salva tutti i dati in un database SQLite3 per permettere di interrogare facilmente i dati.
- Genera un report HTML utilizzando query SQL predefinite per rendere semplice la consultazione dei dati in un browser web.
- Crea un database grafico Neo4j che collega tutte le entità scoperte (indirizzi IP, domini, sottodomini, porte e certificati) con relazioni (ad es. RESOLVES_TO, HAS_PORT).
Alla fine di tutto questo avrai più modi per navigare e visualizzare i dati. Anche una semplice query Neo4j come MATCH (n) RETURN n (mostra tutto) può creare un grafico affascinante del perimetro esterno dell'organizzazione e rendere semplice vedere come gli asset sono collegati. Le pagine wiki di Neo4j contengono migliori esempi di query.