DC-2靶机下载:
官网地址:https : //download.vulnhub.com/dc/DC-2.zip
渗透测试环境
攻击机(kali):192.168.37.131
DC-2靶机:未知
注意:这里的攻击机和靶机都在NAT模式下,环境配置要一致
渗透测试过程
一、探测目标靶机的IP地址
扫描当前网段内其他IP地址
命令:
arp-scan -l
可以发现靶机的IP地址为:192.168.37.135
二、探测端口和服务
使用 nmap 扫描目标地址
命令:
nmap -A -p- 192.168.37.135
可以发现其80和7744端口开放
扫描出来可以就可以发现80端口存在一个无法重定向的问题,我们访问网页无法重定向到dc-2这个域名中,则需要修改一下hosts文件
kali的hosts文件路径为:/etc/hosts
vim /etc/hosts
添加一条:
192.168.37.135 dc-2
添加完成后即可访问网站
网站指纹识别为WordPress框架
三、获取flag
flag1
访问网站可以发现一个flag超链接
点击跳转即可获得flag1
flag2
根据flag1提示:
你通常的单词列表可能不起作用,所以相反,也许你只是
需要 cewl。
密码越多越好,但有时你就是赢不了
他们都是。
以一个身份登录以查看下一个标志。
如果找不到它,请以其他人身份登录。
感觉存在一个登录页面,利用cewl生成一个字典然后进行爆破
顺着这个想法对改网站进行目录扫描
使用dirb命令扫描该网站
扫描成功后点击一个网页便自动跳转到一个登陆页面
使用 cewl 爬取该网页可用于密码破解的字典
cewl http://dc-2 >> passwd.txt
得到了密码的字典自然需要一个用户名字典
可以利用 wpscan 工具爆破该网站的用户名
wpscan --url http://dc-2/ --enumerate u
# -- enumerate u 参数告诉WPScan枚举用户信息
得到用户名admin、jerry、tom,再利用 WPScan 爆破正确的账户和密码
wpscan --url http://dc-2/ --passwords passwd.txt
最后成功得到两个用户和密码
这里我使用 jerry 用户登录
在 Pages 中得到了flag2
flag2的提示:
如果您无法利用WordPress并走捷径,还有另一种方法。
希望你找到了另一个切入点。
flag3
根据flag2的提示,让我们寻找其他的方法
在探测端口和服务的时候可以发现靶机开放了一个ssh端口,只不过不是默认的22端口,是7744端口,尝试利用jerry和tom账户ssh连接
ssh jerry@192.168.37.135 -p 7744
ssh tom@192.168.37.135 -p 7744
jerry账户无法利用账户密码连接ssh,tom账户可以连接ssh
使用tom目录查看当前文件夹下的文件可以发先flag3.txt文件,使用 cat 命令显示存在 rbash 限制,这里可以用 vi 来查看flag3.txt文件中的内容
flag3的提示:
可怜的老汤姆总是追着杰瑞跑。也许他应该为他带来的所有压力而努力
flag4
在flag3的提示中,提示了“su”,可能需要用到sudo提权
尝试 su 切换 jerry 用户,发现 su 命令和一些常用命令用不了,还是显示rbash限制
则需要进行 rbash 逃逸,在这可以利用 vi 进行逃逸
# vi 进入之后
:set shell=/bin/sh
:shell
#完成之后则进入下图所示的状态
#完成之后添加环境变量,给$PATH变量增加两个路径,用来查找命令
export PATH=$PATH:/bin/
export PATH=$PATH:/usr/bin/
现在便可使用 su 命令切换到 jerry 用户下,访问 jerry 目录下的文件可以发现flag4.txt
flag4的提示:
很高兴看到你已经走到了这一步——但你还没有回家。
这里没有提示 - 你现在靠自己了。您仍然需要获得最终的标志(唯一真正重要的标志!!)。
继续 - git outta here!!!
flag5
在flag4的提示中出现了一个关键点 git ,提示我们可以使用git提权
git提权的两种方法:
1、sudo git help config,然后在末行输入!/bin/bash或!'sh'完成提权。
2、sudo git -p help,然后输入!/bin/bash,即可打开一个root的shell。
获得了root权限,切换到root目录下即可获得到最后一个flag