TA的每日心情 | 奋斗 4 小时前 |
---|
签到天数: 2393 天 [LV.Master]伴坛终老
|
转载请注明出处:http://hi.baidu.com/biweilun
3 _2 |2 }8 V' u* Z% {我现在对百度的新聊天工具进行了稍微深入的分析,再下一步的分析工作就是在汇编调试里面展开的了。先说下我发现的可能威胁:! a [- ]7 m4 u' P5 N5 g. c+ T
1、Swf文件跨站漏洞6 y& N% b) O/ _4 ] b
在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"键值里面,如果修改注册表,人为改变该键值,可能引发更大的危机!- E- j3 T) _+ h% @! P2 r
+ F0 `, o& B9 _( N: p1 J
2、自动升级漏洞+ f1 D& f9 t9 L1 Z2 j, J
该漏洞目前没有测试,不过应该将来会盛行的。因为目前大家的Baidu HI都是最新版,不需要升级。将来如果需要升级的时候,这个漏洞就很危险了。Baidu Hi 的升级文件在AutoUpdate文件夹里面,
) d: P% y0 X) g) `+ |( M# F+ y9 e+ f6 A: [
- D) P- P v4 U" _- {9 s
BaiduHiUpdate.exe文件通过调用config.ini文件来升级,我们来看config.ini文件的代码:6 C1 N" K& _- x
[AutoUpdate]/ u% s6 `6 G% [" V# A% X
ConfigFileUrl=http://update.im.baidu.com/AutoUpdate/AutoUpdate.xml
# S4 J. d& y- qIsAutoUpdate=1. o! g- f' |3 o8 w: l6 @& W2 {/ J
ConfigFileKey1=3F26F386EB827C141DF8FE539B7ECDF4( k& P) R# S; |
ConfigFileKey2=128509257100000000
. R' ^- M x' E5 DLSTm_AutoUpdate=1206596754" x' m: Q/ p5 h5 n
看来使用的是下载http://update.im.baidu.com/AutoUpdate/AutoUpdate.xml这个文件,我下载下来打开一看,这个文件和AutoUpdate文件夹里面的那个AutoUpdate.xml文件内容相同。代码都是如下的:7 u0 Q, P" V( R Z7 T. U& M; {
<AutoUpdate version="1.0">
' u2 u& f' i1 s( a, t' a<Updater version="1.0.0.8" url="http://update.im.baidu.com/AutoUpdate/updater48-49.cab" md5="8312201dc14e0ff595680f6bcf4d0fb1" hint="update 49">
/ Y5 f( `8 u1 Z: v p<File name="atl71.dll" dest="updater:\" type="bin" operation="add" />
7 s7 g* X0 p- |; V<File name="AutoInstall.exe" dest="updater:\" type="bin" operation="add" />
/ s+ g# W3 X0 P: M7 q+ f0 I# f<File name="AutoUpdateUtil.dll" dest="updater:\" type="bin" operation="add" />
% A- w8 O" E ^5 y<File name="BaiduHiUpdate.exe" dest="updater:\" type="bin" operation="add" /> " [1 d8 E3 W2 W5 i) C6 m1 v: ^: d! V
<File name="Basement.dll" dest="updater:\" type="bin" operation="add" /> 4 k8 ^: M* @9 V7 k: I& G/ v& W& |0 G2 F
<File name="config.ini" dest="updater:\" type="resource" operation="add" /> % y4 }. ]+ L* ^
<File name="msvcp71.dll" dest="updater:\" type="bin" operation="add" /> ; Q2 M# E; M7 q3 b# T; C C' _7 p
<File name="msvcr71.dll" dest="updater:\" type="bin" operation="add" />
7 U7 D0 W8 V0 v2 O, ~1 G/ y<File name="resource.db" dest="updater:\" type="resource" operation="add" /> & n, u j, _1 x/ H9 F4 n
<File name="VersionInfo.xml" dest="updater:\" type="resource" operation="add" /> ! h( w; |2 F& B: W
</Updater>" C H' S+ r9 A9 j7 u: V% `( r' e! r
<Module name="BaiduHi" version="1.0.1.0" level="forcePrompt"> I% S! `; C% i
<Upgrade versi hint="update 49" md5="f684d6220bb2771433410e482287cc58" url="http://update.im.baidu.com/AutoUpdate/upgrade48-49.cab">
0 x1 C4 Q/ G& s8 V Z/ J, N& ]<File name="AppUtil.dll" dest="BaiduHi:\" type="bin" operation="add" />
6 J$ W; T+ u: n9 X) G) @5 r, { u<File name="BaiduHi.exe" dest="BaiduHi:\" type="bin" operation="add" />
: R3 N# M. F5 E- T/ F" k7 d) Q" v<File name="Basement.dll" dest="BaiduHi:\" type="bin" operation="add" /> - ^+ Q' H ?) D0 {
<File name="BugReport.exe" dest="BaiduHi:\" type="bin" operation="add" /> + q! a. v& e I( n p; w+ a
<File name="CSTransfer.dll" dest="BaiduHi:\" type="bin" operation="add" />
* p: x* a# x6 P" W, g<File name="HistoryExplorer.dll" dest="BaiduHi:\" type="bin" operation="add" />
% C: n. Y# G' j; `3 O0 f<File name="ImEngine.dll" dest="BaiduHi:\" type="bin" operation="add" /> 4 a D5 Z2 K' q! D' {9 ?
<File name="ImStorage.dll" dest="BaiduHi:\" type="bin" operation="add" />
/ M1 w+ A& r6 m# s<File name="LocalLog.dll" dest="BaiduHi:\" type="bin" operation="add" /> 1 {, U' w9 P2 d" s
<File name="NetService.dll" dest="BaiduHi:\" type="bin" operation="add" />
8 q: O S0 ?3 `<File name="RUDPLib.dll" dest="BaiduHi:\" type="bin" operation="add" /> 2 y( m$ t n ]1 [$ \
<File name="SkinDLL.dll" dest="BaiduHi:\" type="bin" operation="add" />
0 N( q( U/ `1 H" S6 B<File name="UPnPDll.dll" dest="BaiduHi:\" type="bin" operation="add" />
/ x1 F. m8 H, b( }; y) G# |1 \<File name="VersionInfo" dest="BaiduHi:\" type="resource" operation="add" />
3 g% h! Z+ F1 ~* _: u e<File name="fmmgr.dll" dest="BaiduHi:\" type="bin" operation="add" /> , h4 I* u, s. w1 n5 Q8 p
<File name="imcs.dll" dest="BaiduHi:\" type="bin" operation="add" />
6 t9 _: O! l8 v" b' c6 ]) i<File name="uninst.exe" dest="BaiduHi:\" type="bin" operation="add" /> 2 \) B# ]: H1 u. d# a: t8 ?- z
</Upgrade>
$ Y' I5 p; c4 l, M# h<FullPackage hint="update 49" md5="3af7588de47c7fdcb9ca5421de4c444c" url="http://update.im.baidu.com/AutoUpdate/fullpackage48-49.cab">/ S/ x: j8 O6 V6 e
<File name="AppUtil.dll" dest="BaiduHi:\" type="bin" operation="add" /> ) J- C- F% G8 q* k
<File name="BaiduHi.exe" dest="BaiduHi:\" type="bin" operation="add" /> 8 q" v2 p4 Y5 `% `
<File name="Basement.dll" dest="BaiduHi:\" type="bin" operation="add" /> % u3 e, h( e% M6 g H
<File name="BugReport.exe" dest="BaiduHi:\" type="bin" operation="add" /> + g- O3 V2 i: Y7 e: Q* x# f/ H: J
<File name="CSTransfer.dll" dest="BaiduHi:\" type="bin" operation="add" />
+ y% I+ C3 }1 e8 Q A: k<File name="HistoryExplorer.dll" dest="BaiduHi:\" type="bin" operation="add" /> & U$ Q+ V5 a5 T G5 I, W4 ]% o
<File name="ImEngine.dll" dest="BaiduHi:\" type="bin" operation="add" />
3 q- N4 {2 [) M/ [<File name="ImStorage.dll" dest="BaiduHi:\" type="bin" operation="add" />
5 Y" d6 C, |" J- D7 t0 d* ~8 o0 n% q<File name="LocalLog.dll" dest="BaiduHi:\" type="bin" operation="add" /> 1 V C- C8 u1 z* l; g9 b
<File name="MovieData\loginCarton.swf" dest="BaiduHi:\MovieData\" type="resource" operation="add" />
3 W( c( W- c1 d @, r. s<File name="MovieData\videoConnectingBig.swf" dest="BaiduHi:\MovieData\" type="resource" operation="add" />
0 V2 s& {3 h% |5 G; q I" n9 p4 _<File name="MovieData\videoConnectingSmall.swf" dest="BaiduHi:\MovieData\" type="resource" operation="add" /> 6 w9 N" d7 Y; @$ }1 h
<File name="NetService.dll" dest="BaiduHi:\" type="bin" operation="add" />
7 E' V0 J9 [; l% S<File name="RUDPLib.dll" dest="BaiduHi:\" type="bin" operation="add" />
3 B- U$ B' |+ D: a' W<File name="ServerConfig.dat" dest="BaiduHi:\" type="resource" operation="add" />
, r+ ^3 i& l) w: L. s/ f! a<File name="SkinDLL.dll" dest="BaiduHi:\" type="bin" operation="add" /> 3 v' o, G$ v" x$ k1 [( d u3 {7 i
<File name="SysCustomStatus.xml" dest="BaiduHi:\" type="resource" operation="add" /> 1 s2 D2 v: b& Y! H, _( P( O
<File name="UPnPDll.dll" dest="BaiduHi:\" type="bin" operation="add" /> ; D; q9 L$ \5 E! [) W! d T
<File name="VersionInfo" dest="BaiduHi:\" type="resource" operation="add" /> 7 }, i- l) C! W
<File name="atl71.dll" dest="BaiduHi:\" type="bin" operation="add" />
7 n9 |/ o$ h( ~+ J<File name="dbghelp.dll" dest="BaiduHi:\" type="bin" operation="add" />
s# X9 ^! S8 f5 i. u9 ^<File name="fmmgr.dll" dest="BaiduHi:\" type="bin" operation="add" /> % j8 e5 [ m: r7 T& i/ ]
<File name="imcs.dll" dest="BaiduHi:\" type="bin" operation="add" />
# q/ v# r6 l5 F6 \# L A<File name="licence.txt" dest="BaiduHi:\" type="resource" operation="add" />
8 X# e+ t9 U5 g- H8 k<File name="mediactrl.dll" dest="BaiduHi:\" type="bin" operation="add" /> " u% B1 S3 {7 J9 a
<File name="msvcp71.dll" dest="BaiduHi:\" type="bin" operation="add" /> 8 t# T( }+ e9 C- j
<File name="msvcr71.dll" dest="BaiduHi:\" type="bin" operation="add" /> * _7 c+ t' ^% i
<File name="resource.db" dest="BaiduHi:\" type="resource" operation="add" /> + P. j# e# }' v9 u, p
<File name="riched20.dll" dest="BaiduHi:\" type="bin" operation="add" />
h8 u) p `+ A* L+ m3 j<File name="skin\default.db" dest="BaiduHi:\skin\" type="resource" operation="add" />
: x& P3 p- n; A1 K<File name="skin\rose.db" dest="BaiduHi:\skin\" type="resource" operation="add" /> 4 p- W+ a" }: k2 }0 K e8 R
<File name="sound\msg.wav" dest="BaiduHi:\sound\" type="resource" operation="add" />
! \6 E% m8 f3 w9 ^* ~- b<File name="sound\online.wav" dest="BaiduHi:\sound\" type="resource" operation="add" /> + Y2 ?* J! r- b. j
<File name="sound\phone.wav" dest="BaiduHi:\sound\" type="resource" operation="add" /> / ` W- D+ @ I) y. X, k6 k
<File name="sound\snapshot.wav" dest="BaiduHi:\sound\" type="resource" operation="add" />
0 K) I5 i. Q6 i. q<File name="sound\system.wav" dest="BaiduHi:\sound\" type="resource" operation="add" />
v0 O9 \# M& A<File name="sysimage\FaceError.gif" dest="BaiduHi:\sysimage\" type="resource" operation="add" />
, A/ i( k i; P3 `6 B; t, J! [<File name="sysimage\FaceLoading.gif" dest="BaiduHi:\sysimage\" type="resource" operation="add" />
" D! ?# B7 S$ G<File name="sysimage\ImageError.gif" dest="BaiduHi:\sysimage\" type="resource" operation="add" /> " Q3 q ?. Q( M( Z2 H9 Q
<File name="sysimage\ImageLoading.gif" dest="BaiduHi:\sysimage\" type="resource" operation="add" /> 0 o! z& T! f# z! N
<File name="uninst.exe" dest="BaiduHi:\" type="bin" operation="add" /> / G; i/ }, z! k9 @6 S
<File name="zlib1.dll" dest="BaiduHi:\" type="bin" operation="add" /> : [1 M' c& c6 o4 ?
</FullPackage>4 V9 @6 E- M" O/ s6 Z2 ?" H
</Module>
4 U0 y, ]/ [2 m- Y* S1 I+ |</AutoUpdate>
* }6 l. @9 v$ j* r# W6 k" L通过AutoUpdate.xml文件来下载http://update.im.baidu.com/AutoUpdate/updater48-49.cab ,我们可以通过构造恶意的config.ini,然后让程序下载我们构造的恶意AutoUpdate.xml,再让程序通过AutoUpdate.xml下载恶意构造好的cab安装包,释放。还是危害挺大的!
1 N% K, ]. z) W8 o- i# N- L& J最后忠告大家,不要下载除官方以外任何地方的Baidu Hi !否则后够可能很严重,这次我发现的这两个漏洞的利用说容易也容易,说不容易也不容易,本人如上所说只是一点肤浅之见,没什么技术含量,只是觉得软件搞这么明文不好。提醒大家小心一点而已,没有别的意图,更没有哗众取宠的意思。 |
|