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/0xricksanchez/like-dbg
ExplotaciónDepuradoresFuzzingCTFExplotación de Binarios
GitHub0xricksanchez/like-dbg

like-dbg

Entorno de depuración del kernel de Linux totalmente dockerizado

Ver Repositorio
770574hace 2 mesesRevisado 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

LIKE-DBG

Code style: black Build Status: flake8 Build Status: shellcheck Build Status: hadolint codecov License: MIT GitHub Release

LIKE-DBG (LInux-KErnel-DeBuGger) tiene como objetivo automatizar los pasos aburridos a la hora de intentar configurar un entorno de depuración del kernel de Linux. Me propuse sumergirme en la investigación de explotación del kernel y encontré que las soluciones existentes no eran lo suficientemente utilizables. Por lo tanto, este es un intento de hacer que todos los pasos previos necesarios antes de siquiera pensar en sumergirse en la investigación sean lo más indoloros y divertidos posible. Todos los pasos, desde compilar un kernel, ejecutarlo dentro de un entorno emulado y adjuntar un depurador, se realizan de forma transparente dentro de contenedores docker para mantener al mínimo los requisitos del sistema. Actualmente, hay un contenedor docker dedicado para cada uno de los siguientes pasos:

Descargar herramienta
  • Compilar el kernel
  • Crear un sistema de archivos raíz para usar con el kernel
  • Lanzar el kernel + sistema de archivos como el debuggee
  • Adjuntarse al kernel como debugger

Advertencias

Como este proyecto está en sus primeras etapas, espero que las cosas cambien rápidamente y que también se introduzcan cambios que rompan la compatibilidad en el camino. Los puntos principales a mejorar son:

  • Lograr un soporte verdaderamente multiarquitectura más allá de x86_64 y arm64
  • Ampliar el compilador de kernels para que no solo logre compilar kernels recientes™
  • Añadir soporte para kernels de Android
  • Añadir pruebas (de integración)
  • Elevar aún más la experiencia de depuración

Características

A pesar de sus primeras etapas, en el lado positivo, ya hay un par de características útiles presentes:

  • General:
    • Requisitos mínimos del sistema anfitrión gracias a la dockerización de cada paso
    • Una configuración configs/user.ini fácil de entender que permite sesiones altamente personalizables
      • O proporciona distintas configuraciones para diferentes entornos de depuración mediante la línea de comandos.
    • Ejecutor de CTF diseñado específicamente para manejar retos de explotación del kernel de Linux
      • ctf/misc que alberga algunos scripts ingeniosos para ayudar en CTFs
    • Medidas de calidad de código:
      • black formateador para código Python
      • flake8 linter para todo el código Python
      • shellcheck linter para scripts de shell
      • hadolint linter para los Dockerfiles
    • Independiente del sistema operativo, lo que significa que debería funcionar perfectamente en:
      • Debian/Ubuntu
      • Arch Linux/Manjaro
      • Fedora
  • Compilador de kernels:
    • Multiarquitectura: x86_64, arm64
    • Elige entre gcc y clang para compilar el kernel
    • Modos de configuración:
      • generic-mode,
      • syzkaller-mode,
      • custom-mode, o
      • proporcionar una configuración de kernel utilizable
    • Control de versiones de grano fino para compilar desde:
      • Hash de commit
      • Etiqueta de lanzamiento (p. ej.: 5.10-rc)
      • Mayor-Menor-Parche (p. ej.: 5.10.77)
    • Capacidad de aplicar automáticamente archivos de parche
    • Capacidad básica para añadir módulos de kernel personalizados
  • Constructor de sistema de archivos raíz:
    • Desarrollado con debootstrap
    • Generación automática de un sistema de archivos que coincida con la arquitectura del kernel
    • Capacidad de personalizar:
      • los paquetes deseados en el sistema de archivos
      • la versión de lanzamiento de Debian sobre la que basar todo
  • Debuggee:
    • Desarrollado con QEMU
    • Personalización de las opciones de ejecución de QEMU desde los archivos configs/*.ini.
  • Debugger:
    • Desarrollado con GDB (multiarch) con
      • GEF y GEF-extras, o
      • pwndbg
    • Permitir a los usuarios especificar un script de GDB en io/scripts/gdb_script para permitir una experiencia de depuración adaptada al escenario

Requisitos

Para comenzar, debes asegurarte de tener los siguientes requisitos en tu sistema:

  • docker
  • tmux
  • python>=3.11
  • poetry # https://python-poetry.org/docs/

Se recomienda no ejecutar esto como usuario root, p. ej. para fines de prueba en un VPS. Puede funcionar bien, pero en general recomiendo encarecidamente crear un usuario no root dedicado y agregarlo al grupo docker y sudo!

Nota: Si usas una configuración personalizada de TMUX, asegúrate de que tu primer panel comienza en 0!

Opcional

Esta sección cubre herramientas que no son necesarias para ejecutar LIKE-DBG pero que resultan útiles y ayudan enormemente al depurar o escribir un exploit.

  • musl-gcc
  • ctags
  • ropr

Instalación

Dentro de like-dbg ejecuta poetry install

Configuración

Afinar la experiencia de depuración del kernel es uno de los objetivos de este proyecto. Actualmente, todas las opciones ajustables están expuestas en los dos archivos de configuración: configs/system.ini y configs/user.ini. Se recomienda no alterar algunos campos, ya que son principalmente por razones de desarrollo. Sin embargo, todos aquellos para personalizar el entorno según tus necesidades deberían ser autoexplicativos, ya que todos están etiquetados con un breve comentario.

Uso

Nota: En el primer uso, ejecuta poetry install.

Una vez que tengas lista una configuración escrita/adaptada, el uso depende de tu escenario. La forma más fácil de comenzar, basada en la configuración configs/user.ini, es la siguiente:

root@kitploit:~
tmux -f .tmux.conf
poetry shell
# This checks out a kernel, builds it, creates a root file system and starts the debugger and debuggee eventually
./start_kgdb.py

Existen 2 usuarios para los sistemas de archivos creados automáticamente:

  • root sin contraseña
  • user:user

Esto está pensado para que puedas desarrollar y explotar desde cualquiera de las dos perspectivas con facilidad.

Uso ampliado

root@kitploit:~
# If you want to try a CTF challenge where you were given a (compressed) Linux Image and a root filesystem try:
./start_kgdb.py --ctf <Image> <RootFS>

# If you want to kill the current debugging session
./start_kgdb.py -k

# If you want to provide a custom 'user.ini' for a specific debugging setup
./start_kgdb.py -c <path_to_cfg> [other_args]

# If you want to test some partial functionality of LIKE-DBG
# Stage 1: Download Kernel
# Stage 2: Stage 1 & unpack Kernel
# Stage 3: Stage 2 & build Kernel
# Stage 4: Only build a root file system
# Stage 5: Stage 3+4 & start debuggee
./start_kgdb.py -p <stage_nr>

# Update all containers
./start_kgdb.py -u

Ejemplos

El subdirectorio examples alberga ejemplos de cómo LIKE-DBG puede ayudarte en tareas específicas de depuración del kernel. Cada ejemplo contiene también un README.md dedicado con la información necesaria para reproducir los ejemplos.

Demostración

img/example.png

Hacking

El código Python debería ser bastante legible, así que siéntete libre de ampliar el proyecto con tus propias ideas. ¡Todos los PRs son muy bienvenidos :)! De lo contrario, no dudes en crear un issue de solicitud de funciones o dirígete a la página de discusiones para intercambiar ideas sobre algunas funciones nuevas geniales.

PD: Si quieres proporcionar un logotipo, siéntete libre de hacerlo.