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. 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.)
<-- 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 a detecção)
# nmap -sS -vv -O -orededomala.txt 192.253.10.253Esta 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
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
- -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:
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
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)
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 -->
0 comentários:
Postar um comentário