Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/marzekan/masapt
Penetrationstest-FrameworksAufklärungSchwachstellenscannerNetzwerkkartierungPenetrationstestsLernen & Bildung
GitHubmarzekan/masapt

MASAPT

Multi-Agenten-System für automatisierte Penetrationstests (MASAPT)

Repository anzeigen
304vor 4 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

MASAPT 🤖 ↔ 🤖 ↔ 🤖


 

❗ Haftungsausschluss

Dieses Tool wurde für akademische und Forschungszwecke im Rahmen eines Universitätskurses entwickelt. Die Verwendung von MASAPT zum Angriff auf Ziele ohne vorherige Zustimmung ist illegal.

Die Entwickler übernehmen keine Verantwortung für Schäden, die mit diesem Tool verursacht werden, und lehnen jede böswillige Nutzung von MASAPT ab. Dieses Tool ist zu diesem Zeitpunkt nicht für den Einsatz in einer professionellen Umgebung gedacht, es ist nur ein Proof-of-Concept für das zugrundeliegende theoretische Modell.


Willkommen bei...

Multi-Agenten-System für automatisiertes Penetration Testing 🐱‍💻

usage_gif

 

Explore → Exploit → Report → 📝

Ein autonomes System von SPADE-Agenten, die über XMPP kommunizieren, um Penetrationstests zu koordinieren und durchzuführen. In einem CLI-Tool!

Gib die URL ein, warte ein wenig, lies den Bericht!

   

report1 report1


Was ist MASAPT?

Es ist ein Proof-of-Concept, ein Multi-Agenten-System, entwickelt in Python, das dazu gedacht ist, den Prozess des Penetrationstests auf strukturierte und intelligente Weise zu automatisieren.

Das ultimative Ziel ist es, ein funktionierendes, flexibles, verteiltes, CLI-basiertes Pentesting-Tool zu schaffen, das zur Automatisierung von Penetrationstestaufgaben verwendet werden kann.

Aktuelle Funktionen:

  • Durchführung von Netzwerkscans mit Nmap
  • Durchführung grundlegender SQL-Injection mit SQLMap
  • Generierung von Berichten mit den Ergebnissen durchgeführter Exploits und Aufklärung

Zukünftige Pläne und Funktionen sind hier aufgelistet.


Wie ausführen?

Schwierig.

Voraussetzungen installieren:

Es gibt eine ganze Reihe von Voraussetzungen und Anforderungen, die installiert werden müssen:

  • Kali Linux 2020.4 (optional) - jedes Debian-basierte Betriebssystem sollte funktionieren.
  • Python 3.8
  • Pip3
  • SPADE
  • SQLMap (bereits auf Kali installiert)
  • Nmap (bereits auf Kali installiert)

Neben Python und Pentesting-Tools, die auf Kali zu finden sind, benötigen Sie auch Zugang zu einem XMPP-Dienst. Zum Testen des Systems habe ich ejabberd verwendet, das lokal läuft.

Um die Agenten auf Ihrem XMPP-Server Ihrer Wahl auszuführen, müssen Sie die folgenden Benutzer erstellen. Sie können natürlich andere Benutzer erstellen, aber dann müssen Sie die neuen JID- und PWD-Parameter beim Erstellen von Agenten im masapt-Skript übergeben.

JIDPASSWORD
repoter@domainrepoterSecret

Einrichtung:

Nachdem die Voraussetzungen installiert und XMPP eingerichtet wurde:

  1. In das Projektverzeichnis wechseln

    root@kitploit:~
        cd ../MASAPT
    
  2. Verzeichnis zum PATH hinzufügen

    root@kitploit:~
        export PATH=$PATH:/path/to/MASAPT
        source ~/.bashrc
    
  3. Python-Anforderungen installieren

    root@kitploit:~
        pip install -r requirements.txt
    
  4. masapt-Skript ausführbar machen

    root@kitploit:~
        chmod +x masapt
    

Ausführen:

Starten Sie das System mit:

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

 


Further work

  • install.sh-Skript
  • Docker-Agenten
  • Verbindung mit Exploit-Datenbank/Wissensdatenbank herstellen

Weitere Agenten:

  • DoS-Agent
  • XSS-Agent
  • Buffer-Overflow-Agent

Erweitern Sie Explorer.py, damit es:

  • Harvester ausführen
  • Weitere OSINT-Tools ausführen

Erweitern Sie SQLinjector.py, damit es:

  • SQLMap besser nutzen
  • An mehr Datenbanktypen anpassbar sein

Erweitern Sie Coordinator.py, damit es:

  • Bessere Entscheidungen darüber treffen, welche Agenten Angriffe durchführen

Systemübersicht 🔎

Das MASAPT-System wurde als modular, verteilt und pragmatisch konzipiert. Das bedeutet, dass die Agenten, die das System bilden, unabhängig vom Hauptprozess sind, erweiterbar und vorhandene, 'kampferprobte' Pentesting-Tools verwenden.

Um die angestrebten Ziele zu erreichen, werden Agenten als Teil eines Drei-Ebenen-Modells entwickelt, das von den Standard-Pentest-Phasen (Planung - Ausführung - Nachbereitung) abgeleitet ist. Eine hohe Übersicht des genannten Modells ist unten auf Img1 zu sehen.

Alle theoretischen Konzepte in dieser Übersicht wurden bereits im Code implementiert (abgesehen von der Idee für die Zukunft - Img 8.). Diese Konzepte sollten auch bei zukünftigen Upgrades des Systems implementiert werden.

Drei-Ebenen-Modell

