系统层攻击流程涉及多个阶段,攻击者通过逐步渗透以获取控制权或窃取数据。以下是详细的流程及防御措施:
1. 侦察(Reconnaissance)
- 信息收集:
- 主动扫描:使用工具如Nmap、Masscan扫描目标IP、开放端口、服务版本。
- 被动侦察:通过公开资源(Shodan、Censys)或DNS记录获取系统信息。
- 漏洞匹配:比对CVE、Exploit-DB等数据库,寻找已知漏洞(如Apache Log4j漏洞)。
2. 入侵(Initial Access)
- 漏洞利用:
- 利用远程代码执行(RCE)漏洞(如永恒之蓝)、缓冲区溢出或SQL注入。
- 使用Metasploit、Cobalt Strike等工具生成攻击载荷。
- 社会工程:钓鱼邮件、恶意附件诱导用户执行代码(如宏病毒)。
- 弱配置利用:攻击默认凭证(如admin/admin)、未鉴权的服务(Redis)。
3. 权限提升(Privilege Escalation)
- 内核漏洞利用:如脏牛(CVE-2016-5195)、sudo提权漏洞(CVE-2021-3156)。
- 配置错误:
- 滥用SUID/SGID文件(find / -perm -4000)。
- 利用计划任务、服务权限(如D-Bus配置错误)。
- 凭证窃取:从内存中提取密码(Mimikatz)、读取敏感文件(/etc/shadow)。
4. 持久化(Persistence)
- 后门植入:
- 添加SSH密钥、创建隐藏用户(useradd -o -u 0)。
- 部署Webshell(PHP、ASPX)或内存马。
- 启动项修改:
- Linux:/etc/rc.local、cron jobs。
- Windows:注册表(Run键)、计划任务。
- Rootkit:隐藏进程、文件(如Alureon、Adore-ng)。
5. 横向移动(Lateral Movement)
- 内部侦察:
- 扫描内网(ARP扫描、SMB枚举)。
- 提取域控信息(BloodHound、PowerView)。
- 凭证重用:传递哈希(Pass-the-Hash)、票据传递(Pass-the-Ticket)。
- 漏洞扩散:利用内网服务漏洞(如Zerologon攻击域控)。
6. 目标达成(Data Exfiltration/Destruction)
- 数据窃取:
- 压缩加密数据后外传(通过HTTP/DNS隧道)。
- 窃取数据库(MySQL dump)、配置文件(.env)。
- 破坏行动:
- 勒索软件加密文件(如WannaCry)。
- 删除关键系统文件(rm -rf /*)。
7. 清理痕迹(Covering Tracks)
- 日志篡改:
- 删除/var/log/auth.log、Windows事件日志(wevtutil)。
- 使用工具如logzapper清除特定记录。
- 时间戳伪装:修改文件时间(touch -r)。
- 反取证:使用内存执行(无文件攻击)、覆盖磁盘空间。
防御措施
- 补丁管理:及时更新系统及软件(如Apache、OpenSSL)。
- 最小化攻击面:
- 关闭无用端口(iptables/nftables)。
- 禁用默认账户、强化SSH配置(禁用root登录)。
- 权限控制:
- 遵循最小权限原则,限制sudo权限。
- 使用AppArmor/SELinux限制进程行为。
- 监控与检测:
- 部署IDS/IPS(Snort、Suricata)、EDR(端点检测)。
- 分析日志(ELK Stack)、设置异常流量告警。
- 网络分段:隔离敏感区域(VLAN划分)、零信任架构。
- 备份与演练:定期备份、制定应急响应计划(如隔离被攻陷主机)。
总结
系统层攻击是逐步深入的链条式过程,防御需覆盖全生命周期,结合技术与管理措施,形成纵深防御体系。定期渗透测试和红蓝对抗可有效检验防护能力。