Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Interlace — Convierte fácilmente aplicaciones de línea de comandos monohilo en una aplicación rápida y multihilo con soporte para CIDR y glob. | Kitploit
Herramientas/GitHubGitHub/codingo/interlace
ReconocimientoScripting y AutomatizaciónPruebas de PenetraciónUtilidades y Frameworks
GitHubcodingo/interlace

Interlace

Convierte fácilmente aplicaciones de línea de comandos monohilo en una aplicación rápida y multihilo con soporte para CIDR y glob.

Ver Repositorio
1.3k1883hace 0 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Interlace

Convierta fácilmente aplicaciones de línea de comandos de un solo hilo en una aplicación rápida y multiproceso con soporte CIDR y glob.

Python 3.2|3.6 License Twitter Twitter

Reseñas / Guías de uso

Interlace: Una herramienta para automatizar y multiprocesar fácilmente tu flujo de trabajo de pentesting y bug bounty sin necesidad de programar

Tabla de contenido

  • Configuración
  • Uso - Banderas
  • Ejemplos de uso
  • Explicación de la notación de puertos
  • Explicación de la notación de objetivos
  • Soporte de subprocesos para una aplicación que no lo soporta
  • Notación CIDR para una aplicación que no lo soporta
  • Notación GLOB para una aplicación que no lo soporta
  • Soporte de múltiples proxies para una aplicación que no lo soporta
  • Reemplazos de variables
  • Uso avanzado de archivos de comandos
  • Uso avanzado: Bloqueador
  • Uso avanzado: Bloques
  • Exclusiones

Configuración

Instalar usando:

root@kitploit:~
$ python3 setup.py install

Las dependencias se instalarán e Interlace se agregará a tu ruta como interlace.

Uso

Más información sobre los puertos

EjemploTipo de notación
80Puerto único
1-80Notación de guión, ejecuta un comando para cada puerto del 1 al 80
80,443Ejecuta un comando tanto para el puerto 80 como para el puerto 443

Más información sobre los objetivos

Tanto -t como -tL se procesarán de la misma manera. Puedes pasar objetivos de la misma forma que al usar nmap. Esto se puede hacer usando notación CIDR, notación de guión o una lista de objetivos separados por comas. Un solo archivo de lista de objetivos también puede usar diferentes tipos de notación por línea.

Alternativamente, puedes pasar objetivos a través de STDIN y no se necesitarán ni -t ni -tL.

Reemplazos de variables

Las siguientes variables se reemplazarán en los comandos en tiempo de ejecución:

Uso avanzado de archivos de comandos

Interlace también permite el uso de dos características adicionales para controlar el flujo de ejecución dentro de un archivo de comandos: _blocker_ y _block:<nombre>_. Los bloqueadores impiden la ejecución de los comandos listados después de ellos, hasta que todos los comandos anteriores hayan finalizado, y los bloques se pueden usar para forzar la ejecución secuencial de los comandos listados dentro de un bloque, para un objetivo.

Estos se ejecutan a nivel de objetivo individual. Si hay hilos disponibles y un bloqueador está en el camino para el objetivo actual, Interlace iniciará comandos del siguiente objetivo dentro de una lista de objetivos para maximizar la eficiencia.

Usar estas características te permitirá controlar el flujo de ejecución para objetivos individuales de manera más directa para evitar que los comandos se ejecuten fuera de orden.

Bloqueador

Los bloqueadores impiden que cualquier cosa debajo de ellos se ejecute hasta que todos los comandos anteriores hayan finalizado (para el host actualmente activo). Por ejemplo, en lo siguiente:

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

El uso de un bloqueador aquí evita que nmap se ejecute en un objetivo antes de que se haya creado la estructura de carpetas base, evitando que nmap lance una excepción.

Bloques

Los bloques fuerzan que todo lo que contienen se ejecute secuencialmente. También puedes usar múltiples bloques por archivo de comandos. Por ejemplo, en lo siguiente:

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

