Verificar Vectores para el Escalamiento de Privilegios utilizando unix-privesc-check

  • Posted on: 28 March 2016
  • By: ReYDeS

Unix-privesc-check es un script el cual se ejecuta sobre sistemas Unix (evaluado sobre Solaris, HPUX 11, diversos Linux, FreeBSD 6.2). Intenta encontrar inadecuadas configuraciones las cuales podrían permitir a un usuario no privilegiado escalar privilegios hacia otros usuarios o acceder hacia aplicaciones locales; como por ejemplo bases de datos. Es un script para verificar sencillos vectores para es el escalamiento de privilegios en sistemas Unix.

Esta herramienta esta escrita como un simple script, de tal manera pueda ser fácilmente subido y ejecutado (opuesto a desempaquetar, compilar e instalar). Puede ejecutarse ya sea como usuario normal o como root (obviamente hace un mejor trabajo cuando se ejecuta como root, debido a la capacidad de leer más archivos).

Este proyecto contiene dos ramas. La rama “1_x” contiene un sencillo script de nombre “unix-privesc-check” el cual requiere ser subido y ejecutado en el sistema objetivo. Este script se ejecuta rápidamente. El código mientras es algo feo, es estable y maduro.

Al ejecutar la herramienta sin opciones se muestra su ayuda y modos de uso.

# ./unix-privesc-check

Se ejecuta la herramienta con la opción “standard”. El modo standard, realiza muchas verificaciones de ajustes de seguridad optimizada en velocidad.

# ./unix-privesc-check standard

Entre la información obtenida está la información general sobre el sistema. Como nombre del host, interfaces de red. Verificación si se permite una autenticación externa, archivos de configuración factibles de ser escritos,

Verificación de los hashes de las contraseñas, ajustes de las cuentas, directorios de librerías, configuración sudo, verificación de permisos en los archivos swap, programas a ejecutar desde el inittab, y una extensa cantidad de verificaciones y comprobaciones.

La versión 1.4 de la herramienta detiene sus verificaciones con un mensaje el cual versa sobre “un operador inesperado”.

Se procede a ejecutar la herramienta con el modo “detailed”. El cual es similar al modo “standard”, pero también verifica permisos de manejadores de archivos abiertos y llamadas a archivos (por ejemplo, interpretados desde scripts shells, archivos .so enlazados). Este modo es lento y propenso a falsos positivos, pero podría ayudar a encontrar fallas más sutiles en programas de terceros.

# ./unix-privesc-check detailed

En este modo también la herramienta se detiene con el mismo mensaje antes mencionado.

La rama “master”, contiene un script de nombre “upc.sh” y algunos subdirectorios los cuales necesitan ser subidos y ejecutados sobre el sistema objetivo. Este script generalmente es lento, pero más profundo en algunos aspectos. El código es mucho más bueno, aunque algo experimental.

Se ejecuta el script

# upc.sh

Los resultados de las verificaciones o pruebas realizadas son precedidas por una “I” o “W”. Se infiere de las palabras Informativo y Advertencia en idioma inglés. Además de un mensaje entre corchetes.

Se podría entonces filtrar los mensajes de advertencia, utilizando comandos Linux.

# grep ^W reporte.txt

unix-privesc-check está destinada a ser ejecutada por auditores de seguridad y profesionales en pruebas de penetración contra los sistemas evaluados, y también por administradores de sistemas quienes requieran verificar configuraciones inadecuadas obvias. Incluso puede ser ejecutado como un trabajo en cron de tal manera se escanee regularmente por inadecuadas configuraciones.

Fuentes:

http://pentestmonkey.net/tools/audit/unix-privesc-check
https://github.com/pentestmonkey/unix-privesc-check/tree/1_xhttps://gith...

Sobre el Autor


Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor Independiente en Ciberseguridad
Correo Electrónico: ReYDeS@gmail.com
Twitter: https://twitter.com/Alonso_ReYDeS
LinkedIn: https://pe.linkedin.com/in/alonsocaballeroquezada/
Facebook: https://www.facebook.com/alonsoreydes
Youtube: https://www.youtube.com/c/AlonsoCaballero


Webinar Informática Forense