msploitego - A suíte de Pentesting para Maltego




ESTA É UMA VERSÃO BETA, por favor, seja gentil e reporte quaisquer problemas
Novidades
- Novas Funcionalidades
- Agora suporta múltiplos workspaces para o Metasploit via consultas Postgres
- Um script bash que executa uma tonelada de módulos auxiliares contra alvos. Realmente 'engorda' a base de dados do Metasploit
- transformações:
- Enum Metasploit Workspaces
- Parser Nikto [de ficheiro]
- Parser Enum4linux a partir de ficheiro
- Scan DNS
- Correções de Bugs
- transformações baseadas em nmap a retornar falso negativo
- caminhos inválidos
msploitego aproveita os dados recolhidos numa base de dados do Metasploit enumerando e criando entidades específicas para serviços. Serviços como samba, smtp, snmp, http têm transformações para enumerar ainda mais. As entidades podem ser carregadas a partir de um ficheiro XML do Metasploit ou obtidas diretamente da base de dados Postgres do msf
Estou aberto a sugestões para novas transformações e melhorias!!!
Requisitos
- Python 2.7
- Foi testado apenas no Kali Linux
- instalações de software
- Metasploit Framework
- nmap
- enum4linux
- snmp-check
- nikto
- exploitdb
- wpscan
Instalação
- No Maltego importe a configuração de msploitego/src/msploitego/resources/maltego/msploitego.mtz
- verifique e atualize o caminho das transformações dentro do Maltego
- a maneira mais fácil seria criar um link simbólico para o diretório de transformações em /root/)
- ln -s /path/to/your/msploitego/src/msploitego/transforms /root/
Uso Geral
- execute uma db_nmap scan no Metatasploit, ou importe uma scan anterior
-
msf> db_nmap -vvvv -T5 -A -sS -ST -Pn
-
msf> db_import /path/to/your/nmapfile.xml
-
exporte a base de dados para um ficheiro xml
-
msf> db_export -f xml /path/to/your/output.xml
-
No Maltego arraste uma entidade MetasploitDBXML para o gráfico.
-
Atualize a entidade com o caminho para o seu ficheiro de base de dados do metasploit.
-
execute a transformação MetasploitDB para enumerar hosts.
-
a partir daí várias transformações estão disponíveis para enumerar serviços, vulnerabilidades armazenadas na base de dados do metasploit
- Este método não é recomendado devido a limitações de desempenho. Se o ficheiro XML for grande, executar transformações consumirá muita memória
Usando Postgres (recomendado!)
- arraste e solte uma entidade Postgresql DB no canvas, insira os detalhes da base de dados.
- execute as transformações Postgresql diretamente contra uma base de dados em execução
- se não souber a senha para sua instância postgresql, veja em /usr/share/metasploit-framework/config/database.yml
Recomendações
- Comece por reforçar a sua base de dados do Metasploit
- veja o msploitstarter.sh no diretório de scripts. Ele executa nmap e depois uma tonelada de módulos auxiliares para engordar a sua base de dados do Metasploit.
- execute uma nmap scan detalhada. ex: db_nmap -vvvv -sS -sV -sU -A -T5 1.1.1.1/24
- Importe resultados do Nessus ou OpenVAS para o Metasploit e use a transformação Enum Vulnerabilities.
- Execute o auxiliary/crawler/msfcrawler em todas as portas http/https. Isto irá recolher dados úteis.
- Execute uma scan nikto com saída xml e depois insira o caminho completo do ficheiro no campo 'Nikto File'. Execute o parser Nikto para enumerar.
TAREFAS
- Conectar diretamente à base de dados postgres - BETA
- Muito, muito, muito mais transformações para ações em entidades geradas.
Problemas Conhecidos
- algumas entidades do Metasploit, como ficheiros de loot, por vezes contêm um caractere inválido que a classe MaltegoTransform não consegue processar. Isto causa uma exceção e nada é retornado. Bati a cabeça contra a parede tentando 'limpar'/descodificar os dados, mas sem sucesso.