Evaluación de Vulnerabilidades en Linux — Post‑Explotación y Escalada de Privilegios
🎯 Objetivo
Después de ejecutar LinPEAS, el siguiente paso es analizar los resultados obtenidos para detectar:
-
🍎 Vulnerabilidades fáciles de explotar (low hanging fruits)
-
🧩 Configuraciones inusuales
-
⚙️ Errores de permisos
-
🚀 Posibles vectores de escalada de privilegios
🧠 Esta etapa pertenece a la fase de Post-Explotación, dentro del proceso de pentesting:
Pre-Engagement → Information Gathering → Vulnerability Assessment → Exploitation → Post-Exploitation → Proof of Concept
📂 1️⃣ Revisión inicial de LinPEAS
Comando para visualizar los resultados:

🔎 Análisis:
-
Sistema operativo: Ubuntu 22.04.4 LTS 🐧
-
Kernel: 5.15.0-135-generic ⚙️
-
Compilador: gcc 11.4.0 🧰
-
Usuario actual: john (pertenece a
sudo) 👤
🧠 Importancia: Saber la versión exacta del kernel es fundamental, ya que permite buscar CVE conocidos (exploits locales que otorgan root).
🧮 2️⃣ Evaluación del sistema operativo y kernel

🔍 El sistema está actualizado (versión jammy), por lo tanto, ciertos exploits antiguos como DirtyPipe o PwnKit podrían estar parchados.
🧰 LinPEAS incluye una mini herramienta llamada linux-exploit-suggester, que sugiere posibles exploits basados en la versión del kernel.
🚨 3️⃣ Posibles vulnerabilidades detectadas
Ejemplo de salida de LinPEAS:

🧠 DirtyPipe (CVE-2022-0847): permite escalar a root mediante manipulación de buffers del kernel.
🧠 PwnKit (CVE-2021-4034): vulnerabilidad en pkexec (parte de Polkit) que permite ejecución arbitraria como root.
⚠️ Sin embargo, LinPEAS marca “less probable”, indicando que el sistema probablemente está parchado.
👥 4️⃣ Análisis de usuarios y privilegios
══════════════════════╣ Users Information ╠══════════════════════
uid=1000(john) groups=1000(john),27(sudo)
User john may run the following commands on ubuntu:
(ALL) NOPASSWD: /usr/bin/nano
(ALL : ALL) ALL
🧩 Resumen:
-
El usuario
johnpertenece al grupo sudo ✅ -
Puede ejecutar nano sin contraseña 📝
-
Puede ejecutar cualquier comando con contraseña 🔐
-
El usuario del servidor web www-data está en el grupo de
john, lo que significa que puede leer archivos de john 😱
💡 Esto representa una configuración insegura, ya que un proceso web comprometido podría moverse lateralmente hacia john.
⚙️ 5️⃣ Software instalado útil para el atacante
══════════════════════╣ Software Information ╠══════════════════════
/usr/bin/curl
/usr/bin/wget
/usr/bin/python3
/usr/bin/perl
/usr/bin/php
🧰 Herramientas útiles para un pentester:
-
curl/wget🌐 → Transferir archivos desde o hacia la máquina atacante. -
python,perl,php🐍 → Crear reverse shells o ejecutar código. -
gcc/make🧩 → Compilar exploits locales.
💬 Saber qué herramientas están disponibles ahorra tiempo y define tus opciones para ejecutar payloads.
🔒 6️⃣ Mecanismos de seguridad activos

Resumen de protecciones:
-
🧱 AppArmor: activo pero no completamente accesible 🚧
-
🚫 Seccomp: deshabilitado
-
🌀 ASLR: habilitado (protege la memoria)
-
💻 Sistema: ejecutándose en máquina virtual VMware
🔎 Conclusión: Varias protecciones están ausentes o débiles, lo que pu
🧠 7️⃣ Conclusión de la evaluación 🔍
| Categoría | Hallazgo | Importancia |
|---|---|---|
| 🧩 Sistema | Ubuntu 22.04.4, Kernel 5.15.0-135 | Versión moderna, posiblemente parcheada |
| 👤 Acceso de usuario | john con sudo y NOPASSWD: /usr/bin/nano |
Vector directo a root |
| 🧱 Configuración inusual | www-data pertenece al grupo john |
Riesgo de movimiento lateral |
| 🧰 Software disponible | curl, wget, python, perl, php |
Herramientas útiles para explotación |
| 🔐 Medidas de seguridad | AppArmor (activo), ASLR (activo), resto desactivado | Protección parcial |
| 🚨 Vulnerabilidades detectadas | DirtyPipe, PwnKit (posiblemente parcheadas) | Sin riesgo inmediato, pero útil saberlo |
| 💻 Entorno | Máquina virtual (VMware) | Entorno controlado de pruebas |
⚡ Escalada de Privilegios en Linux (Privilege Escalation)
🎯 Objetivo
Elevar los privilegios del usuario actual (john) hasta convertirnos en root 🧑💻👑
🔍 Verificación de permisos sudo
📄 Comando:
sudo -l
📄 Salida:

📘 Interpretación:
-
⚙️ Puede ejecutar
nanocomo root sin contraseña -
🔓 También puede ejecutar cualquier comando como cualquier usuario (requiere contraseña del usuario john)
💥 Esto nos da control total del sistema.
🧨 Explotación con GTFObins (usando nano)
🧰 El proyecto GTFObins documenta formas de explotar binarios comunes (como nano) para obtener shell root.
📄 Comando usado:
sudo /usr/bin/nano privesc
Una vez dentro de nano, presionamos:
CTRL + R, luego CTRL + X
Esto abre una línea de comandos.
Escribimos:
reset; /bin/bash 1>&0 2>&0
📄 Resultado:


✅ ¡Shell de root conseguida! 👑🐧
🔐 Alternativa directa (usando contraseña conocida)
Si conocemos la contraseña del usuario:
sudo su

💥 Acceso root directo — sin necesidad de exploits.
📋 Métodos usados en la escalada de privilegios
| Método | Descripción | Resultado |
|---|---|---|
| 👥 Grupo compartido (www-data) | Permite leer archivos de john | Lateral movement |
| 🧩 Sudo + nano | GTFObin vulnerable | Root shell |
| 🔑 sudo su | Cambio de sesión con contraseña conocida | Root acceso directo |