Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
MASAPT — Sistema Multi-Agente per Test di Penetrazione Automatici (MASAPT) | Kitploit
Strumenti/GitHubGitHub/marzekan/masapt
Frameworks per Penetration TestingRicognizioneScanner di VulnerabilitàMappatura della RetePenetration TestingApprendimento e Formazione
GitHubmarzekan/masapt

MASAPT

Sistema Multi-Agente per Test di Penetrazione Automatici (MASAPT)

Vedi Repository
30464 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

MASAPT 🤖 ↔ 🧠 ↔ 🤖


 

❗ Avvertenza

Questo strumento è sviluppato per scopi accademici e di ricerca come parte di un corso universitario. L'uso di MASAPT per attaccare bersagli senza previo consenso è illegale.

Gli sviluppatori non si assumono alcuna responsabilità per eventuali danni causati da questo strumento e condannano qualsiasi uso malintenzionato di MASAPT. Questo strumento non è destinato a essere utilizzato in alcun ambiente professionale in questo momento, è solo una prova di concetto per il modello teorico sottostante.


Benvenuti in...

Multi-Agent System for Automated Penetration Testing 🐱‍💻

usage_gif

 

Esplora → Sfrutta → Report → 📝

Un sistema autonomo di agenti SPADE che comunicano tramite XMPP per coordinare ed eseguire test di penetrazione. In uno strumento CLI!

Inserisci l'URL, attendi un po', leggi il report!

   

report1 report1


Cos'è MASAPT?

Scarica lo strumento

È un proof-of-concept, sistema multi-agente, sviluppato in Python, destinato a essere utilizzato per automatizzare il processo di test di penetrazione in modo strutturato e intelligente.

L'obiettivo finale è creare uno strumento di penetration testing funzionante, flessibile, distribuito e basato su CLI che possa essere utilizzato per automatizzare le attività di test di penetrazione.

Funzionalità attuali:

  • Esecuzione di scansioni di rete con Nmap
  • Esecuzione di iniezioni SQL di base con SQLMap
  • Generazione di un report con i risultati degli exploit e della ricognizione effettuati

I piani e le funzionalità future sono elencati qui.


Come eseguirlo?

Difficile.

Prerequisiti di installazione:

C'è un discreto numero di prerequisiti e requisiti da installare:

  • Kali Linux 2020.4 (opzionale) - qualsiasi sistema operativo basato su Debian dovrebbe funzionare.
  • Python 3.8
  • Pip3
  • SPADE
  • SQLMap (già installato su Kali)
  • Nmap (già installato su Kali)

Oltre a Python e agli strumenti di penetration testing che si trovano su Kali, è necessario anche l'accesso a un servizio XMPP. Per testare il sistema ho utilizzato ejabberd in esecuzione locale.

Per eseguire gli agenti sul server XMPP di tua scelta, dovrai creare i seguenti utenti. Ovviamente puoi creare altri utenti, ma poi dovrai passare i nuovi parametri JID e PWD quando crei gli agenti nello script masapt.

JIDPASSWORD
repoter@domainrepoterSecret
explorer@domainexplorerSecret
coordinator@domaincoordinatorSecret
sqlinjector@domaininjectorSecret

Configurazione:

Dopo aver installato i prerequisiti e aver configurato XMPP:

  1. Entra nella cartella del progetto

    root@kitploit:~
        cd ../MASAPT
    
  2. Aggiungi la directory al PATH

    root@kitploit:~
        export PATH=$PATH:/path/to/MASAPT
        source ~/.bashrc
    
  3. Installa i requisiti Python

    root@kitploit:~
        pip install -r requirements.txt
    
  4. Rendi eseguibile lo script masapt

    root@kitploit:~
        chmod +x masapt
    

Esecuzione:

Avvia il sistema con:

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

 


Ulteriori lavori

  • install.sh script
  • Docker agents
  • Collegamento con database di exploit/knowledge base

Più agenti:

  • DoS agent
  • XSS agent
  • Buffer overflow agent

Espandi Explorer.py in modo che possa:

  • Eseguire Harvester
  • Eseguire più strumenti OSINT

Espandi SQLinjector.py in modo che possa:

  • Fare un uso migliore di SQLMap
  • Essere adattabile a più tipi di database

Espandi Coordinator.py in modo che possa:

  • Prendere decisioni migliori su quali agenti eseguono attacchi

Panoramica del sistema 🔎

Il sistema MASAPT è stato concepito per essere modulare, distribuito e pragmatico. Ciò significa che gli agenti che compongono il sistema sono indipendenti dal processo principale, aggiornabili e utilizzano strumenti di penetration testing esistenti e 'testati sul campo'.

Per raggiungere gli obiettivi previsti, gli agenti sono sviluppati come parte di un modello a tre livelli che deriva dalle fasi standard del pentest (pianificazione - esecuzione - post-esecuzione). Una panoramica di tale modello può essere vista nell'Immagine 1 qui sotto.

