← Todas las guías
ExplotaciónLaboratorioAvanzado32 min

Escalada de privilegios en Linux: enumeración y vectores clásicos

Un laboratorio paso a paso: has conseguido una shell de usuario sin privilegios y quieres llegar a root. Aprende a enumerar de forma metódica y a reconocer los cuatro vectores que aparecen una y otra vez — y cómo cerrarlos.

La escalada de privilegios es el puente entre «tengo acceso» y «controlo la máquina». Rara vez es un exploit espectacular: casi siempre es una mala configuración que la enumeración metódica saca a la luz. El orden importa — de lo más barato y probable a lo más ruidoso.

01

Orientarse: quién soy y dónde estoy

Antes de buscar vectores, sitúate. Tu usuario, tus grupos, la versión del sistema y qué hay a tu alrededor:

Terminal
# Quién soy, a qué grupos pertenezco, qué sistema esiduname -acat /etc/os-releasesudo -n true 2>/dev/null && echo "sudo sin password"

Apunta tus grupos: pertenecer a docker, lxd o disk es, en la práctica, equivalente a root.

02

El vector más rápido: sudo -l

sudo -l lista qué puedes ejecutar como otro usuario. Si aparece un binario que puedes lanzar como root, consulta GTFOBins: cataloga cómo binarios legítimos se convierten en una shell de root cuando se ejecutan con privilegios.

Terminal
# Qué puedo ejecutar como otro usuariosudo -l# Si find aparece como root -> shell de root (patrón GTFOBins)sudo find . -exec /bin/sh \; -quit

El binario es inocente; el permiso, no.

03

Binarios SUID y capabilities

Un binario con el bit SUID se ejecuta con los privilegios de su dueño. Localiza los que hay y compáralos con GTFOBins. Las capabilities son el mismo concepto aplicado a un permiso concreto.

Terminal
# Binarios SUID (se ejecutan como su dueño)find / -perm -4000 -type f 2>/dev/null# Capabilities concedidas a binariosgetcap -r / 2>/dev/null
04

Tareas cron y versión del kernel

Un cron que ejecuta como root un script que tú puedes editar es escalada inmediata. Y como último recurso, la versión del kernel: si es antigua, puede tener un exploit conocido, pero es el vector más ruidoso e inestable.

Terminal
# Tareas programadas del sistemacat /etc/crontabls -la /etc/cron.*# Versión del kernel (último recurso, ruidoso)uname -r

Automatizar la enumeración

Hacer todo esto a mano educa la vista, pero en un examen o auditoría se automatiza con un script que recorre decenas de comprobaciones y resalta las pistas.

Terminal
# Descarga y ejecuta un enumerador (en tu laboratorio)curl -L https://.../linpeas.sh -o linpeas.shchmod +x linpeas.sh && ./linpeas.sh

El script no piensa por ti: te da una lista priorizada de pistas. La decisión sigue siendo tuya.

Cómo se cierra cada vector

sudo

Concede solo comandos concretos, nunca binarios que abren shell. Evita NOPASSWD salvo necesidad justificada.

SUID / capabilities

Audita periódicamente el listado. Quita el bit y las capabilities que no sean necesarias.

cron

Usa rutas absolutas y permisos restrictivos; que nada que corra como root sea escribible por otros.

kernel

Mantén el sistema actualizado. La mayoría de exploits de kernel viven de máquinas sin parchear.

Glosario

Escalada de privilegios

Obtención de permisos superiores a los concedidos inicialmente.

SUID

Bit de permiso Unix que ejecuta un archivo con la identidad efectiva de su propietario.

Capability

Privilegio específico del kernel Linux asignable a un proceso o ejecutable.

sudoers

Política que determina qué comandos puede ejecutar una identidad mediante sudo.

GTFOBins

Catálogo de comportamientos de binarios Unix útiles para auditar configuraciones privilegiadas.

Ver más guías
Escalada de privilegios en Linux: enumeración y vectores clásicos | Cubix Academia