打靶日记——prime1
字数 1592 2025-08-29 08:29:36
Prime1 靶机渗透测试教学文档
1. 信息收集阶段
1.1 初始扫描
- 使用端口扫描工具(如nmap)发现目标主机开放两个端口:
- SSH端口(通常为22)
- HTTP端口(80)
1.2 Web目录爆破
- 使用目录爆破工具(如dirb、dirbuster或gobuster)扫描80端口
- 发现以下重要目录/文件:
/dev目录:包含提示信息,建议继续挖掘网站信息- WordPress安装痕迹
- 隐藏的文本文件(如location.txt)
2. 渗透阶段
2.1 文件包含漏洞利用
- 通过扫描发现index.php和image.php两个PHP文件
- 对index.php进行参数Fuzz测试(使用wfuzz工具)
- 发现可用的参数
- 尝试包含location.txt文件,获得提示:尝试使用
secrettier360参数
- 在image.php页面测试文件包含漏洞
- 成功包含/etc/passwd文件
- 从中发现有用线索
2.2 WordPress后台入侵
- 从包含的文件中获得密码
- 尝试登录WordPress后台
- 首先尝试admin用户失败
- 通过查看主页发现有效用户,使用该用户成功登录
- 获取Web Shell:
- 通过主题编辑功能写入PHP Shell
- 利用WordPress默认主题存储路径(如/wp-content/themes/twentytwenty/)
- 设置监听端口并访问Shell页面获取反向Shell
3. 提权阶段
3.1 初始提权尝试
- 查看/home/saket目录获取用户flag
- 尝试常规提权方法:
- SUID提权:使用
find / -perm -u=s -type f 2>/dev/null查找,无可用 - 内核提权:发现老旧内核版本,寻找可用提权脚本
- SUID提权:使用
3.2 内核提权
- 在攻击机(Kali)上准备提权脚本
- 在靶机上建立文件传输:
- 使用wget或PHP简易服务器传输文件
- 在/tmp目录下编译执行提权脚本
- 成功获取root权限和root flag
4. 替代提权路径(更符合靶机设计意图)
4.1 加密文件分析
- 在/home/saket目录下发现可执行的enc文件
- 尝试使用之前获得的密码执行,发现需要root权限
- 查找密码相关文件:
- 使用
find / -name "*pass*"查找可能包含密码的文件 - 分析找到的文件,获取有效密码
- 使用
4.2 OpenSSL解密
- 发现加密文件和密钥提示
- 对提示字符串"ippsec"进行MD5加密获得密钥
- 尝试多种OpenSSL加密方式解密文件:
# 示例解密脚本 import os methods = ['aes-128-cbc', 'aes-256-cbc', 'des', ...] # 常见加密方法 ciphertext = "nzE+iKr82Kh8BOQg0k/LViTZJup+9DReAsXd/PCtFZP5FHM7WtJ9Nz1NmqMi9G0i7rGIvhK2jRcGnFyWDT9MLoJvY1gZKI2xsUuS3nJ/n3T1Pe//4kKId+B3wfDW/TgqX6Hg/kUj8JO08wGe9JxtOEJ6XJA3cO/cSna9v3YVf/ssHTbXkb+bFgY7WLdHJyvF6lD/wfpY2ZnA1787ajtm+/aWWVMxDOwKuqIT1ZZ0Nw4=" key = "366a74cb3c959de17d61db30591c39d1" # ippsec的MD5值 for method in methods: os.system(f'openssl enc -d -{method} -a -K {key} -in encrypted_file') - 成功解密获得saket用户的SSH密码
4.3 SSH登录与最终提权
- 使用获得的密码通过SSH登录saket账户
- 检查sudo权限:
- 发现特定文件可以sudo执行
- 创建/tmp/challenge文件并写入反向Shell
- 给予执行权限:
chmod +x /tmp/challenge - 通过sudo执行获取root shell
- 给予执行权限:
- 成功获取root flag
5. 关键工具与技术总结
| 工具/技术 | 用途 |
|---|---|
| nmap | 端口扫描 |
| dirb/dirbuster | 目录爆破 |
| wfuzz | 参数Fuzz测试 |
| PHP文件包含 | 读取系统文件 |
| WordPress主题编辑 | 写入Web Shell |
| 内核提权脚本 | 利用漏洞提升权限 |
| OpenSSL | 文件解密 |
| find命令 | 查找敏感文件 |
6. 学习要点
-
信息收集是渗透测试的核心:
- 全面扫描和记录所有发现
- 不放过任何提示和线索
-
多种提权路径:
- 内核提权
- SUID提权
- Sudo权限滥用
- 密码重用分析
-
加密文件分析技巧:
- 识别常见加密模式
- 系统化尝试解密方法
-
靶机设计意图理解:
- 遵循提示信息
- 尝试预期路径解决问题