DC-2
目录
- 环境搭建
- 渗透测试
环境搭建
- 靶机镜像下载地址:https://vulnhub.com/entry/dc-2,311/
- 需要将靶机和 kali 攻击机放在同一个局域网里;
- 本实验kali 的 IP 地址:192.168.10.146。
渗透测试
使用 nmap 扫描 192.168.10.0/24 网段存活主机
┌──(root💀kali)-[~/桌面]
└─# nmap -sP 192.168.10.0/24
经判断,目标主机IP地址为192.168.10.148。
扫描开放的服务。
只开放了http服务,尝试访问、探测网站类型。
┌──(root💀kali)-[~/桌面]
└─# whatweb http://192.168.10.148
但是提示错误:
ERROR Opening: http://dc-2/ - no address for dc-2
直接使用浏览器访问该地址,地址会自动跳转至http://dc-2,同时访问不成功。
这里需要添加dns记录
┌──(root💀kali)-[~/桌面]
└─# vim /etc/hosts
192.168.10.148 dc-2
再次访问,可以正常访问,同时通过wappalyzer获取网站基本信息。
或者使用whatweb获取相关信息
成功发现flag1
给的提示是
你通常的单词列表可能不起作用,所以相反,也许你只需要成为cewl。
更多的密码总是更好,但有时你就是无法赢得所有密码。
以一个身份登录以查看下一个标志。
如果您找不到它,请以其他身份登录。
这里提到了cewl,Cewl是一款采用Ruby开发的应用程序,可以给他的爬虫指定URL地址和爬取深度,还可以添加外部链接,接下来Cewl会给你返回一个字典文件。
使用cewl对目标网站进行爬虫,并生成字典。
┌──(root💀kali)-[~/桌面]
└─# cewl http://dc-2/ -w dc2.txt
统计共238行,按照提示,这个应该为密码字典。
但是浏览网页,没有可以登录的位置。而因为是WordPress,比较知名的cms,所以可以先尝试一下默认的后台地址,/wp-login.php
或/wp-admin
,如果不行,则需要使用网站目录扫描工具扫描网站后台~
由于是wordpress,针对于wordpress 有专门的扫描器 wpscan
,使用该扫描器进行扫描。
WPScan能够扫描WordPress网站中的多种安全漏洞,其中包括WordPress本身的漏洞、插件漏洞和主题漏洞,它不仅能够扫描类似robots.txt这样的敏感文件,而且还能够检测当前已启用的插件和其他功能。
┌──(root💀kali)-[~/桌面]
└─# wpscan --url http://dc-2/
使用-e u
来枚举用户
┌──(root💀kali)-[~/桌面]
└─# wpscan --url http://dc-2/ -e u
共枚举出三个用户,分别是 admin、jerry、tom
使用burpsuite尝试爆破一下
将刚才生成的密码字典导入
爆破出用户jerry和tom的密码,分别为adipiscing、parturient。
尝试登录
找到flag2
提示:
如果你不能利用WordPress并走捷径,还有另一种方法。
希望你找到了另一个切入点。
提示告诉我们,不能再利用WordPress了~ 但是通过刚该是的namp扫描只扫到了一个80端口(这里注意:默认扫描的端口是常见的 1000个端口)。
尝试扫描所有端口试试,使用-p-
。
┌──(root💀kali)-[~/桌面]
└─# nmap -sV 192.168.10.148 -p-
果然,有一个7744端口,并且对应的服务是ssh。
先尝试使用刚才的用户名和密码登录试试~
成功登录tom用户。
在当前目录下发现flag3.txt,但是cat命令不能用,不过可以使用less查看。
提示:
Poor old Tom is always running after Jerry. Perhaps he should su for all the stress he causes.
可怜的老汤姆总是追赶杰瑞。也许他应该为他造成的所有压力而起诉。
将目标指向了Jerry。
尝试切换到jerry,但是提示su命令不存在。(应该-rbash的原因)
切换到其他shell试试,但是提示不能添加“/”
绕过-rbash:
tom@DC-2:~$ BASH_CMDS[a]=/bin/sh;a
$ export PATH=$PATH:/bin
输入先前爆破出来的密码adipiscing,成功切换。
在jerry的家目录下找到了flag4。
提示:
很高兴看到你走了这么远——但你还没到家。
你仍然需要得到最终的旗帜(唯一真正重要的旗帜!!!)。
这里没有暗示-你现在独自一人了。:-)
继续 - git outta here!!!!
发现flag4,已经没有什么提示了,唯一提示是 -git,考虑使用git命令进行提权。
使用sudo查看授权的命令~
发现有一个git命令,并且不需要密码。
使用git命令提权,执行sudo git -p help
,强制进入交互状态(让页面缓冲区无法显示全部信息,放大字体即可)。
- 当
git -p help
命令执行完,如果内容再页面上显示不完,就会进入交互状态,和less类似~此时可以输入!/bin/bash
,以root身份进入bash(因为加了sudo)。
成功拿到最终的flag。
🔗Reference:DC-2
- cewl:https://blog.csdn.net/qq_43168364/article/details/111773051
- dc-2通关:https://blog.csdn.net/weixin_45677119/article/details/111810783
- https://www.freebuf.com/articles/system/188989.html
- https://blog.csdn.net/weixin_43705814/article/details/111879362
- RBash:https://cloud.tencent.com/developer/article/1680551
- https://www.hackingarticles.in/multiple-methods-to-bypass-restricted-shell/
- https://www.hackingarticles.in/penetration-testing/