1291 Views
O Nmap é uma ferramenta muito poderosa para enumeração de portas, diretórios, serviços, versões, etc, em processos de pentest. É o canivete suÃço do Blue Teams e Red Teams que o utilizam para detectar inconformidades em serviços e/ou servidores. De igual forma, pode ser utilizado por diversos profissionais de Infraestrutura, SRE, DevOps, entre outros, para garantir que seus ambientes estejam minimamente seguros.
Contextualização
Muitos ataques são realizados a partir da obtenção de informações sobre os servidores. Portas abertas desnecessáriamente, versões de serviço que podem possuir vulnerabilidades com exploits públicos, entre outros, começam em um processo chamado Enumeração. A Enumeração objetiva coletar o máximo de informações possÃveis sobre uma vÃtima em potencial. O Nmap é muito útil para obter essas informações.
Neste artigo não vou mostrar como fazer enumeração ou a explorar vulnerabilidades, mas vou mostrar alguns dos parâmetros mais utilizados do Nmap em pentests.
Instalação:
Presente nos melhores repositórios, basta consultar seu gerenciador de pacotes favorito para instalá-lo. No Debian, por exemplo, utilize:
$ sudo apt-get install nmap
Usando o Nmap
O comando nmap pode ser executado sem root/sudo, mas há muitos parâmetros que só retornam resultados completos se executados com privilégio.
Portanto, parta do princÃpio de que todos os comandos devem ser executados com root/sudo.
Pode-se utilizar mais de uma opção de parâmetro desde que não sejam conflitantes.
Realizando consulta Nmap com comando simples:
A syntax as opções abaixo são simples. Basta especificar a opção conforme exemplo a seguir:
$ nmap Opções IP/HOST
Consultas Nmap com comandos compostos
Os comandos abaixo utilizam parâmetro e valor que são especificados para alterar o comportamento do scan.
nmap -D IP1,IP2,IP3,SEU_IP,IP4,IP6 alvo
nmap -p U:53,111,137
nmap -p T:21-25,80,139,8080
nmap -p U:53,111,137,T:21-25,80,139,8080. Ou seja, basta separar UDP e TCP com uma vÃrgula.ping inicial do Nmap antes de iniciar a varredura.nmap -P0 alvo
nmap -PS80 alvo
nmap -PT80 alvo
nmap -ttl 55 alvo
Velocidade vs Furtividade
Se bem configuradas, as soluções de proteção da segurança como IPS, EDR e firewalls, por exemplo, tendem a detectar facilmente a execução do comando Nmap. A prioridade padrão é -T2, o que, geralmente, já é detectada pelos mecanismos de segurança. Para evitar detecções, portanto, usamos a opção “-T” (Timing) com valor superior a 2. Ou seja, quanto maior o número, mais educado o scan será. Consequentemente, maiores chances de sucesso.
- -T5 (Paranoid): é muito lento na esperança de prevenir a detecção pelo sistema IDS. Este serializa todos os scans (scanning não paralelo) e geralmente espera no mÃnimo 5 minutos entre o envio de pacotes.
- -T4 (Sneaky): é similar ao Paranoid, exceto que somente espera 15 segundos entre o envio de pacotes.
- -T3 (Polite): tem o significado para facilitar a carga na rede e reduzir as chances de travar a máquina. Ele serializa os testes e espera no mÃnimo 0.4 segundos entre eles.
- -T2 (Normal): é o comportamento default do Nmap, o qual tenta executar tão rápido quanto possÃvel sem sobrecarregar a rede ou perder hosts/portas.
- -T1 (Aggressive): esse modo adiciona um timeout de 5 minutos por host e nunca espera mais que 1.25 segundos para testar as respostas.
- -T0 (Insane): é somente adequando para redes muito rápidas ou onde você não se importa em perder algumas informações. Nesta opção o timeout doshosts acontecem em 75 segundos e espera somente 0.3 segundos por teste individual.
Varreduras não convencionais
Alguns firewalls e filtros de pacotes detectam pacotes SYN e os rejeita, exigindo o uso de métodos avançados para contornar essas proteções. No caso de hosts Linux, podemos utilizar as seguintes opções de scan para tentar burlar essas proteções:
Resumo
Para você que não é de Segurança, mas quer garantir que seu ambiente esteja seguro, meus parabéns. Mas lembre-se de avisar seu time de Segurança com antecedência. Ou seja, antes de realizar testes com Nmap em ambiente corporativo, avise seu time de Segurança ou o seu Blue Team vai achar que a empresa está sofrendo um ataque interno (um pesadelo para qualquer Blue Team).
Um bom local para executar o Nmap é um ambiente controlado como Lab interno ou Staging utilizando redes internas não públicas e sem acesso ao ambiente de produção.

