當前位置:
首頁 > 新聞 > 對APT34泄露工具的分析——PoisonFrog和Glimpse

對APT34泄露工具的分析——PoisonFrog和Glimpse

0x00 前言

最近APT34的6款工具被泄露,本文僅在技術角度對其中的PoisonFrog和Glimpse進行分析。

參考資料:

https://malware-research.org/apt34-hacking-tools-leak/amp/

0x01 簡介

本文將要介紹以下內容:

·對PoisonFrog的分析

·對Glimpse的分析

·小結

0x02 對PoisonFrog的分析

對應泄露文件的名稱為posion frog。

包括兩部分文件:

·agent,包含文件poisonfrog.ps1,是通過powershell實現的木馬程序

·server side,對應木馬控制端,使用Node.js開發

一、agent實現的功能

1、在%public%Public文件夾下釋放三個文件

·dUpdater.ps1

·hUpdater.ps1

·UpdateTask.vbs

釋放文件的具體功能如下:

(1)dUpdater.ps1

1.生成一個當前系統的專有標誌

2.讀取當前系統的代理設置

3.通過HTTP協議從c2伺服器下載文件

4.根據下載文件的內容進行下一步操作,包括執行命令,上傳文件和下載文件

(2)hUpdater.ps1

1.生成一個當前計算機的專有標誌

2.創建以下文件夾

·%public%Public

·%public%Public
eveivebox

·%public%Publicsendbox

·%public%Publicdone

3.通過DNS A記錄從c2伺服器接收控制命令

4.執行命令並回傳結果

(3)UpdateTask.vbs

內容如下:

command0 = "Powershell.exe -exec bypass -file C:UsersPublicPublichUpdater.ps1"

set Shell0 = CreateObject("wscript.shell")

shell0.run command0, 0, false

command1 = "Powershell.exe -exec bypass -file C:UsersPublicPublicdUpdater.ps1"

set Shell1 = CreateObject("wscript.shell")

shell1.run command1, 0, false

用來載入powershell腳本dUpdater.ps1和hUpdater.ps1

2、創建兩個計劃任務

·名稱為UpdateTasksUpdateTask,每10分鐘運行一次,以當前用戶許可權執行UpdateTask.vbs

·名稱為UpdateTasksUpdateTaskHosts,每10分鐘運行一次,以System許可權執行UpdateTask.vbs

二、 對server side的分析

通過Node.js實現。

使用時需要先通過npm安裝第三方包,具體安裝的命令位於文件install_pachages.bat中。

index.js為主體程序。

考慮到避免被濫用,控制端的代碼不做具體分析,也不提供具體搭建的方法。

註:我在之前的文章《滲透測試中的Node.js——Downloader的實現》和《滲透測試中的Node.js——利用C 插件隱藏真實代碼》曾介紹過Node.js的使用,Node.js的基礎知識可以參考這兩篇文章。

使用Node.js實現server side有以下優點:

·語法簡單易懂

·輕量又高效

·可同時部署在Windows和Linux系統

三、該工具的公開線索

1.APT34曾利用CVE-2017-11882傳播該木馬,FireEye對樣本進行過分析:

https://www.fireeye.com/blog/threat-research/2017/12/targeted-attack-in-middle-east-by-apt34.html

2.Palo Alto Networks將其命名為Early BondUpdater,對樣本的分析資料:

https://unit42.paloaltonetworks.com/dns-tunneling-in-the-wild-overview-of-oilrigs-dns-tunneling/

0x03 對Glimpse的分析

對應泄露文件的名稱為Glimpse。

包括四部分文件:

·Agent,包含四個文件dns.ps1、dns_main.ps1、refineddns_main.ps1和runner_.vbs

·panel,包含一個c#開發的界面程序,是界面化的木馬控制端

·server,是Node.js開發的木馬控制端

·Read me.txt,配置說明文檔

一、agent實現的功能

dns.ps1、dns_main.ps1和refineddns_main.ps1三個文件的功能相同。

原始版本為dns_main.ps1

dns.ps1和refineddns_main.ps1隻是變數名稱替換成了無意義的混淆字元串。

dns_main.ps1的功能如下:

1.創建文件夾%public%Libraries

註:%public%Libraries默認為隱藏文件夾。

2.判斷文件%public%Librarieslock是否存在

·如果不存在,創建文件並寫入當前powershell進程的pid

·如果文件存在,讀取文件創建時間,如果距離現在的時間超過10分鐘,那麼會退出進程並刪除lock文件

3.生成一個當前系統的專有標誌,寫入文件%public%Librariesquid

4.創建以下文件夾

·%public%Librariesfiles

·%public%Libraries

·%public%Libraries
eveivebox

·%public%Librariessendbox

·%public%Librariesdone

5.通過DNS A記錄或DNS TXT記錄從c2伺服器接收控制命令

6.執行命令並回傳結果

二、 對server的分析

通過Node.js實現。

使用時需要先通過npm安裝第三方包,具體安裝的命令位於文件Read me.txt中。

相比於PoisonFrog,Glimpse在代碼結構上做了優化,並且添加了通過DNS TXT記錄傳輸數據的功能。

考慮到避免被濫用,控制端的代碼不做具體分析,也不提供具體搭建的方法。

三、該工具的公開線索

1.Palo Alto Networks將其命名為Updated BondUpdater,對樣本的分析資料:

https://unit42.paloaltonetworks.com/unit42-oilrig-uses-updated-bondupdater-target-middle-eastern-government/

0x04 小結

對於PoisonFrog和Glimpse,雖然這次泄露了工具源碼,但它們早在2017年已經被捕獲樣本,也被分析的很清楚,個人認為該工具不存在被大規模濫用的隱患。而使用DNS協議傳輸數據也是一個很古老的方法,個人認為該工具不會導致惡意軟體技術的升級。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 嘶吼RoarTalk 的精彩文章:

HTML5屬性a標籤ping被用於DDOS攻擊,QQ瀏覽器被波及
如何擺脫Google的影響,實現一個完全無Google因素的網路環境

TAG:嘶吼RoarTalk |