hacktricks/reversing-and-exploiting/linux-exploiting-basic-esp/common-binary-protections-and-bypasses
2024-07-18 22:10:25 +00:00
..
aslr Translated ['binary-exploitation/basic-stack-binary-exploitation-methodo 2024-07-18 22:10:25 +00:00
pie Translated ['binary-exploitation/basic-stack-binary-exploitation-methodo 2024-07-18 22:10:25 +00:00
stack-canaries Translated ['binary-exploitation/basic-stack-binary-exploitation-methodo 2024-07-18 22:10:25 +00:00
no-exec-nx.md Translated ['binary-exploitation/basic-stack-binary-exploitation-methodo 2024-07-18 22:10:25 +00:00
README.md Translated ['binary-exploitation/basic-stack-binary-exploitation-methodo 2024-07-18 22:10:25 +00:00
relro.md Translated ['binary-exploitation/basic-stack-binary-exploitation-methodo 2024-07-18 22:10:25 +00:00

Protecciones Binarias Comunes

{% hint style="success" %} Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)

Apoya a HackTricks
{% endhint %}

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 entre reinicios o nuevas sesiones.
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.
* soft core unlimited

Analizando Archivos de Núcleo con GDB

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

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.

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}