TA的每日心情 | 擦汗 11 小时前 |
---|
签到天数: 2392 天 [LV.Master]伴坛终老
|
转载请注明出处:http://hi.baidu.com/biweilun
: a8 J7 l" y3 b+ B# U我现在对百度的新聊天工具进行了稍微深入的分析,再下一步的分析工作就是在汇编调试里面展开的了。先说下我发现的可能威胁:& Q- \ j/ i% c' f4 g
1、Swf文件跨站漏洞8 m$ a$ s# Q n
在Baidu Hi 的安装文件夹里的MovieData文件夹里面有3个swf文件,分别是loginCarton.swf,videoConnectingBig.swf和videoConnectingSmall.swf。其中,loginCarton.swf的可能别利用漏洞最大,这点上百度不如腾讯,没有做好swf文件的内嵌工作,让swf文件暴露在外面。病毒可以感染并放入恶意的swf文件来覆盖他们。loginCarton.swf是baiduhi的启动画面,这是非常危险的,因为swf木马在网上非常流行。还有,病毒要获取这个目录非常简单,只要以system来读取注册表就好,路径会保存在注册表的[HKEY_LOCAL_MACHINE\SOFTWARE\3D SoftWare]下的"path"键值里面,如果修改注册表,人为改变该键值,可能引发更大的危机!
+ V7 y! m3 z% ]0 E% }% e7 k: y1 z& l+ |& R6 U; F! {
2、自动升级漏洞
3 X. k7 r4 w3 M7 b% ^& d$ R5 v该漏洞目前没有测试,不过应该将来会盛行的。因为目前大家的Baidu HI都是最新版,不需要升级。将来如果需要升级的时候,这个漏洞就很危险了。Baidu Hi 的升级文件在AutoUpdate文件夹里面,. C+ M: J* B( p4 _
6 D0 }8 w* ?" f f$ p/ F8 `% _( |, N' O" C; B8 j% L. H- X+ w4 A
BaiduHiUpdate.exe文件通过调用config.ini文件来升级,我们来看config.ini文件的代码:
$ ~* e" a. H* ?5 I! j0 ]; d3 ?7 ?; {& @[AutoUpdate]
/ F$ u/ \; g$ y0 V6 ?ConfigFileUrl=http://update.im.baidu.com/AutoUpdate/AutoUpdate.xml
* a7 o8 W' b( _. O% l; R" J9 BIsAutoUpdate=1
: ~- y- V* e- h* C* y) o3 b0 A1 kConfigFileKey1=3F26F386EB827C141DF8FE539B7ECDF4
" T/ ~# A) s1 p) D# w& ZConfigFileKey2=1285092571000000003 l3 |8 {2 E7 ` K$ i3 L
LSTm_AutoUpdate=1206596754, }/ I$ q9 @- `
看来使用的是下载http://update.im.baidu.com/AutoUpdate/AutoUpdate.xml这个文件,我下载下来打开一看,这个文件和AutoUpdate文件夹里面的那个AutoUpdate.xml文件内容相同。代码都是如下的:, D) r% c1 L# A- e' p( [
<AutoUpdate version="1.0">
/ `* I( n- {: l- ?) r& e0 |<Updater version="1.0.0.8" url="http://update.im.baidu.com/AutoUpdate/updater48-49.cab" md5="8312201dc14e0ff595680f6bcf4d0fb1" hint="update 49">
% ~+ o% r; ~: ~ Y0 ^% C2 y/ N. r; [<File name="atl71.dll" dest="updater:\" type="bin" operation="add" />
% [0 J5 G3 @% {; a; e+ ~5 \<File name="AutoInstall.exe" dest="updater:\" type="bin" operation="add" /> & L2 z" c9 v' q' V6 \" q9 ]1 R
<File name="AutoUpdateUtil.dll" dest="updater:\" type="bin" operation="add" />
5 r( `2 w' [1 y4 N( d<File name="BaiduHiUpdate.exe" dest="updater:\" type="bin" operation="add" />
+ x. {+ J+ I! i/ v/ c! b<File name="Basement.dll" dest="updater:\" type="bin" operation="add" />
( x8 b" y3 b/ _4 d) t& L<File name="config.ini" dest="updater:\" type="resource" operation="add" />
/ [. O2 a$ N7 ^# Z G<File name="msvcp71.dll" dest="updater:\" type="bin" operation="add" />
3 U9 _8 j& S& H6 {6 _6 c<File name="msvcr71.dll" dest="updater:\" type="bin" operation="add" />
2 @: r8 _; o' m( N<File name="resource.db" dest="updater:\" type="resource" operation="add" />
7 Q$ l) d7 m' @; V3 q<File name="VersionInfo.xml" dest="updater:\" type="resource" operation="add" /> ' ? o. y; l& A
</Updater>/ C' G9 s% Y+ U! L+ l$ W
<Module name="BaiduHi" version="1.0.1.0" level="forcePrompt">
% j2 z1 _! D; ~5 \$ f<Upgrade versi hint="update 49" md5="f684d6220bb2771433410e482287cc58" url="http://update.im.baidu.com/AutoUpdate/upgrade48-49.cab">
% J9 m6 I% g, z! h/ H( V* G# B) b<File name="AppUtil.dll" dest="BaiduHi:\" type="bin" operation="add" /> ^2 p0 q1 Q) u# u* M$ V+ ]: M
<File name="BaiduHi.exe" dest="BaiduHi:\" type="bin" operation="add" />
1 Z; `( r8 i% i: ?: p<File name="Basement.dll" dest="BaiduHi:\" type="bin" operation="add" />
0 E- X0 }* L' O# @) c<File name="BugReport.exe" dest="BaiduHi:\" type="bin" operation="add" />
, W7 S6 a6 ~6 o0 H3 V k<File name="CSTransfer.dll" dest="BaiduHi:\" type="bin" operation="add" /> 8 {8 v# n. a: J) d
<File name="HistoryExplorer.dll" dest="BaiduHi:\" type="bin" operation="add" />
" C6 [ `, `) R: I7 D3 T4 v, j<File name="ImEngine.dll" dest="BaiduHi:\" type="bin" operation="add" /> 2 P7 M$ B/ d( Z% a5 X& C$ O
<File name="ImStorage.dll" dest="BaiduHi:\" type="bin" operation="add" />
7 B. K+ U( h; q. \; x" ` M1 M<File name="LocalLog.dll" dest="BaiduHi:\" type="bin" operation="add" />
' f* k2 u. Y, @<File name="NetService.dll" dest="BaiduHi:\" type="bin" operation="add" />
9 @, f5 s( w; i; v9 P<File name="RUDPLib.dll" dest="BaiduHi:\" type="bin" operation="add" /> % q! b' \1 H+ p( _
<File name="SkinDLL.dll" dest="BaiduHi:\" type="bin" operation="add" /> % S4 K$ p3 T' U
<File name="UPnPDll.dll" dest="BaiduHi:\" type="bin" operation="add" />
% x2 k) e& y! u. ]9 F# u<File name="VersionInfo" dest="BaiduHi:\" type="resource" operation="add" /> 3 U- C# J& l: x. n4 J5 V8 X0 c
<File name="fmmgr.dll" dest="BaiduHi:\" type="bin" operation="add" /> 4 R0 C' H" `; T; ^
<File name="imcs.dll" dest="BaiduHi:\" type="bin" operation="add" />
3 L. G% t, |' Q2 R<File name="uninst.exe" dest="BaiduHi:\" type="bin" operation="add" /> 7 }5 y; y8 L/ g0 }* ]8 Z) k2 M
</Upgrade>
; `( n+ g# U$ `- N* o<FullPackage hint="update 49" md5="3af7588de47c7fdcb9ca5421de4c444c" url="http://update.im.baidu.com/AutoUpdate/fullpackage48-49.cab">2 x( S: p: g6 @, P1 G
<File name="AppUtil.dll" dest="BaiduHi:\" type="bin" operation="add" /> {, w$ E8 q: I* S" s+ Z3 B1 W
<File name="BaiduHi.exe" dest="BaiduHi:\" type="bin" operation="add" /> - o' y8 t: C; S' ?" ~' _# w+ Z
<File name="Basement.dll" dest="BaiduHi:\" type="bin" operation="add" />
% W# T# n/ f" u5 H# N<File name="BugReport.exe" dest="BaiduHi:\" type="bin" operation="add" /> ! b) N3 \5 t3 M
<File name="CSTransfer.dll" dest="BaiduHi:\" type="bin" operation="add" />
. t0 Q1 C! k4 i" R% L; ?7 n$ j& B. e<File name="HistoryExplorer.dll" dest="BaiduHi:\" type="bin" operation="add" />
8 ?2 F# h& g: y$ C! d, [" [<File name="ImEngine.dll" dest="BaiduHi:\" type="bin" operation="add" />
2 w+ u9 @4 Y9 T% T0 y( h- r# l2 K4 B% n<File name="ImStorage.dll" dest="BaiduHi:\" type="bin" operation="add" />
2 i( x9 o! E8 j) b. K* h$ p3 j<File name="LocalLog.dll" dest="BaiduHi:\" type="bin" operation="add" /> ; b$ N* x- d$ l1 ?: {7 v
<File name="MovieData\loginCarton.swf" dest="BaiduHi:\MovieData\" type="resource" operation="add" /> 8 ^4 ~ t+ e4 F3 a' W% d& b
<File name="MovieData\videoConnectingBig.swf" dest="BaiduHi:\MovieData\" type="resource" operation="add" />
" k6 Q$ m5 |/ H* I; Q/ |0 U3 u<File name="MovieData\videoConnectingSmall.swf" dest="BaiduHi:\MovieData\" type="resource" operation="add" /> 7 V' w& S3 i# @4 I
<File name="NetService.dll" dest="BaiduHi:\" type="bin" operation="add" /> 7 D1 Z8 q5 p: J. M6 k
<File name="RUDPLib.dll" dest="BaiduHi:\" type="bin" operation="add" /> * J, j( r }2 `: o: C7 _
<File name="ServerConfig.dat" dest="BaiduHi:\" type="resource" operation="add" /> 2 J8 ]+ J, N: O, z6 |. l
<File name="SkinDLL.dll" dest="BaiduHi:\" type="bin" operation="add" /> 3 a! W+ @' m( x1 [4 ]# V
<File name="SysCustomStatus.xml" dest="BaiduHi:\" type="resource" operation="add" /> 4 K* y( e( @' I" V$ Q' R
<File name="UPnPDll.dll" dest="BaiduHi:\" type="bin" operation="add" /> : U$ ^4 n% q( M; l0 X: t- w
<File name="VersionInfo" dest="BaiduHi:\" type="resource" operation="add" />
1 l7 c/ X0 A% m1 x/ P<File name="atl71.dll" dest="BaiduHi:\" type="bin" operation="add" /> 1 z; ~1 j9 y4 ~# S+ d! j
<File name="dbghelp.dll" dest="BaiduHi:\" type="bin" operation="add" /> / ^/ I w: F) a1 |4 G
<File name="fmmgr.dll" dest="BaiduHi:\" type="bin" operation="add" />
% R8 {/ {$ \8 Z( t3 y<File name="imcs.dll" dest="BaiduHi:\" type="bin" operation="add" />
8 ?9 b" ]) J7 M' C1 O, o<File name="licence.txt" dest="BaiduHi:\" type="resource" operation="add" /> " o7 x0 E* P/ W. a, {
<File name="mediactrl.dll" dest="BaiduHi:\" type="bin" operation="add" />
4 T1 f& j3 b7 J3 W) T<File name="msvcp71.dll" dest="BaiduHi:\" type="bin" operation="add" /> / B: Y. Q4 x! P+ K
<File name="msvcr71.dll" dest="BaiduHi:\" type="bin" operation="add" />
5 { |* L6 T7 ]( p8 ?<File name="resource.db" dest="BaiduHi:\" type="resource" operation="add" />
8 W" T8 b" p$ e0 s5 u" o6 M<File name="riched20.dll" dest="BaiduHi:\" type="bin" operation="add" />
) l, L/ o# ~% e! J9 \0 `<File name="skin\default.db" dest="BaiduHi:\skin\" type="resource" operation="add" /> 6 U) A& W0 _; m# H% T, L
<File name="skin\rose.db" dest="BaiduHi:\skin\" type="resource" operation="add" /> / y$ r( b( _% ~4 C* b5 W
<File name="sound\msg.wav" dest="BaiduHi:\sound\" type="resource" operation="add" /> & l1 J1 u t" x+ E1 F a6 y
<File name="sound\online.wav" dest="BaiduHi:\sound\" type="resource" operation="add" /> : e3 \2 F# G, @3 J7 z
<File name="sound\phone.wav" dest="BaiduHi:\sound\" type="resource" operation="add" /> ) _& D2 ?; o0 R) E! ] s
<File name="sound\snapshot.wav" dest="BaiduHi:\sound\" type="resource" operation="add" /> 2 _3 E8 y% \' g3 r) T: A
<File name="sound\system.wav" dest="BaiduHi:\sound\" type="resource" operation="add" />
4 L* m5 [# X f" u' `( ]<File name="sysimage\FaceError.gif" dest="BaiduHi:\sysimage\" type="resource" operation="add" />
2 i8 `+ M. \& k, h. Y<File name="sysimage\FaceLoading.gif" dest="BaiduHi:\sysimage\" type="resource" operation="add" />
7 a$ |) n, S! H5 K$ n$ \' ~<File name="sysimage\ImageError.gif" dest="BaiduHi:\sysimage\" type="resource" operation="add" />
) I6 [( S0 x* O" C( k8 O<File name="sysimage\ImageLoading.gif" dest="BaiduHi:\sysimage\" type="resource" operation="add" />
5 x8 w+ i3 G+ |! @5 Q" F<File name="uninst.exe" dest="BaiduHi:\" type="bin" operation="add" /> 7 ]6 d! J: ^9 ^8 ?
<File name="zlib1.dll" dest="BaiduHi:\" type="bin" operation="add" />
9 E/ [; ~" E6 F9 h4 j</FullPackage>0 l& J% i! k7 S0 q& X- ]" J8 [* ~
</Module>
4 I5 {$ }# B6 X2 H2 j1 F</AutoUpdate>4 O _2 K7 C2 k4 l5 x
通过AutoUpdate.xml文件来下载http://update.im.baidu.com/AutoUpdate/updater48-49.cab ,我们可以通过构造恶意的config.ini,然后让程序下载我们构造的恶意AutoUpdate.xml,再让程序通过AutoUpdate.xml下载恶意构造好的cab安装包,释放。还是危害挺大的!( M4 I! z6 n. h, M2 r& P8 m9 M
最后忠告大家,不要下载除官方以外任何地方的Baidu Hi !否则后够可能很严重,这次我发现的这两个漏洞的利用说容易也容易,说不容易也不容易,本人如上所说只是一点肤浅之见,没什么技术含量,只是觉得软件搞这么明文不好。提醒大家小心一点而已,没有别的意图,更没有哗众取宠的意思。 |
|