自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

全球警惕HeadCrab!針對Redis的新型惡意軟件已出現(xiàn)

安全
本報告將深入研究HeadCrab 攻擊的細(xì)節(jié),研究其操作方法、用于逃避檢測的技術(shù)以及組織可以采取的保護(hù)其系統(tǒng)的步驟。

近期,一種新的難以捉摸的嚴(yán)重威脅已經(jīng)出現(xiàn),自2021年9月以來,它一直在滲透并駐留在全球的服務(wù)器上。這種被稱為HeadCrab的高級威脅利用了一種最先進(jìn)的定制惡意軟件方式,使得該惡意軟件無法被無代理和傳統(tǒng)的防病毒解決方案檢測到,會危害大量 Redis 服務(wù)器。HeadCrab僵尸網(wǎng)絡(luò)已經(jīng)控制了至少 1,200 臺服務(wù)器。

本報告將深入研究HeadCrab 攻擊的細(xì)節(jié),研究其操作方法、用于逃避檢測的技術(shù)以及組織可以采取的保護(hù)其系統(tǒng)的步驟。

什么是 Redis?

Redis是一種開源的內(nèi)存數(shù)據(jù)結(jié)構(gòu)存儲,可用作數(shù)據(jù)庫、緩存或消息代理。默認(rèn)情況下,Redis服務(wù)器不啟用身份驗(yàn)證,旨在運(yùn)行在安全、封閉的網(wǎng)絡(luò)上,而非暴露在互聯(lián)網(wǎng)上。這使得可從Internet訪問的默認(rèn)Redis服務(wù)器容易受到未經(jīng)授權(quán)的訪問和命令執(zhí)行的攻擊。

Redis集群提供了一種運(yùn)行Redis安裝的方法,其中數(shù)據(jù)自動劃分并存儲在多個Redis節(jié)點(diǎn)上。在一個集群中,有一個主服務(wù)器和一個從服務(wù)器,可以方便地復(fù)制和同步數(shù)據(jù)。

默認(rèn)的Redis命令之一是SLAVEOF,它指定一個服務(wù)器作為集群中另一個Redis服務(wù)器的從屬服務(wù)器。當(dāng)服務(wù)器被定義為從服務(wù)器時,它將與主服務(wù)器同步,包括下載主服務(wù)器中存在的任何Redis模塊。

Redis模塊是可執(zhí)行的共享對象文件,可用于以各種方式增強(qiáng)服務(wù)器的功能。通過上傳模塊并通過Redis端口使用MODULE LOAD命令將模塊加載到服務(wù)器上。Redis 模塊使用Redis API執(zhí)行與服務(wù)器管理和控制相關(guān)的各種任務(wù),例如使用RedisModule_CreateCommand API 定義自定義命令。

近年來,Redis 服務(wù)器已成為攻擊者的目標(biāo),通常是通過錯誤配置和漏洞。隨著 Redis 服務(wù)器變得越來越流行,攻擊的頻率也越來越高。

攻擊流程

這個故事始于對一個蜜罐的攻擊,當(dāng)時攻擊者以 Redis 服務(wù)器為目標(biāo)。該服務(wù)器最終使用SLAVEOF 命令被攻破,將其設(shè)置為攻擊者控制的另一臺 Redis 服務(wù)器的從服務(wù)器。Redis 主服務(wù)器隨后啟動了從服務(wù)器的同步,從服務(wù)器又將惡意Redis模塊 HeadCrab 惡意軟件下載到從服務(wù)器(蜜罐)上。攻擊者已使用此技術(shù)一段時間,并允許他們將惡意 Redis 模塊加載到受影響的主機(jī)上。如下圖所示,這些是從入站網(wǎng)絡(luò)數(shù)據(jù)收集中獲得的Redis命令日志。攻擊者首先列出所有可用模塊,配置服務(wù)器以允許上傳新模塊,然后將模塊下載到/tmp目錄。

v2-ce86985d47a359b3848837102daed1df_720w.webp

將受害Redis服務(wù)器設(shè)置為從服務(wù)器

一旦模塊下載到受害服務(wù)器上的/tmp目錄,它就會使用MODULE LOAD /tmp/<module_name>命令加載到 Redis 進(jìn)程中。如下面的屏幕截圖所示,攻擊者在最終成功之前嘗試加載多個模塊。

v2-314c236aaae2b6eb265ce6c4b0b2a485_720w.webp

HeadCrab 惡意軟件模塊加載

