
InfoHound è un OSINT per estrarre una grande quantità di dati dato un nome di dominio web.
Durante la fase di ricognizione, un attaccante cerca qualsiasi informazione sul suo bersaglio per creare un profilo che lo aiuterà successivamente a identificare possibili modi per entrare in un'organizzazione. InfoHound esegue tecniche di analisi passiva (che non interagiscono direttamente con il bersaglio) utilizzando OSINT per estrarre una grande quantità di dati a partire da un nome di dominio web. Questo strumento recupererà email, persone, file, sottodomini, nomi utente e URL che verranno successivamente analizzati per estrarre informazioni ancora più preziose.
Inoltre, InfoHound sfrutta un'istanza di Ollama, permettendogli di sfruttare la potenza degli LLM (Large Language Models). Per impostazione predefinita, InfoHound utilizza llama2, un modello LLM pre-addestrato, per generare brevi descrizioni dei ruoli delle persone all'interno di un'organizzazione. Questa funzionalità fornisce preziose informazioni sulla struttura organizzativa e facilita l'identificazione del personale chiave. Inoltre, gli sforzi di sviluppo in corso mirano a introdurre funzionalità e miglioramenti aggiuntivi per arricchire ulteriormente le capacità dello strumento in futuro.
NOTA: InfoHound non richiede hardware speciale per funzionare. Tuttavia, è importante considerare i requisiti hardware quando si utilizzano attività che sfruttano il Large Language Model (LLM). Per informazioni dettagliate sui requisiti specifici del modello LLM che intendi utilizzare, consulta la documentazione ufficiale di Ollama.

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
Ora puoi accedere a InfoHound navigando con il tuo browser a:
http://localhost:8000/
NOTA: Devi aggiungere le chiavi API all'interno del file infohound_config.py
InfoHound ha 2 diversi tipi di moduli: quelli che recuperano dati e quelli che li analizzano per estrarre informazioni più rilevanti.
InfoHound ti permette di creare moduli personalizzati, devi solo aggiungere il tuo script all'interno di infohoudn/tool/custom_modules. Un modulo personalizzato è stato aggiunto come esempio che utilizza lo strumento Holehe per verificare se le email precedentemente trovate sono collegate a un account su siti come Twitter, Instagram, Imgur e oltre 120 altri.
# 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()

Vuoi creare un grafico di visualizzazione con i risultati? Puoi esportare l'intera analisi del dominio in un file GraphML e aprirlo con yED, Gephi o qualsiasi strumento di tua scelta. Attualmente esporta file, persone, email, profili social, siti registrati e nomi utente. URL e sottodomini non sono inclusi a causa della quantità di risultati.

