Você está na página 1de 41

NMAP na veia

Verifique primeiro se voc j o tm.


#nmap -version
O site do nmap : www.nmap.org a fonte oficial do namp.
nele voc pode baixar o cdigo fonte e os binrios do
nmap e do zenmap.
O cdigo fonte distribudo em arquivos .tar comprimidos
como gzip e bzip2, e os binrios esto disponveis
para linux no formato RPM, windows MAC OS X e imagem
de disco .dmg.

Encontre servidores web aleatoriamente "4096"


#nmap -sS -PS80 -iR 0 -p80
------------------------- utilize a opo --exclude
ou excludefile

------------------------macetes do dns
host -t ns target.com
host -t a target.com
host -t aaa target.com
host -t mx target.com
host -t soa target.com

>Resoluo dns:
transferncia de zona com a ferramenta dig.
exemplo: dig @ns2.eppi.com -t AXFR cpsr.org
------------------------ traceroute com nmap
nmap -PN -T4 --traceroute www.clubedohacker.com.br
------------------------ usando o whois para encontrar o dono de um domnio.
whois 189.59.249.70

------------------------ Funcionalidades da netcraft sobre dns


http://searchdns.netcraft.com/?host

Informaes de roteamento da internet.


- o protocolo de rotemento central da internet o
border gateway protocol "BGP".
Quando do exame de organizaes de mdio a grande porte, as
tabelas de
roteamento de BGP podem lhe ajudar a encontrar suas
sub-redes IP em todo o mundo.

Por exemplo, suponha que voc quer examinar os endereos


IP pertencentes a Microsoft Corporation.
Uma busca de DNS por microsoft.com fornece o endereo
IP 207.46.196.115.

Uma consulta whois mostra que todo bloco 207.46.0.0/16


pertence a Microsoft, em seu endereo, "One Microsoft Way",
em Redmond.
Isto lhe d 65.536 endereos IP para examinar,mas as
tabelas de BGP expem muito mais.
Entidades como Microsoft, Google etc. tm nmeros de
sistemas autnomos (AS, na sigla em ingls) para fins
de roteamento.
Uma ferramenta til para a determinao do nmero de AS
divulgado para um dado endereo IP est disponvel
em http://asn.cymru.com

Se voc deseja encontrar todos endereos IP que so roteados


para um determinado AS.
Uma ferramenta til est disponvel em
http://www.robtex.com/as

experimente digitando AS8075

Embora a obteno de informaes de BGP a partir de


formulrios web seja bastante conveniente, a obteno
de dados de roteamento a partir roteadores reais mais
divertida e pode permitir consultas personalizadas e
mais poderosas.

Vrias organizaes fornece esse servio.


Por exemplo, faa telnet para route-views.routeviews.org
ou visite http://routeviews.org

---------------------------------Resoluo DNS
-n = nenhuma resoluo DNS
-R = resoluo DNS para todos os alvos
-PN = examinar todos os IPs
-sP = descoberta apenas de hospedeiros
-sL = apenas exibir alvo e sair antes de enviar prova
de ping -iL = usar entrada de lista "um arquivo com
lista de alvos"

exame de lista: -sL


O exame de lista uma forma degenerada de descoberta
de hospedeiros que simplesmente lista cada hospedeiro
nas redes especificadas, sem enviar qualquer pacote ao
hospedeiro alvo.

Por omisso, o nmap ainda efetua e resoluo de DNS


reverso nos hospedeiros para descobrir os seus nomes.

O nmap tambm relata o nmero total de endereos IP no


final.
O exame de lista um bom cheque de sanidade para
assegurar que voc tem endereos IP apropriados para
seus alvos.

Se os hospedeiros simularem nomes de domnio que voc


no reconhea, valer a pena investigar mais alm para
evitar o exame da rede da companhia errada.
exemplo de exame de lista:
#nmap -sL www.clubedohacker.com.br
---------------------------------- Exame por ping -sP