在對加載的模塊進(jìn)行逆向工程后,我們發(fā)現(xiàn)了一種復(fù)雜的、長期開發(fā)的惡意軟件。它為攻擊者提供了許多高級功能,并最終完全控制目標(biāo)服務(wù)器。該模塊引入了 8 個自定義命令,以模式rds*命名,攻擊者使用這些命令在受感染的服務(wù)器上執(zhí)行操作。HeadCrab 惡意軟件的技術(shù)分析部分討論了惡意軟件功能和命令的完整列表。

蜜罐顯示攻擊的主要影響是用于加密貨幣挖掘的資源劫持。從內(nèi)存中提取的礦工配置文件顯示,礦池主要托管在私人合法 IP 地址上。對這些 IP 地址的檢查表明,它們要么屬于干凈的主機(jī),要么屬于一家領(lǐng)先的安全公司,這使得檢測和歸屬變得更加困難。在配置文件中找到了一項(xiàng)公共 Monero 礦池服務(wù),但礦工在運(yùn)行時未使用該服務(wù)。

我們不僅發(fā)現(xiàn)了HeadCrab惡意軟件,還發(fā)現(xiàn)了一種在Redis服務(wù)器中檢測其感染的獨(dú)特方法。當(dāng)這一方法應(yīng)用于暴露在外的服務(wù)器時,發(fā)現(xiàn)了大約 1,200 臺活躍的受感染服務(wù)器。受害者似乎沒有什么共同點(diǎn),但攻擊者似乎主要針對Redis服務(wù)器,并且對Redis模塊和API有深刻的理解和專業(yè)知識,正如惡意軟件所展示的那樣。

我們注意到攻擊者已竭盡全力確保其攻擊的隱蔽性。該惡意軟件旨在繞過基于卷的掃描,因?yàn)樗鼉H在內(nèi)存中運(yùn)行,而不存儲在磁盤上。此外,使用Redis模塊框架和API刪除日志。攻擊者與合法IP地址(主要是其他受感染的服務(wù)器)通信,以逃避檢測并降低被安全解決方案列入黑名單的可能性。該惡意軟件主要基于不太可能被標(biāo)記為惡意的Redis進(jìn)程。有效載荷通過memfd加載,內(nèi)存文件,內(nèi)核模塊直接從內(nèi)存加載,避免磁盤寫入。

HeadCrab 惡意軟件的技術(shù)分析

HeadCrab 惡意軟件是一種高度復(fù)雜且先進(jìn)的威脅。作為惡意Redis模塊框架構(gòu)建,它擁有眾多選項(xiàng)和功能。本節(jié)將概述通過我們的靜態(tài)和動態(tài)分析確定的惡意軟件的主要功能。

如截圖所示,HeadCrab樣本在Virus Total (MD5=c5b992c76b7c9fa3b9bd755dd3b5af76) 上只有少量安全產(chǎn)品可以檢測。盡管我們嘗試獲取更多樣本,目前還沒有發(fā)現(xiàn)更多的樣本,這讓我們更加懷疑這是一種高度規(guī)避的新型惡意軟件。

v2-16991388c88f70e5f4508d2fc780e8ac_720w.webp

驗(yàn)證它在執(zhí)行時只運(yùn)行一次

在初始執(zhí)行時,惡意軟件利用RedisModule_OnLoad函數(shù),該函數(shù)在Redis服務(wù)器加載模塊時觸發(fā)。然后,惡意軟件會保存相關(guān)Redis API函數(shù)的地址以備后用,并檢查是否已加載名為rds的模塊,如果已加載,則立即退出而不進(jìn)行任何惡意操作。

初始環(huán)境范圍界定

存儲啟動模塊加載的連接信息以供將來檢查。此外,惡意軟件會檢查它是作為特權(quán) root 用戶還是作為名為redis的特權(quán)較低的用戶運(yùn)行。

重視操作安全性(幻數(shù))

該模塊可以加載2個參數(shù)(幻數(shù)),它們實(shí)際上是2個全局幻數(shù),用作加密密鑰并驗(yàn)證它的操作者是否真的是威脅者。之后,惡意軟件可以在其執(zhí)行流程中的不同位置對這些幻數(shù)進(jìn)行一些操作。該模塊可以加載或不加載幻數(shù),這將影響惡意軟件執(zhí)行期間的某些功能。如果模塊加載了2個參數(shù),一些Redis默認(rèn)命令(8個命令:Module、Client、Debug、Shutdown、Monitor、Slaveof、Replicaof、Config) 被主要返回錯誤的命令覆蓋。這樣做是為了避免惡意軟件檢測。如果模塊未加載2個參數(shù),則跳過此步驟。修改后的默認(rèn)命令如下:

