IPC Namespace
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Información Básica
Un namespace IPC (Comunicación entre Procesos) es una característica del núcleo de Linux que proporciona aislamiento de objetos IPC de System V, como colas de mensajes, segmentos de memoria compartida y semáforos. Este aislamiento asegura que los procesos en diferentes namespaces IPC no pueden acceder ni modificar directamente los objetos IPC de otros, proporcionando una capa adicional de seguridad y privacidad entre grupos de procesos.
Cómo funciona:
Cuando se crea un nuevo namespace IPC, comienza con un conjunto completamente aislado de objetos IPC de System V. Esto significa que los procesos que se ejecutan en el nuevo namespace IPC no pueden acceder ni interferir con los objetos IPC en otros namespaces o en el sistema host por defecto.
Los objetos IPC creados dentro de un namespace son visibles y accesibles solo para los procesos dentro de ese namespace. Cada objeto IPC se identifica por una clave única dentro de su namespace. Aunque la clave puede ser idéntica en diferentes namespaces, los objetos en sí están aislados y no pueden ser accedidos entre namespaces.
Los procesos pueden moverse entre namespaces utilizando la llamada al sistema
setns()
o crear nuevos namespaces utilizando las llamadas al sistemaunshare()
oclone()
con la banderaCLONE_NEWIPC
. Cuando un proceso se mueve a un nuevo namespace o crea uno, comenzará a usar los objetos IPC asociados con ese namespace.
Laboratorio:
Crear diferentes Namespaces
CLI
Al montar una nueva instancia del sistema de archivos /proc
si usas el parámetro --mount-proc
, aseguras que el nuevo espacio de montaje tenga una vista precisa y aislada de la información del proceso específica para ese espacio de nombres.
Docker
Verifica en qué namespace está tu proceso
Encuentra todos los namespaces IPC
Entrar dentro de un namespace IPC
También, solo puedes entrar en otro espacio de procesos si eres root. Y no puedes entrar en otro espacio sin un descriptor que apunte a él (como /proc/self/ns/net
).
Crear objeto IPC
Referencias
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)
Last updated