Protecciones y Bypasses Comunes de Explotación Binaria

Reading time: 3 minutes

tip

Aprende y practica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Apoya a HackTricks

Habilitar archivos de núcleo

Los archivos de núcleo son un tipo de archivo generado por un sistema operativo cuando un proceso falla. Estos archivos capturan la imagen de memoria del proceso fallido en el momento de su terminación, incluyendo la memoria del proceso, registros y el estado del contador de programa, entre otros detalles. Esta instantánea puede ser extremadamente valiosa para depurar y entender por qué ocurrió el fallo.

Habilitando la Generación de Volcados de Núcleo

Por defecto, muchos sistemas limitan el tamaño de los archivos de núcleo a 0 (es decir, no generan archivos de núcleo) para ahorrar espacio en disco. Para habilitar la generación de archivos de núcleo, puedes usar el comando ulimit (en bash o shells similares) o configurar ajustes a nivel de sistema.

  • Usando ulimit: El comando ulimit -c unlimited permite que la sesión de shell actual cree archivos de núcleo de tamaño ilimitado. Esto es útil para sesiones de depuración, pero no es persistente a través de reinicios o nuevas sesiones.
bash
ulimit -c unlimited
  • Configuración Persistente: Para una solución más permanente, puedes editar el archivo /etc/security/limits.conf para incluir una línea como * soft core unlimited, que permite a todos los usuarios generar archivos de núcleo de tamaño ilimitado sin tener que establecer ulimit manualmente en sus sesiones.
markdown
- soft core unlimited

Análisis de Archivos Core con GDB

Para analizar un archivo core, puedes usar herramientas de depuración como GDB (el depurador GNU). Suponiendo que tienes un ejecutable que produjo un volcado de core y el archivo core se llama core_file, puedes comenzar el análisis con:

bash
gdb /path/to/executable /path/to/core_file

Este comando carga el ejecutable y el archivo de núcleo en GDB, lo que te permite inspeccionar el estado del programa en el momento del fallo. Puedes usar comandos de GDB para explorar la pila, examinar variables y entender la causa del fallo.

tip

Aprende y practica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Apoya a HackTricks