v2-6f39c50cf5b4fd7c87ee2c4f0dcc9941_720w.webp

此外,惡意軟件會刪除Redis日志文件,如果它是通過將其截斷為0大小重新創(chuàng)建的,則將其清空。

準(zhǔn)備工作

惡意軟件會進(jìn)行一些檢查以確定操作過程。我們不會詳細(xì)介紹這些檢查,但會檢查/testing路徑和執(zhí)行日期,并根據(jù)某些功能是否正在執(zhí)行來進(jìn)行檢查。信號處理函數(shù)被替換并被惡意軟件用來與其子進(jìn)程通信。

隱藏代碼執(zhí)行

惡意軟件找到動態(tài)加載程序的路徑,以便它可以執(zhí)行進(jìn)程。通過簡單地提供所需可執(zhí)行文件的路徑作為參數(shù),動態(tài)加載程序可用于以其名稱執(zhí)行進(jìn)程。這可用于繞過基于檢查進(jìn)程執(zhí)行來檢測惡意文件的安全解決方案。由于動態(tài)加載器是一個合法的二進(jìn)制文件,它不會被標(biāo)記為惡意的,并且惡意軟件可以在這些安全解決方案中隱藏自己。

從內(nèi)存中執(zhí)行

該惡意軟件試圖在memfd_create系統(tǒng)調(diào)用的幫助下創(chuàng)建無文件文件。如果成功,它會創(chuàng)建10個memfd或臨時文件并保存它們供以后使用。

強(qiáng)調(diào)在容器中執(zhí)行

惡意軟件檢查進(jìn)程ID是否低于31。我們推測這樣做是為了檢測服務(wù)是否在容器中運(yùn)行。如果惡意軟件不在容器上運(yùn)行,則會檢查幾個服務(wù)管理程序,如systemd、initd、upstart等。如果安裝了它們中的任何一個,它們將被標(biāo)記,稍后將用于將持久化的服務(wù)和腳本放置在適當(dāng)?shù)奈恢谩N覀兗僭O(shè)惡意軟件在容器上跳過了這一步,因?yàn)樗菬o效的。

創(chuàng)建新的Redis命令

然后惡意軟件創(chuàng)建新的 Redis 命令,用于使攻擊者能夠操作惡意軟件:

  • rdsa該命令接受兩個參數(shù)。一個是 Redis 配置文件的路徑,第二個是惡意 Redis 模塊的路徑。此函數(shù)在 Redis 配置中添加一行,用于加載帶有幻數(shù)的惡意模塊。為了獲得惡意軟件的進(jìn)一步持久性,它隱藏了loadmodule命令輸出。此命令用于加載惡意模塊,并通過向打印到屏幕的輸出添加填充來隱藏其活動。
  • rdss執(zhí)行帶有popen并返回進(jìn)程輸出作為命令輸出
  • rdsp將默認(rèn)命令替換為惡意函數(shù)以逃避檢測。
  • rdsi通過截斷更新加密中使用的幻數(shù)和空日志。
  • rdsmMONITOR是一個 Redis 調(diào)試命令,它流回 Redis 服務(wù)器處理的每個命令。它也被 rdsp 命令或使用 2 個參數(shù)加載模塊所取代。這個新命令負(fù)責(zé)恢復(fù)對MONITOR命令的更改——重新啟用服務(wù)器調(diào)試。
  • rdsc偵聽所需端口上的傳入連接,并啟用與 C2 服務(wù)器建立加密通信通道。下面的附錄部分詳細(xì)描述了可用的命令。為了強(qiáng)調(diào)它的一些強(qiáng)大功能,惡意軟件可以創(chuàng)建一個新套接字并將其連接到 C2 命令套接字,將網(wǎng)絡(luò)隧道連接到另一個 IP 地址和端口對,執(zhí)行 shell 命令,將文件內(nèi)容發(fā)送到 C2,將數(shù)據(jù)寫入打開 memfd 文件,讀取保存的 memfd 文件的內(nèi)容并發(fā)送回 C2,加載無文件內(nèi)核模塊,以及許多其他強(qiáng)大的功能。
  • rdsr與 C2 服務(wù)器建立加密通信通道。與上面的 rdsc 相同。
  • rdsx恢復(fù)被覆蓋的命令并將它們恢復(fù)為默認(rèn)的 Redis 命令。

