O WMAP é um módulo auxiliar que vem no Metasploit que é muito bacana e pode euxiliar e muito no reconhecimento de uma aplicação. Claro, sempre lembrando que as ferramentas servem pra te ajudar a chegar a um determinado resultado, e não fazer o trabalho por você.
Vamos realizar um laboratório utilizando o DVWA, um software Web mantido pela OWASP que busca trazer vários tipos de vulnerabilidades para serem exploradas em laboratório de estudo. Breve irei fazer um post no Blog mostrando um pouquinho do servidor e o alocando em uma Appliance do Virtualbox para facilitar o versionamento e criar o seu laboratório de Pentest.
1. Iniciando o Metasploit Framework
root@fidelis:/home/matheus# service postgresql start
root@fidelis:/home/matheus# msfconsole
O Metasploit facilita muito a vida útil do Pentest, pois ele guarda todos os dados e informações das aplicações que já foram testadas pelo mesmo. Vamos simular um levantamento de informações bem simples utilizando o Web Crawler do Metasploit.
msf > use scanner/http/crawler
msf auxiliary(crawler) > show options
Vamos efetuar o exemplo sobre o site http://testphp.vulnweb.com/. Ele irá executar um crawler bem básico, mas muito eficiente. Embora eu ainda prefira o Crawler do Uniscan e do Arachni, o do Metasploit não deixa a desejar.
msf auxiliary(crawler) > set RHOST testphp.vulnweb.com
msf auxiliary(crawler) > run
2. Carregando o WMAP
Como disse, o Metasploit guarda muita informação dos Hosts scanneados e testados, evitando retrabalho. Você pode consultá-los na lista do WMAP
msf > load wmap
Vamos verificar a lista de sites que varremos e exploramos com o Metasploit. Atenção as Ids dos hosts.
msf > wmap_sites -l
Vamos colocar a ID para ser varrida pelo WMAP
msf auxiliary(crawler) > wmap_targets -d 3
ou caso a mesma não esteja no banco de dados do WMAP...
msf auxiliary(crawler) > wmap_targets -t testphp.vulnweb.com
Você pode ver toda a estrutura do alvo gerado pelo primeiro crawler
msf auxiliary(crawler) > wmap_website
Vamos rodar o Scanner, primeiro carregando os módulos e depois fazendo o ataque. O Scan é demorado e vai testar várias coisas coisas como
* Diretórios Comuns
* SQL Injection
* Erros genéricos
* Arquivos Expostos
* Vulnerabilidades Comuns
* Diretórios Comuns
* SQL Injection
* Erros genéricos
* Arquivos Expostos
* Vulnerabilidades Comuns
msf auxiliary(crawler) > wmap_run -t
msf auxiliary(crawler) > wmap_run -e
3. Coletando resultados
Após o fim de um determinado Scan, você pode chegar as vulnerabilidades encontradas.Pra listar as vulnerabilidades encontradas na aplicação:
msf auxiliary(crawler) > wmap_vulns -l
Ver os Reports disponíveis que a ferramenta levantou:
msf auxiliary(crawler) > wmap_reports -p
Para exibir o report, basta executar o wlmap_report com o parâmetro show
msf auxiliary(crawler) > wmap_reports -s 1
4. Criando um template customizado
Para criar um template de teste customizado com somente os módulos que você realmente vai precisar no teste, você precisará editar um arquivo de configuração de demonstração e comentar as linhas referentes ao serviços que não deseja testar.
root@fidelis:~# cd /usr/share/metasploit-framework/data/wmap
root@fidelis:/usr/share/metasploit-framework/data/wmap# cp wmap_sample_profile.txt wmap_nanoshots.txt
root@fidelis:/usr/share/metasploit-framework/data/wmap# vi wmap_nanoshots.txt
Agora edite o arquivo conforme sua necessidade:
Agora, no Metasploit, vamos executar o wmap utilizando como referência o novo arquivo profile que criamos.
msf > ls
msf> cd /usr/share/metasploit-framework/data/wmap
msf > wmap_run -e wmap_nanoshots.txt
Nenhum comentário