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
cookiemonster — Decodifica y desfirma cookies de sesión vulnerables de los frameworks Django, Flask, Laravel, Express y JWT. Admite decodificadores basados en HMAC, listas de palabras base64 y pipelines de automatización para un descubrimiento rápido de vulnerabilidades. | Kitploit
Herramientas/GitHubGitHub/iangcarroll/cookiemonster
Análisis de VulnerabilidadesSeguridad WebCriptografíaPruebas de Penetración
GitHubiangcarroll/cookiemonster

cookiemonster

Decodifica y desfirma cookies de sesión vulnerables de los frameworks Django, Flask, Laravel, Express y JWT. Admite decodificadores basados en HMAC, listas de palabras base64 y pipelines de automatización para un descubrimiento rápido de vulnerabilidades.

Ver Repositorio
Sitio web
9827549hace 1 añoRevisado 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

🍪 CookieMonster

CookieMonster es una herramienta de línea de comandos y API para decodificar y modificar cookies de sesión vulnerables de varios frameworks diferentes. Está diseñada para ejecutarse en tuberías de automatización que deben ser capaces de procesar de manera eficiente una gran cantidad de estas cookies para descubrir rápidamente vulnerabilidades. Además, CookieMonster es extensible y puede soportar fácilmente nuevos formatos de cookies.

Vale la pena enfatizar que CookieMonster encuentra vulnerabilidades en los usuarios de los frameworks, generalmente no en los frameworks mismos. Estos usuarios pueden resolver las vulnerabilidades encontradas mediante CookieMonster configurando el framework para que use una clave secreta fuerte.

Características

  • Decodifica y anula la firma de cookies de sesión de Laravel, Django, Flask, Rack y Express, y también maneja JWTs sin procesar.
  • Evalúa rápidamente las cookies; ignora cookies no válidas y no soportadas, y prueba rápidamente aquellas que puede.
  • Aprovecha al máximo las implementaciones nativas rápidas de Go para funciones hash.
  • Decodifica inteligentemente cookies codificadas en URL y Base64 (es decir, el Base64 de un JWT) cuando la decodificación inicial falla.
  • Soporta muchos algoritmos para decodificadores basados en HMAC, incluso si el framework normalmente usa solo uno.
  • El formato flexible de lista de palabras codificada en base64 permite que cualquier secuencia de bytes clave se agregue como entrada; viene con una lista predeterminada razonable.
FrameworkSoportadoNotas
JSON Web Tokens✅HS256, HS384, HS512
Django✅Algoritmos comunes
Flask✅Algoritmos comunes
Rack✅Algoritmos comunes
Express (cookie-signer)✅Algoritmos comunes
Laravel✅AES-CBC-128/256 (GCM aún no soportado)
itsdangerous✅URLSafeSerializer/URLSafeTimedSerializer (sal predeterminada)
Otros❌¡Todavía no!

Comenzando

Para instalar CookieMonster, instala Go y luego instala la CLI:

root@kitploit:~
go install github.com/iangcarroll/cookiemonster/cmd/cookiemonster@latest

CookieMonster solo necesita dos elementos esenciales: una cookie para intentar anular su firma y una lista de palabras para usar. Si no tienes una lista de palabras, CookieMonster incluye una lista predeterminada del proyecto Flask-Unsign. Las listas de palabras de CookieMonster son un poco diferentes; cada línea debe estar codificada en base64. Esto se debe a que los proyectos de Python son especialmente liberales al insertar bytes basura en estas claves, y necesitamos poder manejarlas correctamente.

Un ejemplo de uso de la CLI con una cookie estática o con una URL:

root@kitploit:~
% ./cookiemonster -cookie "gAJ9cQFYCgAAAHRlc3Rjb29raWVxAlgGAAAAd29ya2VkcQNzLg:1mgnkC:z5yDxzI06qYVAU3bkLaWYpADT4I"
🍪 CookieMonster 1.3.0
ℹ️ CookieMonster loaded the default wordlist; it has 38919 entries.
✅ Success! I discovered the key for this cookie with the django decoder; it is "changeme".

% ./cookiemonster -url "https://httpbingo.org/cookies/set?abc=gAJ9cQFYCgAAAHRlc3Rjb29raWVxAlgGAAAAd29ya2VkcQNzLg:1mgnkC:z5yDxzI06qYVAU3bkLaWYpADT4I"
🍪 CookieMonster 1.3.0
⚠️  I got a non-200 status code from this URL; it was 302.
ℹ️ CookieMonster loaded the default wordlist; it has 38919 entries.
✅ Success! I discovered the key for this cookie with the django decoder; it is "changeme".

Soporte para Express

CookieMonster es capaz de soportar cookies firmadas con cookie-session, que es común con Express. Sin embargo, hace varias cosas extrañas que requieren cuidado para usar esta herramienta. Una respuesta común de una aplicación cookie-session se ve así:

root@kitploit:~
set-cookie: session=eyJhbmltYWxzIjoibGlvbiJ9
set-cookie: session.sig=Vf2INocdJIqKWVfYGhXwPhQZNFI

Para pasar esto a CookieMonster, debes incluir tanto el nombre de la cookie como la cookie de firma. En este ejemplo, llamarías a CookieMonster así: cookiemonster -cookie session=eyJhbmltYWxzIjoibGlvbiJ9^Vf2INocdJIqKWVfYGhXwPhQZNFI (nota el delimitador ^ y el nombre de la cookie prefijado). La API acepta este mismo formato en monster.NewCookie.

Soporte para refirmar

CookieMonster tiene soporte limitado para refirmar una cookie una vez que se ha anulado su firma, con la bandera -resign. Esto implica modificar el cuerpo de la cookie para que coincida con tu entrada y luego recalcular la firma con la clave que descubrimos. Actualmente, puedes hacer esto para cookies decodificadas de Django; asegúrate de pasar la cookie original a -cookie y pasar a -resign una cadena de texto sin codificar que te gustaría que estuviera dentro de la cookie. CookieMonster codificará correctamente tu entrada y luego refirmará la cookie.

Uso de la API

CookieMonster expone pkg/monster, lo que permite que otras aplicaciones lo aprovechen fácilmente. Esto es mucho más eficiente que iniciar la CLI si estás probando muchas cookies. Un ejemplo de uso se muestra a continuación.

root@kitploit:~
import (
    "github.com/iangcarroll/cookiemonster/pkg/monster"
    "errors"
)

var (
	//go:embed wordlists/my-wordlist.txt
	monsterWordlist string

	wl = monster.NewWordlist()
)

func init() {
	if err := wl.LoadFromString(monsterWordlist); err != nil {
        panic(err)
    }
}

func MonsterRun(cookie string) (success bool, err error) {
	c := monster.NewCookie(cookie)

	if !c.Decode() {
		return false, errors.New("could not decode")
	}

	if _, success := c.Unsign(wl, 100); !success {
		return false, errors.New("could not unsign")
	}

	return true, nil
}

Créditos

CookieMonster está construido con inspiración de varias fuentes, e incluye las excelentes listas de palabras de Flask-Unsign.

  • https://github.com/Paradoxis/Flask-Unsign
  • https://github.com/nicksanders/rust-django-signing
Descargar herramienta