Você está na página 1de 12

Varredura bruta com NMAP

Autor: cristofe coelho lopes da rocha <cristofe.rocha at gmail.com>


Data: 27/12/2008

Bandido, eu?

Quando se inicia qualquer ataque, o primeiro passo é obter informação do host alvo. Um scanner de rede é sem dúvida a
primeira ferramenta a se utilizar. Portanto, ao identificar uma varredura na sua rede, procure proteger seu host ou sua
rede, pois quem utiliza esta técnica deixou de ser um usuário inocente para se tornar um estudante "curioso", na melhor
das hipóteses um HACKER, ou um CRACKER mal intencionado. O leitor deve estar consciente que a técnica de
fingerprint não é uma invasão, contudo deve ser utilizada de forma ética.

Introdução
Para se utilizar um scanner de rede não é preciso ser um especialista, mas os iniciantes podem ficar um pouco confusos
com as técnicas envolvidas. Para utilizar o NMAP em toda a sua plenitude é necessário ter um bom conhecimento de
redes TCP. Como sugestão de leitura tenho publicado um outro artigo Um dia depois da inundação, que pode ajudar
nesta abstração.

O NMAP foi inicialmente desenvolvido para Linux, porém já possui versões para Windows / BSD e vários sabores Unix.
Para dar continuidade neste conteúdo foi considerado que o leitor já possui conhecimento necessário para efetuar a
instalação do NMAP em plataforma Linux.

Os comentários são apresentados desta forma:

<-- comentário do autor -->

e não fazem parte do retorno do comando. A tentativa aqui não é esgotar o assunto, e sim utilizar técnicas de
manipulação de datagramas (TCP/UDP) com a intenção de obter informações de vulnerabilidades do host alvo. Para
teste será utilizado o Gnu/Linux Debian com kernel 2.6.2 e o Nmap 4.11.

Sintaxe do todo poderoso (Chumbo Grosso)

nmap [tipo de varredura] [Opções] {Alvo}

1.Método da varredura
1 Tiro - Descobrir se o alvo esta ativo na rede (Padrão ICMP - Echo Request)

Só para adiantar, o alvo pode negar ICMP (Humm, muito interessante isto...).

2 Tiro - Consulta DNS para tentar determinar o nome do host.

3 Tiro - Varredura no alvo utilizando o tipo solicitado pelo atacante.

Uma dos pontos fortes do NMAP é a grande variedade de técnicas empregadas. Onde em vez de apenas abrir uma
conexão TCP Three-way handshake - o programa transmite datagramas armados para burlar o padrão estabelecido pela
RFC vigente.

DA TEORIA À PRÁTICA: Varreduras Sweeps (utilizadas para identificar um host na rede)

Arrepiando na rede:

# nmap -sT 192.253.10.0/24

Esta técnica varre a rede 192.253.10.0/24 inteira de forma [-sT] comum, ou seja, não seta a flag TCP voluntariamente
estabelecendo apenas Tcp Connect, tornando possível a conexão e fazendo com que seja possível que o alvo LOG
(grave alguma informação a respeito da conexão). Este tipo de varredura é barulhenta e facilmente detectada. Exige um
bom consumo de banda, porém lhe retorna muita informação sobre os hosts da rede.

Ethereape no momento da varredura da rede


Resultado:

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2008-12-21 06:52 AMT


mass_dns: warning: Unable to determine any DNS servers. Reverse DNS is disabled. Try using --system-dns or specify
valid servers with --dns_servers
Interesting ports on 192.253.10.71:
Not shown: 1678 filtered ports
PORT STATE SERVICE
139/tcp open netbios-ssn
445/tcp open microsoft-ds
MAC Address: 00:0E:2E:C0:DD:E5 (Edimax Technology Co.)
MAC Address: 00:0E:2E:C0:DD:E5 (Edimax Technology Co.)

<-- comentário do autor -->


O primeiro host ativo encontrado foi o 192.253.10.71 com duas portas tcp OPEN (abertas) e seus respectivos serviços
e de quebra o MAC Address: 00:0E:2E:C0:DD:E5
É mole, ou quer mais?
<-- fim do comentário -->

Interesting ports on 192.253.10.85:


Not shown: 1531 closed ports, 144 filtered ports
PORT STATE SERVICE
80/tcp open http
135/tcp open msrpc
139/tcp open netbios-ssn
443/tcp open https
445/tcp open microsoft-ds
MAC Address: 00:0C:43:81:39:F1 (Ralink Technology)

