惡意軟體QuantLoader深度分析
本文將介紹惡意軟體的行動流程、運行和網路功能,其中包括分析惡意軟體如何運行以及如何與C2連接和通信,還有惡意軟體的一些有趣的調用,比如調用和執行netsh命令來改變本地防火牆的規則。
最新的QuantLoader版本是服務釣魚活動,該活動開始的時候以釣魚郵件來向用戶傳播JS下載器。該惡意軟體使用的SMB協議而不是常用的HTTP協議,可能的原因是為繞過一些代理和防火牆的檢測。
分析
首先,該活動的流圖為:
Phish > JS downloader > QuantLoader (> C2) > Payload (Backdoor) > C2
其中JS下載器的代碼都是被混淆過的:
列印出main函數的輸出,及獲得了第二階段的URL:
這是對JS下載器的快速分析來獲取URL。
QuantLoader可執行文件
然後分析可執行文件的執行流:
彙編碼:
然後,會在執行前將自己拷貝到上面的位置:
設定正確的許可權:
用戶許可權被設定為可讀read。
棧:
下面看一下進程執行和駐留機制。
該進程會在將自己拷貝到不同的位置之後衍生出一個新的進程。不要將該進程與Windows的桌面窗口管理器進程dwm.exe相混淆。駐留就這樣開始了。
下面是生成的新進程,以及如何生成新進程。
首先,創建目錄:
目錄創建完成後,調用CreateFile來創建空文件。
現在這是一個空的文件,大小是0位元組,之後會被拷貝。
拷貝文件:
該文件被拷貝後,大小變成了46080位元組:
該進程會從這個位置啟動。
可以隨意修改:
進程成功啟動後,下一個比較重要的步驟就是調用WININET dll來建立與admin的連接。
執行後,會嘗試與admin伺服器建立連接,連接如下:
TCP localhost:49690 49.51.228.205:http ESTABLISHED
這就是載入到棧內的主機。
下面是如何做棧內打開:
第一步是通過調用LoadLibrary載入WININET DLL:
下面是一些我們隨後會進行分析的函數:
在棧內可以看到上面函數的執行:
下面看一下WINHTTP.dll:
下面是被調用的函數:
上圖中所有的函數都是WinHttp。
下面是一些有趣的函數:
WinHttpCreateUrl
WinHttpCreateUrl可以將host和路徑結合起來組成完整的URL。
調用jsproxy.dll組成的完成的URL,
最後,是內存複製,也就是URI如何被載入到內存中。
下圖是棧的截屏,可以看到URL被載入到棧內,然後被調用。
可以看到內存中URL已經成功載入了,可以隨時使用URLDownloadToFile調用。
上圖中的ASCII碼是惡意軟體向防火牆中添加規則。該規則是確保惡意軟體向外的請求能夠通過。
下面是棧的視圖:
下面是CPU視圖:
使用的命令是 netsh。
下面是進程鏡像:
下面是創建並成功應用的防火牆規則:
其他的調用有:
一旦與admin C2伺服器建立連接,惡意活動的管理員將可以拿到payload,而且payload的形式是多種多樣的。在本活動中,payload的形式是後門。可以很容易從內存中提取下載payload的URL。
結論
QuantLoader的代碼與其他普通的惡意軟體有所不同,比如操作本地防火牆規則的代碼等。惡意活動的admin可以改變最後的payload並用同樣的下載器去運營不同的活動。
QuantLoader最初是被告為勒索軟體,可能是因為內存字元串中含有一個Locky相關的參考,看起來像是從其他活動的變種。
Z:varwww4testfilescryptorsadminLoc2.exe
另外一個比較有意思的就是使用的是SMB協議而不是常見的HTTP協議。
※網路間諜組織通過MikroTik路由器影響受害者
※思科Elastic Services Controller服務埠存在身份繞過漏洞,請儘快升級更新
TAG:嘶吼RoarTalk |