Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1/9
Como descrito anteriormente, o NSE uma funcionalidade poderosa do Nmap, verstil e flexvel, que
permite a seus usurios desenvolver e compartilhar scripts simples e integr-los s varreduras tradicionais do
Nmap, a fim de automatizar tarefas variadas.
Os usurios podem somente utilizar os scripts disponibilizados junto com o Nmap, modificar scripts existentes
ou ainda desenvolver seus prprios scripts personalizados que atendam s suas necessidades.
O NSE foi desenvolvido inicialmente com o objetivo de melhorar a descoberta de rede, incluir mtodos mais
sofisticados de deteco de verses e permitir a identificao de vulnerabilidades.
Em sua verso atual, alm destas funes, o NSE capaz de detectar:
backdoors;
explorar vulnerabilidades;
realizar ataques de dicionrio e de negao de servio;
detectar malwares remotamente;
entre outros.
Por se tratar de uma ferramenta to verstil, possvel que surjam ainda scripts aplicveis em novas situaes
no previstas pelos desenvolvedores e mantenedores do Nmap.
Os scripts executados pelo NSE so escritos na linguagem de script Lua. A linguagem Lua foi criada em
1993 no Laboratrio de Tecnologia em Computao Grfica da Pontifcia Universidade Catlica do Rio de
Janeiro - TecGraf/PUC-Rio e continua em desenvolvimento ativo ainda hoje.
Lua uma linguagem extensvel, segura e portvel, muito usada e j bastante depurada, alm disto
considerada uma linguagem fcil de aprender (principalmente se j se conhece outras linguagens de script,
como Perl, Python ou outras linguagens como C/C++, Java, etc.) e pequena para embutir (segundo a
documentao da linguagem, uma distribuio completa, com cdigo fonte, manual e binrios para algumas
plataformas cabem confortavelmente em um disquete).
Atualmente, Lua bastante usada no desenvolvimento de jogos, figurando em ttulos como "World of
www.v iv aolinux.com.br/artigos/impressora.php?codigo=13992
2/9
19/12/12
3/9
19/12/12
Esta varredura verifica se o alvo est ativo na rede utilizando o mtodo de descoberta padro, faz a varredura
de portas utilizando o mtodo de varredura padro e executa os scripts classificados na categoria padro. O
resultado esperado de uma varredura como esta :
Verificao de atividade do alvo na rede;
Listagem de portas abertas, fechadas e filtradas associadas ao nome do servio que tradicionalmente
utiliza cada porta, caso o alvo esteja ativo;
E sadas dos scripts que tiveram suas condies de execuo satisfeitas e, por isto, foram executados
pelo NSE.
Isto quer dizer, que se um determinado servio estiver sendo provido em uma porta diferente da que
tradicionalmente utilizada, o Nmap fornecer uma resposta incorreta sobre o servio. Isto quer dizer que,
por exemplo, se um servidor SSH, que tradicionalmente utiliza a porta 22, for configurado para prover o
servio na porta 80, tradicionalmente utilizada por servidores HTTP, nesta varredura o Nmap detectar um
servidor HTTP e no um SSH, como esperado. Para resolver este problema, necessrio incluir na
varredura a deteco de verses de servios.
Na seo "Classificao dos Scripts", discutido do que consiste a categoria padro e quais so as
categorias de scripts e como eles so classificados nas mesmas. As questes referentes ao mtodo de
descoberta de hosts, de varredura de portas e de deteco de verses de servios, foram tratadas no
primeiro artigo da srie, Mapeamento de Redes com Nmap.
4/9
19/12/12
5/9
Se a opo "--script" for usada com a categoria "default", o NSE comporta-se da mesma maneira que com
as opes "-sC" e "-A". Assim, os comandos abaixo so equivalentes e o NSE executa somente os scripts da
categoria padro:
$ nmap -A scanme.nmap.org
$ nmap -sC -sV -O --traceroute scanme.nmap.org
$ nmap --script "default" -sV -O --traceroute scanme.nmap.org
A opo "--script" pode ser usada com nomes de scripts completos, nomes de categorias, nomes de
diretrios, expresses ou a string "all". O NSE busca por scripts identificados pela extenso ".nse", que
atendam s condies passadas no subdiretrio "scripts" dos seguintes diretrios: o parmetro da opo "-datadir", o contedo das variveis "$NMAPDIR" e "NMAPDATADIR", aquele que contm o binrio do
Nmap seguido de "../share/nmap", "~/.nmap" e o atual.
Quando o NSE executado com nomes de scripts completos, seguido ou no da extenso ".nse", o NSE
busca por script com o nome de arquivo passado e o executa se suas condies de execuo forem
satisfeitas.
Segue abaixo exemplos de varreduras que chamam um nico script:
$ nmap --script "http-methods" scanme.nmap.org
$ nmap --script "dhcp-discovery,dns-zone-transfer,whois" scanme.nmap.org
Quando o NSE executado com nomes de categorias, o NSE busca todos os scripts pertencentes quela
categoria e os executa se suas condies de execuo forem satisfeitas.
www.v iv aolinux.com.br/artigos/impressora.php?codigo=13992
6/9
19/12/12
7/9
19/12/12
userdb=user1.txt,passdb=pass1.txt' 172.16.0.1
Tambm possvel passar parmetros em um arquivo texto atravs da opo "--script-args-file". Para utilizar
esta opo, os parmetros devem ser escritos da mesma forma que seriam na modalidade passada na linha
de comando e estar separados por vrgulas ou quebras de linha.
Concluso
O Nmap Scripting Engine uma funcionalidade do Nmap que inclui varredura tradicional do Nmap
diversas funcionalidades que permitem interrogar hosts na rede de maneira mais flexvel e verstil.
Este artigo discutiu as funcionalidades principais oferecidas pelo NSE, no entanto, ainda h muitas outras
funcionalidades do Nmap que no foram se quer mencionadas, como:
Opes de controle de desempenho;
Opes de evaso de firewalls/IDS/IPS;
Opes de spoofing;
E muitas outras.
O leitor encorajado a buscar mais informaes na Documentao Oficial do Nmap e do NSE, no livro
oficial e outras fontes, como os webinars NMAP -- Software Livre para Explorao de Rede e Auditorias de
Segurana e Teste de Invaso com o Nmap Scripting Engine, da Clavis.
* Vale mencionar que, apesar de no haver legislao especifica que tipifique como crime o ato de executar
varreduras de qualquer tipo em redes de qualquer espcie, o objetivo deste artigo no incentivar aos
leitores a fazer varreduras aleatrias em redes que no so de sua propriedade ou que no se tenha
autorizao para faz-lo. E sim, informar quanto a que tipo de informao relevante pode ser extrada destas
varreduras e como estas podem ajudar em auditorias teste de invaso, depurao de firewalls ou
administrao de servidores etc.
Veja o primeiro artigo desta srie em:
Mapeamento de Redes com Nmap www.blog.clavis.com.br
Por: Henrique Soares e Rafael Ferreira
Instrutores da Academia Clavis Segurana da Informao www.blog.clavis.com.br
http://www.vivaolinux.com.br/artigo/Utilizando-o-Nmap-Scripting-Engine-NSE
Voltar para o site
www.v iv aolinux.com.br/artigos/impressora.php?codigo=13992
8/9
19/12/12
www.v iv aolinux.com.br/artigos/impressora.php?codigo=13992
9/9