<-- comentário do autor -->


O segundo host ativo encontrado foi o 192.253.10.85 com cinco portas tcp OPEN (abertas) e seus respectivos serviços.
OPA, peraí, portas 80 e 443 abertas, humm isso me sugere algo, servidor WEB encontrado.
<-- fim do comentário -->

Interesting ports on 192.253.10.100:


Not shown: 1678 closed ports
PORT STATE SERVICE
135/tcp open msrpc
406/tcp filtered imsp
MAC Address: 00:18:E7:29:F5:6B (Unknown)

<-- comentário do autor -->


O terceiro host ativo encontrado foi o 192.253.10.100, não muito interessante, possivelmente uma estação de trabalho.
<-- fim do comentário -->

Interesting ports on 192.253.10.203:


Not shown: 1677 closed ports
PORT STATE SERVICE
22/tcp open ssh
53/tcp open domain
80/tcp open http

<-- comentário do autor -->


O quarto host ativo encontrado foi o 192.253.10.203.
Dá licença, sou eu... rsrsrsrsr
Este tipo de varredura na rede inteira pode requisitar tempo para o NMAP retornar, portanto você pode tomar um
cafezinho durante a varredura.
<-- fim do comentário -->
Interesting ports on 192.253.10.253:
Not shown: 1670 filtered ports
PORT STATE SERVICE
20/tcp closed ftp-data
21/tcp closed ftp
22/tcp open ssh
24/tcp closed priv-mail
80/tcp open http
110/tcp closed pop3
143/tcp closed imap
443/tcp closed https
953/tcp closed rndc
3306/tcp closed mysql
MAC Address: 00:18:E7:2D:DF:85 (Unknown)

<-- comentário do autor -->


