Enumy es un ejecutable portátil ultrarrápido que se coloca en la máquina Linux objetivo durante un pentest o CTF en la fase de post-explotación. Ejecutar Enumy enumerará la caja de vulnerabilidades comunes de seguridad.
Instalación
Puedes descargar el binario final desde la pestaña de la versión x86 o x64. Vinculado estáticamente a musl Transferir el binario final de enumeración a la máquina de destino.
¿Quién debería usar Enumy?
- Pentester puede ejecutar en una máquina de destino issues planteados para sus informes.
- Los jugadores del CTF (Capture The Flag) pueden usarlo para identificar cosas que podrían haber pasado por alto.
- Las personas que tienen curiosidad por saber cuántos issues Enumy encuentra en su máquina local.
Opciones
Compilación
Para compilar durante el desarrollo, sólo se necesita make y una biblioteca libcap.
sudo apt-get install libcap-dev
make
Para eliminar la dependencia de glibc y vincular estáticamente (statically link) todas las bibliotecas/compilaciones con musl, haz lo siguiente. Ten en cuenta que para hacer esto tendrás que tener instalado Docker para crear el entorno de construcción.
./build.sh 64bit
./build.sh 32bit
./build.sh all
cd output
Tiempos de Escaneo

Análisis que se han Implementado
A continuación se muestra la lista cada vez mayor de análisis que se han implementado.
Tipo de Escaneo | Escaneo Rápido | Escaneo Completo | Implementado | Impreso en la pantalla | Guardar en Registro |
---|---|---|---|---|---|
Kernel Exploit Surgestor | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
SUID/GUID Scan | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
File Capabilities Scan | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
Intresting Files Scan | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Coredump Scan | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Breakout Binaries Scan | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
SSHD Configuration Scan | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
Sysctl Scan | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Living Off The Land Scan | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Current User Scan | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
*.so Injection Scan | ❌ | ✔️ | ✔️ | ❌ | ✔️ |
Permissions Scan | ❌ | ✔️ | ✔️ | ❌ | ✔️ |
File System Scan | ❌ | ✔️ | ✔️ | ❌ | ✔️ |
Docker Scan | ✔️ | ✔️ | ❌ | ✔️ | |
Environment Scan | ✔️ | ✔️ | ❌ | ✔️ | |
Privilaged Access Scan | ✔️ | ✔️ | ❌ | ✔️ | |
Networking Scan | ✔️ | ✔️ | ❌ | ✔️ | |
System Info Scan | ✔️ | ✔️ | ❌ | ✔️ | |
Version Information Scan | ✔️ | ✔️ | ❌ | ✔️ | |
Default Weak Credentials Scan | ✔️ | ✔️ | ❌ | ✔️ | |
Weak Crypto Scan | ❌ | ✔️ | ❌ | ✔️ |
Nota: Para imprimir los resultados marcados como ❌, habilitar el modo de auditoría con la flag -a
.
Tipos de Escaneo
Este escaneo comprobará las versiones del kernel para ver si coincide con alguna versión del kernel con exploits conocidas.
La idea de este escaneo es enumerar el sistema buscando binarios SUID/GUID que sean anormales, o que tengan permisos débiles que puedan ser explotados.
Recientemente el kernel de Linux soporta capablities, esta es la forma preferida de dar a un archivo un subconjunto de los poderes de root para mitigar el riesgo. Aunque esta es una forma mucho más segura de hacer las cosas, si tienes la suerte de encontrar capacidades anormales establecidas en un archivo, entonces es muy posible que puedas explotar el ejecutable para obtener un mayor acceso. Enumy comprobará las capacidades establecidas en todos los archivos ejecutables del sistema.
Se trata más bien de un análisis genérico que intentará categorizar un archivo basándose en su contenido, su extensión y su nombre. Enumy buscará archivos como claves privadas, contraseñas y copias de seguridad.
Los archivos Coredump son un tipo de archivo ELF que contiene el espacio de direcciones de un proceso cuando el programa termina inesperadamente. Ahora imagina si la memoria de este proceso fuera legible y contuviera información sensacional. O incluso más emocionante, este “coredump” podría ser para una herramienta desarrollada internamente que segregara, permitiéndote desarrollar un zero day.
Breakout Binary Scan
Algunos archivos nunca deberían tener un conjunto de bits SUID, es muy común que un administrador de sistemas perezoso te dé a un archivo como docker, ionice, hexdump SUID para hacer que un script bash funcione o que su vida sea más fácil. Esta exploración intenta encontrar algunos binarios SUID malos conocidos.
Sysctl Parameter Hardening
Sysctl se utiliza para modificar los parámetros del kernel en tiempo de ejecución. También es posible consultar estos parámetros del kernel y comprobar si están activadas importantes medidas de seguridad como ASLR.
Living Off The Land scan
Living off the land (LotL) es una técnica utilizada donde los atacantes utilizan lo que ya está en el sistema. Lo hacen para mantenerse sigilosos, entre otras razones. Este escaneo enumeraría los archivos que un atacante estaría buscando.
Dynamic Shared Object Injection Scan
Este escaneo analizará los archivos de ELF para sus dependencias. Si tenemos acceso de escritura a cualquiera de estas dependencias o acceso de escritura a cualquier valor DT_RPATH y DT_RUNPATH entonces podemos crear nuestro propio objeto compartido malicioso en ese potencial ejecutable comprometiendo el sistema.
SSH Misconfiguration Scan
El SSH es uno de los servicios más comunes que encontrarás en el mundo real. También es bastante fácil de mal configurar. Este escaneo comprobará si se puede endurecer de todos modos.
Current User Scan
El escaneo actual del usuario sólo analiza /etc/passwd. Con esta información encontramos cuentas root, directorios home desprotegidos y perdidos, etc.
Permisionss Scan
Este escaneo va a encontrar archivos que son archivos de escritura global, permisos desiguales y archivos sin dueño. Ver aquí para la inspiración del escaneo.
File System Scan
Este escaneo sería útil para la gente que intenta endurecer su máquina Linux. Destacará problemas como unidades no encriptadas y configuraciones de montaje inseguras.
enumy (este enlace se abre en una nueva ventana) por luke-goddard (este enlace se abre en una nueva ventana)
Linux post exploitation privilege escalation enumeration