靶机DC-2 WP

大家注意,未经授权的渗透行为均为违法行为。

目录

前言

一、前提准备

二、渗透测试

1.思路

2.过程

2.1 信息收集

 2.2 漏洞发现

 2.3 漏洞利用

2.4 提权

三、总结


前言

DC系列靶机是一系列专门为渗透测试和网络安全实验室设计的虚拟机器。这些靶机提供了一系列不同的漏洞和攻击场景,使渗透测试者可以在这些环境下测试自的技能和工具。DC系列靶机包含多个不同的主题,例如各种操作系统的漏洞,Web应用程序安全和无线网络安全等。它们对初学者和专业人士都有很大的价值,因为它们可以帮助他们了解安全漏洞和如何利用它们进行渗透测试。


一、前提准备

攻击机:Kali

IP地址:192.168.10.137

靶机:DC-2(linux)

IP地址:192.168.10.138

DC-2下载地址:http://www.five86.com/downloads/DC-2.zip

网络:两个主机须在同一局域网下,所以虚拟机的网络配置器必须相同(NAT或者桥接)

目标:找到5个flag

二、渗透测试

1.思路

进行渗透测试一定要有思路,我的思路是:

信息收集—> 寻找漏洞—> 利用漏洞(sql注入,文件上传漏洞,框架漏洞,ssh攻击等)—> 反弹shell

—>进行提权

2.过程

2.1 信息收集

我们先使用netdiscover工具,通过ARP扫描发现活动主机。

netdiscover -r 192.168.10.0/24

 发现DC-2的IP地址为:192.168.10.139,然后我们紧接着使用nmap工具进行端口扫描。

nmap -sS -A -p- 192.168.10.139

-sS :             TCP同步扫描 (TCP SYN),因为不必全部打开一个 TCP 连接,所以这项技术通常称为半开扫描
-A :             采用全面扫描的方式

-p:

 发现了靶机开启了80端口用于http协议和7744端口用于ssh协议

 打开http://192.168.10.139发现网页打不开,于是我觉得会有隐藏端口,于是再用nmap工具进行扫描一遍。

nmap -sS -sV -T4 -O -A 192.168.10.139

-sV              对端口上的服务程序版本进行扫描
-T0-9          扫描速度,一般T4就够
-O               扫描探测目标主机的操作系统

 Did not follow redirect to http://dc-2/

未能遵循重定向转到http://dc-2/

这里需要进行更改本地DNS文件否则访问不了,我们修改一下/etc/hosts文件

vim /etc/hosts
192.168.10.139 dc-2

发现可以进入网页了

 发现Flag超链接,点进入发现了第一个flag

 Flag 1:
Your usual wordlists probably won’t work, so instead, maybe you just need to be cewl.
More passwords is always better, but sometimes you just can’t win them all.
Log in as one to see the next flag.
If you can’t find it, log in as another.
你通常的单词表可能不起作用,所以,也许你只需要保持清醒。
密码越多越好,但有时你就是无法赢得所有的密码。
以一个人的身份登录以查看下一个标志。
如果找不到,请以另一个用户登录。


flag提醒我们需要找寻找密码和用户,我们使用whatweb工具扫一下此网站框架。

whatweb http://192.168.10.139/

 发现此网站框架是WordPress,再用dirsearch工具扫描一下此网站的目录。

dirsearch -u http://192.168.10.139/ -x 403 404 405 500

-x 过滤规定的状态码

 发现了admin页面,判断是一个登录页面的。

 2.2 漏洞发现

试了弱口令,发现不对,然后使用了msf工具搜索了关于WordPress框架的漏洞,发现了很多漏洞,试了几个不行然后就放弃了,想起flag提示我们密码越多越好,去百度搜索一下WordPress框架与密码相关的漏洞,没有发现相关漏洞但发现了一个与用户名相关的漏洞工具——WPScan

wpscan --url dc-2 -e u
-e u   枚举用户名,默认从1-10

发现了三个相关的用户名admin,jerry,tom  接下来就是密码,发现大佬们使用了Cewl工具。

Cewl是一款采用Ruby开发的应用程序,你可以给它的爬虫指定URL地址和爬取深度,还可以添额外的外部链接,接下来Cewl会给你返回一个字典文件,你可以把字典用到类似John the Ripper这样的密码破解工具中。除此之外,Cewl还提供了命令行工具。