Die Hauptidee hinter dem Drei-Ebenen-Modell ist es, ein Framework bereitzustellen, das zur Organisation und Klassifizierung von Agenten in diesem System verwendet wird.

Die erste Ebene des Modells enthält den/die Explorer-Agenten, die mit der Durchführung von OSINT und dem Sammeln nützlicher Informationen über das Ziel beauftragt sind.

Die zweite Ebene enthält den Coordinator-Agenten und die Exploit-Agenten. Der Coordinator ist ein einzelner Agent, der entscheidet, welche Exploit-Agenten an den aktuellen Tests teilnehmen. Exploit-Agenten sind, wie der Name schon sagt, diejenigen, die Exploits ausführen - SQL-Injection, XSS, DoS, Buffer Overflow... Es kann viele dieser Exploit-Agenten geben.

Die dritte Ebene enthält den Reporter, dessen Aufgabe es ist, alle Exploit-Daten, Ergebnisse und Datendumps von allen Exploit-Agenten zu sammeln und in einem abschließenden Bericht zusammenzufassen. Der Bericht wird dann dem Benutzer angezeigt und lokal gespeichert.

Im ersten Bild stellen dicke Pfeile den Datenfluss im Modell dar.

 

Img1     Img2

 

Img2 zeigt dasselbe Modell wie das erste Bild, jedoch detaillierter - die Agenten sind deutlich in ihren jeweiligen Ebenen zu sehen. Die durchgehenden Pfeile in diesem Bild stellen wieder den Datenfluss im Modell dar, was folglich zeigt, welche Agenten miteinander kommunizieren. Es ist ersichtlich, dass der Explorer-Agent Daten an den Coordinator-Agenten sendet, der dann wiederum einige Daten an die Exploit-Agenten (SQLinjector, agent2, agent3) sendet. Schließlich werden alle von den Exploit-Agenten gesammelten Daten an den Reporter-Agenten weitergegeben, der sie dann zusammenstellt, zusammenfasst und dem Benutzer präsentiert.

Es ist auch ersichtlich, dass nur Explorer- und Exploit-Agenten (SQLinjector) mit der äußeren Umgebung (Testziel) interagieren. Dies wird durch zweiseitige gepunktete Pfeile dargestellt.


Architektur

Wie bereits erwähnt, ist eines der Merkmale des MASAPT-Systems, dass es verteilt ist. Ein Aspekt davon wurde bereits implementiert, da alle Agenten als unabhängige Programme implementiert und vom Hauptskript (masapt) ausgeführt werden.

Img 3. zeigt, wie das aktuelle System eingerichtet und getestet wurde. Es ist ersichtlich, dass die Agenten die SPADE-Umgebung verwenden, um über den XMPP-Server (ejabberd) zu kommunizieren, der auf dem lokalen System eingerichtet ist. Das Testziel (SQLi Labs) ist ebenfalls auf dem lokalen System eingerichtet. Diese Einrichtung eignet sich gut zum Testen des Systems, zeigt aber nicht die volle Leistungsfähigkeit von MASAPT als verteiltes System.

 

 

Img 4. zeigt hingegen eine mögliche zukünftige Implementierung von MASAPT. Es zeigt ein verteiltes Multi-Agenten-System, das XMPP zur Kommunikation und Docker zur Ausführung auf vielen verschiedenen Systemen verwendet. Durchgehende Pfeile zeigen wieder den Kommunikations- und Datenflussaspekt des Systems und veranschaulichen, wie die Agenten ihre Daten über einen zentralen XMPP-Server senden und empfangen.

 

 

Grund für XMPP

Der Hauptgrund für die Kommunikation der Agenten über XMPP ist die Bereitstellung einer zuverlässigen, sprachunabhängigen Möglichkeit für die Agenten zur Kommunikation. Mit diesem Ansatz müssen nicht alle zukünftigen Agenten in Python geschrieben werden oder die SPADE-Umgebung verwenden.

Der Grund dafür ist, dass es in Zukunft einen Anwendungsfall für ein anderes System als Teil von MASAPT geben könnte (z. B. Agenten, die in anderen Programmiersprachen geschrieben sind). Dieser 'XMPP-Ansatz' ist daher der beste Weg, um diese Art von Flexibilität für das System zu bieten.

Agentenverhalten

Neben der Kommunikationsfähigkeit ist das Verhalten der zweitwichtigste Aspekt eines jeden Agenten. MASAPT-Agenten und ihr Verhalten werden mit einer Reihe von Zuständen modelliert, was sie zu endlichen Zustandsmaschinen macht. Die SPADE-Umgebung bietet gute Unterstützung für die Erstellung endlicher Zustandsmaschinen.

Die folgenden Diagramme zeigen alle möglichen Zustände, in denen sich ein Agent zu jedem Zeitpunkt befinden kann. Die Diagramme zeigen auch, welche Ereignisse dazu führen, dass der Agent in den nächsten Zustand wechselt. Alle zukünftigen Agenten sollten auf die gleiche Weise implementiert werden.

Alle zukünftigen Exploit-Agenten (z. B. DoS, XSS...) sollten unter Verwendung des Diagramms aus Img 8. als Vorlage implementiert werden.

 

Img5 Img6

 

Img7   Img8

 

Referenzen 🔗

[1] Großer Dank an Audi-1 und seine hervorragenden SQLI labs zum Testen von fehlerbasierter, blinder boolescher und zeitbasierter SQL-Injection!

[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.

Tool herunterladen
explorer@domain
explorerSecret
coordinator@domaincoordinatorSecret
sqlinjector@domaininjectorSecret