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/codingo/interlace
AufklärungScripting & AutomatisierungPenetrationstestsDienstprogramme & Frameworks
GitHubcodingo/interlace

Interlace

Einfach single-threaded Kommandozeilen-Anwendungen in eine schnelle, multi-threaded Anwendung mit CIDR- und Glob-Unterstützung verwandeln.

Repository anzeigen
1.3k188vor 11 MonatenVon 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
Interlace — Einfach single-threaded Kommandozeilen-Anwendungen in eine schnelle, multi-threaded Anwendung mit CIDR- und Glob-Unterstützung verwandeln. | Kitploit

Interlace

Verwandle einfach single-threaded Kommandozeilenanwendungen in eine schnelle, multi-threaded Anwendung mit CIDR- und Glob-Unterstützung.

Python 3.2|3.6 License Twitter Twitter

Rezensionen / Anleitungen

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

Inhaltsverzeichnis

  • Einrichtung
  • Verwendung – Flags
  • Anwendungsbeispiele
  • Port-Notation erklärt
  • Ziel-Notation erklärt
  • Threading-Unterstützung für eine Anwendung, die diese nicht unterstützt
  • CIDR-Notation für eine Anwendung, die diese nicht unterstützt
  • GLOB-Notation für eine Anwendung, die diese nicht unterstützt
  • Mehrere Proxy-Unterstützung für eine Anwendung, die diese nicht unterstützt
  • Variablenersetzungen
  • Erweiterte Verwendung von Befehlsdateien
  • Erweiterte Verwendung: Blocker
  • Erweiterte Verwendung: Blöcke
  • Ausschlüsse

Einrichtung

Installation mit:

root@kitploit:~
$ python3 setup.py install

Abhängigkeiten werden dann installiert und Interlace wird Ihrem Pfad als interlace hinzugefügt.

Verwendung

Weitere Informationen zu Ports

BeispielNotationstyp
80Einzelner Port
1-80Bindestrich-Notation, führt einen Befehl für jeden Port von 1-80 aus
80,443Führt einen Befehl sowohl für Port 80 als auch für Port 443 aus

Weitere Informationen zu Zielen

Sowohl -t als auch -tL werden gleich verarbeitet. Sie können Ziele genauso übergeben wie bei nmap. Dies kann mit CIDR-Notation, Bindestrich-Notation oder einer kommagetrennten Liste von Zielen erfolgen. Eine einzelne Zieldatei kann auch pro Zeile verschiedene Notationstypen verwenden.

Alternativ können Sie Ziele über STDIN übergeben und weder -t noch -tL sind erforderlich.

Variablenersetzungen

Die folgenden Variablen werden zur Laufzeit in Befehlen ersetzt:

Erweiterte Verwendung von Befehlsdateien

Interlace ermöglicht außerdem die Verwendung von zwei zusätzlichen Funktionen zur Steuerung des Ausführungsflusses innerhalb einer Befehlsdatei: _blocker_ und _block:<name>_. Blocker verhindern die Ausführung von Befehlen, die nach ihnen aufgelistet sind, bis alle Befehle vor ihnen abgeschlossen sind. Blöcke können verwendet werden, um die sequentielle Ausführung von Befehlen innerhalb eines Blocks für ein Ziel zu erzwingen.

Diese werden auf Ebene jedes einzelnen Ziels ausgeführt. Wenn Threads verfügbar sind und ein Blocker für das aktuelle Ziel im Weg ist, startet Interlace Befehle vom nächsten Ziel in der Zielliste, um die Effizienz zu maximieren.

Die Verwendung dieser Funktionen ermöglicht es Ihnen, den Ausführungsfluss für einzelne Ziele direkter zu steuern, um zu verhindern, dass Befehle in falscher Reihenfolge ausgeführt werden.

Blocker

Blocker verhindern, dass etwas unterhalb von ihnen ausgeführt wird, bis alle Befehle oberhalb von ihnen abgeschlossen sind (für den aktuell aktiven Host). Zum Beispiel im folgenden:

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

Die Verwendung eines Blockers verhindert hier, dass nmap auf einem Ziel läuft, bevor die grundlegende Ordnerstruktur erstellt wurde, und verhindert so, dass nmap eine Ausnahme auslöst.

Blöcke

Blöcke erzwingen, dass alles innerhalb von ihnen sequentiell ausgeführt wird. Sie können auch mehrere Blöcke pro Befehlsdatei verwenden. Zum Beispiel im folgenden:

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

In diesem Beispiel würde der Block wie zuvor ausgeführt werden, aber vorausgesetzt, die Thread-Anzahl ist hoch genug, würde nikto sofort zu laufen beginnen und Ergebnisse an das Terminal zurückgeben (während nmap und die Dateierstellung im Hintergrund stattfanden).

