Mandiant曝光黑客組織假借招聘和WhatsApp發起PuTTY釣魚攻擊
Mandiant 託管防禦服務產品以主動威脅搜尋計劃而被人們所熟知,旨在保護客戶免受繞過傳統檢測機制的高級威脅參與者工具、策略和技術的侵害。2022 年7 月,在一家媒體行業公司的主動威脅搜尋工作中,Mandiant Managed Defense 揪出了被UNC4034 組織所利用的新一輪網絡釣魚活動。
(來自:Mandiant Blog)
Mandiant 認為UNC4034 與朝方的幾個組織有重疊,其通過WhatsApp 即時通訊服務與受害者建立了聯繫,並引誘其下載惡意ISO 包。
然而Mandiant Intelligence:Staging Directories 檢查發現(通過搜索寫入常用目錄的異常文件),其明面上有提到虛假的工作機會、但實質上是利用PuTTY 來部署AIRDRY.V2 木馬後門。
官方原版/ 惡意修改版PuTTY 的數字簽名對比
PuTTY 是一款開源的SSH 與Telnet 客戶端,最初線索顯示器下載了名為amazon_assessment.iso 的檔案文件。
而從Windows 10 開始,系統已能夠通過雙擊自動加載虛擬光驅。與RAR 等其它格式相比,這減少了查看嵌入文件所需的工作量。
通過Mandiant Managed Defense 對主機展開深入調查,可知UNC4034 通過電子郵件向受害者忽悠可提供在亞馬遜工作的機會而建立聯繫。
隨後該組織會利用WhatsApp 與之通信並傳送amazon_assessment.iso 文件,且裡面有個可執行文件(PuTTY.exe)和一個文本文件(Readme.txt)。
原版PuTTY / 惡意樣本中的.data 部分
隨著惡意PuTTY 在目標主機上被執行,受害者的機器也被植入了後門,Mandiant 識別其為AirDry 的一個變種。
儘管Mandiant Managed Defense 早在7 月5 日就調查到了入侵,並在潛在的後門部署前控制住了主機。
但更早的6 月27 日,VirusTotal 就已經發現了同名的PuTTY 可執行文件。
此外Mandiant 發現了第二個名為amazon_test.iso 的ISO 存檔,可知其於6 月17 日被VirusTotal 數據庫給收錄。
類似構造的惡意軟件,最終都是為了加載AirDry.V2 後門這個有效載荷。釣魚手段方面,攻擊者加裝自己是亞馬遜的招聘評估人員。
通過分析ISO 鏡像中的文件,可知兩者帶有相同的木馬化PuTTY 可執行文件、以及位於自述文件中的服務器端IP 地址。
每個樣本中包含的惡意代碼,會將嵌入式有效載荷寫入磁盤並啟動,但不同樣本還可能將木馬插入到代碼中的不同位置。
比如VirusTotal 檢出的樣本,就看到了被插入ssh2_userauth_process_queue 函數中的惡意代碼(源文件在putty-0.77sshuserauth2-client.c)。
執行惡意樣本時的PuTTY 圖形界面
與公鑰或鍵盤交互等其它驗證方法不同的是,該代碼位於負責執行密碼驗證的函數部分。一旦用戶建立連接並輸入他們的賬密,惡意代碼就會被執行,而無論身份驗證的結果到底如何。
此外兩個樣本中丟棄和執行有效負載的惡意代碼部分幾乎相同:
合法的Windows 可執行文件C:WindowsSystem32colorcpl.exe 被複製到了C:Progr AMD ataPackageColor 這個新目錄。
嵌入的有效負載則被寫入了C:ProgramDataPackageColorcolorui.dll,期間可觀察到如上圖所示的劫持與命令啟動。
接下來被執行的colorcpl.exe 二進製文件則來自C:WindowsSystem32cmd.exe /c start /b C:ProgramDataPackageColorcolorcpl.exe 0CE1241A44557AA438F27BC6D4ACA246 。
不過在VirusTotal 的示例中,cmd.exe 並未用於啟動colorcpl.exe —— 因為Windows API 函數WinExec 會執行上述命令。
兩種情況下,傳遞過來的colorcpl.exe 命令行參數,都與Windows 可執行文件的合法功能無關。相反,每個參數都被惡意的動態鏈接庫所使用。
先是通過schtasks.exe 為C:ProgramDataPackageColorcolorcpl.exe 建立持久性,然後藉助名為PackageColor 的計劃任務,在每天上午10:30 執行該二進製文件。
至於colorui.dll 樣本,檢測發現它是由商業軟件保護程序Themida 打包的。
解壓後的樣本,包含了揭示其用途(ShellCodeLoader)的嵌入式文件路徑——
W:DevelopaToolShellCodeLoaderApplibressl-2.6.5cryptocryptlib.c
—— 兩個樣本都包含了一個名單DAVESHELL 的相同shellcode 有效負載。
然後使用基於XOR 的自定義算法和動態生成的密鑰對有效負載進行解密可得如上圖所示的字符串。
Mandiant 指出,包含的該密鑰,也可作為一種反分析機制—— 若缺少正確的密鑰,則執行DLL 時不會觸發任何重要的操作。