En este ejemplo, el bloque se ejecutaría igual que antes, pero asumiendo que el número de hilos es suficientemente alto, nikto comenzaría a ejecutarse inmediatamente, devolviendo los resultados a la terminal (mientras nmap y la creación de archivos ocurren en segundo plano).

Ejemplos de uso

Ejecutar Nikto sobre múltiples sitios

Supongamos que tienes un archivo targets.txt con el siguiente contenido:

root@kitploit:~
bugcrowd.com
hackerone.com

Podrías usar Interlace para ejecutar sobre cualquier número de objetivos dentro de este archivo usando:

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 

Esto ejecutaría Nikto sobre cada host y guardaría en un archivo para cada objetivo. Nota que en el ejemplo anterior, dado que estamos usando el operador >, los resultados no se devolverán a la terminal; sin embargo, esta es la funcionalidad deseada, ya que de lo contrario no podríamos atribuir a qué objetivo pertenecen los resultados de Nikto.

Para aplicaciones donde deseas retroalimentación, simplemente pasa los comandos como lo harías normalmente (o usa tee).

Ejecutar Nikto sobre múltiples sitios y puertos

Usando el ejemplo anterior, supongamos que deseas que se ejecuten escaneos independientes tanto para los puertos 80 como 443 para los mismos objetivos. Entonces usarías lo siguiente:

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 

Ejecutar una lista de comandos contra hosts objetivo

A menudo, en las pruebas de penetración, hay una lista de comandos que deseas ejecutar en casi todos los trabajos. Suponiendo que esa lista incluye testssl.sh, nikto y sslscan, podrías guardar una lista de comandos con lo siguiente en un archivo llamado 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

Si luego se te diera un objetivo example.com, podrías ejecutar cada uno de estos comandos contra ese objetivo usando lo siguiente:

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

Esto ejecutaría nikto, sslscan y testssl.sh tanto para el puerto 80 como para el 443 contra example.com y guardaría los archivos en tu carpeta de compromisos.

Notación CIDR con una aplicación que no lo soporta

Interlace expande automáticamente la notación CIDR al iniciar hilos (a menos que se pase la bandera --no-cidr). Esto permite pasar notación CIDR a una variedad de aplicaciones:

Para ejecutar un escaneo de hosts virtuales contra cada objetivo dentro de 192.168.12.0/24 usando un comando directo, podrías usar:

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

Esto a pesar de que VHostScan no tiene soporte incorporado para notación CIDR. Dado que Interlace expande la notación antes de construir una cola de hilos, VHostScan, a todos los efectos, solo recibe una lista de direcciones IP directas para escanear.

Notación Glob con una aplicación que no lo soporta

Interlace expande automáticamente los rangos glob al iniciar hilos. Esto permite pasar rangos glob a una variedad de aplicaciones:

Para ejecutar un escaneo de hosts virtuales contra cada objetivo dentro de 192.168.12.* usando un comando directo, podrías usar:

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

Una vez más, VHostScan no tiene soporte incorporado para formato de rango glob.

Notación de guión (-) con una aplicación que no lo soporta

Interlace expande automáticamente los rangos de guión al iniciar hilos. Esto permite pasar rangos de guión a una variedad de aplicaciones:

Para ejecutar un escaneo de hosts virtuales contra cada objetivo dentro de 192.168.12.1-15 usando un comando directo, podrías usar:

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

Una vez más, VHostScan no tiene soporte incorporado para formato de rango de guión.

Soporte de subprocesos para una aplicación que no lo soporta

Ejecuta un escaneo de hosts virtuales contra cada host en un archivo (target-lst.txt), mientras también limitas los escaneos en cualquier momento a un máximo de 50 hilos.

Esto podría hacerse usando un comando directo:

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

O, alternativamente, para ejecutar el mismo comando anterior, pero usando un archivo de comandos:

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

Esto supone que el contenido del archivo de comandos es:

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