Anwendungsbeispiele

Nikto über mehrere Seiten ausführen

Angenommen, Sie haben eine Datei targets.txt mit folgendem Inhalt:

root@kitploit:~
bugcrowd.com
hackerone.com

Sie könnten Interlace verwenden, um über eine beliebige Anzahl von Zielen in dieser Datei zu laufen, mit:

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 

Dies würde Nikto über jeden Host ausführen und für jedes Ziel eine Datei speichern. Beachten Sie im obigen Beispiel, dass wir den Operator > verwenden, sodass die Ergebnisse nicht an das Terminal zurückgegeben werden; dies ist jedoch die gewünschte Funktionalität, da wir sonst nicht zuordnen könnten, für welches Ziel die Nikto-Ergebnisse zurückgegeben werden.

Für Anwendungen, bei denen Sie Rückmeldung wünschen, übergeben Sie Befehle einfach wie gewohnt (oder verwenden Sie tee).

Nikto über mehrere Seiten und Ports ausführen

Im obigen Beispiel angenommen, Sie möchten unabhängige Scans sowohl für die Ports 80 als auch 443 für die gleichen Ziele durchführen. Dann würden Sie Folgendes verwenden:

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 

Eine Liste von Befehlen gegen Zielhosts ausführen

Bei Penetrationstests gibt es oft eine Liste von Befehlen, die in nahezu jedem Auftrag ausgeführt werden sollen. Angenommen, diese Liste enthält testssl.sh, nikto und sslscan, dann könnten Sie eine Befehlsliste mit folgendem Inhalt in einer Datei namens commands.txt speichern:

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

Wenn Ihnen dann ein Ziel example.com gegeben wird, könnten Sie jeden dieser Befehle gegen dieses Ziel mit folgendem Befehl ausführen:

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

Dies würde dann nikto, sslscan und testssl.sh sowohl für Port 80 als auch 443 gegen example.com ausführen und die Dateien in Ihren Auftragsordner speichern.

CIDR-Notation mit einer Anwendung, die diese nicht unterstützt

Interlace expandiert CIDR-Notation automatisch beim Starten von Threads (es sei denn, das Flag --no-cidr wird übergeben). Dies ermöglicht es Ihnen, CIDR-Notation an eine Vielzahl von Anwendungen zu übergeben:

Um einen virtuellen Host-Scan gegen jedes Ziel innerhalb von 192.168.12.0/24 mit einem direkten Befehl durchzuführen, könnten Sie Folgendes verwenden:

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

Dies funktioniert, obwohl VHostScan keine eingebaute CIDR-Notation unterstützt. Da Interlace die Notation vor dem Aufbau einer Thread-Warteschlange expandiert, erhält VHostScan effektiv nur eine Liste von direkten IP-Adressen zum Scannen.

Glob-Notation mit einer Anwendung, die diese nicht unterstützt

Interlace expandiert automatisch Glob-Bereiche beim Starten von Threads. Dies ermöglicht es Ihnen, Glob-Bereiche an eine Vielzahl von Anwendungen zu übergeben:

Um einen virtuellen Host-Scan gegen jedes Ziel innerhalb von 192.168.12.* mit einem direkten Befehl durchzuführen, könnten Sie Folgendes verwenden:

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

Auch hier hat VHostScan keine eingebaute Unterstützung für Glob-Bereiche.

Bindestrich (-) Notation mit einer Anwendung, die diese nicht unterstützt

Interlace expandiert automatisch Bindestrich-Bereiche beim Starten von Threads. Dies ermöglicht es Ihnen, Glob-Bereiche an eine Vielzahl von Anwendungen zu übergeben:

Um einen virtuellen Host-Scan gegen jedes Ziel innerhalb von 192.168.12.1-15 mit einem direkten Befehl durchzuführen, könnten Sie Folgendes verwenden:

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

Auch hier hat VHostScan keine eingebaute Unterstützung für Bindestrich-Bereiche.

Threading-Unterstützung für eine Anwendung, die diese nicht unterstützt

Führen Sie einen virtuellen Host-Scan gegen jeden Host in einer Datei (target-list.txt) durch, während Sie die Scans gleichzeitig auf maximal 50 Threads begrenzen.

Dies könnte mit einem direkten Befehl erfolgen:

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

Oder alternativ, um den gleichen Befehl wie oben, aber mit einer Befehlsdatei auszuführen:

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

Dies setzt voraus, dass der Inhalt der Befehlsdatei ist:

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

