
InfoHound é uma ferramenta OSINT para extrair uma grande quantidade de dados a partir de um nome de domínio web.
Durante a fase de reconhecimento, um invasor busca qualquer informação sobre seu alvo para criar um perfil que posteriormente o ajudará a identificar possíveis maneiras de entrar em uma organização. O InfoHound executa técnicas de análise passiva (que não interagem diretamente com o alvo) utilizando OSINT para extrair uma grande quantidade de dados a partir de um nome de domínio web. Esta ferramenta irá recuperar e-mails, pessoas, arquivos, subdomínios, nomes de usuário e URLs que serão posteriormente analisados para extrair informações ainda mais valiosas.
Além disso, o InfoHound aproveita uma instância do Ollama, permitindo-lhe utilizar o poder dos LLMs (Modelos de Linguagem de Grande Escala). Por padrão, o InfoHound utiliza o llama2, um modelo LLM pré-treinado, para gerar breves descrições das funções dos indivíduos dentro de uma organização. Esta funcionalidade fornece insights valiosos sobre a estrutura organizacional e facilita a identificação de pessoal-chave. Além disso, os esforços contínuos de desenvolvimento visam introduzir funcionalidades e melhorias adicionais para enriquecer ainda mais as capacidades da ferramenta no futuro.
NOTA: O InfoHound não requer nenhum hardware especial para funcionar. No entanto, é importante considerar os requisitos de hardware ao utilizar tarefas que empregam o Modelo de Linguagem de Grande Escala (LLM). Para informações detalhadas sobre os requisitos específicos do modelo LLM que pretende usar, consulte a documentação oficial do 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
Agora pode aceder ao InfoHound navegando com o seu browser para:
http://localhost:8000/
NOTA: Deve adicionar as chaves de API dentro do ficheiro infohound_config.py
O InfoHound possui 2 tipos diferentes de módulos: os que obtêm dados e os que os analisam para extrair informações mais relevantes.
| Nome | Descrição |
|---|---|
| Get Whois Info | Obtém informações relevantes do registo Whois. |
| Get DNS Records | Esta tarefa consulta o DNS. |
| Get Subdomains | Esta tarefa utiliza as APIs Alienvault OTX, CRT.sh e HackerTarget como fontes de dados para descobrir subdomínios em cache. |
| Get Subdomains From URLs | Após a execução de algumas tarefas, a tabela de URLs terá muitas entradas. Esta tarefa verificará todas as URLs para encontrar novos subdomínios. |
| Get URLs | Pesquisa todas as URLs em cache pela Wayback Machine e armazena-as na base de dados. Isto ajudará posteriormente a descobrir outras entidades de dados como ficheiros ou subdomínios. |
| Get Files from URLs | Percorre a tabela de URLs para encontrar ficheiros e armazená-los na tabela de ficheiros para análise posterior. Os ficheiros que serão recuperados são: 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 | Procura e-mails utilizando consultas ao Google, Bing e bases de dados vazadas. |
| Find People from Emails | Uma vez encontrados alguns e-mails, pode ser útil descobrir a pessoa por trás deles. Também encontra nomes de utilizador dessas pessoas. |
| Find Emails From URLs | Por vezes, as URLs descobertas podem conter informações sensíveis. Esta tarefa recupera todos os e-mails a partir dos caminhos das URLs. |
| Execute Dorks | Executará os dorks definidos na pasta dorks. Lembre-se de agrupar os dorks por categorias (nome do ficheiro) para compreender os seus objetivos. |
| Find Emails From Dorks | Por padrão, o InfoHound tem alguns dorks definidos para descobrir e-mails. Esta tarefa irá procurá-los nos resultados obtidos da execução dos dorks. |
| Find People From Google | Utiliza a API JSON do Google para encontrar pessoas que trabalham na empresa associada ao domínio |
| Nome | Descrição |
|---|---|
| Check Subdomains Take-Over | Realiza algumas verificações para determinar se um subdomínio pode ser assumido. |
| Check If Domain Can Be Spoofed | Verifica se um domínio, a partir dos e-mails que o InfoHound descobriu, pode ser falsificado. Isto poderia ser usado por atacantes para se passar por uma pessoa e enviar e-mails como se fossem ela. |
| Get Profiles From Usernames | Esta tarefa utiliza os nomes de utilizador descobertos de cada pessoa para encontrar perfis em serviços ou redes sociais onde esse nome de utilizador existe. Isto é realizado utilizando a ferramenta Maigret. Vale ressaltar que, embora um perfil com o mesmo nome de utilizador seja encontrado, não significa necessariamente que pertença à pessoa que está a ser analisada. |
| Download All Files | Uma vez que os ficheiros tenham sido armazenados na tabela de ficheiros, esta tarefa irá descarregá-los na pasta "download_files". |
| Get Metadata | Utilizando o exiftool, esta tarefa extrairá todos os metadados dos ficheiros descarregados e guardá-los-á na base de dados. |
| Get Emails From Metadata | Como alguns metadados podem conter e-mails, esta tarefa irá recuperá-los todos e guardá-los na base de dados. |
| Get Emails From Files Content | Normalmente, os e-mails podem estar incluídos em ficheiros corporativos, por isso esta tarefa irá recuperar todos os e-mails do conteúdo dos ficheiros descarregados. |
| Find Registered Services using Emails | É possível encontrar serviços ou redes sociais onde um e-mail foi usado para criar uma conta. Esta tarefa verificará se um e-mail descoberto pelo InfoHound possui conta no Twitter, Adobe, Facebook, Imgur, Mewe, Parler, Rumble, Snapchat, Wordpress e/ou Duolingo. |
| Check Breach | Esta tarefa verifica o serviço Firefox Monitor para ver se um e-mail foi encontrado numa violação de dados. Embora seja um serviço gratuito, tem um limite de 10 consultas por dia. Se a chave de API do Leak-Lookup estiver definida, também a verifica. |
| AI-Powered Profile Analysis | Pode usar a tarefa de análise de perfil para empregar uma ferramenta baseada em IA que examina os metadados e cria uma descrição para si. |
| Get leaked passwords | Utilizando o serviço gratuito do Proxy Nova, o InfoHound pode detetar e exibir palavras-passe de nomes de utilizador encontrados que foram vazados no passado. |
O InfoHound permite criar módulos personalizados; basta adicionar o seu script dentro de infohound/tool/custom_modules. Um módulo personalizado foi adicionado como exemplo, que utiliza a ferramenta Holehe para verificar se os e-mails anteriormente encontrados estão associados a uma conta em sites como Twitter, Instagram, Imgur e mais de 120 outros.
# 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