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
HTTPSignatures — Una extensión de Burp Suite que implementa el borrador draft-ietf-httpbis-message-signatures-01 de Signing HTTP Messages. | Kitploit
Herramientas/GitHubGitHub/nccgroup/httpsignatures
Proxies Web e InterceptaciónPruebas de Seguridad de APIsSeguridad WebCriptografíaAutenticaciónSeguridad de APIs
GitHubnccgroup/httpsignatures

HTTPSignatures

Una extensión de Burp Suite que implementa el borrador draft-ietf-httpbis-message-signatures-01 de Signing HTTP Messages.

Ver Repositorio
4210hace 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
Sitio web

Extensión HTTPSignatures para Burp Suite

HTTPSignatures es una extensión de Burp Suite que implementa el documento de borrador de la especificación Signing HTTP Messages draft-ietf-httpbis-message-signatures-01. Esto permite a los usuarios de Burp Suite probar sin problemas aplicaciones que requieren HTTP Signatures.

Características

  • Crea automáticamente una nueva firma y un nuevo digest en Burp Repeater, Intruder y Scanner cuando la extensión detecta un encabezado de HTTP Signature existente.
  • Soporta el algoritmo rsa-sha256 para firmar mensajes (RSASSA-PKCS1-v1_5 [RFC8017] usando SHA-256 [RFC6234]) y SHA-256 para el encabezado de digest.
  • La extensión funciona en Burp Suite Professional y en la edición gratuita Burp Suite Community Edition.

Uso

Instalación

Descargue el archivo de la última versión JAR y agréguelo en Burp Suite mediante la pestaña Extender / Extensions / Add.

Configuración

  1. Después de cargar la extensión, se añadirá un nuevo elemento de menú HTTP Signatures en Burp.
  2. Abra la pestaña de configuración (haga clic en el elemento de menú HTTP Signatures).
  3. La configuración mínima requiere que se configuren el Header Name, el keyId y el Private key file name and path. Consulte la descripción detallada a continuación.
  4. Ahora puede usar Burp Proxy, Repeater, Intruder y Scanner. La extensión creará una nueva firma para cada solicitud que contenga el Header Name configurado.

Uso

Después de que HTTPSignatures se haya configurado correctamente, la extensión de Burp Suite reemplazará el valor del encabezado HTTP configurado en el ajuste Header Name (por ejemplo, Signature) con una nueva firma para cada solicitud HTTP enviada a través de Burp Proxy, Repeater, Intruder y Scanner.

Configuración de HTTPSignatures

Documentación

La extensión de Burp Suite debe configurarse antes de poder usarse. La configuración de HTTPSignatures se puede encontrar en el menú de Burp después de que se haya cargado (normalmente a la derecha del menú Help). El Header Name, el keyId y el Private key file name and path deben estar configurados correctamente para que la extensión funcione. Los ajustes restantes pueden configurarse opcionalmente.

  • Nombre del encabezado: (valores de ejemplo: Authorization, Signature): El nombre del encabezado de la solicitud HTTP que incluye la firma. El borrador de la IETF utiliza el nombre de encabezado Signature. Oracle Cloud (OCI) utiliza el nombre de encabezado Authorization.

  • keyId: El parámetro keyId es una cadena US-ASCII utilizada por un verificador para identificar y/u obtener la clave de verificación de la firma. Los valores de ejemplo pueden verse como https://mastodon.example.com/users/myUser (para ActivityPub) o ocid1.tenancy.oc1.../ocid1.user.oc1.../{fingerprint} para OCI.

  • Nombre y ruta del archivo de clave privada: La ruta completa y el nombre del archivo que contiene la clave privada (por ejemplo, /home/${USER}/private_key.pem).

  • Nombre del encabezado de digest: El nombre del encabezado que contiene el digest. Debe ser x-content-sha256 (para OCI) o digest para la mayoría de las otras implementaciones.

Perfiles

La configuración de HTTPSignatures permite configurar varios perfiles en pestañas. Cree una nueva pestaña haciendo clic en la pestaña .... Puede nombrar las pestañas haciendo doble clic en una pestaña. Para guardar una pestaña, haga clic en el botón "Save". Para marcar una pestaña como perfil activo, haga clic en el botón "Use this profile". La pestaña activa (perfil) se marca con fuente y borde rojos.

Ajustes de configuración global

La sección de configuración global contiene ajustes que se aplican a todos los perfiles.

  • Habilitar la extensión para las siguientes herramientas de Burp Suite: La extensión puede habilitarse o deshabilitarse para las siguientes herramientas de Burp Suite:

    • Proxy (por defecto: deshabilitado)
    • Scanner (por defecto: habilitado)
    • Intruder (por defecto: habilitado)
    • Repeater (por defecto: habilitado)

    El proxy está deshabilitado por defecto. Las otras herramientas están habilitadas por defecto. La herramienta proxy normalmente solo debería habilitarse al usar la función de interceptación. La extensión no actualizará la firma cuando esté deshabilitada.

  • Habilitar registros de depuración: Al marcar esta casilla se imprimirán los registros de depuración en la salida estándar. La salida se puede configurar en Burp Suite en Extender -> Extensions, y luego seleccionar la extensión Signing HTTP Messages. En la pestaña Output puede seleccionar dónde se mostrará la salida estándar. El valor por defecto es Shown in UI, donde la salida se mostrará dentro de Burp Suite.

Ejemplos de configuración

ActivityPub

