被濫用的Slack服務:APT29針對意大利的攻擊活動分析
背景
APT29,又名CozyBear, Nobelium, TheDukes,奇安信內部編號APT-Q-77,被認為是與東歐某國政府有關的APT組織。該組織攻擊活動可追溯至2008年,主要攻擊目標包括西方政府組織機構、智囊團。APT29曾多次實施大規模魚叉攻擊,收集攻擊目標機構或附屬組織的人員信息,并針對其中的高價值目標采取進一步的網絡間諜活動。
2021年5月,微軟披露了該組織幾種攻擊武器,其中包括EnvyScout[1],這種惡意軟件通過HTML文件釋放包含后續惡意載荷的ISO文件。2022年4月,Mandiant將2020年SolarWinds攻擊事件的幕后黑手UNC2452組織歸并到APT29[2]。APT29在今年上半年被披露的魚叉攻擊活動中屢次利用合法通信服務作為C&C信道[3,4],比如團隊協作服務Trello和文件托管服務Dropbox。
概述
近期,奇安信威脅情報中心紅雨滴團隊在日常的威脅狩獵中捕獲到EnvyScout攻擊樣本,該樣本釋放的ISO文件中包含LNK文件以及設置了文件隱藏屬性的PE文件,通過LNK文件啟動其中的正常EXE,進而以側加載方式執行惡意DLL。惡意DLL利用團隊協作通信服務Slack作為C&C信道,獲取后續載荷并執行。
國外安全研究人員進一步發現了與該EnvyScout攻擊樣本相關的釣魚郵件和PDF誘餌文檔[5]。郵件與PDF均使用意大利語,內容是要求機構部門人員完成COVID-19疫苗接種的通知,釣魚郵件使用意大利政府域名進行偽裝,因此可以認為此次攻擊目標位于意大利。結合對同源樣本的分析,我們發現此次攻擊活動至少從6月中旬開始。
樣本攻擊流程如下所示。

樣本分析
攻擊入口
作為攻擊入口的釣魚郵件如下,郵件偽造來自意大利的政府域名governo.it,但實際的發件地址為”info@cesmoscan.org”,此外郵件內容中“COVID-19“出現了拼寫錯誤。


郵件附件PDF文檔”Dekret.pdf”打開后內容如下,是對郵件正文提到的所謂第348/2022號政府法令的說明。


誘餌PDF中的鏈接指向hxxps://www.agencijazaregistraciju.rs/i.html,該URL存放的就是我們捕獲的EnvyScout攻擊樣本。APT29此前使用EnvyScout時一般是直接將其作為釣魚郵件的附件,而在此次攻擊活動中,EnvyScout通過誘餌文檔中的遠程鏈接觸發,更具隱蔽性。
EnvyScout
捕獲的EnvyScout攻擊樣本i.html的基本信息如下。

i.html的具體內容如下所示。 受害者訪問i.html時,User-Agent和IP信息會發送到hxxps://www.agencijazaregistraciju.rs/t.php。 然后頁面中嵌入的ISO文件數據偽裝為誘餌PDF文檔中提到的疫苗接種問卷,引導受害者下載。


Decret.iso
下載的Decret.iso基本信息如下。

Decret.iso中包含的文件如下,其中Decret.lnk和HPScanApi.dll為惡意文件,文件修改時間均為北京時間6月29日。ISO解壓打開后除Decret.lnk之外,其余文件均被設置了文件隱藏屬性,使得受害者只能看到Decret.lnk這一快捷方式文件。


Decret.lnk文件信息如下,受害者點擊后,啟動同目錄下的HP2.exe。


HP2.exe加載version.dll,而version.dll會進一步加載后門HPScanApi.dll。 ?
HPScanApi.dll
HPScanApi.dll文件基本信息如下。

HPScanApi.dll中多處使用下面這種異或的方式解密得到所需的字符串,后門dll首先會檢查運行的進程名稱是否為HP2.exe。

以ntdll模塊中的RtlFindSetBits函數為入口點創建線程,修改該線程上下文的rcx寄存器,使其指向后門dll中的函數sub_68B0BD10,當恢復線程運行狀態后,控制流會轉移到該函數。該控制流轉移方法與具體的線程入口點函數無關,只與系統恢復線程運行狀態的過程有關。

函數sub_68B0BD10為后門dll的主要惡意功能所在。首先調用函數sub_68B02F90重新從磁盤文件中加載ntdll.dll和wininet.dll的text段,此舉可能是為了消除針對這兩個DLL中API設置的斷點。

然后調用函數sub_68B06AB0實現持久化。該函數先檢查dll的文件路徑中”\”出現次數是否為1。若為1表示該DLL是直接通過打開ISO文件得到的,則繼續進行后續操作,否則函數直接返回。


在%appdata%目錄下創建名為HPScanLib的子目錄。然后將HPScanApi.dll, HP2.exe, version.dll復制到該目錄下。

