Escalacion de privilegios en Linux usando Técnica NOPASSWD
--------------------------------------------------------------------------------------------------
La escalación de privilegios es una técnica mediante la cual un atacante, después de comprometer un sistema con un nivel bajo de permisos, busca ganar acceso administrativo o elevar sus privilegios para tomar control completo del sistema. En entornos Linux, una técnica común para la escalación de privilegios es aprovechar configuraciones incorrectas o mal gestionadas en el archivo de configuración de sudo
, específicamente cuando se configura el uso de sudo
sin contraseña (NOPASSWD).
¿Qué es NOPASSWD en sudo?
En sistemas Linux, el comando sudo
permite a usuarios ejecutar comandos con privilegios de superusuario (root) o como otro usuario sin necesidad de cambiar de sesión. Normalmente, se requiere que el usuario proporcione su contraseña antes de ejecutar comandos con sudo
. Sin embargo, si el archivo de configuración de sudo (/etc/sudoers
) está mal configurado, se puede permitir que ciertos usuarios ejecuten comandos sin necesidad de ingresar su contraseña, utilizando la opción NOPASSWD.
Ejemplo de configuración vulnerable:
En el archivo /etc/sudoers
, una configuración mal gestionada que permite la escalación de privilegios se ve de la siguiente manera:
user ALL=(ALL) NOPASSWD: /bin/bash
Esta configuración indica que el usuario especificado (user
) puede ejecutar el comando /bin/bash
con privilegios de root sin necesidad de proporcionar una contraseña. Esto significa que el usuario puede acceder a una shell de root directamente.
En este punto podríamos utilizar linpeas pero para simplificar, se recomienda ejecutar siempre el próximo comando para validar permisos de sudo.

Después de concatenar nuestro comando y enviarlo a BurpSuite, se logra apreciar que hay un script con la propiedad de NOPASSWD.
La opción NOPASSWD en el archivo de configuración sudoers de Linux permite a los usuarios ejecutar ciertos comandos con privilegios de superusuario (root) sin tener que proporcionar una contraseña. Aunque esto puede ser útil en algunos casos, también puede ser un riesgo de seguridad potencial si se usa incorrectamente.
Primero revisemos el contenido de este script:


En las evidencias previas, nos permite deducir que este script simplemente entrega un mensaje.
Ahora revisemos los permisos de este archivo:


Para facilitar el entendimiento de estos permisos, vamos a copiar el valor señalado y lo llevamos a la pagina previamente recomendada para calcular los permisos de Linux.
Los resultados indican que TODOS tienen permisos para manipular este script y el propietario es root.

Vamos a aprovechar la mala configuración detectada para cambiar el contenido de este script y agregarle el código necesario para entregarnos una Shell inversa sobre el servidor WordPress.


Después de lo anterior, vamos a validar que el cambio fue exitoso:

Y ejecutamos el script:


Para tener la consola interactiva podemos hacer:
python o python3 dependiendo de la maquina.

Last updated