From 94283199b3dc68d7d9f73c84e7c4a0481da4a3ce Mon Sep 17 00:00:00 2001 From: Translator Date: Sun, 13 Jul 2025 21:25:11 +0000 Subject: [PATCH] Translated ['src/network-services-pentesting/pentesting-telnet.md'] to z --- .../pentesting-telnet.md | 62 ++++++++++++++++++- 1 file changed, 59 insertions(+), 3 deletions(-) diff --git a/src/network-services-pentesting/pentesting-telnet.md b/src/network-services-pentesting/pentesting-telnet.md index 4db3880ab..377ce71f9 100644 --- a/src/network-services-pentesting/pentesting-telnet.md +++ b/src/network-services-pentesting/pentesting-telnet.md @@ -27,9 +27,9 @@ nmap -n -sV -Pn --script "*telnet* and safe" -p 23 **我知道可以枚举这些选项,但我不知道怎么做,所以如果你知道怎么做,请告诉我。** -### [Brute force](../generic-hacking/brute-force.md#telnet) +### [暴力破解](../generic-hacking/brute-force.md#telnet) -## Config file +## 配置文件 ```bash /etc/inetd.conf /etc/xinetd.d/telnet @@ -67,4 +67,60 @@ Note: sourced from https://github.com/carlospolop/legion Command: msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_version; set RHOSTS {IP}; set RPORT 23; run; exit' && msfconsole -q -x 'use auxiliary/scanner/telnet/brocade_enable_login; set RHOSTS {IP}; set RPORT 23; run; exit' && msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_encrypt_overflow; set RHOSTS {IP}; set RPORT 23; run; exit' && msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_ruggedcom; set RHOSTS {IP}; set RPORT 23; run; exit' ``` -{{#include ../banners/hacktricks-training.md}} +### Recent Vulnerabilities (2022-2025) + +* **CVE-2024-45698 – D-Link Wi-Fi 6 routers (DIR-X4860)**: 内置的 Telnet 服务接受硬编码凭据,并未对输入进行清理,允许通过在端口 23 上发送精心构造的命令以 root 身份进行未经身份验证的远程 RCE。已在固件 ≥ 1.04B05 中修复。 +* **CVE-2023-40478 – NETGEAR RAX30**: Telnet CLI `passwd` 命令中的基于栈的缓冲区溢出使得相邻攻击者能够绕过身份验证并以 root 身份执行任意代码。 +* **CVE-2022-39028 – GNU inetutils telnetd**: 一个两字节序列 (`0xff 0xf7` / `0xff 0xf8`) 触发 NULL 指针解引用,可能导致 `telnetd` 崩溃,经过几次崩溃后导致持久的 DoS。 + +在进行漏洞分类时,请记住这些 CVE——如果目标运行的是未修补的固件或遗留的 inetutils Telnet 守护进程,您可能会有直接的代码执行或破坏性 DoS 的路径。 + +### Sniffing Credentials & Man-in-the-Middle + +Telnet 以 **明文** 传输所有内容,包括凭据。捕获它们的两种快速方法: +```bash +# Live capture with tcpdump (print ASCII) +sudo tcpdump -i eth0 -A 'tcp port 23 and not src host $(hostname -I | cut -d" " -f1)' + +# Wireshark display filter +tcp.port == 23 && (telnet.data || telnet.option) +``` +对于主动的MITM,结合ARP欺骗(例如`arpspoof`/`ettercap`)与相同的嗅探过滤器,以在交换网络上收集密码。 + +### 自动化暴力破解 / 密码喷洒 +```bash +# Hydra (stop at first valid login) +hydra -L users.txt -P rockyou.txt -t 4 -f telnet:// + +# Ncrack (drop to interactive session on success) +ncrack -p 23 --user admin -P common-pass.txt --connection-limit 4 + +# Medusa (parallel hosts) +medusa -M telnet -h targets.txt -U users.txt -P passwords.txt -t 6 -f +``` +大多数物联网僵尸网络(Mirai 变种)仍然使用小型默认凭证字典扫描 23 端口——镜像该逻辑可以快速识别弱设备。 + +### 利用与后利用 + +Metasploit 有几个有用的模块: + +* `auxiliary/scanner/telnet/telnet_version` – 横幅和选项枚举。 +* `auxiliary/scanner/telnet/brute_telnet` – 多线程暴力破解。 +* `auxiliary/scanner/telnet/telnet_encrypt_overflow` – 针对易受攻击的 Solaris 9/10 Telnet(选项 ENCRYPT 处理)的 RCE。 +* `exploit/linux/mips/netgear_telnetenable` – 在许多 NETGEAR 路由器上通过构造的数据包启用 telnet 服务。 + +获得 shell 后,请记住 **TTY 通常是简单的**;使用 `python -c 'import pty;pty.spawn("/bin/bash")'` 升级或使用 [HackTricks TTY tricks](/generic-hacking/reverse-shells/full-ttys.md)。 + +### 加固与检测(蓝队角落) + +1. 优先使用 SSH 并完全禁用 Telnet 服务。 +2. 如果需要 Telnet,仅将其绑定到管理 VLAN,强制执行 ACL,并使用 TCP 包装器包装守护进程(`/etc/hosts.allow`)。 +3. 用 `ssl-telnet` 或 `telnetd-ssl` 替换遗留的 `telnetd` 实现,以添加传输加密,但 **这仅保护数据在传输中——密码猜测仍然很简单**。 +4. 监控到 23 端口的出站流量;妥协通常会通过 Telnet 生成反向 shell,以绕过严格的 HTTP 出口过滤器。 + +## 参考 + +* D-Link 通告 – CVE-2024-45698 关键 Telnet RCE。 +* NVD – CVE-2022-39028 inetutils `telnetd` DoS。 + +{{#include /banners/hacktricks-training.md}}