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
Interlace — Trasforma facilmente applicazioni a thread singolo in applicazioni veloci e multi-thread con supporto per CIDR e glob. | Kitploit
Strumenti/GitHubGitHub/codingo/interlace
RicognizioneScripting e AutomazionePenetration TestingUtilità e Framework
GitHubcodingo/interlace

Interlace

Trasforma facilmente applicazioni a thread singolo in applicazioni veloci e multi-thread con supporto per CIDR e glob.

Vedi Repository
1.3k18811 mesi 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

Interlace

Trasforma facilmente applicazioni a riga di comando single-thread in un'applicazione veloce multi-thread con supporto per CIDR e glob.

Python 3.2|3.6 License Twitter Twitter

Recensioni / Guide

Interlace: A Tool to Easily Automate and Multithread Your Pentesting & Bug Bounty Workflow Without Any Coding

Indice

  • Installazione
  • Utilizzo - Opzioni
  • Esempi di utilizzo
  • Notazione delle porte
  • Notazione dei target
  • Supporto per threading in un'applicazione che non lo supporta
  • Notazione CIDR per un'applicazione che non la supporta
  • Notazione GLOB per un'applicazione che non la supporta
  • Supporto per proxy multipli in un'applicazione che non lo supporta
  • Sostituzioni di variabili
  • Utilizzo avanzato dei file di comandi
  • Utilizzo avanzato: Blocker
  • Utilizzo avanzato: Blocchi
  • Esclusioni

Installazione

Installa usando:

root@kitploit:~
$ python3 setup.py install

Le dipendenze verranno installate e Interlace sarà aggiunto al tuo PATH come interlace.

Utilizzo

Ulteriori informazioni riguardo le porte

EsempioTipo di notazione
80Porta singola
1-80Notazione trattino, esegue un comando per ogni porta da 1 a 80
80,443Esegue un comando sia per la porta 80 che per la porta 443

Ulteriori informazioni riguardo i target

Sia -t che -tL verranno elaborati allo stesso modo. Puoi passare i target come faresti con nmap. Questo può essere fatto usando la notazione CIDR, la notazione trattino o un elenco delimitato da virgole. Un singolo file di elenco target può anche usare diversi tipi di notazione per riga.

In alternativa, puoi passare i target tramite STDIN e non saranno necessari né -t né -tL.

Sostituzioni di variabili

Le seguenti variabili verranno sostituite nei comandi in fase di esecuzione:

Utilizzo avanzato dei file di comandi

Interlace utilizza anche due funzionalità aggiuntive per controllare il flusso di esecuzione all'interno di un file di comandi: _blocker_ e _block:<name>_. I Blocker impediscono l'esecuzione dei comandi elencati dopo di loro fino a quando tutti i comandi prima di essi non sono stati completati, mentre i Blocchi possono essere usati per forzare l'esecuzione sequenziale dei comandi elencati all'interno di un blocco, per un target.

Questi vengono eseguiti a livello di singolo target. Se ci sono thread disponibili e un blocker è d'intralcio per il target corrente, Interlace avvierà i comandi dal target successivo all'interno dell'elenco target per massimizzare l'efficienza.

Usare queste funzionalità ti permetterà di controllare il flusso di esecuzione per singoli target in modo più diretto, prevenendo che i comandi vengano eseguiti nell'ordine sbagliato.

Blocker