Essa opo diz ao nmap para realizar somente um exame


por ping e depois exibir os hospedeiros disponveis
que responderem ao exame.

Nenhum outro teste ser realizado, com exceo


de scripts de hospedeiro do mecanismo de scripts do nmap
"--script" e provas de traceroute "-traceroute"
se voc tiver especificado estas opes.

exemplo: #nmap -sP -T4 www.clubedohacker.com.br/24

No exemplo acima enviamos uma solicitao de eco de ICMP


e um pacote TCP ACK para a porta 80, como usurios sem
privilgios do unix e sem a biblioteca winpcap instalada no
Windows no podem enviar esses pacotes crus, um pacote
SYN enviado.

Nesses casos o pacote SYN enviado usando-se uma chamada


de conexo TCP do sistema porta 80 do hospedeiro alvo.

Tcnicas de descobertas de hospedeiros

Ouve um tempo em que a descoberta, se um endereo IP


estava registrado para um hospedeiro ativo, era fcil
Simplesmente se enviava um pacote ICMP de requisio
de eco "ping" e se esperava por uma resposta.

Os firewalls raramente bloqueavam essas requisies


e a vasta maioria de hospedeiros respondiam de maneira
obediente.

Uma tal resposta era exigida desde 1989 pela RFC 1122,
que atestava claramente que "Todo hospedeiro dever
implementar uma funo servidora de eco ICMP que receba
solicitaes de eco e envie correspondente resposta de eco.

Ex: #nmap -sP -PE -R -v microsoft.com citibank.com


google.com - Aqui usamos um exemplo de ICMP puro do
nmap em 3 sites famosos

As opes
-sP -PE especificam um explo de ping ICMP puro.
-R diz ao nmap para realizar a resoluo de DNS reverso
em todos os hospedeiros, mesmo os que estiverem fora do ar.

--------------------------

Ping por TCP SYN (-PS<lista de portas>)


a opo -PS envia um pacote TCP vazio, com o sinalizador
SYN ligado.

A porta omissiva de destino a 80, mas pode ser


configurada outra porta na hora da compilao,
bastando pra isso mudar em DEFAULT_TCP_PROBE_PORT_SPEC
em nmap.h, mas portas alternativas tambm podem ser
especificadas como parmetro.

por exemplo: -PS22,80,113,1050,35000 nos casos em que


as provas sero executadas em cada porta em paralelo.

O sinalizador SYN sugere ao sistema remoto que voc est


tentando estabelecer uma conexo.
Normamente a porta de destino estar fechada e um pacote
RST ser enviado de volta.
Se a porta estiver aberta, o alvo dar o segundo passo de uma
saudao TCP de trs tempos, respondendo com um
pacote TCP SYN/ACK.
A mquina que est rodando o nmap ento, corta a conexo
iniciada, respondendo com um RST, em vez de enviar pacote
ACK que completaria a saudao de trs tempos e estabeleceria a
conexo completa.

O Importante nisso que o nmap no se preocupa se a


porta est aberta ou fechada. Qualquer das respostas,
seja RST ou SYN/ACK confirmar para o nmap que a
mquina alvo est disponvel.

ex: #nmap -sP -PE -R -v microsoft.com citibank.com


google.com
------------------------------------- Ping por TCP ACK: -PA<lista de portas>
O ping por TCP ACK similar ao ping por SYN, a diferena
que o sinalizador de TCP ACK est ligado, no lugar do
sinalizador SYN.

Um pacote ACK supe est reconhecendo dados atravs de


uma conexo TCP estabelecida, mas essa conexo no
existe.
Assim a mquina alvo dever sempre responder com um
pacote RST, revelando sua existncia nesse processo.
A opo -PA usa a mesma porta omissiva que a porta SYN
(80) mas tambm pode receber uma lista de portas de
destino, no mesmo formato.
A razo para se executar ambas as provas de ping por SYN
e por ACK maximizar as chances de ultrapassar
firewalls.

