
InfoHound ist ein OSINT-Tool, um eine große Menge an Daten aus einem Web-Domainnamen zu extrahieren.
Während der Aufklärungsphase sucht ein Angreifer nach jeglichen Informationen über sein Ziel, um ein Profil zu erstellen, das ihm später hilft, mögliche Wege in eine Organisation zu identifizieren. InfoHound führt passive Analysetechniken durch (die nicht direkt mit dem Ziel interagieren) unter Verwendung von OSINT, um eine große Menge an Daten aus einem Web-Domainnamen zu extrahieren. Dieses Tool ruft E-Mails, Personen, Dateien, Subdomains, Benutzernamen und URLs ab, die später analysiert werden, um noch wertvollere Informationen zu gewinnen.
Darüber hinaus nutzt InfoHound eine Ollama-Instanz, um die Leistungsfähigkeit von LLMs (Large Language Models) zu nutzen. Standardmäßig verwendet InfoHound llama2, ein vortrainiertes LLM-Modell, um kurze Beschreibungen der Rollen von Personen innerhalb einer Organisation zu generieren. Diese Funktionalität bietet wertvolle Einblicke in die Organisationsstruktur und erleichtert die Identifizierung von Schlüsselpersonen. Darüber hinaus zielen laufende Entwicklungsarbeiten darauf ab, zusätzliche Funktionen und Verbesserungen einzuführen, um die Fähigkeiten des Tools in Zukunft weiter zu bereichern.
HINWEIS: InfoHound benötigt keine spezielle Hardware zum Betrieb. Es ist jedoch wichtig, die Hardwareanforderungen zu berücksichtigen, wenn Aufgaben genutzt werden, die das Large Language Model (LLM) verwenden. Ausführliche Informationen zu den spezifischen Anforderungen des von Ihnen beabsichtigten LLM-Modells finden Sie in der offiziellen Ollama-Dokumentation.

git clone https://github.com/Fundacio-i2CAT/InfoHound.git
cd InfoHound/infohound
mv infohound_config.sample.py infohound_config.py
cd ..
docker-compose up -d
Sie können jetzt auf InfoHound zugreifen, indem Sie in Ihrem Browser zu folgender Adresse navigieren:
http://localhost:8000/
HINWEIS: Sie müssen API-Schlüssel in der Datei infohound_config.py hinzufügen
InfoHound hat 2 verschiedene Modultypen: solche, die Daten abrufen, und solche, die sie analysieren, um relevantere Informationen zu extrahieren.
InfoHound ermöglicht es Ihnen, benutzerdefinierte Module zu erstellen. Sie müssen lediglich Ihr Skript in infohoudn/tool/custom_modules hinzufügen. Ein benutzerdefiniertes Modul wurde als Beispiel hinzugefügt, das das Tool Holehe verwendet, um zu überprüfen, ob die zuvor gefundenen E-Mails mit einem Konto auf Seiten wie Twitter, Instagram, Imgur und mehr als 120 weiteren verbunden sind.
# Import the packages you need
import trio
import httpx
import requests
from holehe import core
# Import the Django models you will work with
from infohound.models import Emails
MODULE_ID = "findRegisteredSitesHoleheCustomTask" # Set a module ID
MODULE_NAME = "Find sites with Holehe" # Set a module name
MODULE_DESCRIPTION = "Using Holehe tool, this task will find where an email has been used to create an account. Holehe checks more than 120 sites." # Set a description
MODULE_TYPE = "Analysis" # Set the type: Analysis or Retrieve
# This function is the only function it will be called by InfoHound
# Change its content and create other the functions if needed
def custom_task(domain_id):
trio.run(findRegisteredSitesHolehe, domain_id)
async def findRegisteredSitesHolehe(domain_id):
queryset = Emails.objects.filter(domain_id=domain_id)
for entry in queryset.iterator():
out = []
email = entry.email
modules = core.import_submodules("holehe.modules")
websites = core.get_functions(modules)
client = httpx.AsyncClient()
for website in websites:
await core.launch_module(website, email, client, out)
print(out)
await client.aclose()
services = []
for item in out:
if item["exists"]:
services.append(item["name"])
entry.registered_services = services
entry.save()