Vuoi procedere con strumenti come Maltego per le tue indagini estese? Puoi esportare l'intera analisi del dominio (inclusi file, individui, email, profili social, siti registrati e nomi utente) in un file compatibile con Maltego (CSV) e aprirlo lì. Troverai il file di configurazione del mapping delle colonne di Maltego (maltego_mapping.mtz) nella directory principale del progetto. Scopri di più sull'importazione in Maltego
Questo codice è stato sviluppato da Fundació Privada Internet i Innovació Digital a Catalunya (i2CAT).
i2CAT è un centro di ricerca e innovazione senza scopo di lucro che promuove la conoscenza guidata dalla missione per risolvere le sfide aziendali, co-creare soluzioni con un impatto trasformativo, responsabilizzare i cittadini attraverso l'innovazione sociale digitale aperta e partecipativa con capillarità territoriale, e promuovere iniziative pionieristiche e strategiche.
i2CAT mira a trasferire i risultati dei progetti di ricerca a società private al fine di creare un impatto sociale ed economico tramite la concessione in licenza della proprietà intellettuale e la creazione di spin-off.
Maggiori informazioni sui progetti e sui diritti di proprietà intellettuale di i2CAT sono disponibili su https://i2cat.net/tech-transfer/
Questo codice è concesso in licenza secondo i termini AGPLv3. Le informazioni sulla licenza sono disponibili al link.
Se ritieni che questa licenza non sia adatta alle tue esigenze riguardanti l'uso, la distribuzione o la ridistribuzione del nostro codice per il tuo lavoro specifico, non esitare a contattare i responsabili della proprietà intellettuale di i2CAT al seguente indirizzo: [email protected]
| Name | Description |
|---|
| Get Whois Info | Ottieni informazioni rilevanti dal registro Whois. |
| Get DNS Records | Questa attività interroga il DNS. |
| Get Subdomains | Questa attività utilizza le API di Alienvault OTX, CRT.sh e HackerTarget come fonti di dati per scoprire sottodomini memorizzati nella cache. |
| Get Subdomains From URLs | Una volta eseguite alcune attività, la tabella dei URL avrà molte voci. Questa attività controllerà tutti i URL per trovare nuovi sottodomini. |
| Get URLs | Cerca tutti i URL memorizzati nella cache da Wayback Machine e li salva nel database. Questo aiuterà successivamente a scoprire altre entità di dati come file o sottodomini. |
| Get Files from URLs | Itera attraverso la tabella del database dei URL per trovare file e memorizzarli nella tabella del database dei File per un'analisi successiva. I file che verranno recuperati sono: 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 | Cerca email utilizzando query su Google, Bing e database di fughe di dati. |
| Find People from Emails | Una volta trovate alcune email, può essere utile scoprire la persona dietro di esse. Inoltre, trova i nomi utente di quelle persone. |
| Find Emails From URLs | A volte, i URL scoperti possono contenere informazioni sensibili. Questa attività recupera tutte le email dai percorsi dei URL. |
| Execute Dorks | Eseguirà i dork definiti nella cartella dorks. Ricorda di raggruppare i dork per categorie (nome file) per comprenderne gli obiettivi. |
| Find Emails From Dorks | Per impostazione predefinita, InfoHound ha alcuni dork definiti per scoprire email. Questa attività li cercherà nei risultati ottenuti dall'esecuzione dei dork. |
| Find People From Google | Utilizza l'API JSON di Google per trovare persone che lavorano nell'azienda associata al dominio |
| Name | Description |
|---|
| Check Subdomains Take-Over | Esegue alcuni controlli per determinare se un sottodominio può essere soggetto a takeover. |
| Check If Domain Can Be Spoofed | Controlla se un dominio, dalle email che InfoHound ha scoperto, può essere contraffatto. Ciò potrebbe essere utilizzato dagli attaccanti per impersonare una persona e inviare email come se fossero lui/lei. |
| Get Profiles From Usernames | Questa attività utilizza i nomi utente scoperti per ogni persona per trovare profili su servizi o social network in cui quel nome utente esiste. Viene eseguita utilizzando lo strumento Maigret. Vale la pena notare che, sebbene venga trovato un profilo con lo stesso nome utente, non significa necessariamente che appartenga alla persona analizzata. |
| Download All Files | Una volta che i file sono stati memorizzati nella tabella del database dei File, questa attività li scaricherà nella cartella 'download_files'. |
| Get Metadata | Utilizzando exiftool, questa attività estrarrà tutti i metadati dai file scaricati e li salverà nel database. |
| Get Emails From Metadata | Poiché alcuni metadati possono contenere email, questa attività le recupererà tutte e le salverà nel database. |
| Get Emails From Files Content | Di solito, le email possono essere incluse nei file aziendali, quindi questa attività recupererà tutte le email dal contenuto dei file scaricati. |
| Find Registered Services using Emails | È possibile trovare servizi o social network in cui un'email è stata utilizzata per creare un account. Questa attività verificherà se un'email scoperta da InfoHound ha un account su Twitter, Adobe, Facebook, Imgur, Mewe, Parler, Rumble, Snapchat, Wordpress e/o Duolingo. |
| Check Breach | Questa attività controlla il servizio Firefox Monitor per vedere se un'email è stata trovata in una violazione dei dati. Sebbene sia un servizio gratuito, ha una limitazione di 10 query al giorno. Se è impostata una chiave API Leak-Lookup, la controlla anche. |
| AI-Powered Profile Analisys | Puoi utilizzare l'attività di analisi del profilo per impiegare uno strumento basato sull'IA che esamina i metadati e crea una descrizione per te. |
| Get leaked passwords | Utilizzando il servizio gratuito di Proxy Nova, InfoHound può rilevare e visualizzare le password dai nomi utente trovati e che sono state divulgate in passato. |