LinEnum permite detectar vulnerabilidades por escalada de privilegios en Linux

linenum

LinEmun es un script en bash que automatiza la búsqueda de determinados puntos de escalada de privilegios, es decir ese acto en el que un usuario o aplicación accede a recursos que por el diseño y la seguridad del sistema no deberían estar disponibles, en el caso de Linux supondría por ejemplo el ejecutar determinados servicios o código malicioso con privilegios de root.

En nuestro sistema operativo favorito ya de por si muy robusto, disponemos de varias soluciones de seguridad como AppArmor o SELinux que suelen venir por defecto en varias distros GNU/Linux y añaden una capa de seguridad extra en la prevención de problemas de este tipo.

El detalle que me gusta de LinEmun es que es capaz de ir al grano rapidamente en 65 tipos de comprobaciones diferentes, muchas de ellas recogidas en esta interesante cheat sheet obra del mismo autor, que nos puede ayudar también a comprender los resultados de salida del programa.

Entre los apartados sujetos a evaluación nos encontramos: la información del sistema, usuarios y grupos, configuraciones de programas, listar los trabajos de cron, acceso privilegiado al archivo /etc/sudoers, conexiones de red TCP/UDP, análisis de credenciales, información de las versiones de MYSQL, PostgreSQL y Apache, localizar archivos con permisos especiales tipo SUID/GUID y mucho más…

LinEnum no precisa instalación, tan solo tenemos que descargarnos el programa desde su página de Github, extraer el archivo y en la carpeta LinEnum-master nos vamos a encontrar el script que hace la magia: LinEnum.sh

La sintaxis de ejecución que nos recomienda el autor es la siguiente:

./LinEnum.sh -k keyword -r report -e /tmp/ -t

Vamos a pararnos un poco en los parámetros del comando:

  • -k hace referencia a la posibilidad de incluir la busqueda de keywords o palabras claves (“keyword”) en determinados archivos con extensiones .log, .ini ó .conf.
  • -r es el nombre que le damos al informe (“report”), es decir la salida del comando en texto plano, que encontraremos en el directorio desde donde ejecutamos el programa.
  • -e nos permite determinar la ruta (/tmp/) donde se va a crear una carpeta con archivos que el programa encuentra “interesantes” para su posterior estudio por parte del usuario: historial, configuración de programas, archivos SSH, etc…
  • -t es lo que podríamos denominar un análisis exhaustivo de todos los archivos, es más completo pero tiene el inconveniente de que lleva bastante más tiempo.

Lo podemos ver en este ejemplo:

./LinEnum.sh -k rootkit -r informe -e /home/jose -t

En el que le he dicho al programa que además de ejecutarse busque el archivo “rootkit”, le he dado el nombre de “informe” al texto plano que muestra la salida completa de la terminal, la ruta la he cambiado hacia mi directorio personal y uso el parámetro -t para un análisis profundo (si tenéis muchos archivos y os cansáis de esperar lo ejecutáis sin el parámetro -t y listo).

Después de finalizada la exploración si el programa encuentra algo destacado resaltará en amarillo para que podamos estudiarlo y comprobar si es un problema o bien un falso positivo.

Vía | Darnet

 

4 thoughts on “LinEnum permite detectar vulnerabilidades por escalada de privilegios en Linux”

  1. Anger Pulido says:

    Excelente el tema. Vamos a probarlo.

    1. tannhausser says:

      Gracias amigo! Un saludo

  2. sflibre says:

    Excelente aporte. Es interesante, voy a probarlo.

    Saludos.

    1. tannhausser says:

      Gracias a ti por pasarte y comentar!
      Un saludo!

Deja un comentario