Dies würde für jedes Ziel eine Datei im angegebenen Ausgabeordner ausgeben. Sie könnten auch mehrere Befehle ausführen, indem Sie sie einfach zur Befehlsdatei hinzufügen.

Ausschlüsse

Interlace schließt automatisch alle angegebenen Hosts aus, wenn sie über die Argumente -e oder -eL angegeben werden. Diese Argumente sind auch mit den oben genannten Bereichsnotationen (CIDR, Glob und Bindestrich) kompatibel.

Um einen virtuellen Host-Scan gegen jedes Ziel im CIDR-Bereich 192.168.12.0/24 durchzuführen, aber nicht für die Ziele im Bereich 192.168.12.0/26, mit einem direkten Befehl, könnten Sie Folgendes verwenden:

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

Nikto mit mehreren Proxys ausführen

Im obigen Beispiel angenommen, Sie möchten unabhängige Scans über verschiedene Proxys für die gleichen Ziele durchführen. Dann würden Sie Folgendes verwenden:

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

Autoren und Danksagungen

Ursprünglich geschrieben von Michael Skelton (codingo) und Sajeeb Lohani (sml555) mit Hilfe von Charelle Collett (@Charcol0x89) für das Threading-Refactoring und den Gesamtansatz, und Luke Stephens (hakluke) für Tests und Ansatz.

Beiträge

Beiträge zu diesem Projekt sind sehr willkommen. Wenn Sie neu im Open Source-Bereich sind und etwas Hilfe dabei benötigen, zögern Sie nicht, uns auf Twitter zu kontaktieren (@codingo_) / (@sml555_) – wir helfen, wo wir können.

Tool herunterladen
ArgumentBeschreibung
(stdin)Ziel-Listen von einer anderen Anwendung im kommagetrennten Format, CIDR-Notation oder als einzelner Host über Pipe einlesen
-tEin Ziel oder einen Domainnamen angeben, entweder im kommagetrennten Format, CIDR-Notation oder als einzelner Host
-tLEine Liste von Zielen oder Domainnamen angeben
-eEine Liste von Zielen zum Ausschließen angeben, entweder im kommagetrennten Format, CIDR-Notation oder als einzelner Host
-eLEine Liste von Zielen zum Ausschließen angeben
-threadsDie maximale Anzahl gleichzeitig laufender Threads angeben (STANDARD:5)
-timeoutEinen Timeout-Wert in Sekunden für einen einzelnen Thread angeben (STANDARD:600)
-cEinen einzelnen Befehl angeben, der über jedes Ziel oder jede Domain ausgeführt werden soll
-cLEine Liste von Befehlen angeben, die über jedes Ziel oder jede Domain ausgeführt werden soll
-oEine Ausgabe-Ordner-Variable angeben, die in Befehlen als _output_ verwendet werden kann
-pEine Liste von Port-Variablen angeben, die in Befehlen als _port_ verwendet werden kann. Dies kann ein einzelner Port, eine kommagetrennte Liste oder ein Bereich mit Bindestrich-Notation sein
-pLEine Liste von Proxys angeben
--protoProtokolle angeben, die in Befehlen als _proto_ verwendet werden können
-rpEine echte Port-Variable angeben, die in Befehlen als _realport_ verwendet werden kann
-randomEin Verzeichnis von Dateien angeben, das zufällig in Befehlen als _random_ verwendet werden kann
--no-bar / --soberWenn gesetzt, wird die Fortschrittsanzeige entfernt
--no-cidrWenn gesetzt, wird CIDR-Notation in einer Zieldatei nicht automatisch in einzelne Hosts expandiert
--no-colorWenn gesetzt, werden alle Vorder- oder Hintergrundfarben entfernt
--silentWenn gesetzt, werden nur wichtige Informationen angezeigt und Banner sowie andere Informationen ausgeblendet
-vWenn gesetzt, wird eine ausführliche Ausgabe im Terminal angezeigt
VariableErsetzung
_target_Ersetzt durch die expandierte Zielliste, gegen die der aktuelle Thread läuft
_cleantarget_Ersetzt durch das Ziel, bereinigt von http:// oder https://
_safe-target_Ersetzt durch das Ziel, automatisch für Befehle maskiert, um die Ausführung von Unterbefehlen zu verhindern
_host_Funktioniert wie _target_ und kann austauschbar verwendet werden
_output_Ersetzt durch die Ausgabeordner-Variable von Interlace
_port_Ersetzt durch die expandierte Port-Variable von Interlace
_realport_Ersetzt durch die echte Port-Variable von Interlace
_proxy_Ersetzt durch die Proxy-Liste von Interlace
_random_Ersetzt durch die zufällig ausgewählte Datei von Interlace