ActivityPub utiliza HTTP Signatures para la autenticación y autorización entre servidores.

  • Nombre del encabezado: Signature
  • keyId: El keyId debe enlazar al actor para que el campo publicKey pueda recuperarse: https://mastodon.online/users/viktor. Puede usar curl para recuperar la clave: curl https://mastodon.online/users/viktor -H 'Accept: application/activity+json'|jq
  • Nombre y ruta del archivo de clave privada: /home/user/private_key.pem
  • Nombre del encabezado de digest: digest
  • Nombres de encabezados a firmar: GET: date (request-target) host
  • Nombres de encabezados a firmar: HEAD: date (request-target) host
  • Nombres de encabezados a firmar: DELETE: date (request-target) host
  • Nombres de encabezados a firmar: PUT: date (request-target) host content-length content-type digest
  • Nombres de encabezados a firmar: POST: date (request-target) host content-length content-type digest

Oracle Cloud Infrastructure (OCI)

Todas las solicitudes de API de Oracle Cloud Infrastructure (OCI) requieren HTTP Signatures. La implementación se basa en el borrador de la especificación con algunas modificaciones.

  • Nombre del encabezado: Authorization
  • keyId: <TENANCY OCID>/<USER OCID>/<KEY FINGERPRINT>, por ejemplo, ocid1.tenancy.oc1..<unique_ID>/ocid1.user.oc1..<unique_ID>/<key_fingerprint>
  • Nombre y ruta del archivo de clave privada: /home/user/private_key.pem
  • Nombre del encabezado de digest: x-content-sha256
  • Nombres de encabezados a firmar: GET: date (request-target) host
  • Nombres de encabezados a firmar: HEAD: date (request-target) host
  • Nombres de encabezados a firmar: DELETE: date (request-target) host
  • Nombres de encabezados a firmar: PUT: date (request-target) host content-length content-type x-content-sha256
  • Nombres de encabezados a firmar: POST: date (request-target) host content-length content-type x-content-sha256
  • Incluir parámetros de consulta en la firma:

Compilación con IntelliJ IDEA

  1. Clone este repositorio y en IntelliJ IDEA seleccione Open or Import para la carpeta HTTPSignatures.
  2. Compile el proyecto (Build -> Build Project)
  3. Cree un archivo JAR para importar en Burp Suite: Vaya a File -> Project Structure, seleccione Project Settings -> Artifacts.
  4. Haga clic en el signo más para crear un nuevo archivo JAR "From modules with dependencies" y haga clic en OK.
  5. Seleccione la casilla "Include in project build" para crear automáticamente un archivo JAR al compilar el proyecto y haga clic en OK.
  6. Compile el proyecto de nuevo (Ctrl+F9 o ⌘+F9).
  7. El archivo JAR se crea en la carpeta del proyecto en out/artifacts/HTTPSignatures_jar/HTTPSignatures.jar.
  8. Cargue el archivo JAR en Burp mediante la pestaña Extender -> Extensions -> Add.

Compilación en la línea de comandos con Maven

  1. Clone este repositorio.
  2. Compile el proyecto y cree un archivo JAR con el comando mvn package assembly:single.
  3. El archivo JAR se crea en la carpeta del proyecto en target/HTTPSignatures-1.0-SNAPSHOT-jar-with-dependencies.jar.
  4. Cargue el archivo JAR en Burp mediante la pestaña Extender -> Extensions -> Add.

Dependencias

Se requieren tres dependencias para compilar el proyecto Java:

  • Apache HttpClient (https://hc.apache.org/httpcomponents-client-ga/)
  • Tomitribe's HTTP Signatures Java Client (https://github.com/tomitribe/http-signatures-java)
  • Burp Extender API (https://github.com/PortSwigger/burp-extender-api)
Descargar herramienta
  • Nombres de encabezados a firmar: GET: Los nombres de los encabezados a incluir para las solicitudes GET (por ejemplo, date (request-target) host). El valor (request-target) es un identificador especial que consta del método de solicitud y de la ruta y consulta de la URI de la solicitud (por ejemplo, get /foo?param=value).

  • Nombres de encabezados a firmar: HEAD: Los nombres de los encabezados a incluir en las solicitudes HEAD (por ejemplo, date (request-target) host).

  • Nombres de encabezados a firmar: DELETE: Los nombres de los encabezados a incluir en las solicitudes DELETE (por ejemplo, date (request-target) host).

  • Nombres de encabezados a firmar: PUT: Los nombres de los encabezados a incluir en las solicitudes PUT (por ejemplo, date (request-target) host content-length content-type digest).

  • Nombres de encabezados a firmar: POST: Los nombres de los encabezados a incluir en las solicitudes POST (por ejemplo, date (request-target) host content-length content-type digest).

  • Incluir parámetros de consulta en la firma: Este valor booleano especifica si los parámetros de consulta (por ejemplo, ?param=value) deben incluirse en la firma. Aunque el estándar del borrador especifica que los parámetros de consulta forman parte del identificador (request-target), no todas las implementaciones incluyen los parámetros de consulta. El valor por defecto es true.

  • Incluir el puerto en la firma: Algunas implementaciones no incluyen el puerto en el encabezado Host (por ejemplo, localhost:8080). Este ajuste permite eliminar el puerto del valor del encabezado Host si se establece en false. El valor por defecto es true.

  • Incluir parámetros de consulta en la firma: true
  • Incluir el puerto en la firma: true
  • true
  • Incluir el puerto en la firma: true