Esto generaría un archivo para cada objetivo en la carpeta de salida especificada. También podrías ejecutar múltiples comandos simplemente agregándolos al archivo de comandos.

Exclusiones

Interlace excluye automáticamente cualquier host proporcionado cuando se especifica mediante los argumentos -e o -eL. Estos argumentos también son compatibles con las notaciones de rango mencionadas anteriormente (CIDR, glob y guión).

Para ejecutar un escaneo de hosts virtuales contra cada objetivo en el rango CIDR 192.168.12.0/24 pero no para los objetivos en el rango 192.168.12.0/26, usando un comando directo, podrías usar:

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

Ejecutar Nikto usando múltiples proxies

Usando el ejemplo anterior, supongamos que deseas que los escaneos independientes se realicen a través de diferentes proxies para los mismos objetivos. Entonces usarías lo siguiente:

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

Autores y agradecimientos

Escrito originalmente por Michael Skelton (codingo) y Sajeeb Lohani (sml555) con ayuda de Charelle Collett (@Charcol0x89) para la refactorización de hilos y el enfoque general, y Luke Stephens (hakluke) para pruebas y enfoque.

Contribuciones

Las contribuciones a este proyecto son muy bienvenidas. Si eres nuevo en el código abierto y te gustaría recibir ayuda para hacerlo, no dudes en contactarnos en Twitter (@codingo_) / (@sml555_) y te ayudaremos en lo que podamos.

Descargar herramienta
ArgumentoDescripción
(stdin)Enviar listas de objetivos desde otra aplicación en formato separado por comas, notación CIDR o como un host individual
-tEspecificar un objetivo o nombre de dominio en formato separado por comas, notación CIDR o como un host individual
-tLEspecificar una lista de objetivos o nombres de dominio
-eEspecificar una lista de objetivos a excluir en formato separado por comas, notación CIDR o como un host individual
-eLEspecificar una lista de objetivos a excluir
-threadsEspecificar el número máximo de hilos a ejecutar en un momento dado (POR DEFECTO:5)
-timeoutEspecificar un valor de tiempo de espera en segundos para cualquier hilo individual (POR DEFECTO:600)
-cEspecificar un solo comando a ejecutar sobre cada objetivo o dominio
-cLEspecificar una lista de comandos a ejecutar sobre cada objetivo o dominio
-oEspecificar una variable de carpeta de salida que se puede usar en comandos como _output_
-pEspecificar una variable de lista de puertos que se puede usar en comandos como _port_. Puede ser un solo puerto, una lista separada por comas o un rango usando notación de guión
-pLEspecificar una lista de proxies
--protoEspecificar protocolos que se pueden usar en comandos como _proto_
-rpEspecificar una variable de puerto real que se puede usar en comandos como _realport_
-randomEspecificar un directorio de archivos que se pueden usar aleatoriamente en comandos como _random_
--no-bar / --soberSi se establece, se elimina la barra de progreso
--no-cidrSi se establece, la notación CIDR en un archivo de objetivos no se expandirá automáticamente a hosts individuales
--no-colorSi se establece, se eliminarán los colores de primer plano o fondo
--silentSi se establece, solo se mostrará información importante y se ocultarán banners y otra información
-vSi se establece, se mostrará la salida detallada en la terminal
VariableReemplazo
_target_Reemplazado por la lista de objetivos expandida contra la que se está ejecutando el hilo actual
_cleantarget_Reemplazado por el objetivo limpio de http:// o https://
_safe-target_Reemplazado por el objetivo automáticamente escapado para comandos, evitando la ejecución de subcomandos
_host_Funciona igual que _target_ y se puede usar indistintamente
_output_Reemplazado por la variable de carpeta de salida de Interlace
_port_Reemplazado por la variable de puerto expandida de Interlace
_realport_Reemplazado por la variable de puerto real de Interlace
_proxy_Reemplazado por la lista de proxies de Interlace
_random_Reemplazado por el archivo elegido aleatoriamente de Interlace