Ultimate Nmap

Nmap é a melhor ferramenta automatizada que realiza scan de rede, tanto domésticas, quanto corporativas. Escanear uma
rede, significa varrer um determinado IP, ou range de IPs, a procura de suas características, dentre elas: status do
dispositivo, portas, serviços, sistema operacional e tudo mais.

[ Hits: 31.511 ]

Por: Jonatas Baldin em 08/05/2012 | Blog: http://metasecurity.blogspot.com.br/


Nmap Scripting Engine - NSE



O Nmap também possui a possibilidade de uso de Scripts, chamado: Nmap Scripting Engine

Este modo estende o uso da ferramente para algo além de mapear redes e enumeração de serviços, ele aplica funções de Bruteforce, ataques DoS e até mesmo, descoberta de vulnerabilidades.

Os Scripts podem ser escritos e compartilhados por qualquer usuário no objetivo de automatizar as tarefas diárias.

A linguagem utilizada é a Lua, pequena e flexível, geralmente utilizada para expandir funções de programas e jogos. Este artigo não mostrará como desenvolver os Scripts, somente como eles são utilizados.

Os Scripts, por padrão, ficam no diretório "/usr/local/share/nmap/scripts", com a extensão ".nse".

Para uma melhor organização, os Scrips foram divididos em 12 categorias, sendo:

- Categorias:
  • Auth: Scripts voltados para tentativa de autenticação, ou Bypass da mesma;
  • Broadcast: Realiza um scan de Broadcast na rede atrás de Hosts não listados por scans normais;
  • Brute: Usam técnicas de Bruteforce para realizar autenticação de serviços;
  • Default: São os scripts padrões do Nmap, utilizado com a opção -sC ou --scripts=default. As opções serão retratadas abaixo;
  • Discovery: Esses scripts realizam varreduras de descobrimento na rede, como cabeçalhos HTML, detalhes do serviço SAMBA etc;
  • DoS: Scripts utilizados para forçar a queda do alvo;
  • External: Utilizam aplicações de terceiros, como consultas ao banco de dados do whois;
  • Fuzzer: Envia pacotes com dados randômicos para o alvo, a procura de bugs e vulnerabilidades;
  • Intrusive: Não são considerados seguros pois podem derrubar o alvo ou invadi-lo;
  • Malware: Procura no alvo malwares ou backdoors;
  • Safe: São considerados scrips que não derrubam serviços, não utilizam toda a banda e não gera nenhum risco ao alvo;
  • Version: Scripts para detectar versões de serviços específicos, como o Skype. Só podem ser usados cada o tipo de scan -sV for requerido;
  • Vuln: Usados para procurar vulnerabilidades. Só são gerados relatórios se elas são encontradas.

Além das categorias para organização dos Scripts, também há a separação de quando o Script é executado, chamado de fases, são elas:

- Fases:
  • Prerule scripts: São executados antes do Nmap recolher qualquer informação sobre o alvo;
  • Host scripts: Ocorre durante o processo de scaning, logo depois do scan de portas, serviços e sistema operacional;
  • Service scripts: São executados em serviços específicos no host;
  • Postrule scripts: Estes Scripts rodam depois que todo a varredura for feita. Geralmente auxiliam na formatação de relatórios.

Vamos botar a mão na massa, e ver quais são os comandos utilizados para executar Scripts com o Nmap.

- Comandos:
  • -sC: Executa os scripts da categoria default. É equivalente a --scripts=default.
  • --script <nome | categoria | diretório>: É o comando mais complexo. Nele, você pode selecionar os scripts por nome, categoria ou um diretório alternativo. Os valores são separados por vírgulas, parênteses e também por operadores booleanos 'not', 'or' ou 'and', que devem ser usados entre aspas para evitar interpretação do shell. Pode ser usado também * (asterisco), para representar todos os valores.

    Para usarmos todos os Scripts da categoria de DoS, usamos: --script dos
    Se quisermos os Scripts da categoria 'safe' e o 'ftp-anon', usamos: --script safe,ftp-anon
    Para utilização de todos os Scripts da categoria 'auth', menos o 'ftp-anon', usamos: --scripts "(auth) and not ftp-anon"

  • --script-args <arg=valor>: É utilizado para uso de argumentos dentro do Scritp. Pode-se separar os argumentos com vírgulas, e caso aja um espaço em branco, deve ser utilizado aspas.

    Os argumentos disponíveis podem ser localizados no código do Scripts dentro do registro chamado "nmap.registry.args", ou na descrição.

    Por exemplo, o 'ftp-anon' disponibiliza dois arguementos para limitar as tentativas de usuários e senhas, 'userlimit' e 'passlimit', respectivamente.

    Podemos utilizá-los assim: --script ftp-anon --script-args userlimit=100,passlimit=100

  • --script-help <nome | categoria | diretório>: Mostra um texto de ajuda para um script específico, categoria inteira ou Script de diretório alternativo.

    Seu uso é simples, para exibir ajuda de um script específico e a categoria de DoS: --script-help ftp-anon,dos

  • --script-trace: Se ativo mostra informações como protocolo, código, alvo e dados transmitidos.
  • --script-updatedb: Atualiza o banco de Scripts do Nmap, assim como suas categorias.

