host
O host é uma ferramenta simples para consultas DNS. É útil durante a fase de
reconhecimento para descobrir endereços IP, registros de e‑mail, servidores de
nome e, ocasionalmente, obter transferências de zone mal configuradas.
Instalação
Debian/Ubuntu:
sudo apt install bind9-dnsutils # inclui host, dig, nslookup
Uso Simples
Consultar o(s) registro(s) A (endereços IPv4) do domínio:
$ host -t A alvo.com
alvo.com has address 203.0.113.42
domínio pode ter múltiplos registros A (round-robin / multiple frontends).
Consultar o(s) resgistro(s) AAAA (endereços IPv6) do domínio:
host -t AAAA alvo.com
Listar os registros MX — servidores responsáveis por receber e‑mail para o domínio:
$ host -t mx alvo.com
alvo.com mail is handled by 10 mx1.alvo.com.
Com essa enumeração podemos identificar servidores de e‑mail, possíveis pontos para engenharia social, usernames discovery (via VRFY/EXPN quando habilitado) ou serviços expostos (SMTP, webmail). O número antes do hostname (10) é a prioridade MX.
Retorna os nameservers autoritativos do domínio:
$ host -t ns alvo.com
alvo.com name server ns1.alvo.com.
Os nameservers enumerados podem ser utilizados para consultas diretas ou tentativas de zone transfer.
Para ver as informações do sistema operacional e CPU do servidor podemos utilizar o tipo HINFO:
host -t hinfo alvo.com
Hoje em dia o HINFO é raramente usado, porque:
- Expõe informações sensíveis.
- Facilita fingerprinting.
- Pode ajudar em reconhecimento durante pentests.
Por isso, a maioria dos domínios não publica HINFO.
Zone Transfer (Transferência de Zona)
A transferência de zona DNS é uma operação que replica o conteúdo de uma zona DNS (mapeamento de nomes de domínio para IPs) de um servidor primário para servidores secundários, garantindo redundância e consistência de dados, usando geralmente o protocolo TCP para um processo cliente-servidor AXFR (transferência completa) ou IXFR (transferência incremental). O problema é que se mal configurado o serviço de DNS, ele pode aceitar transferência de qualquer endereço, vazazando todo o mapa de hosts do domínio.
Tentativa de transferência de zona:
host -l <hostname> <nameserver>
host -l alvo.com ns2.alvo.com
host -l -a alvo.com ns2.alvo.com # opção -a traz informações adicionais
Em um Pentest, todos os nameservers devem ser validados. Se o nameserver aceitar AXFR, você verá todos os registros (A, MX, CNAME, PTR, etc.). Isso é uma descoberta de alto valor para pentest: lista de hosts, subdomínios e IPs.
Consultas repetidas e transferências de zona podem gerar alarmes no IDS/IPS.
PTR - DNS Reverso
Com a consulta do DNS reverso, podemos descobrir nomes de host relacionados a um IP (útil para correlação entre serviços e hosts).
$ host 203.0.113.42
42.113.0.203.in-addr.arpa domain name pointer host.example.com.
Algumas versões o comando pode ser diferente:
host -t ptr <IP>