cewl http://dc-2/ -w /root/Desktop/password.txt

 密码爬取完成,然后我们把用户写到一个文本文档中 。

 2.3 漏洞利用

我们使用burpsuite工具将得到的用户和密码进行抓包爆破。

 爆破出两个匹配的账号与密码

tom  parturient
jerry adipiscing

 在网页进行登录,发现第二个flag。

 Flag 2:
If you can't exploit WordPress and take a shortcut, there is another way.
Hope you found another entry point.

如果你不能利用WordPress并走捷径,还有另一种方法。
希望你找到了另一个入口。


flag2提示我们可以走另一个入口,让我想到了ssh,于是我们使用tom用户进靶机远程ssh登录。

ssh 用户名@ip地址 -p 端口

ssh [email protected] -p 7744

 发现登录上了,进行权限查看,发现有rbash限制。

  rbash,即受限制的 bash,其可以用作中转服务器(实际上rbash只是bash的一软链接)。它与一般shell的区别在于会限制一些行为,让一些命令无法执行。

我们查看还有什么命令可以使用。

 然后我们发现echo命令export命令可以使用,我们使用echo命令查看一下系统命令还有啥能用。

echo $PATH
echo /home/tom/usr/bin/*

 我们发现less,ls,scp,vi命令还是可以使用的,于是我们查找如何将rbash限制进行绕过,发现了关于绕过rbash的博客,可以使用一下命令进行绕过。

# 利用bash_cmds自定义一个shell
BASH_CMDS[a]=/bin/sh;a 
 
# 添加环境变量
export PATH=$PATH:/bin/
export PATH=$PATH:/usr/bin

 发现已经绕过入了,发现了第三个flag,查看一下flag3.txt。

flag3 

Poor old Tom is always running after Jerry. Perhaps he should su for all the stress he causes.
可怜的老汤姆总是追着杰瑞跑。也许他应该为自己造成的压力而死。


flag3提示我们su,我感觉是要我们切换到另一个用户,于是我用ssh远程登陆了jerry用户发现登录不上。

 于是我根据提示在tom用户下切换到jerry用户,并查询一下用户下所有相关flag的文件。

su jerry
adipiscing
find / -name *flag*

 发现了falg4.txt,打开相关目录进行查看。

cd /home/jerry/
ls
cat cat flag4.txt

 flag4

Good to see that you've made it this far - but you're not home yet. 
You still need to get the final flag (the only flag that really counts!!!).  
No hints here - you're on your own now.  :-)
Go on - git outta here!!!!
很高兴看到你已经走了这么远——但你还没有到家。
你仍然需要获得最终的旗帜(唯一真正重要的旗帜!!)
这里没有提示——你现在要靠自己了。:-)
走吧,离开这里!!!!


2.4 提权

接下来就是最重要的一步了——提权,我们先查看一下我们的在root下有什么命令权限。

sudo -l

发现了我们可以使用git命令,而且flag4提示我们也有git命令,所以说很有可能是用git命令进行提权,我们去提权网站搜索一下git命令如何进行提权。

sudo git -p help config
!/bin/sh

 退出就提权成功了,先查看一下权限,发现已经有了root权限,进入根目录,发现了第五个flag。

id
cd /root
ls
cat final-flag.txt

 到此DC-2靶机也被我们打穿了。


三、总结

DC-2靶场攻破过程:

1、我们先进行信息收集,发现了http协议和ssh协议,更改DNS后进入网页,发现了flag1。

2、然后我根据提示进行了网站目录扫描,发现了登陆页面,通过wpscan工具拿到了用户名,通过Cewl工具拿到了密码,然后用bp进行抓包爆破出正确的用户和密码,使用jerry用户登录,发现了flag2。

3、根据提示我们使用ssh进行远程登陆,这次使用tom用户登录,登陆后发现有rbash限制,于是我们使用相关命令将rbash限制进项绕过,于是在本用户下发现了flag3。

4、提示我们需要更换用户,我们先在ssh进行用户更换发现登陆不上,于是又在tom登录ssh的情况下进行更换用户,使用find命令找到flag4。

5、提权,我们查找出在root用户下可以使用git命令,于是我们使用git进行提权,进入根目录后找到了最后一个flag。

猜你喜欢

转载自blog.csdn.net/m0_66638011/article/details/130650537
wp2