Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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
MITM_Intercept — Una forma un poco menos 'hackish' para interceptar y modificar protocolos no HTTP a través de Burp y otros. | Kitploit
Herramientas/GitHubGitHub/cyberark/mitm_intercept
Proxies Web e InterceptaciónPruebas de Penetración
GitHubcyberark/mitm_intercept

MITM_Intercept

Una forma un poco menos 'hackish' para interceptar y modificar protocolos no HTTP a través de Burp y otros.

Ver Repositorio
2193272hace 4 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

MITM_Intercept

Una forma un poco menos improvisada de interceptar y modificar protocolos no HTTP a través de Burp y otros, con soporte para interceptación SSL y TLS. Esta herramienta está pensada para investigadores y testers de penetración aplicativos que realizan evaluaciones de seguridad de clientes pesados.

Una versión mejorada del fantástico proyecto mitm_relay.

La Historia

Como parte de nuestro trabajo en el departamento de investigación de CyberArk Labs, necesitábamos una forma de inspeccionar la comunicación SSL y TLS sobre TCP y tener la opción de modificar el contenido de los paquetes sobre la marcha. Hay muchas formas de hacerlo (por ejemplo, la conocida extensión de Burp Suite NoPE), pero ninguna de ellas funcionó para nosotros en algunos casos. Al final nos topamos con mitm_relay.

mitm_relay es una forma rápida y sencilla de realizar MITM de cualquier protocolo basado en TCP a través de software de interceptación HTTP existente, como el proxy de Burp Suite. Es particularmente útil para evaluaciones de seguridad de clientes pesados. Pero no funcionó completamente para nosotros, así que necesitábamos personalizarlo. Después de muchas personalizaciones, cada nuevo cambio requería mucho trabajo, y terminamos reescribiendo todo de una manera más modular.

Esperamos que otros encuentren útil este script, y esperamos que agregar funcionalidad sea fácil.

Cómo funciona

Para empezar, es necesario configurar las direcciones y puertos de los listeners. Para cada listener, también debe configurarse un objetivo (dirección y puerto). Cada dato recibido del listener se envolverá en el cuerpo de una solicitud HTTP POST con la URL que contiene "CLIENT_REQUEST". Cada dato recibido del objetivo se envolverá en el cuerpo de una solicitud HTTP POST con la URL que contiene "SERVER_RESPONSE". Esas solicitudes se envían a un servidor de interceptación HTTP local.

Existe la opción de configurar un proxy HTTP y usar una herramienta como burp suite como herramienta de interceptación HTTP y ver los mensajes allí. De esta manera, es fácil modificar los mensajes usando el "Match and Replace" de Burp, extensiones o incluso manualmente (Recuerde, el mecanismo de timeout del protocolo interceptado puede ser muy corto).

Otra forma de modificar los mensajes es mediante un script de Python que el servidor de interceptación HTTP ejecutará cuando reciba mensajes.

El cuerpo de los mensajes enviados al servidor de interceptación HTTP se imprimirá en la shell. Los mensajes se imprimirán después de los cambios si se proporciona el script de modificación. Después de todas las modificaciones, el servidor de interceptación también devolverá el mensaje como cuerpo de la respuesta HTTP.

Para descifrar la comunicación SSL/TLS, mitm_intercept necesita recibir un certificado y una clave que el cliente aceptará al iniciar un handshake con el listener. Si el servidor objetivo requiere un certificado específico para un handshake, existe la opción de proporcionar un certificado y una clave.

Un pequeño diagrama que muestra el flujo de tráfico típico:

test

Diferencias con mitm_relay

mitm_intercept es compatible con versiones más nuevas de Python 3 (Python 3.9) y también es compatible con Windows (por ejemplo, socket.MSG_DONTWAIT no existe en Windows). Mantuvimos la opción de usar "STARTTLS", y la llamamos modo "Mixed". El uso del archivo de registro de claves SSL está actualizado (la opción incorporada para usarlo es nueva desde Python 3.8), y agregamos la opción de cambiar el encabezado SNI. Ahora, la gestión de la comunicación entrante y saliente se realiza mediante socketserver, y todos los datos se envían a una subclase de ThreadingHTTPServer que maneja la representación y modificación de datos. De esta manera, es posible ver los cambios aplicados por el script de modificación en la respuesta (conveniente para usar Burp). Además, ahora podemos cambiar los cifrados disponibles que utiliza el script usando el formato de lista de cifrados de OpenSSL.

Requisitos previos

  1. Python 3.9
  2. requests: $ python -m pip install requests

Uso

usage: mitm_intercept.py [-h] [-m] -l [u|t:]<interface>:<port> [[u|t:]<interface>:<port> ...] -t
                         [u|t:]<addr>:<port> [[u|t:]<addr>:<port> ...] [-lc <cert_path>]
                         [-lk <key_path>] [-tc <cert_path>] [-tk <key_path>] [-w <interface>:<port>]
                         [-p <addr>:<port>] [-s <script_path>] [--sni <server_name>]
                         [-tv <defualt|tls12|tls11|ssl3|tls1|ssl2>] [-ci <ciphers>]

mitm_intercept version 1.6
Descargar herramienta