Möchten Sie einen Visualisierungsgraphen mit den Ergebnissen erstellen? Sie können die gesamte Domain-Analyse in eine GraphML-Datei exportieren und mit yED, Gephi oder einem anderen Tool Ihrer Wahl öffnen. Derzeit werden Dateien, Personen, E-Mails, soziale Profile, registrierte Websites und Benutzernamen exportiert. URLs und Subdomains sind aufgrund der Ergebnismenge nicht enthalten.

Möchten Sie für Ihre erweiterten Untersuchungen mit Tools wie Maltego fortfahren? Sie können die gesamte Domain-Analyse (einschließlich Dateien, Personen, E-Mails, soziale Profile, registrierte Websites und Benutzernamen) in eine Maltego-kompatible Datei (CSV) exportieren und dort öffnen. Die Konfigurationsdatei für die Maltego-Spaltenzuordnung (maltego_mapping.mtz) finden Sie im Stammverzeichnis des Projekts. Erfahren Sie mehr über den Import in Maltego
Dieser Code wurde von der Fundació Privada Internet i Innovació Digital a Catalunya (i2CAT) entwickelt.
i2CAT ist ein gemeinnütziges Forschungs- und Innovationszentrum, das missionsorientiertes Wissen fördert, um geschäftliche Herausforderungen zu lösen, Lösungen mit transformativer Wirkung gemeinsam zu entwickeln, Bürger durch offene und partizipative digitale soziale Innovation mit territorialer Durchdringung zu stärken und bahnbrechende sowie strategische Initiativen zu fördern.
i2CAT strebt an, Forschungsergebnisse an private Unternehmen zu transferieren, um soziale und wirtschaftliche Auswirkungen durch die Auslizenzierung geistigen Eigentums und die Gründung von Spin-offs zu erzielen.
Weitere Informationen zu i2CAT-Projekten und IP-Rechten finden Sie unter https://i2cat.net/tech-transfer/
Dieser Code ist unter den Bedingungen der AGPLv3 lizenziert. Informationen zur Lizenz finden Sie unter Link.
Sollten Sie feststellen, dass diese Lizenz nicht Ihren Anforderungen an die Nutzung, Verbreitung oder Weiterverbreitung unseres Codes für Ihre spezifische Arbeit entspricht, zögern Sie nicht, die Manager für geistiges Eigentum bei i2CAT unter der folgenden Adresse zu kontaktieren: [email protected]
| Name | Beschreibung |
|---|
| Get Whois Info | Relevante Informationen aus dem Whois-Register abrufen. |
| Get DNS Records | Diese Aufgabe fragt das DNS ab. |
| Get Subdomains | Diese Aufgabe nutzt die Alienvault OTX API, CRT.sh und HackerTarget als Datenquellen, um zwischengespeicherte Subdomains zu entdecken. |
| Get Subdomains From URLs | Sobald einige Aufgaben ausgeführt wurden, enthält die URLs-Tabelle viele Einträge. Diese Aufgabe überprüft alle URLs, um neue Subdomains zu finden. |
| Get URLs | Es durchsucht alle von der Wayback Machine zwischengespeicherten URLs und speichert sie in der Datenbank. Dies hilft später, andere Datenentitäten wie Dateien oder Subdomains zu entdecken. |
| Get Files from URLs | Es durchläuft die Datenbanktabelle der URLs, um Dateien zu finden und sie zur späteren Analyse in der Dateien-Datenbanktabelle zu speichern. Die abgerufenen Dateien sind: doc, docx, ppt, pptx, pps, ppsx, xls, xlsx, odt, ods, odg, odp, sxw, sxc, sxi, pdf, wpd, svg, indd, rdp, ica, zip, rar |
| Find Email | Es sucht nach E-Mails mithilfe von Abfragen bei Google, Bing und durchgesickerten Datenbanken. |
| Find People from Emails | Sobald einige E-Mails gefunden wurden, kann es nützlich sein, die Person dahinter zu entdecken. Außerdem findet es Benutzernamen dieser Personen. |
| Find Emails From URLs | Manchmal können die entdeckten URLs sensible Informationen enthalten. Diese Aufgabe ruft alle E-Mails aus URL-Pfaden ab. |
| Execute Dorks | Es führt die im Dorks-Ordner definierten Dorks aus. Denken Sie daran, die Dorks nach Kategorien (Dateiname) zu gruppieren, um ihre Ziele zu verstehen. |
| Find Emails From Dorks | Standardmäßig hat InfoHound einige Dorks definiert, um E-Mails zu entdecken. Diese Aufgabe sucht in den Ergebnissen der Dork-Ausführung nach ihnen. |
| Find People From Google | Nutzt die Google JSON API, um Personen zu finden, die in dem mit der Domain verbundenen Unternehmen arbeiten. |
| Name | Beschreibung |
|---|
| Check Subdomains Take-Over | Es führt einige Überprüfungen durch, um festzustellen, ob eine Subdomain übernommen werden kann. |
| Check If Domain Can Be Spoofed | Es prüft, ob eine Domain aus den von InfoHound entdeckten E-Mails gespooft werden kann. Dies könnte von Angreifern genutzt werden, um eine Person zu imitieren und E-Mails in deren Namen zu senden. |
| Get Profiles From Usernames | Diese Aufgabe verwendet die entdeckten Benutzernamen jeder Person, um Profile in Diensten oder sozialen Netzwerken zu finden, in denen dieser Benutzername existiert. Dies wird mit dem Tool Maigret durchgeführt. Es ist zu beachten, dass ein gefundenes Profil mit demselben Benutzernamen nicht unbedingt der analysierten Person gehört. |
| Download All Files | Sobald Dateien in der Dateien-Datenbanktabelle gespeichert wurden, lädt diese Aufgabe sie in den Ordner 'download_files' herunter. |
| Get Metadata | Mit exiftool extrahiert diese Aufgabe alle Metadaten aus den heruntergeladenen Dateien und speichert sie in der Datenbank. |
| Get Emails From Metadata | Da einige Metadaten E-Mails enthalten können, ruft diese Aufgabe alle ab und speichert sie in der Datenbank. |
| Get Emails From Files Content | Normalerweise können E-Mails in Unternehmensdateien enthalten sein, daher ruft diese Aufgabe alle E-Mails aus dem Inhalt der heruntergeladenen Dateien ab. |
| Find Registered Services using Emails | Es ist möglich, Dienste oder soziale Netzwerke zu finden, in denen eine E-Mail zur Kontoerstellung verwendet wurde. Diese Aufgabe prüft, ob eine von InfoHound entdeckte E-Mail ein Konto bei Twitter, Adobe, Facebook, Imgur, Mewe, Parler, Rumble, Snapchat, Wordpress und/oder Duolingo hat. |
| Check Breach | Diese Aufgabe überprüft den Firefox Monitor-Dienst, um festzustellen, ob eine E-Mail in einem Datenleck gefunden wurde. Obwohl es sich um einen kostenlosen Dienst handelt, gibt es eine Begrenzung von 10 Abfragen pro Tag. Wenn ein Leak-Lookup-API-Schlüssel gesetzt ist, wird auch dieser überprüft. |
| AI-Powered Profile Analisys | Sie können die Profilanalyse-Aufgabe verwenden, um ein KI-gestütztes Tool einzusetzen, das die Metadaten untersucht und eine Beschreibung für Sie erstellt. |
| Get leaked passwords | Mit dem kostenlosen Dienst von Proxy Nova kann InfoHound Passwörter von gefundenen Benutzernamen erkennen und anzeigen, die in der Vergangenheit durchgesickert sind. |