Tutti i concetti teorici in questa panoramica sono già stati implementati nel codice (tranne l'idea per il futuro - Imm. 8.). Questi concetti dovrebbero continuare a essere implementati in qualsiasi aggiornamento futuro del sistema.

Modello a tre livelli

L'idea principale alla base del modello a tre livelli è fornire un framework da utilizzare per organizzare e classificare gli agenti in questo sistema.

Il primo livello del modello contiene l'agente Explorer (o gli agenti) incaricato di condurre OSINT e raccogliere informazioni utili sul bersaglio.

Il secondo livello contiene l'agente Coordinator e gli agenti Exploit. Il Coordinator è un singolo agente che decide quali agenti exploit parteciperanno al test corrente. Gli agenti exploit, come suggerisce il nome, sono quelli che eseguono exploit - SQL injection, XSS, DoS, buffer overflow... Possono esserci molti di questi agenti exploit.

Il terzo livello contiene il Reporter il cui compito è raccogliere tutti i dati degli exploit, i risultati, i dump di dati da tutti gli agenti exploit e riassumerli in un report finale. Il report viene poi mostrato all'utente e archiviato localmente.

Nella prima immagine, le frecce spesse rappresentano il flusso di dati nel modello.

 

Img1     Img2

 

Immagine 2 mostra lo stesso modello della prima immagine ma in maggiore dettaglio: gli agenti possono essere chiaramente visti nei rispettivi livelli. Le frecce piene in questa immagine rappresentano nuovamente il flusso di dati nel modello, che di conseguenza mostra quali agenti comunicano tra loro. Si può vedere che l'agente Explorer invia dati all'agente Coordinator, che a sua volta invia alcuni dati agli agenti Exploit (SQLinjector, agent2, agent3). Infine, tutti i dati raccolti dagli agenti exploit vengono passati all'agente Reporter che li compila, li riassume e li presenta all'utente.

Si può anche vedere che solo gli agenti Explorer e Exploit (SQLinjector) interagiscono con l'ambiente esterno (bersaglio di test). Ciò è rappresentato con frecce tratteggiate bidirezionali.


Architettura

Come accennato in precedenza, una delle caratteristiche del sistema MASAPT è che sia distribuito. Un aspetto di ciò è già stato implementato, poiché tutti gli agenti sono implementati come programmi indipendenti, eseguiti dallo script principale (masapt).

Imm. 3. mostra come il sistema attuale è stato configurato e testato. Si può vedere che gli agenti utilizzano l'ambiente SPADE per comunicare tramite server XMPP (ejabberd) che è configurato sul sistema locale. Anche il bersaglio di test (SQLi Labs) è configurato sul sistema locale. Questa configurazione è buona per testare il sistema ma non mostra la piena capacità di MASAPT come sistema distribuito.

 

 

Imm. 4. d'altra parte, mostra una possibile implementazione futura di MASAPT. Mostra un sistema multi-agente distribuito che utilizza XMPP per comunicare e Docker per essere eseguito su molti sistemi diversi. Le frecce piene mostrano ancora una volta l'aspetto della comunicazione e del flusso di dati del sistema, mostrando come gli agenti inviano e ricevono i loro dati tramite un server XMPP centrale.

 

 

Motivo per XMPP

Il motivo principale per cui gli agenti comunicano tramite XMPP è fornire un modo affidabile e indipendente dal linguaggio per gli agenti di comunicare. Con questo approccio, non tutti gli agenti futuri devono essere scritti in Python o utilizzare l'ambiente SPADE.

Il ragionamento alla base di ciò è che potrebbe esserci un caso d'uso per un sistema diverso per far parte di MASAPT in futuro (es. agenti scritti in altri linguaggi di programmazione). Quindi questo 'approccio XMPP' è il modo migliore per fornire quel tipo di flessibilità al sistema.

Comportamento degli agenti

Oltre alla capacità di comunicare, il comportamento è il secondo aspetto più importante di qualsiasi agente. Gli agenti MASAPT e il loro comportamento sono modellati con un insieme di stati, che li rendono macchine a stati finiti. L'ambiente SPADE ha un buon supporto per la creazione di macchine a stati finiti.

I diagrammi seguenti mostrano tutti i possibili stati in cui un agente può trovarsi in qualsiasi momento. I diagrammi mostrano anche quali eventi fanno passare l'agente allo stato successivo. Tutti gli agenti futuri dovrebbero essere implementati allo stesso modo.

Tutti i futuri agenti exploit (es. DoS, XSS...) dovrebbero essere implementati utilizzando il diagramma Imm. 8. come modello.

 

Img5 Img6

 

Img7   Img8

 

Riferimenti 🔗

[1] Un grande ringraziamento a Audi-1 e ai suoi eccellenti SQLI labs per aver testato l'iniezione SQL basata su errori, booleana cieca e basata sul tempo!

[2] Chu, Ge, and Alexei Lisitsa. "Modellazione basata su agenti (BDI) per l'automazione del penetration testing." arXiv preprint arXiv:1908.06970 (2019).

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