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
generator-burp-extension — Todo lo que necesitas sobre la generación de extensiones de Burp | Kitploit
Herramientas/GitHubGitHub/rsrdesarrollo/generator-burp-extension
Scripting y AutomatizaciónSeguridad WebPruebas de PenetraciónUtilidades y Frameworks
GitHubrsrdesarrollo/generator-burp-extension

generator-burp-extension

Todo lo que necesitas sobre la generación de extensiones de Burp

Ver Repositorio

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
15827hace 3 añosRevisado por Kitploit

Generador de Extensiones Burp NPM version

Instalación

Primero, instala Yeoman y generator-burp-extension usando npm (asumimos que ya tienes preinstalado node.js).

root@kitploit:~
npm install -g yo
npm install -g generator-burp-extension

Luego genera tu nuevo proyecto:

root@kitploit:~
yo burp-extension

Funcionalidades de la extensión Burp

Cuando generes tu proyecto de plugin, el generador te preguntará qué características deben incluirse en tu plugin. Si estás familiarizado con el desarrollo de extensiones Burp, los nombres de las características serán suficientemente descriptivos, pero, si eres nuevo en las extensiones Burp, aquí tienes una breve descripción de lo que se puede hacer con cada característica.

Interfaz gráfica de pestaña de extensión

Pestaña personalizada que se añadirá a la interfaz de usuario de Burp. Normalmente se usa para agregar alguna funcionalidad (como la extensión logger++) o simplemente para permitir al usuario configurar la extensión.

Interfaz gráfica de pestaña del editor de mensajes

Pestaña personalizada del editor de mensajes que se añadirá a la interfaz del editor de mensajes de Burp (Repeter, Intruder...). Normalmente se usa para proporcionar algún tipo de funcionalidad de editor/visor personalizado en los payloads de solicitudes/respuestas. Un ejemplo es la extensión JSON Beutifier.

Interfaz gráfica de menú contextual

Se añadirá un menú contextual personalizado a la interfaz de usuario de Burp en casi cualquier lugar, al hacer clic derecho. Burp permite mostrar menús contextuales en cualquiera de estas situaciones:

  • Resultados de ataques de Intruder.
  • Editor de posiciones de payload de Intruder.
  • Editor de solicitudes.
  • Editor de respuestas.
  • Visor de solicitudes no editables.
  • Visor de respuestas no editables.
  • Historial del proxy.
  • Resultados del escáner.
  • Ventana de resultados de búsqueda.
  • Tabla del mapa del sitio objetivo.
  • Árbol del mapa del sitio objetivo.

Un ejemplo simple de esta funcionalidad es la extensión copy-as-python-requests, que permite copiar una solicitud como código python (solo un ejemplo).

Oyente HTTP / Oyente de Proxy

El listener será notificado de las solicitudes y respuestas que están siendo procesadas por la herramienta Proxy (Proxy Listener) o realizadas por cualquier herramienta de Burp (HTTP Listener). Las extensiones pueden realizar análisis personalizados o modificación de estos mensajes.

En otras palabras, un Proxy Listener intercepta las solicitudes que llegan del navegador a Burp y las respuestas que van de Burp al navegador. Un HTTP Listener intercepta las solicitudes salientes de Burp al servidor web y las respuestas entrantes que llegan del servidor web.

Un ejemplo de plugin real que utiliza esta característica de la extensión es AutoRepeater

Generador de payloads de Intruder

Extiende los payloads de Intruder añadiendo capacidades de generación personalizada. Un posible uso de esta funcionalidad podría ser generar números IBAN válidos aleatorios. Un ejemplo real es la extensión Intruder file payload generator (no la uso, es solo un ejemplo)

Procesador de payloads de Intruder

Extiende los payloads de Intruder añadiendo capacidades de procesamiento personalizado, un posible ejemplo podría ser realizar un cifrado AES basado en una clave estática.

Verificación del escáner

Al realizar escaneos, Burp pedirá a la verificación que realice un escaneo activo o pasivo en la solicitud base e informe cualquier problema del escáner que se identifique.

Proveedor de puntos de inserción del escáner

Cuando se escanea activamente una solicitud, el Escáner invocará esto, y el proveedor debe proporcionar una lista de puntos de inserción personalizados que se utilizarán en el escaneo.

Acción de manejo de sesión

Cada acción registrada estará disponible en la interfaz de usuario de las reglas de manejo de sesión para que el usuario la seleccione como acción de regla. Los usuarios pueden optar por invocar una acción directamente por sí misma, o después de la ejecución de una macro.

Oyente de estado de la extensión

El listener será notificado cuando la extensión se descargue de Burp. Nota: Cualquier extensión que inicie hilos en segundo plano o abra recursos del sistema (como archivos o conexiones de base de datos) debe registrar un listener y terminar hilos/cerrar recursos cuando la extensión se descargue.

Oyente del escáner

El listener será notificado de los nuevos problemas que reporte la herramienta Escáner. Las extensiones pueden realizar análisis personalizados o registro de problemas del escáner registrando un listener de escáner.

Oyente de cambio de ámbito

El listener será notificado cada vez que ocurra un cambio en el ámbito objetivo de todo el conjunto de Burp.

Probablemente inútil porque Burp no permite acceder a la definición del ámbito global.

Compensaciones

Esta sección explica algunas decisiones en el desarrollo de la plantilla.

Por qué Java y no Python/Ruby

Primero que nada, no soy fanático de Java.

Como sabrás, BurpSuite permite desarrollar extensiones en tres lenguajes principales: Java, Python y Ruby. En realidad, esto no es del todo cierto. Burp permite desarrollar en Jython y JRuby. El verdadero problema aquí es que, cuando usas Jython o JRuby en una extensión Burp, igualmente necesitas pensar en Java (porque es el lenguaje principal de Burp), así que al final terminarás desarrollando en Python y Java, pero con muchos problemas para integrar tu proyecto con un IDE real, con autocompletado y ese tipo de cosas modernas.

Otra buena razón para usar Java en lugar de Jython es porque está basado en Python 2.7, y no uso JRuby porque no me gusta Ruby, eso es todo.

Todo es un Singleton (artículo principal)

Como habrás notado, todas las implementaciones de una interfaz de Burp siguen un patrón Singleton; la razón principal de esto es completamente subjetiva.

La cuestión es que Burp es una gran herramienta, pero es un poco oscura en cuanto a su funcionamiento interno y probablemente un poco desordenada. Así que, por ejemplo, Burp te permite registrar múltiples IHTTPListeners, pero perderás decisiones importantes como el orden de llamada de estos listeners. Este tipo de situaciones, en mi humilde opinión, puede oscurecer y dificultar la comprensión de una extensión Burp y el mantenimiento del código.

Puedes ver cada clase singleton como un punto de conexión necesario con Burp, que debe ser único. Desde ese punto de conexión, puedes controlar tu código, realizando cualquier tipo de diseño orientado a objetos.

Licencia

MIT © Raul Sampedro

Descargar herramienta