在以下截圖中,您可以看到對其中一些命令的模擬:

v2-bea0bda691662707324a607865e85b67_720w.webp

覆蓋和恢復(fù)默認(rèn)命令的示例

誰是HeadCrab?或者,什么是 HeadCrab?

這個攻擊者和惡意軟件為什么被稱為HeadCrab。答案很簡單。攻擊者在攻擊過的機(jī)器中留下了如下信息。

v2-e90cc43be257efe4cdf971879aed474a_720w.webp

正如以上截圖所示,攻擊者被識別為HeadCrab,這是游戲《半條命》中的一種怪物,它會附著在人類身上并將他們變成僵尸。這很合理,因?yàn)槲覀円呀?jīng)看到這種威脅使 Redis服務(wù)器僵尸化并使用它們橫向移動到其他服務(wù)器。

此外,攻擊者還創(chuàng)建了一個專門針對Nautilus團(tuán)隊(duì)的博客條目。此參考適用于有關(guān)Redigo的博客。Redigo是一種針對Redis服務(wù)器的新型惡意軟件,攻擊者利用了一個允許從LUA沙箱中逃逸的漏洞,并導(dǎo)致目標(biāo)服務(wù)器上的遠(yuǎn)程代碼執(zhí)行 (CVE-2022-0543)。在進(jìn)一步審查新發(fā)現(xiàn)的惡意軟件并在惡意軟件中發(fā)表個人專用評論后,我們認(rèn)為到Redigo惡意軟件也在利用主從技術(shù),而不是 LUA 沙箱逃逸。

這個攻擊組織是高度離散的,因此無法在開源中找到其活動的許多跡象。我們確實(shí)找到了上圖中出現(xiàn)的“pamdicks”。在Trend Micro的博客中,提到了一個名為netlink的rootkit用于更改與CPU相關(guān)的統(tǒng)計(jì)信息(可以隱藏pamdicks進(jìn)程和 CPU 負(fù)載)來隱藏加密挖礦。但很可能是攻擊者所指的內(nèi)容。

運(yùn)行時檢測

HeadCrab惡意軟件旨在偷偷攻擊Redis服務(wù)器,無論它們是在容器中還是在VM上運(yùn)行。企業(yè)都需要使用容器安全或主機(jī)安全類解決方案進(jìn)行實(shí)時檢測,我并使用實(shí)時惡意行為指標(biāo)來識別 HeadCrab 惡意軟件等隱秘攻擊。

將攻擊映射到 MITRE ATT&CK 框架

這里我們將上述攻擊中的組件映射到MITRE ATT&CK框架的相應(yīng)攻擊技術(shù):

v2-106bff109db3ee3a6cd9e0c282b7652c_720w.webp

總結(jié)、補(bǔ)救和緩解

在此報告中,我們揭示了負(fù)責(zé)創(chuàng)建高級惡意Redis框架的攻擊者 HeadCrab 的威脅。我們深入研究惡意軟件的內(nèi)部工作原理并展示其豐富的功能。調(diào)查顯示,HeadCrab 的僵尸網(wǎng)絡(luò)已經(jīng)控制了 1,200 多臺服務(wù)器,所有服務(wù)器都感染了該惡意軟件。我們有理由相信,HeadCrab 將堅(jiān)持使用尖端技術(shù)滲透服務(wù)器,無論是通過利用錯誤配置還是漏洞。

立即修復(fù)受感染的服務(wù)器

如果您的服務(wù)器遭到破壞,則必須假設(shè)您的網(wǎng)絡(luò)也遭到破壞并立即啟動您的事件響應(yīng)流程。這將幫助您檢測違規(guī)的程度、隔離受感染的系統(tǒng)并清理受影響的環(huán)境。雖然可以通過刪除關(guān)聯(lián)的服務(wù)和腳本來刪除惡意軟件,但刪除加載模塊從Redis配置和重啟服務(wù)器來看,攻擊者仍然保留了一些能力,包括刪除文件、執(zhí)行二進(jìn)制文件、竊取 SSH 密鑰、掃描和與其他系統(tǒng)通信以及加載內(nèi)核模塊的能力。這使得攻擊者可以在網(wǎng)絡(luò)中橫向移動。從服務(wù)器中完全消除攻擊者的存在可能是一項(xiàng)復(fù)雜的任務(wù)。為確保您的網(wǎng)絡(luò)安全,我們建議將Redis數(shù)據(jù)庫的備份保存到一個文件中,并盡可能將其遷移到具有適當(dāng)授權(quán)和流量控制并且不能直接從Internet訪問的新服務(wù)器。

