msploitego - La suite di pentesting per Maltego




QUESTO È UN RILASCIO BETA, per favore sii gentile e segnala eventuali problemi
Novità
- Nuove Funzionalità
- Ora supporto per più workspace di Metasploit tramite query Postgres
- Uno script bash che esegue tonnellate di moduli ausiliari contro i target. Riempie davvero il database di Metasploit
- transform:
- Enum Metasploit Workspaces
- Nikto Parser [da file]
- Enum4linux parser da file
- DNS scan
- Correzioni di bug
- transform basati su nmap che restituiscono falsi negativi
- percorsi errati
msploitego sfrutta i dati raccolti in un database Metasploit enumerando e creando entità specifiche per i servizi. Servizi come samba, smtp, snmp, http hanno transform per enumerare ulteriormente. Le entità possono essere caricate da un file XML di Metasploit o prese direttamente dal database Postgres msf
Sono aperto a suggerimenti per nuovi transform e miglioramenti!!!
Requisiti
- Python 2.7
- È stato testato solo su Kali Linux
- installazioni software
- Metasploit Framework
- nmap
- enum4linux
- snmp-check
- nikto
- exploitdb
- wpscan
Installazione
- In Maltego importa la configurazione da msploitego/src/msploitego/resources/maltego/msploitego.mtz
- controlla e aggiorna il percorso dei transform all'interno di Maltego
- il modo più semplice sarebbe creare un link simbolico alla directory dei transform in /root/)
- ln -s /path/to/your/msploitego/src/msploitego/transforms /root/
Utilizzo Generale
- esegui una scansione db_nmap in Metasploit, o importa una scansione precedente
-
msf> db_nmap -vvvv -T5 -A -sS -ST -Pn
-
msf> db_import /path/to/your/nmapfile.xml
-
esporta il database in un file xml
-
msf> db_export -f xml /path/to/your/output.xml
-
In Maltego trascina un'entità MetasploitDBXML sul grafico.
-
Aggiorna l'entità con il percorso del tuo file del database di Metasploit.
-
esegui il transform MetasploitDB per enumerare gli host.
-
da lì sono disponibili diversi transform per enumerare servizi, vulnerabilità memorizzate nel DB di Metasploit
- Questo metodo non è raccomandato a causa di limitazioni di prestazioni. Se il file XML è grande, eseguire i transform consumerà molta memoria
Utilizzo di Postgres (raccomandato!)
- trascina e rilascia un'entità Postgresql DB sulla tela, inserisci i dettagli del DB.
- esegui i transform Postgresql direttamente contro un DB in esecuzione
- se non conosci la password per la tua istanza postgresql guarda in /usr/share/metasploit-framework/config/database.yml
Raccomandazioni
- Inizia potenziando il tuo database Metasploit
- guarda msploitstarter.sh nella directory scripts. Esegue nmap e poi tonnellate di moduli ausiliari per ingrossare il tuo database Metasploit.
- esegui una scansione nmap dettagliata. i.e. db_nmap -vvvv -sS -sV -sU -A -T5 1.1.1.1/24
- Importa i risultati da Nessus o OpenVAS in Metasploit e usa il transform Enum Vulnerabilities.
- Esegui auxiliary/crawler/msfcrawler su tutte le porte http/https. Questo raccoglierà dati utili.
- Esegui una scansione nikto con output xml, poi inserisci il percorso completo del file nel campo 'Nikto File'. Esegui il parser Nikto per enumerare.
TODO
- Connettersi direttamente al database postgres - BETA
- Molti, molti, molti più transform per azioni sulle entità generate.
Problemi Noti
- alcune entità Metasploit come i file loot a volte contengono un carattere errato che la classe MaltegoTransform non può elaborare. Questo causa un'eccezione e non viene restituito nulla. Ho sbattuto la testa contro il muro cercando di 'pulire'/decodificare i dati ma senza successo.