Como extrair o nome do host ou domínios de endereços IP públicos

HostHunter é uma ferramenta totalmente gratuita para descobrir e extrair nomes de host, ou nomes de host, que fornecem um grande conjunto de endereços IP públicos com eficiência. Esta ferramenta utiliza técnicas simples de OSINT para atribuir endereços IP com nomes de host virtuais, permite gerar um arquivo CSV ou TXT que contém todas as informações coletadas. Quer saber do que esta ferramenta é capaz?

extraia o nome do host ou domínios de endereços IP públicos

Recursos principais do HostHunter

HostHunter é uma ferramenta baseada em python3 que é projetada especificamente para descobrir os domínios ou nomes de host que pertencem a um ou mais endereços IP públicos. Podemos passar a esta ferramenta um arquivo TXT com todos os endereços IP que queremos investigar, a ferramenta indicará automaticamente todos os domínios encontrados em um determinado endereço IP público, além disso, também pode indicar se existe algum aplicativo web rodando em esse endereço IP em concreto. Este reconhecimento é feito através de técnicas simples de OSINT, por isso não realiza realmente nenhum tipo de ataque ativo.

Outras características muito importantes do HostHunter, é que nos permitirá exportar para um arquivo de texto TXT ou para um arquivo Excel do tipo CSV todas as informações que foram coletadas dos diferentes objetivos ou “alvos”, graças a isso, iremos poderemos salvar essas informações para seu posterior tratamento e investigação, sem a necessidade de executar novamente a ferramenta sempre que desejarmos obtê-las.

Um detalhe muito importante deste pequeno programa é que ele nos permitirá colocar tantos endereços IP de destino quantos quisermos no arquivo texto, não é necessário ir um a um para fazê-lo, diretamente em um arquivo texto que iremos escrever os endereços IP em cada linha que desejamos investigar. Outras características deste programa é que nos permite extrair informação dos certificados SSL / TLS que os diferentes sites tenham associado a um endereço IP correspondente, também é capaz de tirar screenshots, validar os endereços IPv4 adicionados e até obter informação do Cabeçalhos HTTP. Por último, também é capaz de obter os valores do nome do host dos serviços FTP, SMTP, HTTP e HTTPS com suas portas padrão.

Instalação e comissionamento

Este programa é na verdade um script Python3 que realiza todos os processos automaticamente, no entanto, é necessário instalar tanto o python3 em nosso sistema operacional, quanto alguns requisitos adicionais que podemos baixar diretamente do projeto HostHunter oficial no GitHub . Usamos um sistema operacional Debian 11, atualizado para a versão mais recente, para realizar os testes com este programa.

A primeira coisa que precisamos fazer é ter o python3 e o python-pip instalados e todas as dependências necessárias em nosso sistema operacional:

sudo apt install python3 python3-pip

Abaixo, você pode ver uma captura de todas as dependências necessárias para um sistema operacional Debian, se instalarmos “python-pip” ele irá instalar apenas a versão pip2, se colocarmos “python3-pip” para instalá-lo, ele irá instalar a versão 3:

Uma vez que tenhamos indicado “Y”, todos os pacotes necessários para o funcionamento desta interessante ferramenta são baixados e instalados automaticamente.

Agora temos que clonar o repositório HostHunter GitHub, para isso, devemos ter “git” instalado em nosso sistema operacional, com todas as suas dependências correspondentes:

sudo apt install git

Uma vez instalado, vamos para um diretório onde podemos baixar este programa, por exemplo, em / home / user /, e teremos que executar o seguinte comando, para clonar o repositório GitHub:

git clone https://github.com/SpiderLabs/HostHunter/

Uma vez que todo o repositório foi clonado, devemos inseri-lo colocando o comando:

cd HostHunter

Agora vamos instalar todos os pacotes necessários para poder usar o HostHunter corretamente, para isso devemos instalar alguns pacotes adicionais com apt e com pip3. Devemos ter certeza de que temos a versão python3-pip (pip3), caso contrário, ocorrerá um erro.