Muitos administradores configuram roteadores e firewalls


simples para bloquear pacotes SYN que chegam, exceto por
aqueles destinados a servios pblicos, como websites ou
servidor de e-mail etc.

Isto evita a chegada de outras conexes empresa,


enquanto permite que os usurios faam conexes de sada
livremente com a internet.
ex: nmap -sP -PA www.microsoft.com

Ping de UDP (-PU<lista de portas)


Uma outra opo de descoberta de hospedeiros o ping
de UDP, que envia um pacote vazio de UDP para as determinadas
portas.

A lista de portas usa o mesmo formato nas opes -PS e -PA, mas
se nenhuma porta for especificada, a omissiva 31338.
Esta porta omissiva pode ser configurada na compilao,
bastando mudar em DEFAULT_UDP_PROBE_PORT_SPEC em
nmap.h.
Uma porta altamente incomum e usada por omisso porque
o envio para portas abertas freqentemente indesejvel
para esse tipo de exame.

Ao atingir uma porta fechada na mquina alvo, a prova de


UDP dever induzir o retorno de um pacote ICMP de porta
inalcanvel.

Isto significa para o nmap, que a mquina est no ar e disponvel.


Muitos outros tipos de ICMP, tais como rede ou mquina
no alcanvel ou TTL excedido so indicadores de uma
mquina fora do ar ou inalcanvel.
A falta de uma resposta tambm interpretada desta forma.
Se uma porta aberta for alcanada, a maioria dos servios
simplesmente ignora o pacote vazio e falham em retornar
qualquer resposta.

por isso que a porta omissiva da prova 31338, que


altamente improvvel de estar em uso.

Alguns servios, como o protocolo gerador de caracteres


(chargen) respondero a um pacote a um pacote a um pacote
vazio de UDP, e assim, revelaro para o nmap que a
mquina est disponvel.

A principal vantagem desse tipo de exame que ele


dribla firewalls e filtros que s filtram TCP.

Tipos de ping de ICMP (-PE, -PP, e -PM)


Alm dos tipos comuns de descoberta de mquina por TCP e
UDP, o nmap pode enviar os pacotes padres enviados pelo
onipresente programa ping.
O nmap envia um pacote ICMP tipo 8 (requisio de eco)
ao alvo, e aguarda por uma resposta de tipo 0 (resposta
de eco)
Muitos firewall bloqueiam estes tipos de pacotes, em vez
de responderem como a determinao da RFC 1122.
Por isso que exames de ICMP raramente so confiveis o
bastante para alvos desconhecidos pela internet.

Mas para administradores de sistemas monitorando uma


rede interna, esta pode ser uma abordagem prtica e
eficiente.
Use a opo -PE para habilitar este comportamento de
requisio de eco.

Embora a requisio de eco seja a consulta padro do


ping ICMP, o nmap no para por a.
O padro ICMP (RFC 792) especifica, tambm, pacotes de
requisio de horrio, requisio de informao e
requisio de mascar de endereo, como cdigos 13, 15
e 17, respectivamente.

Embora o propsito ostensivo destas consultas seja tomar


conhecimentos de informaes, tais como mascara de
endereos e horrios correntes, elas podem facilmente
ser usadas para descoberta de hospedeiro.

O nmap no implementa atualmente, os pacotes de requisio


de informaes, j que eles no so amplamente suportados.
(a RFC 1122 insite que um hospedeiro no deve implementar
estas mensagens).

As consultas de horrio e de mascara de rede podem ser


enviadas com as opes -PP e PM, respectivamente.
Uma resposta de horrio, "cdigo 14" ou de mascar "cdigo 18"
revela que o alvo est disponvel.

Estas duas consultas so valiosas quando os


administradores bloqueiam os pacotes de requisio de
eco, mas esquecem que outras consultas de ICMP podem ser
usadas para o mesmo propsito.

