<dd id="sga4y"><optgroup id="sga4y"></optgroup></dd>
<nav id="sga4y"><code id="sga4y"></code></nav>
  • <optgroup id="sga4y"></optgroup>

    原文地址:http://drops.wooyun.org/tips/16336

    0x00 背景


    近日哈勃分析系統截獲了一批新型瀏覽器劫持木馬 “暗影鼠”,該木馬通常被打包在壓縮包內偽裝視頻播放器通過網頁進行傳播。該木馬的主要功能是對瀏覽器訪問導航頁的流量進行劫持,重定向到自己的推廣頁,非法獲取推廣利潤。該木馬最早出現是在今年的4月末,5月初開始小范圍傳播,但是從5月23開始突然爆發,高峰期全網中此木馬用戶數超過30W每日,保守估計近期木馬作者以此獲利總額有近百萬元人民幣。

    傳播趨勢

    0x02 木馬介紹


    “暗影鼠”啟動后首先釋放大批子文件,如下圖所示

    釋放文件列表圖

    主要子文件功能:

    “暗影鼠”核心作惡流程

    該木馬在釋放了一批子文件之后,枚舉當前系統中的進程,與設定好的國內主流瀏覽器進程名進行對比,如果發現這些瀏覽器進程的存活,則殺掉相應進程,并且生成一個相應被感染的瀏覽器主進程的可執行文件。然后拉起這個被感染的假瀏覽器進程,假瀏覽器進程會加載之前釋放的核心功能dll,然后再dll中hook關鍵系統函數,進行流量劫持。

    0x02 主要功能模塊技術分析


    1.遍歷進程殺瀏覽器進程

    進程名比較代碼段

    枚舉進程,尋找國內主流瀏覽器進程名。在此本文以chrome瀏覽器為例,對木馬母體的TerminateProcess函數下斷點,查看第一個參數。

    結束chrome進程

    查看句柄的含義

    procxp中查看句柄含義

    句柄對應的就是chrome進程

    任務管理器中查看chrome的進程ID

    可見木馬母體中去殺的進程就是chrome.exe。

    2.“貍貓換太子”假瀏覽器出場

    殺掉真的chrome之后,木馬母體在chrome.exe的同級目錄下創建了下邊兩個文件。

    釋放被感染的chrome

    上圖中的exe就是一個被感染的chrome,會在啟動時加載cBLK.dll,然后執行其內部包含的真正的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發現對導航頁的訪問時

    監控的導航頁列表

    構造302頁面

    發現對上述導航頁的訪問,則構造相應的302跳轉頁面。

    hook WSARecv將對應的302頁面返回,達到劫持目的

    返回302頁面

    上圖中的代碼是在cBLK的WSARecv的hook函數中找到的,后邊會調用真正的WSARecv,使得瀏覽器誤以為接收到了302跳轉頁面,達到劫持目的。

    4.其他技術點

    啟動被感染的瀏覽器進程,該樣本還使用了監控瀏覽器桌面快捷方式點擊的方法,非主要技術點在此不展開介紹。該樣本也hook其他模塊加載和網絡發送接收函數,道理和上邊說的一致,也不重復了。

    哈勃分析系統目前對此樣本的已經查殺。

    97av