Instalamos o programa Curl para usá-lo posteriormente.

sudo apt install curl

Fazemos o download e instalamos Ferrugem para poder usar os pacotes necessários no programa.

curl https://sh.rustup.rs -sSf | sh pip3 install rust pip3 install cryptography

Agora baixamos e instalamos todos os requisitos necessários para funcionar corretamente.

pip3 install -r requirements.txt

Ao instalar todos os pacotes acima, agora você deve conseguir executar a ferramenta HostHunter com êxito, mas antes de fazer isso totalmente, é necessário instalar outra coisa para obter o recurso de captura de tela. Para ter essa funcionalidade, precisamos baixar a versão mais recente do Google Chrome e instalá-lo.

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

dpkg -i ./google-chrome-stable_current_amd64.deb

E baixe a versão mais recente do ChromeDriver para nosso sistema operacional:

wget -O /tmp/chromedriver.zip https://chromedriver.storage.googleapis.com/74.0.3729.6/chromedriver_linux64.zip && sudo unzip /tmp/chromedriver.zip chromedriver -d /usr/local/bin/;

Funcionando

Depois de instalar tudo, podemos reiniciar para ter certeza que tudo está instalado corretamente e não retorna nenhum tipo de erro. A sintaxe que devemos usar para executar este programa é muito simples, basta fazer o seguinte:

python3 hosthunter.py targets.txt -h

No arquivo de texto targets.txt devemos ter a lista de todos os endereços IP que queremos verificar. Colocamos um endereço IP público que pertence aos nossos sites, portanto, devemos ver um domínio, também colocamos um endereço IP do Google, para nos mostrar o nome do host ou se existe uma aplicação web que usa este IP público adicionado.

Se, ao executar o comando anterior, obtivermos este erro no módulo fake_useragent:

python3 hosthunter.py targets.txt -h
Traceback (most recent call last):
File "hosthunter.py", line 48, in <module>
ua = UserAgent(use_cache_server=False)
File "/usr/local/lib/python3.7/dist-packages/fake_useragent/fake.py", line 69, in __init__
self.load()
File "/usr/local/lib/python3.7/dist-packages/fake_useragent/fake.py", line 78, in load
verify_ssl=self.verify_ssl,
File "/usr/local/lib/python3.7/dist-packages/fake_useragent/utils.py", line 250, in load_cached
update(path, use_cache_server=use_cache_server, verify_ssl=verify_ssl)
File "/usr/local/lib/python3.7/dist-packages/fake_useragent/utils.py", line 245, in update
write(path, load(use_cache_server=use_cache_server, verify_ssl=verify_ssl))
File "/usr/local/lib/python3.7/dist-packages/fake_useragent/utils.py", line 178, in load
raise exc
File "/usr/local/lib/python3.7/dist-packages/fake_useragent/utils.py", line 154, in load
for item in get_browsers(verify_ssl=verify_ssl):
File "/usr/local/lib/python3.7/dist-packages/fake_useragent/utils.py", line 99, in get_browsers
html = html.split('<table class="w3-table-all notranslate">')[1] IndexError: list index out of range

Na captura de tela a seguir você pode vê-lo:

Temos que editar o arquivo /usr/local/lib/python3.7/dist-packages/fake_useragent/utils.py com nano ou Vim, vá para a linha 99 e mude o “w3” para “ws” aqui:

Uma vez feito isso, salvamos as alterações e podemos executar o comando HostHunter novamente e ele funcionará perfeitamente.

python3 hosthunter.py targets.txt -h

Se quisermos exportar as informações para um arquivo de texto ou CSV, devemos colocar os seguintes comandos respectivamente:

python3 hosthunter.py targets.txt -f txt -o hosts.txt python3 hosthunter.py targets.txt -f csv -o hosts.csv

Na imagem a seguir você pode ver parte das informações que ele é capaz de obter para cada endereço IP que passamos para ele:

Recomendamos que você acesse o projeto HostHunter oficial no GitHub onde você encontrará todos os detalhes sobre esta interessante ferramenta.