I Blocker impediscono che qualsiasi cosa al di sotto di essi venga eseguita fino a quando tutti i comandi sopra di essi non sono stati completati (per l'host attualmente attivo). Ad esempio, nel seguente caso:

root@kitploit:~
mkdir -p _output_/_target_/scans/
_blocker_
nmap _target_ -oA _output_/_target_/scans/_target_-nmap

L'uso di un blocker qui impedisce a nmap di essere eseguito su un target prima che la struttura di cartelle di base sia stata creata, evitando che nmap generi un'eccezione.

Blocchi

I Blocchi impongono che tutto ciò che è al loro interno venga eseguito in sequenza. Puoi anche usare più blocchi per file di comandi. Ad esempio, nel seguente caso:

root@kitploit:~
_block:nmap_
mkdir -p _target_/output/scans/
nmap _target_ -oN _target_/output/scans/_target_-nmap
_block:nmap_
nikto --host _target_

In questo esempio, il blocco funzionerebbe come prima, ma assumendo che il numero di thread sia sufficientemente alto, nikto inizierebbe subito a essere eseguito, inviando i risultati al terminale (mentre nmap e la creazione dei file avvengono in background).

Esempi di utilizzo

Eseguire Nikto su più siti

Supponiamo di avere un file targets.txt con il seguente contenuto:

root@kitploit:~
bugcrowd.com
hackerone.com

Potresti usare Interlace per eseguire scansioni su qualsiasi numero di target all'interno di questo file usando: bash

root@kitploit:~
➜  /tmp interlace -tL ./targets.txt -threads 5 -c "nikto --host _target_ > ./_target_-nikto.txt" -v
=========================================================================
Interlace v1.0	by Michael Skelton (@codingo_) & Sajeeb Lohani (@sml555_)
=========================================================================
[14:33:23] [THREAD] [nikto --host hackerone.com > ./hackerone.com-nikto.txt] Added to Queue 
[14:33:23] [THREAD] [nikto --host bugcrowd.com > ./bugcrowd.com-nikto.txt] Added to Queue 

Questo eseguirebbe Nikto su ogni host e salverebbe un file per ciascun target. Nota che nell'esempio sopra, poiché stiamo usando l'operatore >, i risultati non verranno restituiti al terminale; tuttavia questa è una funzionalità desiderata perché altrimenti non saremmo in grado di attribuire a quale target i risultati di Nikto si riferiscano.

Per applicazioni dove desideri ricevere feedback, passa i comandi normalmente (o usa tee).

Eseguire Nikto su più siti e porte

Usando l'esempio sopra, supponiamo di voler eseguire scansioni indipendenti sia per le porte 80 che 443 per gli stessi target. Dovresti quindi usare:

root@kitploit:~
➜  /tmp interlace -tL ./targets.txt -threads 5 -c "nikto --host _target_:_port_ > ./_target_-_port_-nikto.txt" -p 80,443 -v
=========================================================================
Interlace v1.0	by Michael Skelton (@codingo_) & Sajeeb Lohani (@sml555_)
=========================================================================
[14:33:23] [THREAD] [nikto --host hackerone.com:80 > ./hackerone.com-nikto.txt] Added to Queue 
[14:33:23] [THREAD] [nikto --host bugcrowd.com:80 > ./hackerone.com-nikto.txt] Added to Queue 
[14:33:23] [THREAD] [nikto --host bugcrowd.com:443 > ./bugcrowd.com-nikto.txt] Added to Queue 
[14:33:23] [THREAD] [nikto --host hackerone.com:443 > ./hackerone.com-nikto.txt] Added to Queue 

Eseguire un elenco di comandi contro host target

Spesso nei penetration test esiste un elenco di comandi che vuoi eseguire su quasi ogni job. Supponendo che l'elenco includa testssl.sh, nikto e sslscan, potresti salvare un elenco di comandi con il seguente contenuto in un file chiamato commands.txt:

root@kitploit:~
nikto --host _target_:_port_ > _output_/_target_-nikto.txt
sslscan _target_:_port_ >  _output_/_target_-sslscan.txt
testssl.sh _target_:_port_ > _output_/_target_-testssl.txt

Se ti venisse poi assegnato un target example.com, potresti eseguire ciascuno di questi comandi contro questo target usando:

root@kitploit:~
interlace -t example.com -o ~/Engagements/example/ -cL ./commands.txt -p 80,443

Questo eseguirebbe nikto, sslscan e testssl.sh sia per la porta 80 che per la 443 su example.com e salverebbe i file nella cartella degli impegni.

Notazione CIDR con un'applicazione che non la supporta

Interlace espande automaticamente la notazione CIDR quando avvia i thread (a meno che non venga passato il flag --no-cidr). Questo ti permette di passare la notazione CIDR a varie applicazioni:

Per eseguire una scansione di virtual host su ogni target all'interno di 192.168.12.0/24 usando un comando diretto potresti usare:

root@kitploit:~
interlace -t 192.168.12.0/24 -c "vhostscan _target_ -oN _output_/_target_-vhosts.txt" -o ~/scans/ -threads 50

Questo nonostante VHostScan non abbia alcun supporto integrato per la notazione CIDR. Poiché Interlace espande la notazione prima di costruire una coda di thread, VHostScan, di fatto, riceve solo un elenco di indirizzi IP diretti da scansionare.

Notazione Glob con un'applicazione che non la supporta

Interlace espande automaticamente gli intervalli glob quando avvia i thread. Questo ti permette di passare intervalli glob a varie applicazioni:

Per eseguire una scansione di virtual host su ogni target all'interno di 192.168.12.* usando un comando diretto potresti usare:

root@kitploit:~
interlace -t 192.168.12.* -c "vhostscan _target_ -oN _output_/_target_-vhosts.txt" -o ~/scans/ -threads 50

Ancora una volta, VHostScan non ha alcun supporto integrato per il formato degli intervalli glob.

Notazione trattino (-) con un'applicazione che non la supporta

Interlace espande automaticamente gli intervalli trattino quando avvia i thread. Questo ti permette di passare intervalli trattino a varie applicazioni:

Per eseguire una scansione di virtual host su ogni target all'interno di 192.168.12.1-15 usando un comando diretto potresti usare:

root@kitploit:~
interlace -t 192.168.12.1-15 -c "vhostscan _target_ -oN _output_/_target_-vhosts.txt" -o ~/scans/ -threads 50

Ancora una volta, VHostScan non ha alcun supporto integrato per il formato degli intervalli trattino.

Supporto per il threading in un'applicazione che non lo supporta

Esegui una scansione di virtual host su ogni host in un file (target-list.txt), limitando contemporaneamente le scansioni a un massimo di 50 thread in esecuzione.

Questo potrebbe essere fatto usando un comando diretto:

root@kitploit:~
interlace -tL ./target-list.txt -c "vhostscan -t _target_ -oN _output_/_target_-vhosts.txt" -o ~/scans/ -threads 50

Oppure, in alternativa, per eseguire lo stesso comando di cui sopra ma usando un file di comandi:

root@kitploit:~
interlace -cL ./vhosts-commands.txt -tL ./target-list.txt -threads 50 -o ~/scans

Questo presuppone che il contenuto del file di comandi sia:

root@kitploit:~
vhostscan -t $target -oN _output_/_target_-vhosts.txt

Questo produrrebbe un file per ogni target nella cartella di output specificata. Potresti anche eseguire più comandi semplicemente aggiungendoli al file di comandi.

Esclusioni

Interlace esclude automaticamente qualsiasi host fornito quando specificato tramite gli argomenti -e o -eL. Questi argomenti sono anche compatibili con le notazioni di intervallo menzionate sopra (CIDR, glob e trattino).

Per eseguire una scansione di virtual host su ogni target nell'intervallo CIDR 192.168.12.0/24 ma non per i target nell'intervallo 192.168.12.0/26, usando un comando diretto, potresti usare:

root@kitploit:~
interlace -t 192.168.12.0/24 -e 192.168.12.0/26 -c "vhostscan _target_ -oN _output_/_target_-vhosts.txt" -o ~/scans/ -threads 50

Eseguire Nikto utilizzando più proxy

Usando l'esempio sopra, supponiamo di voler eseguire scansioni indipendenti attraverso diversi proxy per gli stessi target. Dovresti quindi usare:

root@kitploit:~
➜  /tmp interlace -tL ./targets.txt -pL ./proxies.txt -threads 5 -c "nikto --host _target_:_port_ -useproxy _proxy_ > ./_target_-_port_-nikto.txt" -p 80,443 -v

Autori e ringraziamenti

Scritto originariamente da Michael Skelton (codingo) e Sajeeb Lohani (sml555) con l'aiuto di Charelle Collett (@Charcol0x89) per il refactoring del threading e l'approccio generale, e Luke Stephens (hakluke) per test e approccio.

Contributi

I contributi a questo progetto sono molto graditi. Se sei nuovo nell'open source e desideri un aiuto in merito, non esitare a contattarci su Twitter (@codingo_) / (@sml555_) e ti assisteremo il più possibile.

Scarica lo strumento
ArgomentoDescrizione
(stdin)Inoltra elenchi di target da un'altra applicazione in formato delimitato da virgole, notazione CIDR o come host singolo
-tSpecifica un target o nome di dominio in formato delimitato da virgole, notazione CIDR o come host singolo
-tLSpecifica un elenco di target o nomi di dominio
-eSpecifica un elenco di target da escludere in formato delimitato da virgole, notazione CIDR o come host singolo
-eLSpecifica un elenco di target da escludere
-threadsSpecifica il numero massimo di thread da eseguire contemporaneamente (DEFAULT:5)
-timeoutSpecifica un timeout in secondi per ogni singolo thread (DEFAULT:600)
-cSpecifica un singolo comando da eseguire su ogni target o dominio
-cLSpecifica un elenco di comandi da eseguire su ogni target o dominio
-oSpecifica una variabile di cartella di output utilizzabile nei comandi come _output_
-pSpecifica una variabile di porta utilizzabile nei comandi come _port_. Può essere una singola porta, un elenco delimitato da virgole o un intervallo usando la notazione trattino
-pLSpecifica un elenco di proxy
--protoSpecifica i protocolli utilizzabili nei comandi come _proto_
-rpSpecifica una variabile di porta reale utilizzabile nei comandi come _realport_
-randomSpecifica una directory di file che possono essere usati casualmente nei comandi come _random_
--no-bar / --soberSe impostato, la barra di progresso viene rimossa
--no-cidrSe impostato, la notazione CIDR in un file di target non verrà automaticamente espansa in host singoli
--no-colorSe impostato, eventuali colori di primo piano o sfondo verranno rimossi
--silentSe impostato, verranno mostrate solo informazioni importanti e i banner e altre informazioni saranno oscurati
-vSe impostato, verrà mostrato output verbose nel terminale
VariabileSostituzione
_target_Sostituito con l'elenco dei target espanso su cui il thread corrente sta operando
_cleantarget_Sostituito con il target ripulito da http:// o https://
_safe-target_Sostituito con il target automaticamente citato per i comandi, impedendo l'esecuzione di sottocomandi
_host_Funziona come _target_, e può essere usato in modo intercambiabile
_output_Sostituito con la variabile di cartella di output di Interlace
_port_Sostituito con la variabile di porta espansa di Interlace
_realport_Sostituito con la variabile di porta reale di Interlace
_proxy_Sostituito con l'elenco dei proxy di Interlace
_random_Sostituito con il file scelto casualmente da Interlace