BANSHEE
What it is — BANSHEE automates the search for Linux privilege escalation vectors. It runs directly on the target machine once initial access is gained: it walks through the most common vectors (sudo, SUID, capabilities, cron, kernel, containers...) and finishes with a severity-ranked summary showing the exact exploit for each finding. The second piece of my toolkit, meant to run right after REAPER.
| Type | CLI · Python 3.10+ |
| License | MIT |
| Platform | Linux (runs on the target) |
| Use | Authorised environments only (HTB, THM, VulnHub, your own labs) |
| Repo | github.com/DonTrebor1/BANSHEE |
How to use it
Upload the script to the target machine and run every phase automatically:
python3 banshee.py --auto
Preview the phase plan without running anything:
python3 banshee.py --plan
Resume a previous session:
python3 banshee.py --resume banshee_output/banshee_state.json
Phases
| # | Phase | What it detects |
|---|---|---|
| 1 | System | User, kernel, OS, env vars with credentials, users with a shell |
| 2 | sudo | NOPASSWD + 30+ GTFOBins binaries + LD_PRELOAD |
| 3 | SUID/SGID | 25+ known dangerous SUID binaries |
| 4 | Capabilities | cap_setuid, cap_sys_admin, cap_dac_read_search, etc. |
| 5 | Cron | Writable cron scripts + pspy-style detection |
| 6 | Files | /etc/passwd+shadow, SSH keys, configs with passwords, backups |
| 7 | Kernel | Dirty Pipe, Dirty COW, PwnKit, overlayfs + linux-exploit-suggester |
| 8 | Services | Local ports (MySQL, Redis, MongoDB, Elasticsearch...) |
| 9 | Containers | docker/lxd/disk groups + container environment detection |
| 10 | Summary | Every vector ranked by severity [CRITICAL → LOW] |
The design goal is simple: instead of running 5 different scripts (linpeas, linenum, a manual GTFOBins check...) and cross-referencing the output by hand, BANSHEE does that cross-referencing automatically and prioritises by severity, not by execution order.
Output
banshee_output/
├── banshee_state.json # Full state
├── sysinfo.txt # System information
├── sudo.txt # sudo permissions
├── suid.txt # SUID/SGID binaries
├── capabilities.txt # Linux capabilities
├── cron.txt # Cron jobs
├── files.txt # Sensitive files
├── kernel.txt # Kernel analysis
├── services.txt # Services and processes
└── containers.txt # Docker/LXD/groups
Flow with the rest of the toolkit
REAPER -> external recon (ports, subdomains, technologies)
|
Initial access gained
|
BANSHEE -> Linux privesc (sudo, SUID, cron, kernel, containers...)
|
If the system is Windows AD:
|
LAZARUS -> full AD attack chain
⚠️ Legal notice: exclusively for controlled, authorised practice environments. Using it against systems without explicit authorisation is illegal.
Repository
Qué es — BANSHEE automatiza la búsqueda de vectores de escalada de privilegios en sistemas Linux. Se ejecuta directamente en la máquina objetivo una vez obtenido el acceso inicial: recorre los vectores más comunes (sudo, SUID, capabilities, cron, kernel, contenedores...) y al final muestra un resumen ordenado por severidad con el exploit exacto para cada hallazgo. Segunda pieza de mi toolkit, pensada para usarse justo después de REAPER.
| Tipo | CLI · Python 3.10+ |
| Licencia | MIT |
| Plataforma | Linux (se ejecuta en el objetivo) |
| Uso | Solo entornos autorizados (HTB, THM, VulnHub, labs propios) |
| Repo | github.com/DonTrebor1/BANSHEE |
Uso
Subir el script a la máquina objetivo y ejecutar todas las fases automáticamente:
python3 banshee.py --auto
Ver el plan de fases sin ejecutar nada:
python3 banshee.py --plan
Reanudar una sesión anterior:
python3 banshee.py --resume banshee_output/banshee_state.json
Fases
| # | Fase | Qué detecta |
|---|---|---|
| 1 | Sistema | Usuario, kernel, OS, variables de entorno con credenciales, usuarios con shell |
| 2 | sudo | NOPASSWD + 30+ binarios GTFOBins + LD_PRELOAD |
| 3 | SUID/SGID | 25+ binarios SUID peligrosos conocidos |
| 4 | Capabilities | cap_setuid, cap_sys_admin, cap_dac_read_search, etc. |
| 5 | Cron | Scripts de cron escribibles + detección con pspy |
| 6 | Archivos | /etc/passwd+shadow, claves SSH, configs con contraseñas, backups |
| 7 | Kernel | Dirty Pipe, Dirty COW, PwnKit, overlayfs + linux-exploit-suggester |
| 8 | Servicios | Puertos locales (MySQL, Redis, MongoDB, Elasticsearch...) |
| 9 | Contenedores | Grupos docker/lxd/disk + detección de entorno contenedor |
| 10 | Resumen | Todos los vectores ordenados por severidad [CRÍTICO → BAJO] |
El objetivo del diseño es simple: en vez de lanzar 5 scripts distintos (linpeas, linenum, un chequeo de GTFOBins manual...) y cruzar la información a mano, BANSHEE hace ese cruce automáticamente y prioriza por severidad, no por orden de ejecución.
Output
banshee_output/
├── banshee_state.json # Estado completo
├── sysinfo.txt # Información del sistema
├── sudo.txt # Permisos sudo
├── suid.txt # Binarios SUID/SGID
├── capabilities.txt # Linux capabilities
├── cron.txt # Cron jobs
├── files.txt # Archivos sensibles
├── kernel.txt # Análisis de kernel
├── services.txt # Servicios y procesos
└── containers.txt # Docker/LXD/grupos
Flujo con el resto del toolkit
REAPER -> reconocimiento externo (puertos, subdominios, tecnologías)
|
Acceso inicial obtenido
|
BANSHEE -> privesc Linux (sudo, SUID, cron, kernel, contenedores...)
|
Si el sistema es Windows AD:
|
LAZARUS -> cadena completa de ataque AD
⚠️ Aviso legal: exclusivamente para entornos de práctica controlados y autorizados. Usarlo contra sistemas sin autorización explícita es ilegal.