Tuesday, August 10, 2010

Otimizando as varreduras

Um dos port scanner mais poderoso e mais conhecido é o nmap ("Network Mapper"), mas o que poucos sabem, é que além fazer vários tipos de varreduras, é que ele poder fazer também alguns testes de vulnerabilidades, baseado no resultada da varredura.

Ele possui uma base de scripts em lua que se propõe a realizar vários testes de vulnerabilidades, esses são alguns deles:

* anonftp.nse (FTP Anônimo)
* zonetrans.nse (Transferência de zona)
* RealVNC_auth_bypass.nse (bypass autenticação RealVNC)

Quando instalamos o nmap pelo apt-get ou yum ele vem com aproximadamente 40 scripts, entretanto podemos baixar a versão mais nova do programa, que vem com aproximadamente 130 scripts, pelo svn, utilizando o comando:



"svn co --username guest --password "" svn://svn.insecure.org/nmap/"



Após instalado, basta que você copie o diretório scripts que foi baixado pelo svn para "usr/share/nmap/scripts", também será necessário copiar as bibliotecas nselib mais novas para "/use/share/nmap/nselib".

Existem várias sintaxes possíveis para usar os scripts:



--script [script-categories|directory|filename|all]



O que mais me chamou a atenção foi a opção [script-categories], onde você pode chamar todos os scripts de uma determinada categoria pré-definida pelos desenvolvedores, são elas:

* auth
* default
* discovery
* dos
* exploit
* external
* fuzzer
* intrusive
* malware
* safe
* version
* vuln

Para realizar um scanner simples e chamar todos os scripts classificados como "safe" o comando seria:



$ nmap 127.0.0.1 --script "safe"



O mais interessante disso tudo é que você pode editar cada script e classificá-los de acordo com a sua necessidade.
Supondo que você queira executar o apenas 10 scripts específicos que estão pré-classificados em categorias distintas, você pode colocá-los em sua própria categoria, simplesmente editando-os e na linha referente a categoria colocar o nome da sua categoria
Exemplo:



categories = {"default", "auth", "safe","myscripts"}



Após realizar a alteração em todos os scripts desejados basta executar o comando:



$ nmap --script-update



e agora vc pode chamá-los normalmente usando a mesma sintaxe mostrada anteriomente:



$ nmap 127.0.0.1 --script "myscripst"



Lembrando que os scripts se basei no resultado da varredura, isso é: a princípio, o script anonftp.nse por exemplo, só será executado se a varredura retornar a porta 21 aberta.

Referências: http://nmap.org/nsedoc/