Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
MASAPT — Système multi-agent pour les tests de pénétration automatisés (MASAPT) | Kitploit
Outils/GitHubGitHub/marzekan/masapt
Frameworks de Tests d'IntrusionReconnaissanceScanners de VulnérabilitésCartographie RéseauTests d'IntrusionApprentissage et Éducation
GitHubmarzekan/masapt

MASAPT

Système multi-agent pour les tests de pénétration automatisés (MASAPT)

Voir le dépôt
304il y a 4 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

MASAPT 🤖 ↔ 🧠 ↔ 🤖


 

❗ Avertissement

Cet outil est développé à des fins académiques et de recherche dans le cadre d'un cours universitaire. L'utilisation de MASAPT pour attaquer des cibles sans consentement préalable est illégale.

Les développeurs déclinent toute responsabilité pour les dommages causés par cet outil et condamnent toute utilisation malveillante de MASAPT. Cet outil n'est pas destiné à être utilisé dans un environnement professionnel à ce stade, il s'agit simplement d'une preuve de concept pour le modèle théorique sous-jacent.


Bienvenue sur...

Système Multi-Agent pour le Test d'Intrusion Automatisé 🐱‍💻

usage_gif

 

Explorer → Exploiter → Rapporter → 📝

Un système autonome d'agents SPADE communiquant via XMPP pour coordonner et effectuer des tests d'intrusion. Dans un outil CLI !

Entrez l'URL, attendez un peu, lisez le rapport !

   

report1 report1


Qu'est-ce que MASAPT ?

C'est une preuve de concept, un système multi-agent, développé en Python, destiné à être utilisé pour automatiser le processus de tests d'intrusion de manière structurée et intelligente.

L'objectif ultime est de créer un outil de pentesting fonctionnel, flexible, distribué, basé sur CLI, pouvant être utilisé pour automatiser les tâches de tests d'intrusion.

Fonctionnalités actuelles :

  • Effectuer un scan réseau avec Nmap
  • Effectuer une injection SQL de base avec SQLMap
  • Générer un rapport avec les résultats des exploits et des reconnaissances effectués

Les projets et fonctionnalités futurs sont listés ici.


Comment exécuter ?

Difficile.

Installer les prérequis :

Il y a un certain nombre de prérequis et dépendances à installer :

  • Kali Linux 2020.4 (optionnel) - tout OS basé sur Debian devrait fonctionner.
  • Python 3.8
  • Pip3
  • SPADE
  • SQLMap (déjà installé sur Kali)
  • Nmap (déjà installé sur Kali)

En plus de Python et des outils de pentesting disponibles sur Kali, vous avez également besoin d'accéder à un service XMPP. Pour tester le système, j'ai utilisé ejabberd fonctionnant localement.

Pour exécuter les agents sur votre serveur XMPP de choix, vous devrez créer les utilisateurs suivants. Vous pouvez bien sûr créer d'autres utilisateurs, mais vous devrez alors passer les nouveaux paramètres JID et PWD lors de la création des agents dans le script masapt.

JIDMOT DE PASSE
repoter@domainrepoterSecret

Configuration :

Après avoir installé les prérequis et configuré XMPP :

  1. cd dans le dossier du projet

    root@kitploit:~
        cd ../MASAPT
    
  2. Ajouter le répertoire au PATH

    root@kitploit:~
        export PATH=$PATH:/path/to/MASAPT
        source ~/.bashrc
    
  3. Installer les dépendances Python

    root@kitploit:~
        pip install -r requirements.txt
    
  4. Rendre le script masapt exécutable

    root@kitploit:~
        chmod +x masapt
    

Exécution :

Lancer le système avec :

root@kitploit:~
    masapt -t url/to/target

 


Travaux futurs

  • script install.sh
  • Agents Docker
  • Connexion avec une base de données/une base de connaissances d'exploits

Plus d'agents :

  • Agent DoS
  • Agent XSS
  • Agent de débordement de tampon

Étendre Explorer.py pour qu'il puisse :

  • Exécuter Harvester
  • Exécuter plus d'outils OSINT

Étendre SQLinjector.py pour qu'il puisse :

  • Mieux utiliser SQLMap
  • Être adaptable à plus de types de bases de données

Étendre Coordinator.py pour qu'il puisse :

  • Prendre de meilleures décisions sur quels agents effectuent les attaques

Aperçu du système 🔎

Le système MASAPT a été conçu pour être modulaire, distribué et pragmatique. Cela signifie que les agents qui composent le système sont indépendants du processus principal, évolutifs et utilisent des outils de pentesting existants et 'éprouvés'.

Pour atteindre les objectifs visés, les agents sont développés dans le cadre d'un modèle à trois niveaux dérivé des phases standard du pentest (planification - exécution - post-exécution). Un aperçu général de ce modèle peut être vu sur Img1 ci-dessous.

Tous les concepts théoriques de cet aperçu ont déjà été implémentés dans le code (à l'exception de l'idée pour le futur - Img 8.). Ces concepts devraient continuer à être implémentés dans toute future mise à niveau du système.

