En nuestros entornos Linux, los bits SUID (Set User ID) permiten que un ejecutable corra con los permisos del propietario en lugar de los del usuario que lo lanza. Un binario SUID propiedad de root es un vector clásico de escalada de privilegios si dicho binario permite ejecutar comandos shell, modificar archivos críticos o leer contenido restringido.
Es crítico auditar estos archivos regularmente, especialmente en sistemas expuestos, entornos multi-usuario o contenedores donde la superficie de ataque debe ser mínima.
Auditoría Técnica
Para identificar binarios SUID en el sistema de archivos:
$ find / -perm -4000 -type f 2>/dev/null
Para una auditoría más exhaustiva que incluya también archivos SGID (Set Group ID), los cuales permiten que un ejecutable corra con los permisos del grupo propietario:
$ find / -perm -6000 -type f 2>/dev/null
Si gestionas tu infraestructura con Wazuh, puedes automatizar esta detección creando una regla personalizada en tu archivo local_rules.xml para monitorear el comando chmod e identificar cambios sospechosos en los permisos en tiempo real:

Mitigación y Buenas Prácticas
- Principio de Mínimo Privilegio: Audita la lista de binarios SUID. Si detectas un ejecutable que no debería tener estos permisos, elimínalos inmediatamente con: chmod u-s /ruta/al/archivo.
- Montaje Seguro: Siempre que sea posible, monta particiones de datos (como /home, /tmp o /var/tmp) con la opción nosuid en tu /etc/fstab. Esto bloquea por completo la funcionalidad SUID en esos directorios, neutralizando exploits locales incluso si un atacante logra subir un binario malicioso.
- Hardening Proactivo: Integra el escaneo de binarios SUID en tu pipeline de despliegue (Ansible, Puppet o SaltStack). El sistema debe ser capaz de reportar cualquier desviación de la línea base de seguridad configurada.
¿Qué estrategia prefieren para automatizar la detección de estas configuraciones inseguras: scripts de Bash personalizados integrados vía cron, o despliegue de soluciones tipo Wazuh/OSSEC?
0 comentarios