Nmap conhecendo e utilizando a ferramenta

Nmap (“Network Mapper”) é um software livre regido pelos termos da Licença Pública Geral GNU (General Public License), conforme publicado pela Free Software Foundation, confira a licença e termos legais no link http://nmap.org/man/pt_BR/man-legal.html. O Nmap é utilizado para execução de port scan e foi desenvolvido por Gordon Lyon, autoproclamado hacker “Fyodor”.

O Nmap nasceu pare ser uma ferramenta do “tipo” exploração de rede ou auditoria de segurança, mas administradores de rede gostam de levar sua utilização além disso, como por exemplo, fazer inventário de rede, monitorar uptime de serviço, identificar serviços na rede, etc.

As chances de você ser um profissional de segurança e não conhecer o Nmap são bem remotas, digamos que esta ferramenta é indispensável no kit de um profissional de segurança e extremamente recomendada para o kit de um administrador de rede ou qualquer outro serviço que vise obtenção de informações referentes a rede ou componentes que a esta estão conectados.

O Nmap possui uma gama gigantesca de mecanismos para identificação dos mais variados tipos, abaixo irei apresentar alguns comandos uteis, ressaltando é claro que sua utilização e recursos vão muito além deste mero exemplo.

Essa ferramenta pode ser baixada para os mais diversos sistemas operacionais. Para Windows você pode baixar o executável e proceder com a instalação como qualquer outro programa, já para Linux você pode fazer a instalação utilizando apt-get/aptitude dependendo da sua preferencia.

Instalando no Linux:

# aptitude install nmap

Um dos scan mais simples e não menos importante é retorna informações referente a portas abertas e serviços padrões dessas portas:

# nmap 192.168.1.2

No comando acima lembre-se de indicar o IP do host a ser verificado.

Como mencionado anteriormente os serviços listados não são exatamente os que estão rodando no host scaneado mas sim, o serviço padrão da porta. Para realizar uma verificação onde o serviço retornado é o que realmente esta sendo executado naquela porta e sua respectiva versão, utilize o comando:

# nmap -sV 192.168.1.2

Outro parâmetro que merece atenção e o scan com “-O” que faz o Nmap identificar o sistema operacional e versão deste:

# nmap -O 192.168.1.2

Em um ambiente controlado/seguro, varreduras como as listadas anteriormente podem disparar alguns sistemas de alarme como IDS e outros. Estes sistemas podem bloquear seu acesso e até mesmo alertar os administradores da rede. Com o objetivo de evitar isso existe o parâmetro “-sS”:

# nmap -sS 192.168.0.1-254

Operando desta forma, o Nmap apenas envia um pacote SYN para cada porta alvo e espera para ver se recebe um pacote ACK de confirmação sem, entretanto, responder com o segundo pacote ACK, que abriria a conexão. Isso permite burlar muitos programas de detecção de intrusão, que monitoram e registram conexões efetivamente estabelecidas.

O Nmap por padrão faz uma verificação somente em portas baixas, isso descarta portas altas que são aquelas acima de 10000. Para contornar isso podemos passar o parâmetro “-p” e informar o rang de portas:

#nmap -sS -p 0-65535 192.168.1.2

Lembrando é claro que não é obrigatório usar o “-sS” para rodar uma verificação em todas as portas, o parâmetro em questão estar servindo somente de complemento realizando a tarefa de tentar diblar os “alarmes de segurança”. Além de especificar um range de portas é possível especificar uma porta:

# nmap -sS -p 80 192.168.1.2

Até então só realizamos verificações em portas TCP, e as portas UDP? Para realizar verificações nestas portas devemos passar o parâmetro “-sU” que verificará serviços rodando nas portas UDP:

# nmap -sU 192.168.1.2

Ressalto ainda que o Nmap possui muitos outros parâmetros dignos de atenção. Então sugiro que gastem algum tempo para ler a documentação desta ferramenta.