Modèle à trois niveaux

L'idée principale derrière le modèle à trois niveaux est de fournir un cadre pour organiser et classer les agents dans ce système.

Le premier niveau contient le(s) agent(s) Explorer chargés de mener des OSINT et de recueillir des renseignements utiles sur la cible.

Le deuxième niveau contient l'agent Coordinateur et les agents Exploit. Le Coordinateur est un agent unique qui décide quels agents d'exploitation vont participer aux tests en cours. Les agents d'exploitation, comme leur nom l'indique, exécutent les exploits - injection SQL, XSS, DoS, débordement de tampon... Il peut y avoir plusieurs de ces agents d'exploitation.

Le troisième niveau contient le Rapporteur dont la tâche est de collecter toutes les données d'exploitation, les résultats, les vidages de données de tous les agents d'exploitation et de les résumer dans un rapport final. Le rapport est ensuite affiché à l'utilisateur et stocké localement.

Dans la première image, les flèches épaisses représentent le flux de données dans le modèle.

 

Img1     Img2

 

Img2 montre le même modèle que la première image mais avec plus de détails - les agents peuvent être clairement vus dans leurs niveaux respectifs. Les flèches pleines dans cette image représentent à nouveau le flux de données dans le modèle, ce qui montre par conséquent quels agents communiquent entre eux. On peut voir que l'agent Explorer envoie des données à l'agent Coordinateur, qui à son tour envoie certaines données aux agents Exploit (SQLinjector, agent2, agent3). Enfin, toutes les données que les agents d'exploitation collectent sont transmises à l'agent Rapporteur qui les compile, les résume et les présente à l'utilisateur.

On peut également voir que seuls les agents Explorer et Exploit (SQLinjector) interagissent avec l'environnement extérieur (cible de test). Ceci est représenté par des flèches pointillées à double sens.


Architecture

Comme mentionné précédemment, l'une des caractéristiques du système MASAPT est d'être distribué. Un aspect de cela a déjà été implémenté, car tous les agents sont implémentés comme des programmes indépendants, exécutés par le script principal (masapt).

Img 3. montre comment le système actuel a été configuré et testé. On peut voir que les agents utilisent l'environnement SPADE pour communiquer via un serveur XMPP (ejabberd) installé sur le système local. La cible de test (SQLi Labs) est également installée sur le système local. Cette configuration est bonne pour tester le système mais ne montre pas toute la capacité de MASAPT en tant que système distribué.

 

 

Img 4. montre quant à elle une possible implémentation future de MASAPT. Elle montre un système multi-agent distribué qui utilise XMPP pour communiquer et Docker pour s'exécuter sur de nombreux systèmes différents. Les flèches pleines montrent à nouveau l'aspect communication et flux de données du système, indiquant comment les agents envoient et reçoivent leurs données via un serveur XMPP central.

 

 

Raison du choix de XMPP

La principale raison pour laquelle les agents communiquent via XMPP est de fournir un moyen fiable et indépendant du langage pour les agents de communiquer. Avec cette approche, tous les futurs agents n'ont pas besoin d'être écrits en Python ou d'utiliser l'environnement SPADE.

Le raisonnement derrière cela est qu'il pourrait y avoir un cas d'utilisation pour un système différent de faire partie de MASAPT à l'avenir (ex. agents écrits dans d'autres langages de programmation). Ainsi, cette 'approche XMPP' est la meilleure façon de fournir ce genre de flexibilité au système.

Comportement des agents

Outre sa capacité à communiquer, le comportement est le deuxième aspect le plus important de tout agent. Les agents MASAPT et leur comportement sont modélisés avec un ensemble d'états, ce qui en fait des machines à états finis. L'environnement SPADE offre un bon support pour la création de machines à états finis.

Les diagrammes ci-dessous montrent tous les états possibles dans lesquels un agent peut se trouver à tout moment. Les diagrammes montrent également quels événements provoquent le passage de l'agent à l'état suivant. Tous les futurs agents devraient être implémentés de la même manière.

Tous les futurs agents d'exploitation (ex. DoS, XSS...) devraient être implémentés en utilisant le diagramme Img 8. comme modèle.

 

Img5 Img6

 

Img7   Img8

 

Références 🔗

[1] Un grand merci à Audi-1 et à ses excellents SQLI labs pour avoir testé les injections SQL basées sur les erreurs, booléennes aveugles et temporelles !

[2] Chu, Ge, and Alexei Lisitsa. "Agent-based (BDI) modeling for automation of penetration testing." arXiv preprint arXiv:1908.06970 (2019).

[3] Qiu, X., Wang, S., Jia, Q., Xia, C., & Xia, Q. (2014, October). An automated method of penetration testing. In 2014 IEEE Computers, Communications and IT Applications Conference (pp. 211-216). IEEE.

Télécharger l’outil
explorer@domain
explorerSecret
coordinator@domaincoordinatorSecret
sqlinjector@domaininjectorSecret