Ping de protocolo IP ( -PO<lista de protocolos>


Uma nova opo de descoberta de hospedeiro o ping de
protocolo IP, que envia pacotes IP com nmero de
protocolos especificado ajustado em seus cabealhos de IP.
A lista de protocolos usa o mesmo formato das listas de portas das
opes de descoberta de hospedeiro por TCP e UDP.
Se nenhum protocolo for especificado, por omisso sero enviados
mltiplos pacotes de IP para ICMP (protocolo 1), IGMP (protocolo 2)
e IP-emIP (protocolo 4).
Os protocolos omissivos pedem ser configurados durante
a compilao alterando-se DEFAULT_PROTO_PROBE_PORT_SPEC
em nmap.h.

Este mtodo de descoberta de hospedeiro procura por


qualquer resposta usando o mesmo protocolo como prova,
ou mensagens de inalcanvel do protocolo ICMP, o que
significa que tal protocolo no suportado pelo
hospedeiro de destino.

qualquer tipo de resposta significa que a mquina alvo


est ativa.

Mecanismo de scripts
--script = selecionar um script especifico.
-sC = habilita os scripts mais comuns
---------------------------------- Os scripts NSE definem uma lista de categorias a que pertencem.
As categorias atualmente definidas so:
*auth = autenticao
- Esses scripts tentam descobrir credenciais de autenticao
no sistema alvo, normalmente atravs de ataques de fora
bruta.

*discovery = descoberta
- Esses scripts tentam ativamente descobrir mais sobre a
rede, consultando registros pblicos, dispositivos habilitados
ao SNMP, servios de diretrios.

@Ex: html-title que obtm o titulo do caminho na raiz


de um website.
@Ex:O smb-enum-shares que enumera compartilhamentos do
windows.
@Ex: snmp-sysdescr que extrai detalhes do sistema
atravs do SNMP.

*version = verso
- Os scripts nessa categoria especial so uma extenso
a funcionalidade da deteco de verso e no podem ser
selecionados explicitamente.
Eles so selecionados para execuo somente se deteco
de verso (-sV) for solicitada.

A sada deles no podem ser distinguidas da sada de


deteco de verso e eles no produzem resultados
de scripts de servios ou de hospedeiros.
@Ex: so o skypev-2-version, o pptp-version e o iax2-version.

*vuln = verso
-Estes scripts checam vulnerabilidades especficas conhecidas e,
geralmente, s reportam resultados se elas forem encontradas.
@EX: realvnc-auth-bypass e o xampp-default-auth
----------------------------------- *default = omissivo
- Esses scripts so o conjunto omissivo e so executados quando
usamos as opes -sC ou -A, ao invs de listar os scripts com -script.
Essa categoria pode ser especificada explicitamente, como
qualquer outra, usando-se --script=default.

*external = externos
- Os srcipts desta categoria podem enviar dados a bases
de dados de terceiros ou outros recursos de rede.
Um bom exemplo whois, que faz uma conexo a servidores
de whois para descobrir informaes sobre o endereo do alvo.
------------------------------------ *intrusive = intrusivos
- Alguns scripts so muito intrusivos, porque usam recursos
significativos no sistema remoto, podendo at derrubar o sistema ou
servio.
Normalmente so percebidos como ataque pelos administradores
remotos.

*malware =
- Estes scripts testam se a plataforma est infectada
por malwares ou backdoors.

Exemplos incluem o smtp-strangeport, que observa servidores


SMTP rodando em nmeros de portas incomuns e o auth-spoof
que detecta servidores de simulao de identd que fornecem
uma resposta falsa, antes mesmo de receberem uma consulta.

Ambos esses comportamentos so associados a infeces


de malwares.

*safe = seguros

- Scripts que no foram projetados para derrubar servios,


usar grande quantidade de largura de banda da rede ou
outros recursos, ou explorar brechas de segurana so
categorizados como safe.

O objetivo da maioria deles a descoberta gerais de rede.


@Ex: ssh-hostkey que recupera uma chave de SSH e o
html-title que captura o titulo de uma pgina web.

Alguns Argumentos de Linha de Comando

-sC = habilita os scripts mais comuns


-sC = Realiza um exame por script usando o conjunto omissivo
de scripts. o equivalente de --script=default.
--script = selecionar um script especifico.
--script<categoria de script>|<diretrio>|
<nome do aqruivo>|all
Roda o exame por script da mesma forma que -sC s que usa a
lista separada por virgulas de categorias de script.
Pode radar script individual ou diretrio de scripts.

--script-args
Fornece os arqumentos para os scripts.
--script-updatedb
Atualiza a base de dados de scripts.

Descrio dos scripts NSE

*asn-query-nse
Mapeia endereos IP para nmeros de sistemas autnimos
(AS).
O script funciona enviando consultas TXT de DNS
a um servodor de DNS que, por sua vez, consulta um
servio de terceiros, fornecido pela Team Cymru team-cymru.org.

-------------------------------*auth-owners.nse
Tenta encontrar o proprietrio de uma determinada porta
TCP aberta, consultando um servidor de autenticao
(identd-port 113) que dever tambm, est aberto no
sistema alvo.

*auth-spoof.nse
Verifica um servidor identd (autenticao) que estejam
simulando suas respostas.

Testa se um servidor identd (autenticao) responde com


uma resposta, antes mesmo de ns enviarmos a consulta.
------------------------------- *daytime.nse

Recupera o dia e a hora do servio UDP daytime.

*dns-random-srcport.nse
Checa um servidor de DNS com relao a vulnerabilidade
da recursividade de porta predizvel.

Portas de origem predizeis podem tornar um servidor


de DNS vulnervel a ataques de envenenamento de cache.
-------------------------------*dns-random-txid.nse
Checa um servidor DNS pela vulnerabilidade da
recursividade de DNS de TXID previzvel.
--------------------------------*dns-recursion.nse
checa se um servidor DNS permite consultas de nome de terceiros.

Espera-se que a recursividade esteja habilitada em seu


prprio servidor de nomes interno.
--------------------------------*dns-zone-transfer.nse
solicita uma transferncia de zona (AXFR) de um servidor
de DNS.

O script envia uma mensagem AXFR a um servidor de DNS.


O domnio a ser consultado determinado pelo exame do
nome dado na linha na linha de comando.
Se a consulta tiver sucesso, todos os domnios e tipos
de domnio sero retornados, juntamente com dados
especficos de tipos comuns (SOA/MX/NS/PTR/A).

Examine: http://www.zytrax.com/books/dns
e: http://cr.yp.to/djbdns/axfr-notes.html

----------------------------------- *finger.nse
Tenta recuperar uma lista de nomes de usurios usando o servio
finger.
----------------------------------- *ftp-anon.nse
Checa se um servidor de FTP permite logins annimos.
----------------------------------- *ftp-bounce.nse
Checa se um servidor de FTP permite o exame de portas
usando o mtodo de rebate de FTP.

*html-title.nse
Mostra o titulo da pgina omissiva de um servidor web.

-----------------------------------*http-auth.nse
Recupera o esquema de autenticao e o territrio de um
servio web que requeira autenticao.

----------------------------------- *http-open-proxy.nse
Checa se um proxy de http est aberto.

*http-passwd.nse
Checa se um servidor web vulnervel a travessia de
diretrios, tentando recuperar /etc/passwd usando vrios
mtodos de travessia, como pela solicitao
de /../../../etc/passwd.

-----------------------------------*http-trace.nse
envia uma requisio de HTTP TRACE e mostra os do
cabealho que foram modificados na resposta.

Essa aula continua no prximo post que farei sobre nmap.


Adonel Bezerra www.clubedohacker.com.br