本文是轉載,作者地址在文章尾部有!
文章我只簡化了2張圖片!
作者:
我個人評論:建議大家還是不要用這個軟件了,一個有過不良記錄的流氓軟件,我們拿什么來相信,再者,難保它不會又弄出新的貓膩!
這幾天看新聞,發(fā)現暴風七搞八搞,居然包裝成了5.19斷網的受害者,聽說實際上是暴風被ZF封殺,在新版本發(fā)布前,不準提供舊版本的下載,結果搞成了什么“召回”。然后就是一幫弱智媒體跟著瞎起哄,看得我牙都笑掉了。哄誰哪?圈里誰不知道暴風是怎么回事?說白了就是一款高水平的流氓軟件,或者干脆叫間諜軟件。稍微動動腦子就明白了,如果不是上億用戶的暴風本身有什么貓膩,幾個小黑客怎么可能搞出那么大動靜?
前幾天翹班在家,閑著沒事把GF筆記本上的暴風逆向了一下,結果發(fā)現了一個名叫stormliv的后臺進程,每20秒自動輪詢一次暴風的廣告服務器,說白了就是暴風讓它的1.2億用戶的電腦自動去點它的廣告,用虛假點擊騙廣告主的錢,但是技藝不精,結果搞成了一個死循環(huán),大量地占用dns資源,即便沒有這次黑客攻擊,釀成大禍也是遲早的事。
更蹊蹺的是,我又測了一個519斷網后,暴風25號發(fā)的一個新版本,這個版本里,導致斷網的那些貓膩居然還都在!stormliv的死循環(huán)輪詢機制根本沒去掉,只是把輪詢時間改得間隔長了一點,用了一些更復雜更隱蔽的邏輯,仍然是在在后臺偷偷運行,而且刪除后還會重新生成,服務刪除或禁止后也會復活,普通人根本清不掉。
最cao蛋的是這軟件在開機時,會通過服務項強行自啟動,一般人根本關不掉這個開機啟動項,占用內存不說,關鍵是把開機速度搞得巨慢(我把暴風卸了后,感覺本本的速度有明顯提升)。就算把軟件整個關掉了,還會駐留在內存里后臺運行,卸也很難卸干凈,另外還會干擾其他視頻播放軟件關聯視頻文件,這不是流氓是什么?
在壇子里混這么多年,從來都是潛水,這次是在受不了了,赤膊上陣,發(fā)個處女貼,說得不對的,希望大家包涵。
先分析一下暴風5月8日版本。
分析目標:stormliv.exe
一.靜態(tài)特征:
版本:3.9.5.15
數字簽名:有 [北京暴風網際科技有限公司 ]
簽名時間:2009年5月8日 11:06:16
大?。?596,064 字節(jié)
編譯日期:20009年5月8日 03:05:38(GMT)
CheckSum:A1192
編譯工具: Mircosoft Visual C++ 6.0
加殼:無
二.動態(tài)特征
1.啟動和保護:
stormlive.exe通過服務實現開機自啟動,而且此服務不能被刪除、禁用、停止,如果刪除或停用或禁止,下次再次運行暴風影音主程序storm.exe 會自動恢復。
2.端口偵聽:
此進程被用于暴風影音多進程通訊,使用開啟本地端口偵聽,UDP協議實現。
監(jiān)聽UDP 1025 5357等端口,實現Stline(暴風盒子) ,stormlive和storm.exe間通訊
3.用戶態(tài)鉤子
stormlive.exe啟動后,其meedb.dll會HOOK DeviceIoControl ,RegQueryValueA,RegQueryValueExW,CoCreateInstance 等函數
主要是用于過濾DVD區(qū)碼控制(IOCTL_DVD_GET_REGION )和一些COM接口控制。
三.stormlive主要功能分析:
1.暴風影音自動升級功能
stormlive會自動連接 hxxp://download.baofeng.com/stormII/storm_ctrl.ini 文件
這是一個普通的升級配置文件。
目前內容如下,可以看到有最新版本、升級URL、是否強制升級、是否提示用戶、提示用戶信息等配置內容
[SERVER]
version=3.09.06.10
url=
force=0
alert=0
info=”暴風影音有新版\n\n,已更新至3.09.06.10″
[EXPERT]
lib=
url=
升級部分逆向代碼:如圖2
2.信息統(tǒng)計:
目前發(fā)現可能連接下面這些地址來獲取信息、或者回傳統(tǒng)計,沒發(fā)現涉及用戶隱私或者系統(tǒng)配置信息等。
hxxp://active.baofeng.com/active2?pid=%d&id=%d&uid=%s&t=%d&v=%s&i
用戶活動信息,包括安裝日期,UID,ID等信息。
逆向代碼:如圖3
hxxp://areacode.baofeng.com:8081/adp/custom/;action=get_city_code
這個似乎是用來查詢當前城市代碼的,可能廣告彈出需要。
hxxp://bukebo.baofeng.com/upload/talks.do?talkMd5=%s&talkVersion=
hxxp://midInfo.baofeng.com/mid/downSucc.html?ver=%s&pl_id=%s
MID統(tǒng)計信息,上傳版本和MID
hxxp://midsd.baofeng.com/p2p/seed?name=
獲取P2P種子信息,stormlive.exe似乎在升級時使用了P2P技術。
3.不可播放文件回傳。如圖4
當暴風影音發(fā)現不可播放文件時,會通過stormlive.exe,連接:hxxp://noplay.baofeng.com:9000/upload/upload.do來上傳這個文件的部分片段。
這也是一個有界面的功能,只有用戶手動選擇不再自動提示,才會后臺靜默上傳。
逆向代碼如下:如圖5
4.下載廣告
stormlive.exe會連接download.baofeng.com,試圖下載一個exmat.ini,其中包含了廣告信息。
廣告鏈接都是一個個ZIP壓縮包,但其中未包含可執(zhí)行程序。
逆向代碼:如圖6
其中在下載廣告時,可能是為了繞過某些安全軟件或anti-ad軟件對其的封鎖,沒有采用HOSTS文件中的配置,而是自行獲取download.baofeng.com的域名,而且會在一個死循環(huán)中每隔20000 毫秒(20秒)發(fā)送一次DNS查詢包。
這段代碼可能是導致此次斷網門的罪魁禍首。
逆向代碼如下:如圖7
可以看到,如果對download.baofeng.com的gethostbyname調用失敗,會每隔20秒重新獲取一次,直到獲取成功為止。
這樣每小時就會發(fā)送數百個查詢包,乘上暴風的用戶量,數量之大非??植?。
四.清除方法
暴風影音新版共有3個沒必要存在的進程:
1.stormpop.exe 用于彈出廣告。
2.stline.exe 暴風盒子,也是廣告和推薦等。
3.stormlive.exe 前述的升級、回傳客戶端。
其中前兩個直接刪除即可清除掉。
最后一個刪除后還會重新生成,服務刪除或禁止后也會復活。
有一個簡單的方法可以清除這個程序,通過定位此文件的PE頭,將IMAGE_NT_HEADERS->SubSystem改為IMAGE_SUBSYSTEM_NATIVE
即將這個程序修改為一個驅動/NATIVE程序,由于services.exe無法啟動此程序,這個升級程序就無法繼續(xù)工作了,同時也不會復活或被重生。
再分析一下暴風影音的最新版本
簽名日期:2009年5月25日 22:11:57
版本:3.9.5.29
經過分析可以發(fā)現,5月8日簽名版本(版本號:3.9.5.15)的相應功能都仍存在。
區(qū)別在于:其死循環(huán)獲取download.baofeng.com域名的代碼(ForeverLoopGetHost)改為了每隔30分鐘獲取一次。
而且在每次獲取時有一些比較復雜的邏輯,而不是單純地調用系統(tǒng)API gethostbyname來獲取,可能是用于流量控制。
圖片2
圖片3
圖片5
圖片6
圖片7