中国网络渗透测试联盟
标题:
Symantec完整磁盘加密软件爆0day漏洞
[打印本页]
作者:
admin
时间:
2013-1-11 21:11
标题:
Symantec完整磁盘加密软件爆0day漏洞
日前,国外安全研究组织Nikita Tarakanov称在Symantec PGP Whole Disk Encryption(完整磁盘加密软件)中发现0day漏洞,该软件的内核驱动程序pgpwded.sys包含一个覆盖任意内存的漏洞,可执行任意代码,受影响的软件版本是Symantec PGP Desktop 10.2.0 Build 2599。
6 Q0 U5 I- ]" d/ x; T& k
3 A) }( O; F+ r% N1 D
Symantec通过博客文章证实该版本软件确实存在安全问题,但是利用起来比较繁琐,并且仅限于运行在Windows XP和Windows 2003的系统,成功利用该漏洞需要有计算机本地访问权限。
# ~& `- p8 h9 o- S; l- I$ z
. m# q& E' Y/ K
研究员Kelvin Kwan称“该漏洞触发场景非常困难,成功利用必须进入一些错误状态,但是成功利用的话可能允许攻击者执行任意代码,获取更高级别的权限”。该漏洞详细细节如下:
! `1 v+ q' K' z! M" d
. s: _$ `& r# o& J3 \
, r0 u% t) U& E- r' X
' _- f5 u% D3 v5 {
function at 0x10024C20 is responsible for dispatching ioctl codes:
8 b2 b: {% v: R1 Q
5 _1 W0 w9 |: W1 h, ^+ r4 z, F
.text:10024C20 ; int __thiscall ioctl_handler_deep(int this, int ioctl, PVOID inbuff, unsigned int inbuff_size, unsigned int outbuff_size, PDWORD bytes_to_return)
& Y/ N0 r8 r! U2 q: v6 R2 p: T
.text:10024C20 ioctl_handler_deep proc near ; CODE XREF: sub_10007520+6Ap
$ I# R5 C5 o2 M8 p% T
.text:10024C20
! ]. u0 E# o- q8 j8 C
.text:10024C20 DestinationString= UNICODE_STRING ptr -3Ch
' \, Y/ U$ [/ Z( z. u1 C0 \
.text:10024C20 var_31 = byte ptr -31h
5 a( X+ N, S9 r5 @5 A% k5 j
.text:10024C20 var_30 = dword ptr -30h
1 |) g0 d9 n$ }0 |+ w1 A# b) q
.text:10024C20 some_var = dword ptr -2Ch
) b2 ^3 R1 S- k( M( f
.text:10024C20 var_28 = dword ptr -28h
- e4 i$ U4 T# {, x+ A& ^
.text:10024C20 var_24 = byte ptr -24h
2 p8 S( B4 O! ?
.text:10024C20 var_5 = byte ptr -5
$ f+ G# }3 A4 \
.text:10024C20 var_4 = dword ptr -4
s( F0 z8 D6 C
.text:10024C20 ioctl = dword ptr 8
, G5 n8 u6 ~3 S( O
.text:10024C20 inbuff = dword ptr 0Ch
- _6 t7 Y. y. O7 i+ e
.text:10024C20 inbuff_size = dword ptr 10h
! M% V1 z2 a$ ^) s2 _, F8 \
.text:10024C20 outbuff_size = dword ptr 14h
' g4 B z; h7 h$ q4 \
.text:10024C20 bytes_to_return = dword ptr 18h
( y) u! Z" O3 J8 G1 n
.text:10024C20
/ a/ [0 _ k9 K5 R0 i+ r+ Q" F: x
.text:10024C20 push ebp
, d/ {. ~1 }6 g6 B% r
.text:10024C21 mov ebp, esp
: z+ ~" {3 n( d7 t7 a
.text:10024C23 sub esp, 3Ch
% H7 t6 v/ g, Q# y2 J
.text:10024C26 mov eax, BugCheckParameter2
% N6 r+ L! S7 e$ l8 }6 I) d% @; m
.text:10024C2B xor eax, ebp
7 s+ ~- ~( o( z
.text:10024C2D mov [ebp+var_4], eax
: X. W$ P1 H# j! _5 g, b
.text:10024C30 mov eax, [ebp+ioctl]
/ t" m/ j" |6 u# e G
.text:10024C33 push ebx
* T! C, v, ]6 V) \# ^
.text:10024C34 mov ebx, [ebp+inbuff]
2 s+ `: \9 q2 }' o
.text:10024C37 push esi
' C- w; v! \ k' j3 r s& g" H
.text:10024C38 mov esi, [ebp+bytes_to_return]
* M' G, z1 I5 g& `2 H: y
.text:10024C3B add eax, 7FFDDFD8h
( H" m+ y% n7 @- x/ ~
.text:10024C40 push edi
3 J: \* J0 w9 o: E- i S
.text:10024C41 mov edi, ecx
& u6 u3 x* b- K9 @( q7 \
.text:10024C43 mov [ebp+some_var], esi
L2 V4 d8 |2 ?/ \& }) @; o
.text:10024C46 mov [ebp+var_28], 0
2 V K I* Y* A6 M" L; T. b) R
.text:10024C4D cmp eax, 0A4h ; switch 165 cases
9 R. l9 x: y" k- q
.text:10024C52 ja loc_10025B18 ; jumptable 10024C5F default case
: O. S8 d+ [9 P
.text:10024C58 movzx eax, ds:byte_10025BF0[eax]
/ [# f9 t7 o5 y" S
.text:10024C5F jmp ds
ff_10025B50[eax*4] ; switch jump
3 c# s3 B8 X3 W* m1 q1 w
$ m5 M8 V& I& \8 u" P
[..]
- ]; Z- H" |5 Z7 o& I8 Y1 [6 t
. U$ c5 A: ^3 q: l( i' q0 {/ g8 E2 F
0x80022058 case: no check for outbuff_size == 0! <--- FLAW!
5 \' ~. ^5 v0 \5 z. P
+ u1 }9 w4 m+ k* f" Z# d
.text:10024F5A lea ecx, [edi+958h]
5 o: A D& J. }4 c3 b6 y
.text:10024F60 call sub_100237B0
2 I$ L, j7 _, q* `& m' n* M, Z
.text:10024F65 mov [ebp+some_var], eax
3 B2 t9 G: U5 m: \6 f2 k, F F
.text:10024F68 test eax, eax
* t9 G1 i$ ^$ g
.text:10024F6A jnz short loc_10024F7D
" q$ |3 D$ |, S( i, M& D1 ^; j
.text:10024F6C mov dword ptr [ebx], 0FFFFCFFAh
# C! A% [! w: K5 ]* x" r
.text:10024F72 mov dword ptr [esi], 10h <--- bytes to copy to output buffer
, H/ x2 B Y! i' R S; D) n
' v, |% J1 U8 E" t3 \1 @% A
next in IofComplete request will be rep movsd at pointer, that is under attacker's control
1 W/ |4 {2 G+ M! o P" L- E. F+ F
* L+ m- L! @' i
Due the type of vulnerability (METHO_BUFFERED with output_size == 0) exploit works only on Winows XP/2k3, cause in later Windows OS I/O manager doesn't craft IRP if ioctl is METHOD_BUFFERED and output_size == 0.
. {! k3 V# P3 W8 P2 J% |7 w
4 h' K' r3 C4 L
Symantec表示在2月份的补丁包中修复该漏洞。
1 e6 X2 I( p* S
5 v' e8 l% A! b$ c( X$ N
相关阅读:
; J/ |7 Q& V$ i: l `# h: {3 e$ Z# H
; d5 Q+ r" `/ l
赛门铁克的 PGP Whole Disk Encryption 为企业提供了全面的高性能完整磁盘加密功能,可对台式机、笔记本电脑和可移动介质上的所有数据(用户文件、交换文件、系统文件、隐藏文件等)进行完整磁盘加密。该完整磁盘加密软件可让数据免遭未经授权的访问,从而为知识产权、客户和合作伙伴数据提供强大的安全防护。受保护的系统可由 PGP Universal Server 集中管理,这就简化了部署、策略创建、分发和报告过程。
/ p$ V% L! N9 z
+ Y0 Q! L4 O2 b- y$ l R' u
欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/)
Powered by Discuz! X3.2