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模式:

Vulnhub-DC-2实战靶场_第1张图片

二.渗透过程

1.主机发现

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

nmap -sP 192.168.111.0/24

Vulnhub-DC-2实战靶场_第2张图片

2.端口扫描

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

Vulnhub-DC-2实战靶场_第3张图片

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

namp -A -p- 192.168.111.145

Vulnhub-DC-2实战靶场_第4张图片

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

3.网页信息收集,flag1

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

Vulnhub-DC-2实战靶场_第5张图片

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

vim /etc/hosts        #编辑hosts文件

192.168.111.145 dc-2        #添加域名

Vulnhub-DC-2实战靶场_第6张图片

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

Vulnhub-DC-2实战靶场_第7张图片

并在网站内发现了flag1:

Vulnhub-DC-2实战靶场_第8张图片

4.cewl工具爬取网站密码

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

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

Vulnhub-DC-2实战靶场_第9张图片

5.wpscan提取用户

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

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

Vulnhub-DC-2实战靶场_第10张图片

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

6.wpscan爆破用户密码

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

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

Vulnhub-DC-2实战靶场_第11张图片

成功爆出了用户密码:

jerry:adipiscing

tom:parturient

7.dirsearch目录扫描

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

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

Vulnhub-DC-2实战靶场_第12张图片

8.登录wp,flag2

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

Vulnhub-DC-2实战靶场_第13张图片

在Page中发现了flag2:

Vulnhub-DC-2实战靶场_第14张图片

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

Vulnhub-DC-2实战靶场_第15张图片

9.ssh连接

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

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

Vulnhub-DC-2实战靶场_第16张图片

Tom用户连接成功:

ssh [email protected] -p 7744

Vulnhub-DC-2实战靶场_第17张图片

10.rbash绕过,flag3

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

Vulnhub-DC-2实战靶场_第18张图片

测试了一下 ‘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/

Vulnhub-DC-2实战靶场_第19张图片

Vulnhub-DC-2实战靶场_第20张图片

并且成功拿到了flag3:

Vulnhub-DC-2实战靶场_第21张图片

11.su切换用户,flag4

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

su jerry

Vulnhub-DC-2实战靶场_第22张图片

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

Vulnhub-DC-2实战靶场_第23张图片

12.提权,final-flag

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

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

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

sudo -l

Vulnhub-DC-2实战靶场_第24张图片

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

sudo git help config

GG        #定位到文末

!/bin/bash

Vulnhub-DC-2实战靶场_第25张图片

Vulnhub-DC-2实战靶场_第26张图片

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

Vulnhub-DC-2实战靶场_第27张图片

总结

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

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

你可能感兴趣的:(教程,靶场实战,linux,网络安全,学习)