緩解建議

為了降低 Redis 服務(wù)器的風(fēng)險,您希望通過確保Redis配置符合安全最佳實(shí)踐來強(qiáng)化環(huán)境。

在本報告中,攻擊者使用“主從”技術(shù)從遠(yuǎn)程服務(wù)器復(fù)制數(shù)據(jù)庫到目標(biāo)服務(wù)器(蜜罐)。此功能最初由Redis創(chuàng)建以提高性能和創(chuàng)建冗余,但被攻擊者積極使用以迅速感染目標(biāo)并逃避檢測。我們建議采取以下步驟來加強(qiáng)您的Redis服務(wù)器的安全性:

(1) Redis 旨在供受信任環(huán)境中的受信任客戶端訪問。

這意味著通常,將Redis實(shí)例直接暴露給Internet或通常暴露給不受信任的客戶端可以直接訪問Redis TCP端口或UNIX套接字的環(huán)境并不是一個好主意。

(2) 每當(dāng)您在云中使用Redis時,最好啟用保護(hù)模式以增強(qiáng)安全性。

保護(hù)模式確保數(shù)據(jù)庫只響應(yīng)環(huán)回地址,并生成錯誤作為對所有從其他IP地址連接的節(jié)點(diǎn)的答復(fù)。

(3) 使用綁定參數(shù)接受來自已知主機(jī)的通信.

您的Redis服務(wù)器將只監(jiān)聽通過bind選項(xiàng)指定的地址的連接。這是一種安全措施,允許丟棄不是在網(wǎng)絡(luò)內(nèi)部建立的連接。

(4) 如果沒有主動使用“slaveof”功能,我們強(qiáng)烈建議禁用它。

(5) 您可以在Redis安全管理部分或他們的相關(guān)博客中閱讀更多安全建議。

可以采取一些進(jìn)一步的步驟來減輕對云中軟件開發(fā)生命周期的威脅,我們建議遵循以下準(zhǔn)則:

  • 未知威脅和零日漏洞將繼續(xù)存在。即使您做的每件事都正確,您也無法始終保護(hù)您的運(yùn)行時環(huán)境免受此類攻擊。因此,您需要監(jiān)視運(yùn)行時環(huán)境。部署 容器安全或主機(jī)安全解決方案以保護(hù)您的運(yùn)行時環(huán)境。運(yùn)行時監(jiān)控是一種基本實(shí)踐,可幫助快速緩解問題并最大程度地減少中斷。監(jiān)視過程還適用于可能發(fā)生可疑活動(例如,下載惡意二進(jìn)制文件)的運(yùn)行時環(huán)境。
  • 掃描您的軟件供應(yīng)鏈。您可以使用開源工具,例如 Chain-bench,旨在根據(jù)新的 CIS 軟件供應(yīng)鏈基準(zhǔn)審核您的軟件供應(yīng)鏈堆棧的安全合規(guī)性。
  • 為您的開發(fā)人員、DevOps 和安全團(tuán)隊(duì)提供掃描漏洞和錯誤配置的工具。除了 商業(yè)化軟件工具,您還可以找到特定的開源工具(例如 Trivy)來掃描此類漏洞。
責(zé)任編輯:趙寧寧 來源: FreeBuf.COM
相關(guān)推薦

2023-06-14 16:29:51

2023-07-03 22:30:27

2021-02-02 09:12:13

惡意軟件Android網(wǎng)絡(luò)攻擊

2024-08-20 16:51:16

2022-09-08 18:41:34

惡意軟件ShikitegaLinux

2021-12-31 18:28:14

惡意軟件黑客網(wǎng)絡(luò)攻擊惠普

2014-11-07 10:44:26

惡意軟件WireLurker

2014-02-19 17:44:59

2024-09-12 14:54:03

2023-03-22 18:10:34

2014-12-26 14:35:34

2021-02-19 09:21:37

惡意軟件蘋果M1芯片

2022-04-07 12:13:51

惡意軟件加密

2014-08-05 13:46:36

2022-06-14 08:40:09

Symbiote惡意軟件網(wǎng)絡(luò)攻擊

2014-12-09 14:18:37

2015-11-09 16:21:13

2023-07-28 12:50:01

2022-02-15 14:01:01

勒索軟件加密貨幣Linux

2022-04-08 18:51:43

惡意軟件加密網(wǎng)絡(luò)攻擊
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號