Skip to content

Enumeración del Sistema Linux

Información del Usuario Actual

bash
whoami
id
groups
echo $USER
echo $HOME
echo $SHELL

Información del Sistema

bash
uname -a
uname -r
cat /etc/os-release
cat /etc/issue
hostnamectl
lsb_release -a

Versión del Kernel y Arquitectura

bash
uname -m
arch
dpkg --print-architecture
getconf LONG_BIT

CPU e Información de Hardware

bash
lscpu
nproc
cat /proc/cpuinfo
free -h
df -h
lsblk

Variables de Entorno

bash
env
echo $PATH
echo $SHELL
echo $LANG
printenv

Shell Disponibles

bash
cat /etc/shells
echo $SHELL

Usuarios del Sistema

bash
cat /etc/passwd
cat /etc/passwd | cut -d: -f1
getent passwd
id usuario
sudo -u usuario id

Usuarios en Grupos Específicos

bash
cat /etc/group
getent group
members admin
members sudo
members wheel
cat /etc/sudoers
sudo -l

Procesos en Ejecución

bash
ps aux
ps aux | grep root
ps aux | grep usuario
top
htop
pstree
ps -eo pid,user,group,cmd --forest

Directorio Home y Contenido

bash
ls /home
ls -la /home/usuario/
cd ~/
pwd

Archivos SSH y Claves

bash
ls -la ~/.ssh
cat ~/.ssh/authorized_keys
cat ~/.ssh/id_rsa
ls -la /root/.ssh/

Historial de Bash

bash
history
cat ~/.bash_history
cat ~/.zsh_history
cat ~/.history

Archivos de Configuración

bash
cat ~/.bashrc
cat ~/.bash_profile
cat ~/.zshrc
cat ~/.profile
cat /etc/profile
cat /etc/bash.bashrc
cat /etc/environment

Servicios y Demonios

bash
systemctl list-units --type=service
service --status-all
ps aux | grep -E "apache|nginx|mysql|postgres|redis|ssh"
netstat -tuln
ss -tuln

Puertos Abiertos

bash
netstat -tlnp
netstat -antp
ss -tlnp
ss -tlnup
lsof -i

Conexiones de Red

bash
ip addr
ifconfig
ip link
ip route
route -n
cat /etc/resolv.conf
cat /etc/hosts
hostname -I

Tareas Programadas (Cron)

bash
crontab -l
cat /etc/crontab
ls -la /etc/cron.d/
ls -la /etc/cron.daily/
ls -la /etc/cron.hourly/
ls -la /etc/cron.weekly/
ls -la /etc/cron.monthly/
for user in $(cat /etc/passwd | cut -f1 -d:); do crontab -u $user -l 2>/dev/null; done

Directorios Escribibles

bash
find / -path /proc -prune -o -type d -perm -o+w -print 2>/dev/null
find / -path /proc -prune -o -path /sys -prune -o -type d -perm -o+w -print 2>/dev/null
find /tmp /home /var/tmp /var/www -type d -writable 2>/dev/null
find / -writable -type d 2>/dev/null | grep -v proc

Archivos Modificables

bash
find / -path /proc -prune -o -type f -perm -o+w -print 2>/dev/null
find / -type f -writable 2>/dev/null | grep -v proc

Búsqueda de Archivos Sensibles

bash
find / -name "*.conf" -o -name "*.config" 2>/dev/null
find / -name "*password*" -o -name "*pass*" 2>/dev/null
find / -name "*credential*" 2>/dev/null
find / -name "*ssh*" -o -name "*key*" 2>/dev/null
grep -r "password" /etc 2>/dev/null | head -20
grep -r "secret" /etc 2>/dev/null | head -20

Búsqueda de Archivos SUID

bash
find / -perm -4000 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} \; 2>/dev/null
find / -perm /4000 -type f 2>/dev/null

Búsqueda de Archivos GUID

bash
find / -perm -2000 2>/dev/null
find / -user root -perm -2000 -exec ls -ldb {} \; 2>/dev/null

Búsqueda de Archivos SGID

bash
find / -perm -6000 2>/dev/null
find / -perm /6000 -type f 2>/dev/null

Permisos de Archivos

bash
ls -la /etc/passwd
ls -la /etc/shadow
ls -la /etc/group
ls -la /etc/sudoers
ls -la /root
chmod u+s archivo     # Agregar SUID
chmod g+s directorio  # Agregar SGID
chmod o+t directorio  # Agregar sticky bit

Búsqueda de Binarios con Capabilites

bash
getcap -r / 2>/dev/null
setcap -q cap_setuid+ep /bin/bash  # Agregar capability

Herramientas de Enumeración Automática

linpeas.sh

Descargar:

bash
# Descargar desde GitHub
wget https://github.com/carlospolop/PEASS-ng/releases/download/20240804-27c05ab0/linpeas.sh
chmod +x linpeas.sh

# Ejecutar
./linpeas.sh
./linpeas.sh -a    # Modo exhaustivo
./linpeas.sh 2>/dev/null | tee linpeas-output.txt

# Salida:
# ROJO = Potencial vector de escalada
# AMARILLO = Verificar manualmente
# VERDE = Información verificada

enum4linux (para Active Directory)

bash
enum4linux -a dominio.local
enum4linux -a 192.168.1.100

LSE (Linux Exploit Suggester)

bash
# Descargar
wget https://raw.githubusercontent.com/linted/lse/master/lse.sh
chmod +x lse.sh

# Ejecutar
./lse.sh -i all
./lse.sh -c     # Modo crítico

unix-privesc-check

bash
wget http://pentestmonkey.net/tools/unix-privesc-check/unix-privesc-check-1.4.6.tar.gz
tar -xzf unix-privesc-check-1.4.6.tar.gz
cd unix-privesc-check-1.4.6
./unix-privesc-check standard
./unix-privesc-check detailed

pspy (Process Spying)

bash
# Monitorear procesos en tiempo real sin permisos de root
wget https://github.com/DominicBreuker/pspy/releases/download/v1.2.1/pspy64
chmod +x pspy64
./pspy64
./pspy64 -pf -i 1000   # Filtrar procesos específicos

Búsqueda de Exploits del Kernel

bash
# Saber versión del kernel
uname -r

# En Kali - buscador de exploits
searchsploit "Linux Kernel" 5.10
searchsploit "Ubuntu" 20.04
searchsploit "CVE-2021"

Información Adicional

bash
dmesg                    # Logs del kernel
journalctl -e            # Sistema logs
last                     # Últimos logins
lastlog                  # Logs de todos los usuarios
sudo lastlog -u usuario
file /bin/bash
file /usr/bin/find
strings /bin/bash | grep version