偷天换日——新型浏览器劫持木马“暗影鼠”分析
騰訊電腦管家 · 2016/05/31 12:06
0x00 背景
近日哈勃分析系統截獲了一批新型瀏覽器劫持木馬 “暗影鼠”,該木馬通常被打包在壓縮包內偽裝視頻播放器通過網頁進行傳播。該木馬的主要功能是對瀏覽器訪問導航頁的流量進行劫持,重定向到自己的推廣頁,非法獲取推廣利潤。該木馬最早出現是在今年的4月末,5月初開始小范圍傳播,但是從5月23開始突然爆發(fā),高峰期全網中此木馬用戶數超過30W每日,保守估計近期木馬作者以此獲利總額有近百萬元人民幣。
傳播趨勢
0x02 木馬介紹
“暗影鼠”啟動后首先釋放大批子文件,如下圖所示
釋放文件列表圖
主要子文件功能:
- cBLK.dll 木馬核心功能模塊,注入瀏覽器進程,流量劫持
- newts.exe 64位系統下kill瀏覽器進程
- undoing.exe 獲取木馬作者后臺的推廣列表
- run.bat 清空瀏覽器緩存和臨時文件
- clk.ini 木馬使用的配置文件
“暗影鼠”核心作惡流程
該木馬在釋放了一批子文件之后,枚舉當前系統中的進程,與設定好的國內主流瀏覽器進程名進行對比,如果發(fā)現這些瀏覽器進程的存活,則殺掉相應進程,并且生成一個相應被感染的瀏覽器主進程的可執(zhí)行文件。然后拉起這個被感染的假瀏覽器進程,假瀏覽器進程會加載之前釋放的核心功能dll,然后再dll中hook關鍵系統函數,進行流量劫持。
0x02 主要功能模塊技術分析
1.遍歷進程殺瀏覽器進程
進程名比較代碼段
枚舉進程,尋找國內主流瀏覽器進程名。在此本文以chrome瀏覽器為例,對木馬母體的TerminateProcess函數下斷點,查看第一個參數。
結束chrome進程
查看句柄的含義
procxp中查看句柄含義
句柄對應的就是chrome進程
任務管理器中查看chrome的進程ID
可見木馬母體中去殺的進程就是chrome.exe。
2.“貍貓換太子”假瀏覽器出場
殺掉真的chrome之后,木馬母體在chrome.exe的同級目錄下創(chuàng)建了下邊兩個文件。
釋放被感染的chrome
上圖中的exe就是一個被感染的chrome,會在啟動時加載cBLK.dll,然后執(zhí)行其內部包含的真正的chrome.exe。
假的chrome啟動后,我們用spy++查看當前的瀏覽器窗口歸屬
spy++查看窗口的進程歸屬
假chrome進程樹
0:000> ?9d4 Evaluate expression: 2516 = 000009d4 復制代碼0x9d4轉成10進制就是2516
可以看到現在使用的chrome就是被感染的chrome。
3.cBLK目的何在
調試器附加假chrome
由上圖可知假chrome加載了cBLK.dll,這個dll的主要功能就是hook系統關鍵函數。
主要Hook點
hook LoadLibraryExw
阻止加載列表
這個hook點的主要目的就是防止安全軟件的瀏覽器安全模塊加載。
hook WSASend發(fā)現對導航頁的訪問時
監(jiān)控的導航頁列表
構造302頁面
發(fā)現對上述導航頁的訪問,則構造相應的302跳轉頁面。
hook WSARecv將對應的302頁面返回,達到劫持目的
返回302頁面
上圖中的代碼是在cBLK的WSARecv的hook函數中找到的,后邊會調用真正的WSARecv,使得瀏覽器誤以為接收到了302跳轉頁面,達到劫持目的。
4.其他技術點
啟動被感染的瀏覽器進程,該樣本還使用了監(jiān)控瀏覽器桌面快捷方式點擊的方法,非主要技術點在此不展開介紹。該樣本也hook其他模塊加載和網絡發(fā)送接收函數,道理和上邊說的一致,也不重復了。
哈勃分析系統目前對此樣本的已經查殺。
總結
以上是生活随笔為你收集整理的偷天换日——新型浏览器劫持木马“暗影鼠”分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 影响数千万APP的安卓APP“寄生兽”漏
- 下一篇: 「镁客·请讲」摩簦伞易新宇:对共享雨伞的