Exemplos:

nmap --scripts whois 192.168.1.20
$ nmap --scripts auth,brute 192.168.1.20
$ nmap --scripts "(ftp-*) and vuln" 192.168.1.20
$ nmap --script ftp-anon --script-args userlimit=100,passlimit=100 192.168.1.20


Conclusão

That's all folks!

Claro que nem todos os comandos e funcionalidades da ferramenta foram abordados, mas você pode ter uma visão mais ampla com a leitura do livro Exames de Rede com NMAP, que possui uma ótima tradução.

O site do Nmap, possui algumas partes do livro e outros documentos, os quais serviram de referência para a construção deste artigo, além da Security List, onde usuários podem trocar informações e resolver os possíveis problemas.

Não deixe de visitar também a área de Security Tools, onde há um ranking com as melhores ferramentas para segurança.

Esse artigo foi previamente publicado no meu blog, o Metasecurity, visitem lá também.

Página anterior    

Páginas do artigo
   1. Nmap Básico
   2. Descobrimento de Host e Scan de Portas - Enumeração de Serviços
   3. Técnicas de Evasão - Relatórios
   4. Nmap Scripting Engine - NSE
Outros artigos deste autor

Ping - O que há por trás?

Leitura recomendada

NTop - Configurações gerais

Distribuição CAINE Linux para forense digital: em Live-CD, pendrive, máquina virtual ou direto em seu Ubuntu 10.04

Vírus em câmeras digitais: possibilidades

Tornando o OpenBSD stable

Usando o John theRipper para manter sua rede segura

  
Comentários
[1] Comentário enviado por removido em 08/05/2012 - 11:11h

Gostei do artigo !!

[2] Comentário enviado por jonatas.baldin em 08/05/2012 - 11:13h

A terceira página "Técnicas de Invasão - Relatórios" na verdade é "Técnicas de Evasão - Relatórios". Já solicitei a correção para os administradores, do mais, espero que gostem da leitura. Abraços.

[3] Comentário enviado por danniel-lara em 08/05/2012 - 11:20h

Parabéns pelo artigo

[4] Comentário enviado por levi linux em 08/05/2012 - 12:20h

Parabéns, excelente artigo. Favoritado!

[5] Comentário enviado por BrunoMorais em 08/05/2012 - 15:03h

Ótimo artigo! Parabéns.

[6] Comentário enviado por danilosampaio em 09/05/2012 - 11:43h

Parabéns pelo artigo!

[7] Comentário enviado por ovudo em 09/05/2012 - 18:16h

que é isso cara, adorei seu artigo, realmente era o que precisava aqui
a tempos queria me aprofundar mais sobre protocolos, pacotes, vulnerabilidades e segurança
muito bom, espero que possa me ajudar ainda mais nessas partes

hoje mesmo eu já comecei a fuçar a fundo o nmap.
valew, parabéns!!!

[8] Comentário enviado por m4cgbr em 10/05/2012 - 03:02h

Existe uma versão para o X que é bem interessante, o zenmap, fica ai a dica para quem se interessar, tem recursos gráficos bem interessantes como exibição de nós etc;

[9] Comentário enviado por leandromaior em 14/05/2012 - 11:01h

Muito bom o post, gostaria de contribuir também acrescentando um bom tópico de leitura aos iniciantes... www.bomjardimdatecnologia.blogspot.com acabei de realizar a postagem de um tutorial sobre o Nmap desenvolvido por mim mesmo. Espero que ajude bastante.

[10] Comentário enviado por jonatas.baldin em 15/05/2012 - 12:05h

Muito obrigado pelos agradecimentos pessoal, sempre que possível estarei trazendo conteúdo para vocês. Obrigado!

[11] Comentário enviado por thyagobrasileiro em 25/08/2012 - 18:03h

Muito bom, adorei, entendi coisas que ficava voando, Padrões de Temporização foi otimo


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts