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
swarm — Uno strumento di test di penetrazione distribuito e modulare. | Kitploit
Strumenti/GitHubGitHub/a7vinx/swarm
Frameworks per Penetration TestingScanner di VulnerabilitàRaccolta InformazioniSicurezza WebPenetration TestingEnumerazione SottodominiCrawler
GitHuba7vinx/swarm

swarm

Uno strumento di test di penetrazione distribuito e modulare.

Vedi Repository
41169 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

swarm

v0.6.0

English | 中文.

Swarm è uno strumento open source modulare e distribuito per test di penetrazione, che utilizza una coda di task distribuita per implementare la comunicazione in un sistema master-slave e MongoDB per l'archiviazione dei dati. È composto da un framework distribuito e da moduli funzionali. Il modulo funzionale può essere un'implementazione completamente nuova di alcune funzioni di penetrazione oppure un semplice involucro di uno strumento esistente per implementare funzionalità distribuite. Grazie all'architettura modulare, è facile personalizzare ed estendere nuove funzionalità all'interno del framework distribuito.

Nella versione attuale 0.6.0 ha cinque moduli:

  • Modulo di scansione dei nomi di sottodominio
  • Modulo di scansione di directory e file
  • Modulo di estensione Nmap
  • Modulo di crawling della mappa del sito
  • Modulo Intruder

Se vuoi scrivere il tuo modulo, puoi leggere questo.

Installazione

Il pacchetto zip può essere scaricato qui. Puoi anche usare git per ottenere swarm:

root@kitploit:~
git clone [email protected]:Arvin-X/swarm.git

quindi usa setup.py per installare swarm:

root@kitploit:~
python setup.py install

Swarm funziona con Python 2.6.x o 2.7.x e necessita del supporto MongoDB sull'host master.

Se non hai ancora MongoDB, puoi installarlo usando apt-get:

root@kitploit:~
apt-get install mongodb

Utilizzo

Esegui swarm sull'host master per distribuire i task ed esegui swarm-s con l'opzione '-p' sull'host slave per completare il subtask proveniente dal master.

root@kitploit:~
swarm-s -p 9090

Puoi anche creare un listener sulla porta di destinazione dell'host slave per ricevere comandi per risvegliare swarm-s specificando l'opzione '--waken' quando esegui swarm. Altrimenti lascia '--waken' nullo. Per creare un listener, puoi usare nc o socat, ad esempio:

root@kitploit:~
nc -e /bin/sh -l 9191

E usa un comando di risveglio come:

root@kitploit:~
swarm-s ARGS

Devi lasciare "ARGS" nel tuo comando e assicurarti che siano i parametri CLI passati a swarm perché swarm li sostituisca con alcuni argomenti necessari come '-p'.

Utilizzo base di swarm:

root@kitploit:~
usage: swarm [-h] -m MODULE [-v] [-c] [-o PATH] [-t [TARGET [TARGET ...]]]
             [-T PATH] [-s [SWARM [SWARM ...]]] [-S PATH] [--waken CMD]
             [--timeout TIME] [--m-addr ADDR] [--m-port PORT] [--s-port PORT]
             [--authkey KEY] [--db-addr ADDR] [--db-port PORT] [--process NUM]
             [--thread NUM] [--taskg NUM] [--dom-compbrute] [--dom-dict PATH]
             [--dom-maxlevel NUM] [--dom-charset SET] [--dom-levellen LEN]
             [--dom-timeout TIME] [--dir-http-port PORT]
             [--dir-https-port PORT] [--dir-compbrute] [--dir-charset SET]
             [--dir-len LEN] [--dir-dict PATH] [--dir-maxdepth NUM]
             [--dir-timeout TIME] [--dir-not-exist FLAG] [--dir-quick-scan]
             [--nmap-ports PORTS] [--nmap-top-ports NUM] [--nmap-ops ...]
             [--int-target [URLS [URLS ...]]] [--int-method METHOD]
             [--int-headers JSON] [--int-cookies COOKIES] [--int-body BODY]
             [--int-payload PAYLOAD] [--int-flag FLAGS] [--int-timeout TIME]
             [--map-seed SEED] [--map-http-port PORT] [--map-https-port PORT]
             [--map-cookies COOKIES] [--map-interval TIME]
             [--map-timeout TIME]

optional arguments:
  -h, --help            mostra questo messaggio di aiuto ed esce
  -m MODULE             Utilizza il nome del modulo in ./modules/ per abilitarlo

Output:
  Queste opzioni possono essere usate per controllare l'output

  -v                    Output più verbose
  -c                    Disabilita l'output del log a colori
  -o PATH               Registra il log nel file di destinazione

Target:
  Almeno una di queste opzioni deve essere fornita per definire il target a meno
  che non ci sia un'altra opzione speciale per definire il target nel modulo

  -t [TARGET [TARGET ...]]
                        Separati da spazio (es: github.com 127.0.0.0/24
                        192.168.1.5)
  -T PATH               File che contiene la lista dei target, un target per riga

