🔍 LinPEAS: Linux Privilege Escalation Awesome Script
Herramienta esencial
LinPEAS es una potente herramienta de enumeración post-explotación para sistemas Linux, diseñada para detectar posibles vectores de escalada de privilegios de manera exhaustiva y automatizada.
LinPEAS forma parte del proyecto PEASS-ng (Privilege Escalation Awesome Scripts Suite - Nueva Generación) desarrollado por Carlos Polop. Es un script bash que realiza numerosas verificaciones automáticas para identificar configuraciones inseguras, vectores de escalada de privilegios y vulnerabilidades en sistemas Linux.
¿Para qué sirve?
Detectar múltiples vectores de escalada de privilegios
Automatizar la fase de enumeración en pentesting
Identificar malas configuraciones de seguridad
Recopilar información detallada del sistema
Descubrir credenciales almacenadas inseguramente
Encontrar binarios y servicios vulnerables
Contextos de uso
flowchart TD
A[LinPEAS] --> B[Pentesting]
A --> C[Competiciones CTF]
A --> D[Auditorías de seguridad]
A --> E[Análisis forense]
B --> B1[Post-explotación]
B --> B2[Evaluación de seguridad interna]
C --> C1[Resolución rápida de retos]
C --> C2[Búsqueda automatizada de vectores]
D --> D1[Verificación de hardening]
D --> D2[Cumplimiento normativo]
E --> E1[Análisis de sistemas comprometidos]
# Descargar directamente usando curlcurl -L https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh -o linpeas.sh# Alternativa con wgetwget https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh# Dar permisos de ejecuciónchmod +x linpeas.sh
Ejecución sin descargar
Ejecución en memoria
LinPEAS puede ejecutarse directamente sin necesidad de guardarlo en disco:
# Ejecución directa con curlcurl -L https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh | sh# Ejecución directa con wgetwget -q -O - https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh | sh
Versiones disponibles
Versión
Descripción
Cuándo usar
linpeas.sh
Versión completa
Uso general, máxima detección
linpeas_fat.sh
Con binarios estáticos incluidos
Sistemas con utilidades limitadas
linpeas_base.sh
Versión ligera
Sistemas con restricciones de tamaño
⚙️ Sintaxis y Opciones
Sintaxis básica
./linpeas.sh [opciones]
Opciones principales
Opción
Descripción
Ejemplo
-a
Ejecutar todas las verificaciones (puede llevar tiempo)
./linpeas.sh -a
-s
Modo sigiloso (menos ruido en logs)
./linpeas.sh -s
-P
Evitar paletas de colores
./linpeas.sh -P
-p
Usar paleta de colores alternativa
./linpeas.sh -p
-h
Mostrar ayuda
./linpeas.sh -h
-k
Palabra clave para buscar (regex)
./linpeas.sh -k password
-r
Recarga paleta de colores
./linpeas.sh -r
-e
Especificar tipos de verificación
./linpeas.sh -e software,procmon
-t
Ejecutar sección específica
./linpeas.sh -t system
-w
Guardar resultados en archivo
./linpeas.sh -a -w report.txt
Ejemplos de ejecución básica
# Ejecución estándar./linpeas.sh# Ejecución exhaustiva con todos los checks./linpeas.sh -a# Ejecución sigilosa sin colores./linpeas.sh -s -P# Guardar resultados en archivo./linpeas.sh -a > resultados_linpeas.txt
🔍 Secciones y Verificaciones
LinPEAS organiza sus verificaciones en secciones claramente diferenciadas y utiliza un código de colores para resaltar los hallazgos según su importancia.
Código de colores
Rojo: Hallazgos de alta importancia (posibles vectores de escalada)
Amarillo: Información interesante para investigar
Verde: Información general del sistema
Azul: Información de contenedores
Magenta: Información de servicios
Principales secciones
mindmap
root((LinPEAS))
Información del Sistema
Kernel y distribución
Variables de entorno
Unidades montadas
Información de Usuarios
Usuarios y grupos
Contraseñas y caducidad
Sudo y permisos
Procesos y servicios
Procesos como root
Servicios expuestos
Tareas programadas
Binarios y archivos
SUID/SGID
Capacidades
Archivos modificables
Configuraciones
SSH
Web
Bases de datos
Red
Interfaces
Rutas
Servicios expuestos
Contenedores
Docker
LXC
Kubernetes
Verificaciones destacadas
LinPEAS realiza más de 80 tipos diferentes de verificaciones, incluyendo:
Este comando ejecuta LinPEAS con configuración predeterminada y filtra la salida para mostrar solo las líneas que contengan palabras clave relacionadas con vulnerabilidades y escalada de privilegios. Es ideal para:
Competiciones CTF donde el tiempo es limitado
Identificación rápida de vectores obvios
Reducir la cantidad de información a analizar
El filtrado con grep permite enfocarse inmediatamente en los hallazgos más críticos, aunque deberías revisar el informe completo después para no perder información valiosa.
Ejemplo 2: Ejecución completa en un pentesting profesional
# Ejecutar LinPEAS completo y guardar resultados detallados./linpeas.sh -a > cliente_servidor1_linpeas.txt# Alternativamente, usar la opción integrada de guardar./linpeas.sh -a -w /tmp/cliente_servidor1_linpeas.txt
Explicación
Este enfoque ejecuta LinPEAS con todas las verificaciones habilitadas (-a) y guarda la salida completa en un archivo para análisis posterior:
La opción -a activa TODAS las verificaciones, incluyendo las más lentas y ruidosas
Se guarda el resultado en un archivo con un nombre descriptivo que incluye el cliente y servidor
La segunda variante usa la opción integrada -w para guardar el archivo
Este método es ideal para pentesting profesional donde:
Necesitas documentación completa para el informe
Tienes tiempo para un análisis exhaustivo
Requieres evidencia de todos los hallazgos
Ejemplo 3: Ejecución sigilosa para evitar detección
# Ejecución en memoria con modo sigilosocurl -s https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh | sh -s -- -s -P -k "password|key|token|secret"
Explicación
Este comando está diseñado para minimizar la detección en un sistema objetivo:
Ejecuta LinPEAS directamente en memoria sin escribir en disco
Usa el modo sigiloso (-s) que reduce algunas comprobaciones ruidosas
Desactiva los colores (-P) para evitar caracteres extraños en logs
Usa -k para buscar específicamente palabras clave relacionadas con credenciales
Este enfoque es útil en:
Entornos con monitorización activa
Sistemas de producción donde minimizar el impacto es crucial
Escenarios de Red Team donde la evasión es prioritaria
Ejemplo 4: Análisis específico de contenedores
# Enfocarse solo en contenedores y Docker./linpeas.sh -t container# Analizar solo ciertas áreas de interés./linpeas.sh -e container,root_check,suid
Explicación
Estos comandos realizan verificaciones específicas:
El primer comando usa -t container para enfocarse solo en vulnerabilidades relacionadas con contenedores
El segundo comando utiliza -e para especificar múltiples áreas de interés: contenedores, verificaciones de root y binarios SUID
Este enfoque es especialmente útil cuando:
Ya conoces el área potencial de vulnerabilidad
Necesitas verificaciones específicas para confirmar una hipótesis
Quieres reducir el tiempo de ejecución centrándote en lo relevante
Trabajas en un entorno basado en contenedores (Docker, Kubernetes, etc.)
💡 Tips y Buenas Prácticas
Optimización del uso
graph TD
A[Optimizar uso de LinPEAS] --> B[Ejecutar modo adecuado]
A --> C[Gestionar la salida]
A --> D[Análisis post-ejecución]
A --> E[Combinar con otras herramientas]
B --> B1[Uso estándar: ./linpeas.sh]
B --> B2[Completo: ./linpeas.sh -a]
B --> B3[Sigiloso: ./linpeas.sh -s]
C --> C1[Redirección: > archivo.txt]
C --> C2[Guardar integrado: -w archivo.txt]
C --> C3[Filtrar: | grep]
D --> D1[Buscar términos clave]
D --> D2[Revisar hallazgos rojos primero]
D --> D3[Correlacionar con contexto]
E --> E1[LSE para verificación cruzada]
E --> E2[pspy para monitoreo de procesos]
E --> E3[Verificación manual de hallazgos]
Consejos para maximizar eficiencia
Adapta la ejecución al contexto: Usa modo sigiloso en entornos sensibles, completo en pruebas exhaustivas
Siempre guarda la salida: Los resultados son extensos y fáciles de perder
Filtra por colores: Busca términos como “33m” (amarillo) o “31m” (rojo) en la salida guardada
Verifica manualmente los hallazgos: LinPEAS detecta potenciales vectores, pero requieren verificación
Combina con herramientas específicas: Usa pspy para procesos, GTFOBins para explotar binarios
Correlaciona resultados: Un mismo vector puede aparecer en diferentes secciones
Casos de uso específicos
Escenario
Enfoque recomendado
Comando
CTF con tiempo limitado
Ejecución rápida y filtrado
`./linpeas.sh
Pentesting profesional
Ejecución completa con documentación
./linpeas.sh -a -w cliente_$(hostname)_$(date +%F).txt
Entorno monitorizado
Ejecución sigilosa en memoria
`curl -s […]/linpeas.sh
Análisis post-compromiso
Enfoque en credenciales y persistencia
./linpeas.sh -e creds,root_check,prop_vuln
Entorno containerizado
Verificaciones específicas de contenedores
./linpeas.sh -t container -e docker
Errores comunes y soluciones
Error
Problema
Solución
No se ve colorizado
Terminal no soporta colores o transferencia incorrecta
Usar -P para desactivar colores o -p para paleta alternativa
Script termina abruptamente
Protecciones antivirus o de monitoreo
Usar versión ligera o ejecutar por secciones con -e
Falsos positivos
Detección de configuraciones que no son explotables
Verificar manualmente los hallazgos importantes
No se detectan CVEs conocidas
Versión desactualizada de LinPEAS
Descargar la última versión del repositorio
Comando no encontrado
Sistema objetivo con shell limitado
Probar con versión linpeas_fat.sh que incluye binarios
Demasiada información
Difícil identificar vectores útiles
Usar grep para filtrar o ejecutar secciones específicas