Às vezes, precisamos escanear determinado Host que está atrás de um Firewall, ou sendo monitorado por IDS/IPS sem sermos detectados. O Nmap
dispõe de algumas funcionalidades para isso.
- Camuflagem de IP:
- -S <ip_falso> <ip_alvo>: Camufla o IP do atacante, usando um IP falso para realizar o scan. Se o Nmap exigir a interface de rede
utilizada, use o comando: -e <interface>
- Fragmentação de pacotes:
- -f (fragment): Realiza a fragmentação dos pacotes enviados. Esta opção irá dividir os pacotes em 8 Bytes após o cabeçalho. Com isso, tornamos
mais difícil o trabalho dos sistema de detecção de intrusão.
Decoys:
- -D <ip1>,<ip2><ipN>,<seu_ip>: Utiliza uma série de IPs reais para disfarçar a varredura. Quando utilizado, faz com que todos
os IPs listados 'realizem' o scan no alvo, sendo praticamente impossível detectar quem realmente está atacando. Se não for colocado o seu IP no final,
ele será colocado em uma posição randômica.
- Falsificando porta de origem:
- -g <porta>: Por padrão, o Nmap utiliza portas altas e aleatórias para realizar as varreduras. Um Firewall de borda bem configurado, pode
bloquear estas portas, porém, podemos definir uma só porta de onde sairá o scan. Como exemplo, podemos utilizar a porta 53 (DNS) que geralmente
não é bem tratada para burlar a proteção.
- MAC Spoofing:
- --spoof-mac <enderco_mac|fabricante>: Camufla o endereço de MAC, disfarçando quem está realizando as varreduras. Podemos utilizar um
endereço MAC qualquer, como: 01:02:03:04:05:06 ou, nomes de fabricantes, como Cisco, Apple, Microsoft e etc.
- Idle Scan:
- -sI <ip_zumbi> <alvo>: Este scan utiliza um IP zumbi para disfarçar a varredura, tornando-se totalmente invisível. Ele funciona na
base do IPID, um identificador quantitativo, que é incrementado a cada pacote enviado.
O atacante envia um pacote SYN para o zumbi, que repassa para o alvo. Se a porta do alvo estiver fechada, o zumbi só receberá um pacote RST, se
estiver aberta, receberá um SYN+ACK, e o zumbi confirmará a conexão com um ACK.
Portanto, se a porta estiver fechada o IPID é incrementado em apenas 1 e se estiver aberta é incrementado em 2, assim o Nmap consegue fazer a
varredura com precisão.
Mas, e como sei qual máquina pode ser um zumbi? Geralmente impressoras, máquinas com Windows,
Linux antigos e MAC OS funcionam, porém, há
um meio mais fácil de localizar com o Metasploit.
Obs.: O Metasploit é um Framework essencial para qualquer Pentester. Ele é um software complexo, e algum dia dissertarei sobre. Vem incluso no
Backtrack e pode ser baixado para outros S.O.s
aqui.
No Metasploit, utilizamos o seguintes comandos:
msf>
use auxiliary/scanner/ip/ipidseq
msf>
set RHOSTS <hosts>
msf>
run
Assim, podemos localizar facilmente algum IP zumbi e utilizá-lo no Nmap.
Exemplos:
nmap -e eth0 -S 192.168.1.10 --spoof-mac 00:01:02:03:04:05:06 192.168.1.20
$ nmap -D 192.168.1.11, 192.168.1.12, 192.168.1.13 192.168.1.20
Relatórios
Dependendo do tamanho e tipo do scan que realizamos, queremos armazenar os dados em arquivos separados para futura consulta, o Nmap nos dá
esse suporte de diversas maneiras.
- -oN <arquivo>: Salva no arquivo exatamente o que é mostrado na tela, sem avisos ou informações de runtime.
- -oS <arquivo>: Gera um relatório no modo de escrita dos Scripts kiddies (haha!).
- -oX <arquivo>: Salva as informações no formato XML.
- -oG <arquivo>: Retorna os resultados em um arquivo especial. Cada linha de comentário começa com um sustenido (#) e os dados
encontrados
são separados por dois pontos (:).
- -oA <arquivo>: Salva todos os tipos de relatórios, sendo "arquivo.nmap", "arquivo.xml" e "arquivo.gnmap", respectivamente.
- -v (verbose): Relata mais resultados. Usar '-vv', para um maior efeito.
Exemplos:
nmap -oN resultados_nmap.txt 192.168.1.20
$ nmap -oX resultados_nmap.xml 192.168.1.20