sexta-feira, 17 de outubro de 2014

Mini guia do Nmap: Parte 2

Dando continuidade ao mini guia do Nmap, vamos verificar alguns dos parâmetros mais úteis para realizar a varredura em hosts remotos. Se você quer ver a primeira parte desse guia, acesse: Mini guia do Nmap: Parte 1. Uma informação importante que não coloquei na primeira parte, mas que sempre vale a pena reforçar: consulte o manual da ferramenta através do comando "man nmap". É sempre muito útil consultar a própria documentação da ferramenta.


-sO: detecção de Sistema Operacional

O parâmetro "-sO" habilita a detecção de versão do Sistema Operacional. Essa é uma das funções mais importantes do Nmap, pois descobrir o sistema operacional que roda no host remoto facilita e muito a descoberta de possíveis vulnerabilidades. Este parâmetro permite realizar o footprinting/fingerprinting pois permite descobrir informações como o tipo de dispositivo (roteador, servidor, estação de trabalho, switch, etc), sistema operacional (nome e versão), distância na rede (distância em saltos entre o alvo e o atacante).

O Nmap possui uma base de dados chamada "nmap-os-db", que contém informações de mais de 2.600 sistemas operacionais (haja sistema hein =)). O que o Nmap faz é mandar pacotes TCP e UDP para o alvo e comparar as respostas com as suas informações na base de dados. 

Veja no conteúdo da base de dados, informações sobre o iPhone 4 e diferentes versões de Windows XP Service Pack 3:


Obviamente essa varredura é mais lenta, pois envolve o processo de descobrir portas abertas no alvo. Se o Nmap não conseguir detectar nenhuma porta aberta na detecção de S.O. do alvo, ele retorna o erro: "Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port" (Aviso: Os resultados da varredura de O.S. não são confiáveis pois não conseguimos encontrar nem ao menos uma porta aberta e uma fechada).

ex: nmap -O 192.168.1.120

-sV: detecção de versão

O parâmetro "-sV" habilita a detecção de versão do serviço. É uma das funções mais "queridas" do Nmap e é muito útil para identificar vulnerabilidades de segurança ou certificar-se que um serviço está rodando numa determinada porta. 
Veja a diferença das varreduras a seguir (quando scaneado com o parâmetro -sV, surge uma coluna chamada "Version" na saída do comando).

ex: nmap 192.168.1.120
ex: nmap -sV 192.168.1.120


O parâmetro "-sV" permite ainda alterar o nível de intensidade da detecção com o argumento "--version-intensity [0-9]" que vai de 0 (menos intenso) a 9 (mais intenso).

ex: nmap -sV --version-intensity  9  192.168.1.120


-sS: varredura TCP SYN

Também chamado de "half-open scanning", pois essa técnica permite ao Nmap buscar informações do host remoto, sem completar o TCP handshake. O Nmap manda pacotes "SYN" para o alvo, porém nunca estabelece uma conexão. Como resultado, o alvo não cria logs dessa interação pois nenhuma sessão foi iniciada.

ex: nmap -sS 192.168.1.120

-sT: varredura TCP Connect()

Uma varredura comumente utilizada quando é impossível utilizar a opção "-sS" (pois essa requer privilégios de root). A varredura TCP Connect, ao contrário da "SYN", completa o TCP handshake e solicita que o sistema faça uma chamada connect(). Obviamente esse tipo de informação gera logs, portanto procure sempre utilizar outras opções. É preciso ter em mente que essa técnica se aplica apenas às portas TCP e não às UDP.
 
ex: nmap -sT 192.168.1.120

-sU: varredura UDP

Como o nome sugere, essa técnica é utilizada para descobrir portas UDP abertas na máquina alvo. Não necessita que um pacote "SYN" seja enviado pois busca por portas UDP (não é necessário o handshake). Apesar disso, usar os parâmetros "-sS" e "-sU" juntos é mais efetivo.
 
ex: nmap -sU 192.168.1.120
-sF: varredura TCP FIN

Como o nome sugere, nessa técnica um pacote com o flag "FIN" é enviado ao alvo remoto. Dessa maneira, não há necessidade de fazer o TCP handshake. Essa técnica é utilizada geralmente quando existe a presença de um Firewall na rede, bloqueando pacotes "SYN", logo, sem a possibilidade de usar o "-sS". Assim como  a varredura TCP FIN, é possível utilizar as varreduras "xmas" (-sX) e "Null" (-sN). A ideia é a mesma, sendo a única diferença que, o xmas envia pacotes com os flags FIN, PSH e URG ligados, enquanto o Null não envia nenhum flag ligado no pacote.
 
ex: nmap -sF 192.168.1.120
-A: detecção agressiva

O Nmap tem um parâmetro especial que ativa a detecção agressiva. O modo agressivo habilita a detecção de Sistema Operacional (-O), detecção de versão (-sV), script scanning (-sC), e traceroute (--traceroute). Esse parâmetro obviamente, faz muito mais alarde o que aumenta suas chances de ser detectado. 

ex: nmap -A 192.168.1.120 
Note que o comando acima poderia ser substituído por:  nmap -O -sV -sC   192.168.1.120

-sI: varreduras Idle

Técnica bem interessante e muito "furtiva". Nas varreduras "Idle", o Nmap não manda os pacotes para o alvo usando seu IP real. Ao invés de gerar os pacotes usando o IP da máquina do atacante, o Nmap usa o IP de outra máquina ativa na rede para enviar os pacotes ao alvo. Para entender em detalhes o funcionamento da varredura Idle, acesse: http://nmap.org/idlescan-pt-br.html. Considere por exemplo que estamos no computador com o IP 192.168.1.10 e queremos scanear as portas do alvo 192.168.1.120. Na nossa rede, existe uma outra estação de IP 192.168.1.100. Essa técnica permite enviar os "probes" do nmap, como se fossemos a máquina ".100", permitindo que façamos a varredura "anonimamente".

ex: nmap -sI   192.168.1.100   192.168.1.120

-sP: varreduras Ping

As varreduras Ping se diferenciam dos demais tipos de varreduras, pois elas não são utilizadas para identificar portas abertas, e sim para identificar se um host está ativo ou não. Esse tipo de varredura exige privilégios administrativos, uma vez que pacotes ICMP precisam ser enviados, mas caso o usuário não tenha esse privilégio, serão utilizadas chamadas "connect()".

ex: nmap -sP 192.168.1.120

Na parte 3 desse mini guia vamos explorar mais algumas funcionalidades do Nmap. Até o próximo.

t+

Cristiano
"A grandeza não consiste em receber honras, mas em merecê-las." - Aristóteles

Nenhum comentário:

Related Posts Plugin for WordPress, Blogger...