msploitego - La suite de pentesting pour Maltego




CE CI EST UNE VERSION BÊTA, veuillez être indulgent et signaler tout problème
Nouveautés
- Nouvelles fonctionnalités
- Prise en charge de plusieurs espaces de travail pour Metasploit via des requêtes Postgres
- Un script bash qui exécute des tonnes de modules auxiliaires contre des cibles. 'Enrichit' vraiment la base de données Metasploit
- transformations :
- Énumération des espaces de travail Metasploit
- Analyseur Nikto [à partir d'un fichier]
- Analyseur Enum4linux à partir d'un fichier
- Scan DNS
- Corrections de bugs
- Transformations basées sur nmap retournant des faux négatifs
- Mauvais chemins
msploitego exploite les données collectées dans une base de données Metasploit en énumérant et en créant des entités spécifiques pour les services. Des services comme samba, smtp, snmp, http ont des transformations pour énumérer encore davantage. Les entités peuvent être chargées à partir d'un fichier XML Metasploit ou prises directement depuis la base de données Postgres msf.
Je suis ouvert aux suggestions pour de nouvelles transformations et améliorations !!!
Prérequis
- Python 2.7
- N'a été testé que sur Kali Linux
- installations logicielles
- Metasploit Framework
- nmap
- enum4linux
- snmp-check
- nikto
- exploitdb
- wpscan
Installation
- Dans Maltego, importez la configuration depuis msploitego/src/msploitego/resources/maltego/msploitego.mtz
- vérifiez et mettez à jour le chemin des transformations dans Maltego
- la façon la plus simple serait de créer un lien symbolique vers le répertoire des transformations dans /root/)
- ln -s /path/to/your/msploitego/src/msploitego/transforms /root/
Utilisation générale
- lancez un scan db_nmap dans metatasploit, ou importez un scan précédent
-
msf> db_nmap -vvvv -T5 -A -sS -ST -Pn
-
msf> db_import /path/to/your/nmapfile.xml
-
exportez la base de données vers un fichier xml
-
msf> db_export -f xml /path/to/your/output.xml
-
Dans Maltego, faites glisser une entité MetasploitDBXML sur le graphique.
-
Mettez à jour l'entité avec le chemin vers votre fichier de base de données metasploit.
-
exécutez la transformation MetasploitDB pour énumérer les hôtes.
-
à partir de là, plusieurs transformations sont disponibles pour énumérer les services, les vulnérabilités stockées dans la base de données Metasploit
- Cette méthode n'est pas recommandée en raison de contraintes de performances. Si le fichier XML est volumineux, l'exécution des transformations consommera beaucoup de mémoire
Utilisation de Postgres (recommandé !)
- faites glisser et déposez une entité de base de données Postgresql sur le canevas, saisissez les détails de la base de données.
- exécutez les transformations Postgresql directement contre une base de données en cours d'exécution
- si vous ne connaissez pas le mot de passe de votre instance postgresql, regardez dans /usr/share/metasploit-framework/config/database.yml
Recommandations
- Commencez par étoffer votre base de données Metasploit
- regardez msploitstarter.sh dans le répertoire scripts. Il exécute nmap puis des tonnes de modules auxiliaires pour enrichir votre base de données Metasploit.
- lancez un scan nmap détaillé. par ex. db_nmap -vvvv -sS -sV -sU -A -T5 1.1.1.1/24
- Importez les résultats de Nessus ou OpenVAS dans Metasploit et utilisez la transformation Enum Vulnerabilities.
- Exécutez auxiliary/crawler/msfcrawler sur tous les ports http/https. Cela rassemblera des données utiles.
- Lancez un scan nikto avec sortie xml, puis entrez le chemin complet du fichier dans le champ 'Nikto File'. Exécutez l'analyseur Nikto pour énumérer.
TODO
- Se connecter directement à la base de données postgres - BÊTA
- Beaucoup, beaucoup, beaucoup plus de transformations pour des actions sur les entités générées.
Problèmes connus
- certaines entités Metasploit comme les fichiers loot contiennent parfois un mauvais caractère que la classe MaltegoTransform ne peut pas traiter. Cela provoque une exception et rien n'est retourné. Je me suis cogné la tête contre le mur en essayant de 'nettoyer'/décoder les données mais en vain.