
fork de http://code.google.com/p/dnsmap/source/checkout
INTRODUÇÃO
O dnsmap foi originalmente lançado em 2006 e foi inspirado pela história fictícia "The Thief No One Saw" de Paul Craig, que pode ser encontrada no livro "Stealing the Network - How to 0wn the Box"
O dnsmap é principalmente destinado a ser usado por pentesters durante a fase de coleta de informações/enumeração em avaliações de segurança de infraestrutura. Durante a etapa de enumeração, o consultor de segurança normalmente descobre os netblocks IP da empresa alvo, nomes de domínio, números de telefone, etc ...
A força bruta de subdomínios é outra técnica que deve ser usada na etapa de enumeração, pois é especialmente útil quando outras técnicas de enumeração de domínio, como transferências de zona, não funcionam (raramente vejo transferências de zona sendo publicamente permitidas atualmente, aliás).
Se você está interessado em pesquisar técnicas furtivas de intrusão computacional, sugiro ler este excelente (e divertido) capítulo que você pode encontrar gratuitamente na web:
http://www.ethicalhacker.net/content/view/45/2/
Fico feliz em dizer que o dnsmap foi incluído no Backtrack 2, 3 e 4 e foi revisado pela comunidade:
http://backtrack.offensive-security.com/index.php?title=Tools http://www.networkworld.com/community/node/57543 http://forums.remote-exploit.org/tutorials-guides/12746-dnsmap-tutorial.html http://www.linuxhaxor.net/2007/07/14/backtrack-2-information-gathering-all-dnsmap/ http://www.darknet.org.uk/2009/03/dnsmap-022-released-subdomain-bruteforcing-tool/
COMPILAÇÃO
A compilação deve ser simples:
$ make
Ou:
$ gcc -Wall dnsmap.c -o dnsmap
INSTALAÇÃO
Ou:
Se desejar usar força bruta em vários domínios alvo de forma em lote, você pode usar o script incluso dnsmap-bulk.sh. Basta copiar o script para /usr/local/bin/ para que possa chamá-lo de qualquer local. Ex.:
E definir permissões de execução. Ex.:
LIMITAÇÕES
Falta de multithreading. Este problema de velocidade será resolvido em versões futuras.
COISAS DIVERTIDAS QUE PODEM ACONTECER
Encontrar servidores de acesso remoto interessantes (ex.: https://extranet.targetdomain.com)
Encontrar servidores mal configurados e/ou sem patches (ex.: test.targetdomain.com)
Encontrar novos nomes de domínio que permitirão mapear netblocks não óbvios/difíceis de encontrar da sua organização alvo (consultas de registro - aka whois é seu amigo)
Às vezes você descobre que alguns subdomínios descobertos por força bruta resolvem para endereços IP internos (RFC 1918). Isso é ótimo, pois às vezes são registros "A" reais e atualizados, o que significa que é possível enumerar servidores internos de uma organização alvo a partir da Internet usando apenas resolução DNS padrão (em oposição a transferências de zona, por exemplo).
Descobrir dispositivos incorporados configurados usando serviços DNS Dinâmico (ex.: linksys-cam.com). Este método é uma alternativa para encontrar dispositivos via técnicas de Google hacking.
USO
A força bruta pode ser feita tanto com a wordlist embutida do dnsmap quanto com uma wordlist fornecida pelo usuário. Os resultados podem ser salvos em formato CSV e legível para processamento adicional. O dnsmap NÃO requer privilégios de root para ser executado e NÃO deve ser executado com tais privilégios por razões de segurança.
A sintaxe de uso pode ser obtida simplesmente executando o dnsmap sem parâmetros:
$ ./dnsmap
dnsmap 0.30 - DNS Network Mapper by pagvac (gnucitizen.org)
usage: dnsmap [options] options: -w -r -c -d -i (useful if you're obtaining false positives)
Note: delay value is a maximum random value. e.g.: if you enter 1000, each DNS request will be delayed a maximum of 1 second. By default, dnsmap uses a value of 10 milliseconds of maximum delay between DNS lookups
EXEMPLOS Força bruta de subdomínios usando a wordlist embutida do dnsmap:
$ ./dnsmap targetdomain.foo
Força bruta de subdomínios usando uma wordlist fornecida pelo usuário:
$ ./dnsmap targetdomain.foo -w wordlist.txt
Força bruta de subdomínios usando a wordlist embutida e salvando os resultados em /tmp/ :
$ ./dnsmap targetdomain.foo -r /tmp/
Como nenhum nome de arquivo foi fornecido no exemplo anterior, mas apenas um caminho, o dnsmap criará um nome de arquivo único que inclui o timestamp atual. Ex.: /tmp/dnsmap_targetdomain_foo_2009_12_15_234953.txt
Exemplo de força bruta de subdomínios usando a wordlist embutida, salvando os resultados em /tmp/, e aguardando um máximo aleatório de 3 milissegundos entre cada requisição:
$ ./dnsmap targetdomain.foo -r /tmp/ -d 300
Recomenda-se usar a opção -d (atraso em milissegundos) nos casos em que o dnsmap esteja interferindo na sua experiência online, ou seja, consumindo sua largura de banda.
Força bruta de subdomínios com atraso de 0,8 segundos, salvando resultados em formato regular e CSV, filtrando 2 IPs fornecidos pelo usuário e usando uma wordlist fornecida pelo usuário:
$ ./dnsmap targetdomain.foo -d 800 -r /tmp/ -c /tmp/ -i 10.55.206.154,10.55.24.100 -w ./wordlist_TLAs.txt
Para fazer força bruta em uma lista de domínios alvo de forma em lote, use o script bash fornecido. Ex.:
$ ./dnsmap-bulk.sh domains.txt /tmp/results/
WORDLISTS
http://packetstormsecurity.org/Crackers/wordlists/dictionaries/ http://www.cotse.com/tools/wordlists1.htm http://wordlist.sourceforge.net/
OUTRAS FERRAMENTAS SEMELHANTES - escolha é liberdade!
WS-DNS-BFX http://ws.hackaholic.org/tools/WS-DNS-BFX.tgz
DNSDigger http://www.ernw.de/download/dnsdigger.zip
Fierce Domain Scan http://ha.ckers.org/fierce/
Desperate http://www.sensepost.com/research_misc.html
DNSenum http://dnsenum.googlecode.com/files/dnsenum1.2.tar.gz
ReverseRaider http://complemento.sourceforge.net/
Knock http://knock.gianniamato.it/
-- pagvac | GNUCITIZEN.org Fev 2010