ODIN
Beobachten, Erkennen und Untersuchen von Netzwerken


Aktuelle Version: v2.0.0 "Huginn"
ODIN ist ein Python-Tool zur Automatisierung von Intelligence Gathering, Asset Discovery und Reporting. Denken Sie daran, den Dev-Branch für die neuesten Entwicklungen zu überprüfen, und Feedback ist willkommen!
Siehe das GitHub-Wiki für Details sowie Installations- und Einrichtungsanweisungen.
Was kann ODIN?
ODIN zielt darauf ab, die grundlegenden Recon-Aufgaben zu automatisieren, die von Red Teams verwendet werden, um Netzwerkressourcen zu entdecken und Daten zu sammeln, einschließlich Domains, IP-Adressen und internetfähigen Systemen. Das Hauptmerkmal von ODIN ist die Datenverwaltung und Berichterstattung. Die Daten werden in einer Datenbank organisiert und dann kann diese Datenbank optional in einen HTML-Bericht oder eine Neo4j-Graphdatenbank zur Visualisierung der Daten konvertiert werden.
ODIN führt dies in mehreren Phasen durch:
Phase 1 - Asset Discovery
- Sammeln grundlegender Organisationsinformationen aus Quellen wie der Full Contact Marketing-Datenbank.
- Überprüfen von DNS Dumpster, Netcraft und TLS-Zertifikaten, um Subdomains für die angegebenen Domains zu entdecken.
- Auflösen von Domains und Subdomains zu IP-Adressen über Socket-Verbindungen und DNS-Einträge.
- Sammeln von Informationen für alle IP-Adressen, wie Eigentümer- und Organisationsdaten, von RDAP, Whois und anderen Datenquellen.
- Nachschlagen von Domains und Suche nach IP-Adressen auf Shodan, um zusätzliche Daten wie Betriebssysteme, Service-Banner und offene Ports zu sammeln.
- Überprüfung auf die Möglichkeit von Takeovers und Domain Fronting bei den Domains und Subdomains.
Phase 2 - Employee Discovery
- Sammeln von E-Mail-Adressen und Mitarbeiternamen für die Zielorganisation.
- Verknüpfen von Mitarbeitern mit Social-Media-Profilen über Suchmaschinen und die Twitter-API.
- Quervergleich entdeckter E-Mail-Adressen mit Troy Hunts Have I Been Pwned.
Phase 3 - Cloud- und Webdienste
- Suchen nach Office-Dateien und PDFs unter der Zieldomain, Herunterladen und Extrahieren von Metadaten.
- Suche nach AWS S3 Buckets und Digital Ocean Spaces mit Schlüsselwörtern, die mit der Organisation zusammenhängen.
- Erstellen von Screenshots entdeckter Webdienste für eine schnelle, frühe Überprüfung der Dienste.
Phase 4 - Berichterstattung
- Speichern aller Daten in einer SQLite3-Datenbank, um eine einfache Abfrage der Daten zu ermöglichen.
- Erstellen eines HTML-Berichts mit Standard-SQL-Abfragen, um das Durchsehen der Daten in einem Webbrowser zu vereinfachen.
- Erstellen einer Neo4j-Graphdatenbank, die alle entdeckten Entitäten (IP-Adressen, Domains, Subdomains, Ports und Zertifikate) mit Beziehungen (z.B. RESOLVES_TO, HAS_PORT) verknüpft.
Am Ende von all dem haben Sie mehrere Möglichkeiten, die Daten zu durchsuchen und zu visualisieren. Selbst eine einfache Neo4j-Abfrage wie MATCH (n) RETURN n (alles anzeigen) kann einen faszinierenden Graphen des externen Perimeters der Organisation erstellen und es einfach machen, zu sehen, wie Ressourcen verknüpft sind. Die Neo4j-Wiki-Seiten enthalten bessere Abfragebeispiele.