DC-2靶机下载地址:https://download.vulnhub.com/dc/DC-2.zip
环境准备
kali,DC-2靶机
两台虚拟机设置在同一网段
kali中应有需要的工具,如:nmap,dirb,WPscan等等
信息收集
1.靶机页面
2.打开kali,ifconfig查看IP地址,确认所在网段。
3.使用nmap扫描同网段主机,确定靶机IP地址为192.168.6.141。
4.扫描靶机开放端口
5.详细扫描80端口http服务的有关信息
发现kali并不能直接访问该主机网页,访问一下确实如此
显然是重定向错误,在本地/etc/hosts文件中添加这样的关系
echo '192.168.6.141 dc-2' >> /etc/hosts
再次访问成功
渗透流程
1.flag1
1)根据flag1提示,我们使用cewl工具,提取网页中关键词,生成密码字典
cewl: cewl工具爬取目标网站信息,生成相对应的字典
-w 将输出结果写入到文件中
语法:cewl +url -w +保存于哪个目录或文件
有了密码字典,还需要寻找用户名和登陆页面
2)由网页可知WordPress,所以我们使用kali中WPscan扫描用户
WPScan是一款强大的WordPress安全扫描工具
wpscan --url http://example.com
选项: `--enumerate`:启用特定类型的枚举扫描,如用户、插件和主题。
`--plugins-detection`:设置插件检测的模式,如默认、被动或侵入式。
`--detection-mode`:设置扫描的侦测模式,如快速、默认或深度。
-u 用户
-p 插件
-t 主题
得到admin,jerry,tom三个用户名,我们直接用密码字典去匹配扫描
成功得到两个匹配的用户名和密码
3)使用dirb扫描web目录中的登录页面
dirb:
dirb 是一款用于Web目录爆破的开源工具,旨在帮助渗透测试人员和安全研究人员发现目标网站上的隐藏目录和文件
dirb +url +字典 +参数
-a 设置user-agent
-p <proxy[:port]>设置代理
-c 设置cookie
-z 添加毫秒延迟,避免洪水攻击
-o 输出结果
-X 在每个字典的后面添加一个后缀
-H 添加请求头
-i 不区分大小写搜索
访问http://dc-2/wp-admin/
4)尝试用拿到的用户名和密码登录
登录成功,找到flag2
2.flag2
1)根据flag2提示,我们要去寻找其他攻击渗透点,所以我们把目光放到靶机的第二个端口7744端口。详细扫描端口信息
发现是ssh服务端口
2)尝试连接7744端口
jerry用户不能连接
tom用户连接成功
3)ls查看目录发现flag3.txt,尝试查看发现shell被限制
4)输入compgen -c查看可用命令
tom@DC-2:~$ compgen -c
其中less和vi都可以查看flag3.txt文件
5)使用less命令查看flag3.txt文件
3.flag3
1)根据flag3提示,我们应该进行提权,切换为jerry用户,但是shell被限制了,于是我们需要绕过rbash,然后设置环境变量,最终成功su jerry
第一种方法查看flag4(了解即可)
vi编辑器:
vi flag3.txt
:set shell=/bin/sh #shell需要时系统中原本就有的变量,不能自己捏造变量。
:shell
tom@DC-2:~$ vi flag3.txt
打开了一个shell(部分功能依旧不可用),进入/home/jerry目录下查看文件flag4.txt
第一种方法虽然可以查看到flag4,但是依旧无法切换到jerry用户,无法使用可以利用来进行提权的命令,例如flag4中所提示的使用git命令进行提权,所以之后还是需要使用第二种方法去切换到jerry用户,来进行提权到root,所以比较鸡肋
这里建议直接使用第二种方法
第二种方法查看flag4
绕过rbash,然后设置环境变量,最终成功su jerry
什么是rbash?它与一般shell的区别在于会限制一些行为,让一些命令无法执行
BASH_CMDS[a]=/bin/sh;a //把/bin/sh给a
/bin/bash
export PATH=$PATH:/bin/ //添加环境变量
成功切换到jerry用户,在/home/jerry目录下查看flag4.txt
4.flag4
1)根据flag4可知,可以使用git命令进行提权,象征性的使用sudo -l查找可利用文件
发现确实可利用git命令
2)利用git命令进行提权
git提权:
1.sudo git help config
!/bin/sh
2.sudo git -p help
!/bin/sh
有两种方法可以利用
sudo git help config
提权成功
3)进入/root目录查看最终flag文件,完成DC-2靶机渗透