O quinto host ativo encontrado foi o 192.253.10.253 com dez portas tcp OPEN (abertas) e seus respectivos serviços.
Será que o cara tem serviços rodando? Destacando a porta 3306 do MySQL (banco de dados) e a porta 22 SSH para
acesso remoto (observando que a porta é a default de instalação, ou seja, podendo caracterizar que o administrador
apenas instalou o software e não implementou nada de especial na segurança, humm... rumm...
<-- fim do comentário -->

Nmap finished: 256 IP addresses (5 hosts up) scanned in 429.911 seconds

<-- comentário do autor -->


A dinâmica do NMAP é utilizar o Three-way handshake, ou seja, solicitando abertura de conexão. Caso a resposta seja
um datagrama com a flag SYN/ACK, o NMAP deduz que a porta está aberta para conexão, caso receba um RST
deduz esta fechada.

Observe que com apenas uma linha obtivemos uma série de informações úteis.

Fim da varredura e do comentário é lógico.


<-- fim do comentário -->

Utilizando técnicas avançadas

Bom, é lógico que a varredura acima foi efetuada em uma rede que não possui um firewall de borda impedindo ICMP
request desta natureza, portanto tornou mais fácil e rápida a varredura.

Para utilizar técnicas mais avançadas é necessário que a máquina do atacante tenha permissão de root, pois para montar
seus próprios datagramas adulterados o NMAP utiliza os raw sockets, caso contrário o NMAP só fará varreduras do
tipo TCP connect.

Varreduras TCP-SYN (desenvolvidas para dificultar


Varreduras TCP-SYN (desenvolvidas para dificultar
a detecção)
# nmap -sS -vv -O -orededomala.txt 192.253.10.253

Esta técnica varre o host 192.253.10.253 de forma [-sS] flag SYN setada. Desta forma o NMAP enviará um pacote
com flag SYN setada, o alvo retornará um um RST caso a porta esteja fechada, e caso aberta SYN/ACK para
estabelecer a conexão e o NMAP envia um RST finalizando a tentativa de conexão impedindo que o alvo LOG (grave
alguma informação a respeito da conexão).

[-vv] solicita a versão dos daemons que utilizam a porta, recurso fingerprinting [-O] solicita a versão do sistema
operacional, -o Log (grava) toda a varredura em um arquivo criado neste caso rededomala.txt.

Resultado:

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2008-12-21 08:24 AMT


Initiating ARP Ping Scan against 192.253.10.253 [1 port] at 08:24
The ARP Ping Scan took 0.02s to scan 1 total hosts.
mass_dns: warning: Unable to determine any DNS servers. Reverse DNS is disabled. Try using --system-dns or specify
valid servers with --dns_servers
DNS resolution of 1 IPs took 0.00s.
Initiating SYN Stealth Scan against 192.253.10.253 [1680 ports] at 08:24
Discovered open port 22/tcp on 192.253.10.253
Discovered open port 80/tcp on 192.253.10.253
SYN Stealth Scan Timing: About 18.65% done; ETC: 08:27 (0:02:10 remaining)
Increasing send delay for 192.253.10.253 from 0 to 5 due to 11 out of 25 dropped probes since last increase.
SYN Stealth Scan Timing: About 62.46% done; ETC: 08:28 (0:01:38 remaining)
Increasing send delay for 192.253.10.253 from 5 to 10 due to 11 out of 19 dropped probes since last increase.
The SYN Stealth Scan took 264.07s to scan 1680 total ports.
For OSScan assuming port 22 is open, 20 is closed, and neither are firewalled

Host 192.253.10.253 appears to be up ... good.


Interesting ports on 192.253.10.253:
Not shown: 1670 filtered ports
PORT STATE SERVICE
20/tcp closed ftp-data
21/tcp closed ftp
22/tcp open ssh
24/tcp closed priv-mail
80/tcp open http
110/tcp closed pop3
143/tcp closed imap
443/tcp closed https
953/tcp closed rndc
3306/tcp closed mysql
MAC Address: 00:50:DA:B7:72:2A (3com)
Device type: general purpose
Running: Linux 2.4.X|2.5.X|2.6.X
Running: Linux 2.4.X|2.5.X|2.6.X
OS details: Linux 2.4.0 - 2.5.20, Linux 2.4.7 - 2.6.11

<-- comentário do autor -->


Sistema operacional obtido com sucesso, inclusive com versão do kernel
<-- fim do comentário -->

OS Fingerprint:
TSeq(Class=RI%gcd=2%SI=11ED1E%IPID=Z)
T1(Resp=Y%DF=Y%W=16A0%ACK=S++%Flags=AS%Ops=MNNTNW)
T2(Resp=N)
T3(Resp=Y%DF=Y%W=16A0%ACK=S++%Flags=AS%Ops=MNNTNW)
T4(Resp=Y%DF=Y%W=0%ACK=O%Flags=R%Ops=)
T5(Resp=Y%DF=Y%W=0%ACK=S++%Flags=AR%Ops=)
T6(Resp=Y%DF=Y%W=0%ACK=O%Flags=R%Ops=)
T7(Resp=Y%DF=Y%W=0%ACK=S++%Flags=AR%Ops=)
PU(Resp=Y%DF=N%TOS=C0%IPLEN=164%RIPTL=148%RID=E%RIPCK=E%UCK=E%ULEN=134%DAT=E)

TCP Sequence Prediction: Class=random positive increments


Difficulty=1174814 (Good luck!)
IPID Sequence Generation: All zeros

Nmap finished: 1 IP address (1 host up) scanned in 267.888 seconds


Raw packets sent: 6761 (297.990KB) | Rcvd: 50 (2446B)

<-- comentário do autor -->


Este tipo de varredura impede que o host alvo logue algo a respeito, porém esta varredura é de fácil detecção para IDS -
sistemas de detecção de intrusos. Portanto cuidado, você pode ser percebido facilmente por um IDS.
<-- fim do comentário -->

Varredura do tipo UDP


Técnica de varreduras para portas UDP:

# nmap -sU 192.253.10.253

Varredura do tipo spoof source address:

# nmap -sS -S 192.253.10.253

Varredura do tipo spoof-mac address:

# nmap -sS 192.253.10.253 -spoof-mac 00:18:E7:2D:DF:85

Varredura do tipo obtendo versão:

# nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127


# nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127

-p solicita o intervalo de porta

Estratégia de guerra - camuflagem - varreduras Stealth

Diferente das técnicas descritas na página anterior, as varreduras de TCP-FIN, árvore de natal e TCP vazio não utilizam
flags SYN de abertura de conexão, apenas enviam um pacote para o host alvo. Elas diferem uma da outra apenas nas
flags TCP que ativam.

Normalmente nenhuma destas flags deveriam estar ativas, pois não houve conexão estabelecida. E é pela resposta ou
pela falta dela que o NMAP deduz o estado da porta. Estas varreduras são conhecidas como stealth por serem tão sutis
como mergulhadores. São largamente utilizadas para identificação de firewall.

Varreduras TCP-FIN
Varreduras implementadas para difícil detecção. Com referência na RFC 793, essa técnica consiste em enviar
datagramas com flag FIN setadas para a porta alvo que deve devolver RST caso a porta esteja fechada e não devolve
resposta alguma caso a porta esteja aberta.

# nmap -sF 192.253.10.253

Varreduras X-MAS (árvore de natal)


Varreduras implementadas para difícil detecção. Com referência na RFC 793, essa técnica consiste em enviar datagrama
FIN, URG e PSH para a porta alvo que deve devolver RST caso a porta esteja fechada e não devolve resposta alguma
caso a porta esteja aberta. Varredura conhecida como XMAS TREE SCAN.

# nmap -sX 192.253.10.253

Varreduras TCP NULA


Varreduras implementadas para difícil detecção. Com referência na RFC 793, essa técnica consiste em não setar a flag
do datagrama e enviá-lo para a porta alvo que deve devolver RST caso a porta esteja fechada e não devolver resposta
alguma caso a porta esteja aberta. Varredura conhecida como TCP NULL SCAN.

# nmap -sN 192.253.10.253

Com a evolução dos sistemas IDS, evoluíram também as formas de varreduras. Vejamos algumas formas de varreduras
especiais:
especiais:

Varredura de firewall
Tem como objetivo mapear as regras de filtragem de um firewall. A varredura do firewall consiste em envio de pacotes
TCP e UDP, mas com um TTL maior que o firewall espionado. Se ele permite tráfego transmitirá para o próximo hop
onde ele responderá com ICMP_TIME_EXCEEDED ou Unfitered, caso a porta não esteja filtrada. Caso não permita
ele dispensará o datagrama e não teremos resposta alguma.

# nmap -sA 192.253.10.253

Resultado:

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2008-12-21 09:29 AMT


mass_dns: warning: Unable to determine any DNS servers. Reverse DNS is disabled. Try using --system-dns or specify
valid servers with --dns_servers
Interesting ports on 192.253.10.253:
Not shown: 1670 filtered ports
PORT STATE SERVICE
20/tcp UNfiltered ftp-data
21/tcp UNfiltered ftp
22/tcp UNfiltered ssh
24/tcp UNfiltered priv-mail
80/tcp UNfiltered http
110/tcp UNfiltered pop3
143/tcp UNfiltered imap
443/tcp UNfiltered https
953/tcp UNfiltered rndc
3306/tcp UNfiltered mysql
MAC Address: 00:50:DA:B7:72:2A (3com)

Nmap finished: 1 IP address (1 host up) scanned in 282.606 seconds

Varreduras temporizadas
São efetuadas em tempos programados. As opções de temporizações das varreduras são de T0 a T5 . São Elas:

Varreduras Paranoid:

# nmap -sF -n -T 0 192.253.10.253

Varreduras Sneaky (15 segundos de delay):

# nmap -sF -n -T 1 192.253.10.253


Varreduras Polite (0,4 segundos de delay):

# nmap -sF -n -T 2 192.253.10.253

Varreduras Normal (default):

# nmap -sF -n -T 3 192.253.10.253

Varreduras Agressive (1.25 segundos de delay por host):

# nmap -sF -n -T 4 192.253.10.253

Varreduras Insane (0.3 segundos de delay):

# nmap -sF -n -T 5 192.253.10.253

Varreduras RPC/SMB:

Esta varredura tem por objetivo levantar compartilhamentos NFS, rlogin, portmap etc, serviços tipicamente Linux.

# nmap -R 192.253.10.253

Resultado:

# nmap -R 192.252.10.250
Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2008-12-21 10:16 AMT
mass_dns: warning: Unable to determine any DNS servers. Reverse DNS is disabled. Try using --system-dns or specify
valid servers with --dns_servers
Interesting ports on 192.252.10.250:
Not shown: 1670 closed ports
PORT STATE SERVICE
21/tcp open ftp

22/tcp open ssh


23/tcp open telnet
80/tcp open http
240/tcp filtered unknown
376/tcp filtered nip
906/tcp filtered unknown
1374/tcp filtered molly
2000/tcp open callbook
3986/tcp open mapper-ws_ethd
MAC Address: 00:0C:42:1F:72:1C (Routerboard.com)

Varreduras furtivas
Varreduras furtivas
Um bom exemplo do poder do NMAP é a capacidade manipular a porta de origem dos pacotes montados pelo scanner,
o objetivo é uma varredura furtiva com a opção -g, tentando ludibriar um packet filter.

# nmap -sF -g 53 192.253.10.253

Resultado:

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2008-12-21 10:20 AMT


mass_dns: warning: Unable to determine any DNS servers. Reverse DNS is disabled. Try using --system-dns or specify
valid servers with --dns_servers
Interesting ports on 192.253.10.253:
Not shown: 1672 open|filtered ports
PORT STATE SERVICE
20/tcp closed ftp-data
21/tcp closed ftp
24/tcp closed priv-mail
80/tcp closed http
110/tcp closed pop3
143/tcp closed imap
443/tcp closed https
953/tcp closed rndc
MAC Address: 00:50:DA:B7:72:2A (3com)

Nmap finished: 1 IP address (1 host up) scanned in 65.187 seconds

Trecho da captura WIRESHARK no momento da varredura:

No. Time Source Destination Protocol Info


495 14.529536 192.253.10.203 192.253.10.253 TCP domain > 351 [FIN] Seq=4294901761 Len=0
Frame 495 (54 bytes on wire, 54 bytes captured)
Ethernet II, Src: 00:1a:73:3d:b9:10 (00:1a:73:3d:b9:10), Dst: Pro-Nets_37:7d:be (00:06:4f:37:7d:be)
Internet Protocol, Src: 192.253.10.203 (192.253.10.203), Dst: 192.253.10.253 (192.253.10.253)
Transmission Control Protocol, Src Port: domain (53), Dst Port: 351 (351), Seq: 4294901761, Len:
<-- comentário do autor -->

Porta de origem 53

<-- fim do comentário -->

No. Time Source Destination Protocol Info


496 14.533531 192.253.10.203 192.253.10.253 TCP domain > 864 [FIN] Seq=4294901761 Len=0

Frame 496 (54 bytes on wire, 54 bytes captured)


Ethernet II, Src: 00:1a:73:3d:b9:10 (00:1a:73:3d:b9:10), Dst: Pro-Nets_37:7d:be (00:06:4f:37:7d:be)
Ethernet II, Src: 00:1a:73:3d:b9:10 (00:1a:73:3d:b9:10), Dst: Pro-Nets_37:7d:be (00:06:4f:37:7d:be)
Internet Protocol, Src: 192.253.10.203 (192.253.10.203), Dst: 192.253.10.253 (192.253.10.253)
Transmission Control Protocol, Src Port: domain (53), Dst Port: 864 (864), Seq: 4294901761, Len: 0

No. Time Source Destination Protocol Info


497 14.581613 192.253.10.203 192.253.10.253 TCP domain > 27002 [FIN] Seq=0 Len=0

Frame 497 (54 bytes on wire, 54 bytes captured)


Ethernet II, Src: 00:1a:73:3d:b9:10 (00:1a:73:3d:b9:10), Dst: Pro-Nets_37:7d:be (00:06:4f:37:7d:be)
Internet Protocol, Src: 192.253.10.203 (192.253.10.203), Dst: 192.253.10.253 (192.253.10.253)
Transmission Control Protocol, Src Port: domain (53), Dst Port: 27002 (27002), Seq: 0, Len: 0

<-- comentário do autor -->


O ataque se deu pela porta 53 com destino diversos. A tentativa poderá burlar o firewall e efetuar o fingerprint com
sucesso.
<-- fim do comentário -->

Considerações finais
Um portscan é uma ferramenta que possibilita ao administrador de redes informações as quais facilitará a administração
dos servidores, assim como sua monitoração. Sua utilizacão se torna cada dia mais complexa à medida que as redes de
computadores se tornam também complexas, porém esta profissão tão fascinante, administrador de redes, torna o
profissional cada dia mais dinâmico. Ferramentas são a base do administrador de sistemas e estudá-las faz parte de sua
rotina de trabalho.

Espero ter colaborado :)


Um abraco e até o próximo.

Cristofe Rocha
ADM.Rede

Bibliografia
Segurança de redes e sistemas. Escola Superior de redes, 2008;
Projeto de Segurança em software livre. Editora Alta-books. Melo, Sandro, 2004;
Exploracão de redes TCP/IP 2 edição atualização.Editora Alta-books. Melo, Sandro, 2006;
BS7799 da tática a prática em servidores Linux. Editora Alta-books. Melo, Sandro, 2006.

http://www.vivaolinux.com.br/artigo/Varredura-bruta-com-NMAP

Voltar para o site


Voltar para o site

Você também pode gostar