针对 Linux 系统的攻击案例
摘要: 本文分析了两类典型Linux系统攻击案例。**Dirty Cow漏洞(CVE-2016-5195)**利用Linux内核竞争条件漏洞,通过修改系统文件(如/etc/passwd)或注入SUID程序实现本地提权,攻击者可在获取低权限后轻易升级至root权限,影响范围覆盖2007-2016年的Linux系统。Mirai僵尸网络则针对物联网设备,通过扫描并暴力破解默认弱口令(如root:admi
案例一:Dirty Cow(脏牛)漏洞攻击链 —— 针对服务器的本地权限提升
CVE编号: CVE-2016-5195
影响范围: 自 2007 年(Linux 内核 2.6.22)起,几乎所有版本的 Linux 内核,直至 2016 年 10 月修复。
漏洞类型: 内核竞争条件漏洞,导致可写的内存页被错误地映射到只读文件。
攻击场景与步骤
这通常不是一次独立的攻击,而是攻击者在已经获得一个低权限的 Linux 系统访问权(例如,通过 Web 应用漏洞获得了一个 www-data 用户的 shell)后,用于提权至 root 权限的关键一步。
-
初始入侵:攻击者首先通过其他方式获得一个低权限 shell。例如:
- 利用 WordPress 插件漏洞上传 webshell。
- 通过 SSH 弱口令猜解获得一个普通用户账号。
- 利用一个远程服务(如 Samba, MySQL)的漏洞获得执行权限。
-
信息收集:攻击者登录后,运行
uname -a等命令查看内核版本,发现其版本在受影响范围内。 -
漏洞利用:攻击者上传或在线编译针对“脏牛”漏洞的利用程序(Exploit)。该程序的工作原理是:
- 利用 Linux 内核内存管理子系统中的“写时复制”和“内存映射”机制的竞争条件。
- 通过多线程反复“竞态”操作,最终能够写入原本只读的内存映射页面,而这个页面可能属于一个重要的系统文件。
-
提权操作:标准的利用方式是修改
/etc/passwd文件或向SUID文件(如/bin/bash)注入代码。- 修改
/etc/passwd:在root用户行,将其密码哈希值替换为一个已知的哈希(例如,用openssl生成一个密码为 “pwned” 的哈希),或者添加一个具有root权限的新用户(UID=0)。修改成功后,攻击者即可直接用新密码切换到root用户。 - SUID 提权:将
/usr/bin/passwd这类SUID文件替换为恶意的、自带root shell的程序。
- 修改
-
获取完全控制:利用成功后,攻击者获得
root权限,可以:- 安装后门、Rootkit 以维持持久化访问。
- 横向移动,攻击内网其他机器。
- 窃取服务器上所有数据。
- 将服务器变成僵尸网络节点。
为何此案例极具代表性?
- 影响范围极广:潜伏近 10 年,影响全球数十亿台服务器、PC 和安卓设备。
- 利用稳定可靠:利用代码公开后,攻击门槛极低,几乎“一击必中”。
- 攻击闭环的“临门一脚”:完美展示了攻击链中“权限提升”这一关键环节,是无数服务器失陷的最后一根稻草。
- 内核级漏洞的威力:证明了内核的一个微小逻辑缺陷,足以彻底瓦解整个系统的安全根基。
案例二:Mirai 僵尸网络 —— 针对物联网设备的大规模自动化攻击
时间: 2016年
目标: 全球基于 Linux 的物联网设备(网络摄像头、路由器、DVR 录像机等)。
漏洞利用: 并非单一高危漏洞,而是利用设备出厂默认/弱口令进行暴力破解。
攻击场景与步骤
这是一个完全自动化、规模化的攻击模式,目标是组建一个庞大的“僵尸网络”以发动 DDoS 攻击。
-
扫描与发现:Mirai 的控制服务器(C&C)持续向互联网随机 IP 地址段的特定端口(如 Telnet: 23, SSH: 22)发送探测包。
-
暴力破解登录:一旦发现开放端口,僵尸程序会使用一个内置的62组用户名密码字典进行登录尝试。这些密码都是设备出厂时的默认或通用弱密码,例如:
root:adminadmin:adminsupport:supportroot:xc3511(某特定摄像头品牌默认密码)
-
感染与植入:一旦登录成功,僵尸程序会执行一系列命令:
- 检测设备架构(ARM, MIPS等),下载对应的恶意二进制文件。
- 杀死设备上可能存在的其他恶意软件进程(Mirai 会“独占”设备)。
- 将自身写入设备启动项,实现持久化。
- 隐藏进程,并关闭 Telnet/SSH 端口以防被其他攻击者或研究人员登录。
-
组建僵尸网络:被感染的设备(称为“肉鸡”或“僵尸”)会定期向 C&C 服务器报告,接收指令。
-
发动攻击:攻击者通过 C&C 下达指令,指挥数十万甚至百万台被控设备,同时对单一目标发动多种类型的 DDoS 攻击,例如:
- TCP Flood、UDP Flood:耗尽目标网络带宽。
- HTTP Flood:模拟大量正常 HTTP 请求,耗尽目标 Web 服务器资源。
- DNS 水刑攻击:利用开放的 DNS 解析器放大攻击流量。
为何此案例极具代表性?
- 攻击 IoT 的典范:精准抓住了 Linux 嵌入式设备安全“原罪”:1) 从不更新;2) 弱/默认密码;3) 服务暴露于公网。
- 破坏力惊人:2016年,Mirai 僵尸网络发动了当时历史上最大规模的 DDoS 攻击:
- 攻击了网络安全记者布莱恩·克雷布斯的网站,峰值流量达 620 Gbps。
- 攻击了法国主机商 OVH,峰值流量达 1 Tbps。
- 攻击了美国 DynDNS 公司,导致大半个美国互联网(Twitter, GitHub, Netflix, Reddit 等)瘫痪数小时。
- 商业模式成熟:Mirai 的源代码被公开后,催生了一个“DDoS 即服务”的黑产产业链,任何人均可租用类似的僵尸网络进行攻击。
- 暴露了供应链安全瘫痪:设备制造商、销售商、消费者和运营商没有一方对设备的安全生命周期负责,造成了全球性的、持续至今的网络安全威胁。
总结与对比
| 特性 | Dirty Cow 攻击链 | Mirai 僵尸网络 |
|---|---|---|
| 目标 | 单台高价值服务器(提权、控制) | 海量低安全性物联网设备(组建军队) |
| 入口 | Web漏洞、弱口令等(获得低权限) | Telnet/SSH默认弱口令(直接获得root) |
| 核心漏洞 | 内核级代码缺陷(CVE) | 供应链与配置缺陷(弱口令、不更新) |
| 攻击性质 | 针对性、后渗透阶段 | 自动化、大规模扫描感染 |
| 终极目的 | 数据窃取、长期潜伏、横向移动 | 发动DDoS攻击、敲诈勒索、破坏服务 |
| 反映的深层问题 | 1. 开源内核代码质量与审计挑战 2. 补丁管理的重要性 |
1. IoT设备安全生命周期缺失 2. 默认不安全的行业生态 3. 互联网基础架构的脆弱性 |
一方面,攻击者会利用复杂的代码漏洞攻破坚固的服务器堡垒;另一方面,他们更会利用简单的生态和管理漏洞,将数以百万计的边缘设备转化为攻击武器。这要求防御者既要关注每一处代码细节,也要有全局的供应链和资产管理视野。
更多推荐

所有评论(0)