TA的每日心情 | 奋斗 昨天 11:21 |
---|
签到天数: 2393 天 [LV.Master]伴坛终老
|
转载请注明出处:http://hi.baidu.com/biweilun" N) @6 H/ O, J6 d, Y" ^
我现在对百度的新聊天工具进行了稍微深入的分析,再下一步的分析工作就是在汇编调试里面展开的了。先说下我发现的可能威胁:
% X/ v: L& R u# p2 ?: Z, J5 F1、Swf文件跨站漏洞) i$ l: B; l! l. q( L' G3 p
在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"键值里面,如果修改注册表,人为改变该键值,可能引发更大的危机!1 `- v. T" b4 x4 G& x, o
* W6 q& T, P9 H7 d3 \/ e( [
2、自动升级漏洞
" c, F+ l8 V- i该漏洞目前没有测试,不过应该将来会盛行的。因为目前大家的Baidu HI都是最新版,不需要升级。将来如果需要升级的时候,这个漏洞就很危险了。Baidu Hi 的升级文件在AutoUpdate文件夹里面,
2 Q2 t( _6 r9 @- m
& X; {& }+ D& t$ s9 c* N; [, v4 |0 |3 S. U6 g
BaiduHiUpdate.exe文件通过调用config.ini文件来升级,我们来看config.ini文件的代码:
3 u% [7 z; ~; `, O* q& J, \& |* E[AutoUpdate]# @- W( e3 N/ n3 t" m' a
ConfigFileUrl=http://update.im.baidu.com/AutoUpdate/AutoUpdate.xml
4 }3 W8 I% {1 g; G( V. p4 WIsAutoUpdate=13 g+ V* F6 s. a& F
ConfigFileKey1=3F26F386EB827C141DF8FE539B7ECDF4
) `8 J( Q8 P4 H: t ?5 V0 cConfigFileKey2=128509257100000000- ]" V8 f$ U+ o" `9 z
LSTm_AutoUpdate=1206596754
% b4 t- X- {- J* s$ c0 N3 J看来使用的是下载http://update.im.baidu.com/AutoUpdate/AutoUpdate.xml这个文件,我下载下来打开一看,这个文件和AutoUpdate文件夹里面的那个AutoUpdate.xml文件内容相同。代码都是如下的:4 u( x9 h( g6 e8 y) q% e0 W2 K
<AutoUpdate version="1.0">9 v: c6 w- F1 i2 B1 @9 h+ S6 J
<Updater version="1.0.0.8" url="http://update.im.baidu.com/AutoUpdate/updater48-49.cab" md5="8312201dc14e0ff595680f6bcf4d0fb1" hint="update 49">- a% L6 q& `5 ]' K* h# |& U7 J
<File name="atl71.dll" dest="updater:\" type="bin" operation="add" />
2 P% P% ^: f/ B. B- ]5 _) s<File name="AutoInstall.exe" dest="updater:\" type="bin" operation="add" />
" S- f3 s2 g! G, G) D0 ?<File name="AutoUpdateUtil.dll" dest="updater:\" type="bin" operation="add" /> # Q6 A6 `- A" Y# D! Y6 S. E8 D: k
<File name="BaiduHiUpdate.exe" dest="updater:\" type="bin" operation="add" /> / W6 W- N, i: h+ \. _
<File name="Basement.dll" dest="updater:\" type="bin" operation="add" /> 8 y* w' b k, N1 o% Q( c
<File name="config.ini" dest="updater:\" type="resource" operation="add" />
& C8 _- Q" q) t<File name="msvcp71.dll" dest="updater:\" type="bin" operation="add" /> : @" M! p1 P9 P$ n$ X; B% ?1 a
<File name="msvcr71.dll" dest="updater:\" type="bin" operation="add" />
9 Q6 u& k) O; w/ ?2 {- m1 |<File name="resource.db" dest="updater:\" type="resource" operation="add" />
# h- ?& e' z1 _4 c3 [, `! L; w<File name="VersionInfo.xml" dest="updater:\" type="resource" operation="add" />
! `7 u& c" }' G, u</Updater>
# e) D/ k% v1 _. Q6 a+ x<Module name="BaiduHi" version="1.0.1.0" level="forcePrompt">
) p# q e! H! q" e& f$ T/ Y* C<Upgrade versi hint="update 49" md5="f684d6220bb2771433410e482287cc58" url="http://update.im.baidu.com/AutoUpdate/upgrade48-49.cab">9 x' j% R. i# ~$ G
<File name="AppUtil.dll" dest="BaiduHi:\" type="bin" operation="add" />
. R5 L* Q7 _% i( W5 u7 U$ r. h @<File name="BaiduHi.exe" dest="BaiduHi:\" type="bin" operation="add" />
0 a$ V! H4 ~% Z; a( J& Y Z<File name="Basement.dll" dest="BaiduHi:\" type="bin" operation="add" /> . \( E) a- |/ ^
<File name="BugReport.exe" dest="BaiduHi:\" type="bin" operation="add" />
: E* _2 T, M* m4 P ^8 D3 n<File name="CSTransfer.dll" dest="BaiduHi:\" type="bin" operation="add" />
# j0 C M( S1 ` Z<File name="HistoryExplorer.dll" dest="BaiduHi:\" type="bin" operation="add" />
) d; \( T/ S [- V<File name="ImEngine.dll" dest="BaiduHi:\" type="bin" operation="add" /> - t T* o; \6 \ ?. a& u
<File name="ImStorage.dll" dest="BaiduHi:\" type="bin" operation="add" />
, }" J/ Z' K) Q* k7 Z2 e. P<File name="LocalLog.dll" dest="BaiduHi:\" type="bin" operation="add" /> 2 a- m5 I* D. p& h) H' {" S5 g
<File name="NetService.dll" dest="BaiduHi:\" type="bin" operation="add" />
. j8 ^! W( n0 L1 ^& R) j0 ~1 H<File name="RUDPLib.dll" dest="BaiduHi:\" type="bin" operation="add" />
/ R% m2 ?% Y$ F0 x) C: M<File name="SkinDLL.dll" dest="BaiduHi:\" type="bin" operation="add" />
: B5 ]1 Z( ?# W' A# h! x<File name="UPnPDll.dll" dest="BaiduHi:\" type="bin" operation="add" />
# s% X t! [, i1 A<File name="VersionInfo" dest="BaiduHi:\" type="resource" operation="add" /> + b! A& E1 U' L4 v4 c! ^- k9 m; r3 c
<File name="fmmgr.dll" dest="BaiduHi:\" type="bin" operation="add" />
9 t. c4 n% N5 _0 ]7 F7 p- V) U5 A& }<File name="imcs.dll" dest="BaiduHi:\" type="bin" operation="add" />
) ~4 M7 p2 b0 e<File name="uninst.exe" dest="BaiduHi:\" type="bin" operation="add" /> 3 m! f \1 p# n' u7 f. ~) Y* \" l
</Upgrade>
& X9 Q" @# \# {# u( W( k<FullPackage hint="update 49" md5="3af7588de47c7fdcb9ca5421de4c444c" url="http://update.im.baidu.com/AutoUpdate/fullpackage48-49.cab">0 e( C& ]5 _8 V4 F# f
<File name="AppUtil.dll" dest="BaiduHi:\" type="bin" operation="add" /> / u; i) W' S' O' Y7 E- {7 p
<File name="BaiduHi.exe" dest="BaiduHi:\" type="bin" operation="add" />
$ k* D$ Y- y6 x: P J: u/ ?<File name="Basement.dll" dest="BaiduHi:\" type="bin" operation="add" />
1 n2 H1 x! b# p# \" O3 w4 c$ E<File name="BugReport.exe" dest="BaiduHi:\" type="bin" operation="add" />
$ x- w' O% S( _! I4 W<File name="CSTransfer.dll" dest="BaiduHi:\" type="bin" operation="add" /> ' h3 r% m8 w' l" E+ c+ @% B& L
<File name="HistoryExplorer.dll" dest="BaiduHi:\" type="bin" operation="add" />
+ t7 {: h* U+ i" g<File name="ImEngine.dll" dest="BaiduHi:\" type="bin" operation="add" />
, C9 C; Q/ j9 r, h) _# K4 P<File name="ImStorage.dll" dest="BaiduHi:\" type="bin" operation="add" /> ) q: s2 F/ H" |
<File name="LocalLog.dll" dest="BaiduHi:\" type="bin" operation="add" />
" b$ u4 \3 |+ I5 p& A9 F<File name="MovieData\loginCarton.swf" dest="BaiduHi:\MovieData\" type="resource" operation="add" />
9 `! @+ l4 |" [) D<File name="MovieData\videoConnectingBig.swf" dest="BaiduHi:\MovieData\" type="resource" operation="add" /> 1 J6 f1 k8 ^, [4 V3 H$ { k
<File name="MovieData\videoConnectingSmall.swf" dest="BaiduHi:\MovieData\" type="resource" operation="add" /> . h% l1 l( { d4 I
<File name="NetService.dll" dest="BaiduHi:\" type="bin" operation="add" /> 6 w: `5 U/ C7 b( C& U
<File name="RUDPLib.dll" dest="BaiduHi:\" type="bin" operation="add" />
" H+ {: p% ~5 `1 b' B+ {6 |<File name="ServerConfig.dat" dest="BaiduHi:\" type="resource" operation="add" /> 8 }% z9 @, [# H/ d0 ^6 I- m% t
<File name="SkinDLL.dll" dest="BaiduHi:\" type="bin" operation="add" /> ~9 w: h: j8 o9 T7 u
<File name="SysCustomStatus.xml" dest="BaiduHi:\" type="resource" operation="add" />
8 h' D. F R( T8 j! [. ]5 @<File name="UPnPDll.dll" dest="BaiduHi:\" type="bin" operation="add" />
: X! B$ V) E# Z' P- u<File name="VersionInfo" dest="BaiduHi:\" type="resource" operation="add" />
: @' _: J0 R! ?8 m' q( w/ @" K) l<File name="atl71.dll" dest="BaiduHi:\" type="bin" operation="add" />
5 S, X# J2 J' \3 U3 l/ d, V<File name="dbghelp.dll" dest="BaiduHi:\" type="bin" operation="add" />
2 i6 T$ r/ F! Z( K* w; b2 K! U: O<File name="fmmgr.dll" dest="BaiduHi:\" type="bin" operation="add" />
" m5 F0 T. b# X& \ C<File name="imcs.dll" dest="BaiduHi:\" type="bin" operation="add" /> 7 _3 D$ b& Z0 H* t% i' p
<File name="licence.txt" dest="BaiduHi:\" type="resource" operation="add" /> % o* X" n" p3 F4 A4 J4 D: f
<File name="mediactrl.dll" dest="BaiduHi:\" type="bin" operation="add" />
K; y+ C9 j7 A0 L: O! D<File name="msvcp71.dll" dest="BaiduHi:\" type="bin" operation="add" /> , F7 F& Z; G! V: |
<File name="msvcr71.dll" dest="BaiduHi:\" type="bin" operation="add" />
7 k4 R# W* a+ b" m- H<File name="resource.db" dest="BaiduHi:\" type="resource" operation="add" /> ) G7 C9 d% ~; {5 K
<File name="riched20.dll" dest="BaiduHi:\" type="bin" operation="add" /> " o" K& o1 D( V. x* x# C" P
<File name="skin\default.db" dest="BaiduHi:\skin\" type="resource" operation="add" /> . Q6 x; q0 P6 x" |+ |
<File name="skin\rose.db" dest="BaiduHi:\skin\" type="resource" operation="add" />
: O8 f! o$ b# E8 k9 T" b" O8 I<File name="sound\msg.wav" dest="BaiduHi:\sound\" type="resource" operation="add" />
8 ]4 v0 W5 \0 T- X2 |' y<File name="sound\online.wav" dest="BaiduHi:\sound\" type="resource" operation="add" />
+ ]+ E) [8 X' v' H8 O: {# X<File name="sound\phone.wav" dest="BaiduHi:\sound\" type="resource" operation="add" /> 3 c, b* n) r3 k+ Y# r
<File name="sound\snapshot.wav" dest="BaiduHi:\sound\" type="resource" operation="add" />
/ s" T8 _1 T. M2 c; \0 J m R<File name="sound\system.wav" dest="BaiduHi:\sound\" type="resource" operation="add" /> , t, ?* V. ~4 U' W
<File name="sysimage\FaceError.gif" dest="BaiduHi:\sysimage\" type="resource" operation="add" /> # U" e8 T& }, z3 I
<File name="sysimage\FaceLoading.gif" dest="BaiduHi:\sysimage\" type="resource" operation="add" /> 1 W2 d: E0 }0 e; H1 f+ X% [, z2 {
<File name="sysimage\ImageError.gif" dest="BaiduHi:\sysimage\" type="resource" operation="add" /> ( Q& k7 B) y% J
<File name="sysimage\ImageLoading.gif" dest="BaiduHi:\sysimage\" type="resource" operation="add" /> $ S7 H Z* m5 c, t" k8 |$ j
<File name="uninst.exe" dest="BaiduHi:\" type="bin" operation="add" /> * V6 D* \5 c/ ?( @3 `* m; G
<File name="zlib1.dll" dest="BaiduHi:\" type="bin" operation="add" /> " J, B/ R" c3 x" e, q
</FullPackage>
4 I8 x& t4 ~2 Z1 }2 E</Module>5 j- Y% m* J9 W
</AutoUpdate>
" Q* e3 r4 w: N通过AutoUpdate.xml文件来下载http://update.im.baidu.com/AutoUpdate/updater48-49.cab ,我们可以通过构造恶意的config.ini,然后让程序下载我们构造的恶意AutoUpdate.xml,再让程序通过AutoUpdate.xml下载恶意构造好的cab安装包,释放。还是危害挺大的!9 p* m2 S* ]. }$ D" S' [
最后忠告大家,不要下载除官方以外任何地方的Baidu Hi !否则后够可能很严重,这次我发现的这两个漏洞的利用说容易也容易,说不容易也不容易,本人如上所说只是一点肤浅之见,没什么技术含量,只是觉得软件搞这么明文不好。提醒大家小心一点而已,没有别的意图,更没有哗众取宠的意思。 |
|