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
lab-cve-2023-4863 — Laboratorio basado en Docker para reproducir CVE-2023-4863 (desbordamiento de búfer en el montón en libwebp) con demostración automatizada de fallos, comparación entre versión parcheada y vulnerable, y explotación de navegador basada en GUI en una red aislada. | Kitploit
Herramientas/GitHubGitHub/pixelotes/lab-cve-2023-4863
Análisis de VulnerabilidadesExplotaciónCTFAprendizaje y EducaciónExplotación de BinariosLabs y Práctica
GitHubpixelotes/lab-cve-2023-4863

lab-cve-2023-4863

Laboratorio basado en Docker para reproducir CVE-2023-4863 (desbordamiento de búfer en el montón en libwebp) con demostración automatizada de fallos, comparación entre versión parcheada y vulnerable, y explotación de navegador basada en GUI en una red aislada.

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
Ver Repositorio
hace 3 mesesAún no revisado

CVE-2023-4863 — Laboratorio de explotación de libwebp

Reproducción de CVE-2023-4863 (heap buffer overflow en libwebp) en un entorno Docker completamente aislado y automatizado. Basado en la práctica del módulo de Hacking Ético de CEFIRE.

Qué hace este lab

Levanta ocho containers en red privada:

ContainerRol
attackerGenera exploit.webp con craft.c y lo sirve por HTTP junto a una página de phishing simulada
victim-cliUbuntu 22.04 con libwebp 1.2.2-2ubuntu0.22.04.1 (vulnerable). Descarga y procesa el exploit automáticamente → crash
victim-patchedUbuntu 22.04 con libwebp del repo de seguridad de Ubuntu (parcheado). Mismo exploit → error controlado, sin crash
victim-guiUbuntu 22.04 con XFCE, VNC y Firefox 110 (vulnerable). Crash real del navegador con exploit.webp
victim-gui-patchedUbuntu 22.04 con XFCE, VNC y Firefox 126 (parcheado). Mismo exploit → navegador sobrevive
postgresPostgreSQL — backend de autenticación y conexiones de Guacamole
guacdDaemon de Apache Guacamole (proxy de protocolos)
guacamoleInterfaz web desde la que accedes a todos los containers por SSH o VNC, sin instalar nada más

La demostración automática (victim-cli vs victim-patched) ocurre sola al arrancar. La demostración visual en GUI requiere interacción manual desde Guacamole.

Requisitos

  • Docker Engine 24+
  • Docker Compose v2
  • ~5 GB de RAM disponibles
  • ~10 GB de disco (imágenes + capas)

Arrancar el lab

root@kitploit:~
make up

make up hace tres cosas automáticamente si es la primera vez:

  1. Genera el schema SQL de Guacamole (ejecuta initdb.sh desde la imagen oficial)
  2. Construye las imágenes de los containers
  3. Levanta todo

El build tarda unos minutos la primera vez (descarga imágenes base, clona el repo del PoC, instala paquetes). Las siguientes ejecuciones usan la caché de Docker y son casi instantáneas.

Cuando termina, verás la URL de Guacamole en el output. Los containers de víctimas no arrancan hasta que el atacante está listo y sirviendo el exploit (healthcheck).

Credenciales

AccesoUsuarioContraseña

Ver la demostración automática (CLI)

En una terminal, mientras el lab está corriendo:

root@kitploit:~
# Ver el crash en la víctima vulnerable
make logs-victim-cli

# Ver la respuesta controlada en la víctima parcheada
make logs-victim-patched

Lo que verás en victim-cli:

root@kitploit:~
[*] Ejecutando: dwebp /tmp/exploit.webp -o /tmp/salida.png

Decoding of exploit.webp failed.
Status: 3(BITSTREAM_ERROR)
*** glibc detected *** double free or corruption (!prev) ***
Aborted (core dumped)

[!] EXIT CODE: 134 (SIGABRT)
[!] CVE-2023-4863 CONFIRMADO

Lo que verás en victim-patched:

root@kitploit:~
[*] Ejecutando: dwebp /tmp/exploit.webp -o /tmp/salida.png

Decoding of exploit.webp failed.
Status: 3(BITSTREAM_ERROR)

[+] EXIT CODE: 1 — Error controlado
[+] CVE-2023-4863 MITIGADO

Demostración visual en el escritorio (GUI)

La demostración más visual se hace comparando victim-gui (vulnerable) con victim-gui-patched (parcheada) usando dwebp desde una terminal del escritorio XFCE.

Pasos

  1. Abre http://localhost:8888/guacamole en tu browser
  2. Login: guacadmin / guacadmin
  3. En la víctima vulnerable (Firefox 110):
    • Selecciona [VÍCTIMA GUI] VNC — Escritorio Chrome
    • Abre una terminal en el escritorio XFCE
    • Ejecuta:
      root@kitploit:~
      firefox --no-sandbox http://attacker/index.html
      
    • Firefox 110 intenta renderizar exploit.webp → crash (SIGABRT, proceso muerto)
  4. En la víctima parcheada (Firefox 126):
    • Selecciona [VÍCTIMA GUI PATCH] VNC — Escritorio Chrome patch
    • Mismo comando → Firefox 126 maneja el error sin crashear

Por qué Firefox en vez de Chrome

Mozilla mantiene un archivo público permanente de todas sus versiones en releases.mozilla.org. Google retiró las URLs de versiones antiguas de Chrome de su CDN, haciendo imposible descargar Chrome 116 de forma fiable. Firefox 110 es igualmente vulnerable (ambos embeben libwebp internamente) y su descarga desde el archivo de Mozilla es estable y reproducible.

Acceso directo por SSH (sin Guacamole)

root@kitploit:~
ssh root@localhost -p 2220   # attacker
ssh root@localhost -p 2221   # victim-cli
ssh root@localhost -p 2223   # victim-patched
ssh root@localhost -p 2222   # victim-gui
ssh root@localhost -p 2224   # victim-gui-patched

VNC directo: localhost:5900 (victim-gui) y localhost:5901 (victim-gui-patched).

Comandos útiles

root@kitploit:~
make logs                    # todos los logs en tiempo real
make status                  # estado de los containers
make shell-attacker          # shell en el atacante
make shell-victim-cli
make shell-victim-gui
make shell-victim-gui-patched
make down                    # parar el lab
make clean                   # parar + borrar imágenes y redes

Notas

Chrome y libwebp: Chrome bundlea su propia copia de libwebp (no usa la del sistema). Las versiones ≥ 116.0.5845.187 incluyen el parche. Como Google retiró las URLs de versiones antiguas, el Dockerfile cae al fallback con la versión estable actual (parcheada). La demostración del crash con dwebp es igualmente válida y más fiable.

Red aislada: ningún container tiene acceso a Internet durante la ejecución. Todo el tráfico queda dentro de la red Docker privada cve4863-lab-net.

Descargar herramienta
Guacamole (web)guacadminguacadmin
SSH todos los containersroottoor
VNC victim-gui y victim-gui-patched—secret