揭秘:迅雷“病毒門”技術解析
今年7月27日,迅雷爆出病毒門,網友稱發現一個位于C:\Windows\System32目錄下、名為“INPEnhSvc.exe”、帶有迅雷數字簽名的文件有問題。網絡上的新聞雖然不少,但大多都是八卦和概念性的描述,本文是由國外的小伙伴寫的一篇純技術分析。
概述
最近ESET殺毒軟件檢測到一款名為Win32/KanKan的惡意軟件.它有一下3個重要特征:
1. 盡管自身沒有辦公軟件的功能,但是在注冊表里注冊了一個辦公插件,目的純粹是為了更長久的在系統中存活.
2. 所有連接到受感染電腦的安卓手機都會被悄悄的安裝多個APP.
3. 這款惡意軟件擁有迅雷網絡技術有限公司的簽名.
詳細分析
惡意軟件的簽名信息如下:
這個惡意軟件是一個windows安裝程序,文件名為INPEnhSetup.exe.開始運行的時候會連接kkyouxi.stat.kankan.com 發送初始化消息.然后釋放3個文件:INPEn.dll, INPEnhUD.exe和INPEnhSvc.exe.之后加載庫文件INPEn.dll到內存,調用它的 DllRegisterServer函數.最后安裝程序又向域名kkyouxi.stat.kankan.com發送安裝完成消息.
INPEn.dll
INPEn.dll運行時會安裝一個Word,Excel,PowerPoint的名為InputEnhance的插件.通過創建一個注冊表項使得辦公軟件每次啟動就會加載這個插件,從而達到隱蔽運行的目的.
dll文件運行之后會讀取conf.kklm.n0808.com/tools.ini這個文件.
這個文件包含了多個參數.其中Tools和VID用base64編碼過.
Tools解碼后如下:
taskmgr.exe|tasklist.exe|procexp.exe|procmon.exe|devenv.exe|windbg.exe|filemon.exe|ollyice.exe|ollydbg.exe|processspy.exe|spyxx.exe|cv.exe|wireshark.exe
顯然是檢測這些工具是否運行,如果存在dll文件會停止運行,避免被發現.值得一提的這個列表里并只有分析工具,沒有殺毒軟件.看來作者的目的是為了防止軟件被發現.
dll文件運行之后還會通過訪問baidu.com,qq.com等域名來檢測網絡是否通暢.如果沒有聯網就周期性的檢測網絡連接.
INPEnhUD.exe
一旦網絡連接建立,它就會執行INPEnhUD.exe.我們稱這個文件為更新程序.它首先訪問這個URL:
update.kklm.n0808.com/officeaddinupdate.xml.
officeaddinupdate.xml當前的內容如下:
這個xml文件包含一個url和md5 hash的列表.INPEnhUD.exe會下載沒一個url里的文件,然后比對md5,如果通過就執行這個文件.
當前xml里只有一個Uninstall.exe,現在該軟件下載這個程序會把自己卸載掉.當下載完列表里的程序后,最后會執行第三個文件,INPEnhSvc.exe.
INPEnhSvc.exe
INPEnhSvc.exe是這3個文件架構的最核心.它獲取一個包含7個命令的XML配置文件.7個命令可以分為下面兩組:
local commands: scanreg, scandesktop, scanfavorites
outsourced commands: installpcapp, installphoneapp, setdesktopshortcut, addfavorites, setiestartpage
整個程序的架構可以用下圖表示:
下面分析一下我們最感興趣的”installphoneapp”命令.其實大多數命令都可以從它的名字看出他大概的作用.”installphoneapp”會下載一些安卓應用,然后安裝到連接到該電腦的手機上.
當我們開始調查的時候,這些安卓應用已經不能下載了.我們在中國的一些安全論壇里找到幾個樣本.下面是這些應用的截圖:
下圖是ESET每天檢測到的這個名為 Win32/kankan軟件的安裝數據: