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
gitlab-rce-demo — Demo autocontenido para RCE en GitLab que explota dos vulnerabilidades de corrupción de memoria de Ruby en el parser Oj mediante el renderizado de diff de notebooks. | Kitploit
Herramientas/GitHubGitHub/wupco/gitlab-rce-demo
ExplotaciónExplotación de Aplicaciones WebExplotación de BinariosLabs y Práctica
GitHubwupco/gitlab-rce-demo

gitlab-rce-demo

Demo autocontenido para RCE en GitLab que explota dos vulnerabilidades de corrupción de memoria de Ruby en el parser Oj mediante el renderizado de diff de notebooks.

Ver Repositorio
94221hace 27 díasRevisado 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

Demo de RCE en GitLab mediante Oj

Este repositorio contiene una demo autónoma de la cadena de RCE en el notebook-diff de GitLab descrita en nuestra investigación. Inicia un contenedor limpio de GitLab 18.11.3, crea un usuario normal a través de la interfaz HTTP pública y ejecuta el PoC contra esa instancia.

Detalles técnicos: Profundizando: Cómo lograr RCE en GitLab mediante dos vulnerabilidades de corrupción de memoria en Ruby

Requisitos

  • Linux en x86-64 (amd64)
  • Docker Engine con Docker Compose v2
  • Bash, Python 3, curl, Git, iproute2 y netcat

Ejecutar la demo

Primero, crea un entorno GitLab limpio:

root@kitploit:~
./setup_env.sh

Esto elimina el contenedor de la demo anterior y sus volúmenes, inicia GitLab, espera a que esté listo y aprovisiona un usuario normal. Un arranque limpio de GitLab puede tardar varios minutos.

Abre dos terminales. Inicia el listener de callback en la primera:

root@kitploit:~
./run_poc.sh listen 4555

Ejecuta el exploit en la segunda:

root@kitploit:~
./run_poc.sh exploit 4555

Cuando llegue el callback, cambia a la terminal del listener y ejecuta comandos como id o whoami. El tiempo de búsqueda de ASLR varía entre ejecuciones.

Ejecución de la demo con éxito

Cómo funciona

GitLab renderiza los diffs de notebooks de Jupyter pasando JSON controlado por el repositorio a Oj, un parser JSON nativo de Ruby. La cadena combina dos bugs del parser: uno corrompe el estado del parser y acaba controlando un puntero de callback, mientras que el otro revela un puntero del heap que se utiliza para acotar la búsqueda de ASLR. El PoC carga una tabla de búsqueda precalculada, encuentra la disposición de la biblioteca coincidente mediante peticiones HTTP normales a GitLab y hace que el worker de Puma se conecte de vuelta al listener como el usuario git.

Usa esta demo únicamente en el entorno de laboratorio local incluido.

Descargar herramienta