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
Herramientas/GitHubGitHub/loaxert/cve-2018-15133-poc
Generación de PayloadsAnálisis de VulnerabilidadesAnálisis de CódigoExplotaciónExplotación de Aplicaciones WebPruebas de Penetración
GitHubloaxert/cve-2018-15133-poc

CVE-2018-15133-PoC

Exploit en Python para CVE-2018-15133, que permite ejecución remota de código en aplicaciones Laravel vulnerables mediante deserialización insegura de sesiones cifradas utilizando una APP_KEY conocida.

Ver Repositorio
4hace 9 mesesAún no revisado

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

CVE-2018-15133-PoC

Este script Python implementa un exploit de ejecución remota de código (RCE) para aplicaciones Laravel vulnerables mediante deserialización insegura, basándose en la vulnerabilidad CVE-2018-15133.

El exploit aprovecha una vulnerabilidad en Laravel (versiones 5.5.40 y anteriores, y 5.6.0 a 5.6.29) donde las sesiones cifradas son automáticamente deserializadas sin validación adecuada. Con acceso a la clave APP_KEY de Laravel, un atacante puede cifrar payloads maliciosos que serán deserializados y ejecutados en el servidor.

Funcionamiento del Sistema de Sesiones Laravel

Laravel utiliza un mecanismo de cifrado simétrico para las sesiones con tres componentes:

  • IV (Initialization Vector): Vector de inicialización aleatorio generado para cada sesión

  • Value: Valor cifrado usando AES-128-CBC o AES-256-CBC

  • MAC: Código de autenticación de mensaje (HMAC-SHA256) calculado sobre IV + value + APP_KEY

Proceso:

  • Recibe tres parámetros de entrada: la clave APP_KEY de Laravel en base64, el comando a ejecutar y el dominio objetivo

  • Invoca la herramienta PHPGGC con el gadget chain Laravel/RCE5 para generar una cadena de objetos PHP maliciosos

  • Construye el comando del sistema operativo que se ejecutará en el servidor víctima (ejemplo: system('whoami');)

  • Genera el payload serializado PHP que contiene los gadgets encadenados

  • Decodifica el payload de base64 a formato binario

  • Procesa la clave APP_KEY eliminando el prefijo "base64:" si existe

  • Completa el padding necesario para que la clave sea base64 válido

  • Decodifica la clave de base64 a bytes

  • Genera un vector de inicialización (IV) aleatorio de 16 bytes

  • Cifra el payload usando AES en modo CBC con la clave y el IV

  • Aplica padding PKCS7 al payload antes del cifrado

  • Codifica el IV en base64

  • Codifica el ciphertext (payload cifrado) en base64

  • Concatena IV y value en base64 como mensaje para el HMAC

  • Calcula el MAC usando HMAC-SHA256 sobre el mensaje concatenado con la clave como secreto

  • Construye un objeto JSON con tres campos: iv, value y mac

  • Codifica el JSON completo en base64

  • Construye una petición HTTP usando curl con el payload en la cookie laravel_session

  • Envía la petición al dominio objetivo

  • El servidor Laravel recibe la cookie y decodifica el base64

  • Laravel verifica la integridad del MAC contra el IV y value recibidos

  • Laravel descifra el contenido usando AES-CBC con su APP_KEY

  • Laravel deserializa automáticamente el contenido descifrado

  • PHP invoca las funciones mágicas __destruct() o __wakeup() de los objetos deserializados

  • Se desencadena la cadena de gadgets que culmina en call_user_func() o eval()

  • El comando del sistema operativo se ejecuta en el servidor

  • El exploit utiliza cadenas de gadgets que encadenan llamadas a funciones mágicas de PHP:

    Durante la deserialización, PHP invoca automáticamente __destruct() o __wakeup(), iniciando la cadena que culmina en eval() ejecutando código arbitrario.

    Requisitos Previos Para que el exploit funcione, el atacante necesita:

    • La clave APP_KEY de Laravel (obtenida mediante filtración de variables de entorno, buckets S3 expuestos, código fuente, etc.)

    • Versión vulnerable de Laravel con deserialización habilitada por defecto

    • PHPGGC instalado en el directorio ./phpggc/ https://github.com/ambionics/phpggc

    Ejemplo de Uso

    root@kitploit:~
    python exploit.py "base64:dGhpc2lzYXNlY3JldGtleQ==" "whoami" "http://target.htb"
    Este comando generará un payload serializado que ejecutará whoami cuando Laravel deserialice la sesión.
    
    Descargar herramienta