Vulnhub-DC-2
Vulnhub-DC-2
靶机信息
下载链接
https://download.vulnhub.com/dc/DC-2.zip
靶机介绍
与 DC-1 非常相似,DC-2 是另一个专门建造的易受攻击的实验室,目的是在渗透测试领域获得经验。与最初的 DC-1 一样,它的设计考虑到了初学者。必须具备 Linux 技能和熟悉 Linux 命令行,以及一些基本渗透测试工具的经验。就像 DC-1 一样,有五个标志,包括最终标志。再一次,就像 DC-1 一样,标志对初学者很重要,但对有经验的人来说并不那么重要。
目标
Boot to root
运行环境
靶机:NAT模式,靶机自动获取IP
攻击机:Windows10、kali linux2021.1
信息收集
目标发现
arp-scan-l
成功发现目标机IP为192.168.160.193
端口和服务识别
使用nmap扫描1-65535全端口,并做服务指纹识别,扫描结果保存到txt文件,命令:
nmap -p1-65535 -A 172.20.10.7 -oN dc2.txt
发现目标靶机端口和服务
#端口 协议 后端服务
TCP 80 HTTP APache httpd 2.4.10(debian)
tcp 7744 SSH Openssh 6.7p1
主页信息收集
尝试访问80端口
发现输入的IP地址变为域名,初步猜测为域名重定向,进入/etc/hosts,进行配置,添加如下内容
再次访问,成功访问目标主页
并发现有个标题为Flag,点击查看,成功发现第一个Flag,并提示我们用CeWL(CeWL是一款以爬虫模式在指定URL上收集单词的工具,可以将它收集到的单词纳入密码字典,以提高密码破解工具的成功率。)
目录扫描
dirb http://dc-2
尝试访问得到的多个目录,发现wordpress后台登录页面http://dc-2/wp-admin
渗透阶段
Cewl扫描生成字典
根据前面的提示(要使用cewl工具),这里直接开始扫描并生成字典:pass.dic
cewl http://dc-2/ -w pass.dic
wpscan枚举爆破
上面得到了密码字典,因为目标靶机使用的是wordpress框架,所以这里直接抬一手wpscan枚举用户名,来得到用户名字典,而后爆破上面得到的后台页面
wpscan --url http://dc-2/ -e u
成功获取
将上面枚举的3个用户名,写入user.dic,用户名字典,并用wpscan爆破
wpscan --url http://dc-2/ -U user.dic -P pass.dic
成功爆破,得到两个用户名和密码
jerry / adipiscing
tom / parturient
使用jerry用户和tom用户登入网站后台,用户jerry登录成功,Tom不行,登录成功后发现第二个Flag
这里提示我们用exp去打wordpress是不可能的,希望我们找另外一条路。
ssh登录
尝试用之前得到的用户名和密码登录ssh(7744),最终Tom登录成功
rbash限制绕过
查看当前目录下的文件,发现第三个flag,但是发现shell命令受限,不能查看
这里是rbash限制,需要绕过
有很多不同的限制外壳可供选择。其中一些只是普通的shell,有一些简单的常见限制,实际上并不是可配置的,例如rbash(限制Bash)rzsh和rksh(受限模式下的Korn Shell),这些都非常容易绕过。其他人有一个完整的配置集,可以重新设计以满足管理员的需求,如lshell(Limited Shell)和rssh(Restricted Secure Shell)。
一旦配置可以被管理员收紧,可配置的shell就更难以绕过。在这些shell上绕过技术通常依赖于管理员有点被迫为普通用户提供某些不安全命令的事实。。如果在没有适当安全配置的情况下允许,它们会为攻击者提供升级权限的工具,有时还会向root用户升级。
其他原因是,有时管理员只是Linux系统管理员,而不是真正的安全专业人员,因此从渗透测试人员的角度来看,他们并不真正了解部队的方式,并最终允许太多危险命令。
然后小弟就一顿谷歌,找到了一篇比较全面的绕过方法,参考链接:https://fireshellsecurity.team/restricted-linux-shell-escaping-techniques/
绕过:
#把/bin/bash给a变量,绕过首先的shellBASH_CMDS[a]=/bin/sh;a#使用并添加环境变量,将/bin 作为PATH环境变量导出export PATH=$PATH:/bin/ #将/usr/bin作为PATH环境变量导出export PATH=$PATH:/usr/bin
成功绕过,并查看flag3.txt,获得第3个flag
这里提示我们要su 切换用户。
切换用户到jerry,并进入到jerry用户的目录,从查看文件,发现第4个flag
提示还不是最终的flag,提示git,查看sudo配置文件sudo l
,发现git是root,不用密码可以运行,搜索git提权
git提权
使用 sudo git -p help 且一页不能显示完,在最底下面输入 !/bin/bash
,最后完成提权
cd 到root目录下,查看文件,发现最后一个flag,并查看
至此,DC-2靶机渗透完毕。
个人博客地址:www.zhiji.icu
欢迎关注公众号:知己安全