Swarm:
  Usa queste opzioni per personalizzare la connessione swarm. Almeno un host
  slave deve essere fornito.

  -s [SWARM [SWARM ...]]
                        Indirizzo degli host slave con porta se devi risvegliarli
                        (es: 192.168.1.2:9090 192.18.1.3:9191). Nessuna porta
                        se swarm-s sull'host slave è già in esecuzione
  -S PATH               File che contiene la lista degli slave, un host per riga
  --waken CMD           Comando per risvegliare gli host slave, null se swarm-s
                        sull'host slave è già in esecuzione
  --timeout TIME        Secondi di attesa prima che la richiesta a swarm ottenga
                        risposta
  --m-addr ADDR         Indirizzo master raggiungibile da tutti gli host slave
  --m-port PORT         Porta di ascolto sull'host master per distribuire i task
  --s-port PORT         Porta di ascolto sull'host slave per ricevere comandi
                        dal master
  --authkey KEY         Chiave di autenticazione tra host master e slave

Database:
  Queste opzioni possono essere usate per accedere al server MongoDB

  --db-addr ADDR        Indirizzo del server MongoDB
  --db-port PORT        Porta di ascolto del server MongoDB

Comuni:
  Queste opzioni possono essere usate per personalizzare la configurazione
  comune dell'host slave

  --process NUM         Numero massimo di processi concorrenti sull'host slave
  --thread NUM          Numero massimo di thread concorrenti sull'host slave
  --taskg NUM           Granularità dei subtask da 1 a 3

Scansione Dominio:
  Queste opzioni possono essere usate per personalizzare l'azione di swarm
  per la scansione dei nomi di sottodominio

  --dom-compbrute       Usa forza bruta completa senza dizionario sul target
  --dom-dict PATH       Percorso del dizionario per la scansione dei nomi di
                        sottodominio
  --dom-maxlevel NUM    Livello massimo di nomi di sottodominio da scansionare
  --dom-charset SET     Set di caratteri per la forza bruta completa
  --dom-levellen LEN    Intervallo di lunghezza dei nomi di sottodominio per
                        ogni livello
  --dom-timeout TIME    Opzione di timeout per la scansione dei nomi di
                        sottodominio

Scansione Directory:
  Queste opzioni possono essere usate per personalizzare l'azione di swarm
  per la scansione delle directory

  --dir-http-port PORT  Separati da virgola se servono più porte
  --dir-https-port PORT
                        Separati da virgola se servono più porte
  --dir-compbrute       Usa forza bruta completa senza dizionario sul target
  --dir-charset SET     Set di caratteri per la forza bruta completa
  --dir-len LEN         Intervallo di lunghezza del nome di directory o file
  --dir-dict PATH       Percorso del dizionario per la scansione delle directory
  --dir-maxdepth NUM    Profondità massima nella scansione di directory e file
  --dir-timeout TIME    Opzione di timeout per la scansione delle directory
  --dir-not-exist FLAG  Separati da doppia virgola se servono più flag
  --dir-quick-scan      Usa il metodo HEAD invece di GET nella scansione

Modulo Nmap:
  Queste opzioni possono essere usate per personalizzare l'azione di nmap
  sugli host slave

  --nmap-ports PORTS    Supporta formati come '80,443,3306,1024-2048'
  --nmap-top-ports NUM  Scansiona i <numero> porte più comuni
  --nmap-ops ...        Elenco delle opzioni nmap dalle pagine man di nmap,
                        questo dovrebbe essere l'ultimo negli argomenti CLI

Intruder:
  Usa il simbolo indicatore '@n@' dove 'n' deve essere un numero, come
  '@0@','@1@' ecc. per specificare il punto di attacco nell'opzione
  'int_target' e 'int_body'. Usa l'opzione 'int_payload' per specificare
  il payload da usare su questi punti di attacco per completare l'attacco.

  --int-target [URLS [URLS ...]]
                        Usa questa opzione invece di '-t' o '-T' per
                        specificare i target, separati da virgola
  --int-method METHOD   Metodo HTTP usato in questo attacco
  --int-headers JSON    Dati in formato JSON (es: {"User-
                        Agent":"Mozilla/5.0","Origin":"XXX"})
  --int-cookies COOKIES
                        Separati da virgola (es: PHPSESSIONID:XX,token:XX)
  --int-body BODY       Corpo HTTP o HTTPS. Puoi usare il simbolo indicatore
                        in questa opzione
  --int-payload PAYLOAD
                        Il formato deve seguire '@0@:PATH,@1@:CHARSET
                        :NUM-NUM'
  --int-flag FLAGS      Separati da doppia virgola se hai più flag
  --int-timeout TIME    Opzione di timeout per il modulo intruder

Crawler Sitemap:
  Queste opzioni possono essere usate per personalizzare il crawler della
  mappa del sito, ancora non supporta il parsing di JS

  --map-seed SEED       Separati da virgola se hai più seed
  --map-http-port PORT  Separati da virgola se servono più porte
  --map-https-port PORT
                        Separati da virgola se servono più porte
  --map-cookies COOKIES
                        Separati da virgola se hai più cookie
  --map-interval TIME   Intervallo di tempo tra due richieste
  --map-timeout TIME    Opzione di timeout per il crawler della mappa del sito

Si consiglia di utilizzare un file di configurazione per configurare swarm invece di usare argomenti CLI se i requisiti sono elevati. I file di configurazione si trovano in /etc/swarm/.

Licenza

Swarm è concesso in licenza GPLv3.

Scarica lo strumento