在注冊表”HKCU\ Software\Microsoft\Windows\CurrentVersion\Run”鍵下設置名為”LibHP”的值,指向復制的HP2.exe文件路徑。

完成持久化后,函數sub_68B0BD10開始利用Slack服務建立C&C信道。Slack是一款在線團隊協作通信服務,并且支持API操作。

后門借助Slack服務與攻擊者通信的流程如下。

后門中sub_68B08EF0函數負責建立信道,包括創建slack channel以及向新建的channel中添加攻擊者的用戶id。
首先獲取受害者主機的用戶名以及主機名,加上4位隨機數,構成創建channel的名稱。

后門在發送請求時添加的HTTP首部如下,其中包括攻擊者使用的Slack API認證令牌(紅字標記)。
Content-Type: application/x-www-form-urlencoded Authorization: Bearer xoxb-3746750028880-3716488860102-2pXQRNc7uoS4DT5HVmdnjgEv |
后門偽造的User-Agent如下:
Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.7113.93 Safari/537.36 |
當我們在分析過程中嘗試建立連接時,得到” invalid_auth”的錯誤信息。查閱Slack API文檔,該錯誤信息可能源自令牌失效,也可能是服務端限制了訪問的IP地址。

如果請求成功,后門會從返回的json數據結果中取出channel id,然后調用“conversations.invite”這個API向新建的channel中添加攻擊者的用戶id。添加的用戶id為” U03MMK35QQ1”。

信道建立后,后門進入C&C通信的while循環。在循環中首先用“chat.postMessage“ API在新建的channel中發送信標消息,如果未收到服務端的正常回應,則休眠一段時間,收到回應則進行后續操作。
調用“files.list“過濾channel中攻擊者對應用戶創建的文件,并從返回的文件信息列表json數據中提取”url_private”字段內容。

接著從hxxps:// files.slack.com下載文件。文件中的數據并不是shellcode本身,而是shellcode每個字節數據在后門硬編碼字符表中的索引位置。后門將還原后的shellcode復制到分配的內存上,然后執行shellcode。


溯源關聯
溯源分析
本次捕獲攻擊樣本所使用的技術與APT29歷史攻擊手法有如下多處重合:
(1) 首先初始攻擊樣本EnvyScout通過釣魚郵件誘使受害者點擊觸發,是APT29近年來常用的一種攻擊手段;
(2) APT29在此前攻擊活動中多次使用合法在線服務提供的API構建C&C信道,下載后續載荷,而此次發現的攻擊樣本也使用了Slack服務建立C&C信道;
(3) 該攻擊樣本具有與之前國外廠商披露的APT29攻擊活動[4]相同的特征,包括重新加載某些系統DLL的text段以繞過終端防護軟件的掛鉤檢測,以及復制文件到%appdata%的子目錄下并設置注冊表鍵值實現持久化。


加上此次攻擊目標位于意大利,而APT29多次針對歐洲國家發起攻擊,因此可以認為該攻擊活動與APT29存在明顯關聯。
樣本關聯
對此次捕獲的樣本進行關聯,我們發現在6月中旬已有同名樣本上傳VT,國外安全研究人員也于早些時候在社交平臺上對該同名樣本進行了披露[6] 。

其中惡意DLL(HPScanApi.dll)的編譯時間為2022-06-14 10:58:50 UTC。同名樣本與此次捕獲的樣本一樣,也借助Slack服務建立C&C信道,使用的API認證令牌如下,攻擊者的用戶id為” U03K4RNC751”。
Authorization: Bearer xoxb-3644332911574-3644381968246-wwNbyQaqlooogPAv2JjHh663 |
不過在這個早期樣本中,通過C&C信道獲取的文件里面保存的就是shellcode本身,沒有經過字符表的查表轉換,可見攻擊者在短時間內仍在不斷更新攻擊手法以繞過安全防護軟件的檢測。

總結
APT29組織在此次針對意大利的攻擊活動中采用了與以往相同的攻擊手法,并在一些細節之處不斷改進,盡可能避開安全防護軟件的檢出與攔截。由于采用合法通信服務作為C&C信道,攻擊者開展網絡間諜活動的過程變得更加隱蔽。
盡管此次攻擊活動暫未發現國內受到影響,不過奇安信紅雨滴團隊仍在此提醒廣大用戶,切勿打開社交媒體分享的來歷不明的鏈接,不點擊執行未知來源的郵件附件,不運行夸張標題的未知文件,不安裝非正規途徑來源的APP。做到及時備份重要文件,更新安裝補丁。
若需運行,安裝來歷不明的應用,可先通過奇安信威脅情報文件深度分析平臺(https://sandbox.ti.qianxin.com/sandbox/page)進行判別。目前已支持包括Windows、安卓平臺在內的多種格式文件深度分析。
目前,基于奇安信威脅情報中心的威脅情報數據的全線產品,包括奇安信威脅情報平臺(TIP)、天擎、天眼高級威脅檢測系統、奇安信NGSOC、奇安信態勢感知等,都已經支持對此類攻擊的精確檢測。
