msploitego - Die Pentesting-Suite für Maltego




DIES IST EINE BETA-VERSION. Bitte seien Sie nachsichtig und melden Sie etwaige Probleme.
Was ist neu
- Neue Funktionen
- Unterstützt jetzt mehrere Arbeitsbereiche für Metasploit über Postgres-Abfragen
- Ein Bash-Skript, das eine Menge Hilfsmodule gegen Ziele ausführt. Es 'mästet' die Metasploit-DB richtig auf.
- transforms:
- Enum Metasploit Workspaces
- Nikto Parser [aus Datei]
- Enum4linux paser aus Datei
- DNS-Scan
- Fehlerbehebungen
- nmap-basierte Transforms geben falsch negative Ergebnisse zurück
- falsche Pfade
msploitego nutzt die in einer Metasploit-Datenbank gesammelten Daten, indem es spezifische Entitäten für Dienste aufzählt und erstellt. Dienste wie Samba, SMTP, SNMP, HTTP haben Transforms zur weiteren Aufzählung. Entitäten können entweder aus einer Metasploit-XML-Datei geladen oder direkt aus der Postgres-MSF-Datenbank übernommen werden.
Ich bin offen für Anregungen für neue Transforms und Verbesserungen!!!
Voraussetzungen
- Python 2.7
- Wurde nur unter Kali Linux getestet
- Software-Installationen
- Metasploit Framework
- nmap
- enum4linux
- snmp-check
- nikto
- exploitdb
- wpscan
Installation
- In Maltego die Konfiguration aus msploitego/src/msploitego/resources/maltego/msploitego.mtz importieren
- Den Transform-Pfad in Maltego auschecken und aktualisieren
- Am einfachsten erstellt man einen symbolischen Link zum transforms-Verzeichnis in /root/)
- ln -s /path/to/your/msploitego/src/msploitego/transforms /root/
Allgemeine Verwendung
- Führen Sie einen db_nmap-Scan in Metasploit durch oder importieren Sie einen vorherigen Scan
-
msf> db_nmap -vvvv -T5 -A -sS -ST -Pn
-
msf> db_import /path/to/your/nmapfile.xml
-
Exportieren Sie die Datenbank in eine XML-Datei
-
msf> db_export -f xml /path/to/your/output.xml
-
Ziehen Sie in Maltego eine MetasploitDBXML-Entität auf die Grafik.
-
Aktualisieren Sie die Entität mit dem Pfad zu Ihrer Metasploit-Datenbankdatei.
-
Führen Sie den MetasploitDB-Transform aus, um Hosts aufzulisten.
-
Von dort aus stehen mehrere Transforms zur Verfügung, um Dienste und Schwachstellen aufzulisten, die in der Metasploit-DB gespeichert sind.
- Diese Methode wird aufgrund von Leistungseinschränkungen nicht empfohlen. Wenn die XML-Datei groß ist, verbraucht das Ausführen von Transforms viel Speicher.
Verwendung von Postgres (empfohlen!)
- Ziehen Sie eine PostgreSQL-DB-Entität auf die Leinwand und geben Sie die DB-Details ein.
- Führen Sie die PostgreSQL-Transforms direkt gegen eine laufende DB aus.
- Wenn Sie das Passwort für Ihre PostgreSQL-Instanz nicht kennen, sehen Sie in /usr/share/metasploit-framework/config/database.yml nach
Empfehlungen
- Beginnen Sie damit, Ihre Metasploit-DB aufzurüsten
- Schauen Sie sich msploitstarter.sh im Skriptverzeichnis an. Es führt nmap und dann eine Menge Hilfsmodule aus, um Ihre Metasploit-DB aufzubauen.
- Führen Sie einen detaillierten nmap-Scan durch, z. B. db_nmap -vvvv -sS -sV -sU -A -T5 1.1.1.1/24
- Importieren Sie Ergebnisse von Nessus oder OpenVAS in Metasploit und verwenden Sie den Enum Vulnerabilities-Transform.
- Führen Sie das auxiliary/crawler/msfcrawler auf allen HTTP/HTTPS-Ports aus. Dies sammelt nützliche Daten.
- Führen Sie einen nikto-Scan mit XML-Ausgabe durch und geben Sie dann den vollständigen Dateipfad im Feld 'Nikto File' ein. Führen Sie den Nikto-Parser zum Auflisten aus.
TODO's
- Direkte Verbindung zur PostgreSQL-Datenbank - BETA
- Viel, viel, viel mehr Transforms für Aktionen auf generierten Entitäten.
Bekannte Probleme
- Einige Metasploit-Entitäten wie Beutedateien enthalten manchmal ein ungültiges Zeichen, das die MaltegoTransform-Klasse nicht verarbeiten kann. Dies führt zu einer Ausnahme und es wird nichts zurückgegeben. Ich habe mir die Zähne ausgebissen, um die Daten zu 'bereinigen'/decodieren, aber ohne Erfolg.