CVE-2021-44228:Apache Log4j 重大遠端程式碼執行弱點 (Log4Shell) 概念驗證已可供使用

常用記錄程式庫 Log4j 2 中的重大弱點影響了許多服務與應用程式,包括:Minecraft、Steam 和 Apple iCloud。攻擊者已開始積極掃描並嘗試惡意刺探此軟體缺陷。
12 月 11 日更新: 常見問答集 (FAQ) 部落格貼文已於 12 月 17 日隨 Log4Shell 及其他相關弱點資訊公佈。如需最新資訊,請參閱我們的部落格貼文:CVE-2021-44228、CVE-2021-45046、CVE-2021-4104:有關 Log4Shell 和相關弱點的常見問答集
背景說明
12 月 9 日時,研究人員公布了許多應用程式和服務 (包括以下但不限於) 均使用的 Java 記錄程式庫 Apache Log4j 2 中的重大弱點概念驗證惡意刺探程式碼:
研究人員稱為 Log4Shell 弱點的來源,據報是常見沙箱電玩 Minecraft 的數個版本均受到此弱點影響。
現在有一個可利用的 Minecraft 用戶端與伺服器惡意刺探,它會濫用 log4j versions 2.0 - 2.14.1 中的弱點,而目前已有概念驗證可供使用。
— ᵃᵈᵃᵐ (@twokilohertz) 2021 年 12 月 9 日
另外,有一些雲端服務 (例如 Steam 和 Apple iCloud) 似乎也受到影響。
此弱點相當嚴重,因此 Cloudflare 執行長計劃為所有客戶提供保護。
分析
CVE-2021-44228 是 Apache Log4j 2 中的遠端程式碼執行 (RCE) 弱點。未經驗證的遠端攻擊者可以透過寄出一個特別加工過的請求給執行有弱點的 log4j 版本之伺服器,對此軟體缺陷進行惡意刺探。加工過的請求會透過各種服務 (如下),使用 Java 命名和目錄介面 (JNDI) 插入惡意程式:
- Lightweight Directory Access Protocol (LDAP)
- Secure LDAP (LDAPS)
- Remote Method Invocation (RMI)
- Domain Name Service (DNS)
當有弱點的伺服器使用 log4j 記錄請求時,該惡意刺探攻擊就會利用上述的其中一項服務,透過 JNDI 從攻擊者控制的伺服器請求一個惡意的承載。 成功的惡意刺探可能會導致遠端程式碼執行 (RCE)。
在 Minecraft 的案例中,使用者可以透過 Minecraft 聊天工具寄出一則經特殊加工的訊息,對此弱點進行惡意刺探。
aaaaand then code execution?? #log4j #minecraft pic.twitter.com/aSFzhsm87l
— John Hammond (@_JohnHammond) 2021 年 12 月 10 日
GreyNoise 和 Bad Packets 都偵測到大量掃描使用 Log4j 的伺服器的活動。
我們從許多主機上偵測到大量掃描活動,用來檢查伺服器是否有使用易遭受此遠端程式碼執行攻擊的 Apache Log4j (Java 記錄程式庫)(https://t.co/GgksMUlf94)。
— Bad Packets (@bad_packets) 2021 年 12 月 10 日
針對來源 IP 位址及其他 IOC,您可查詢我們的「tags=CVE-2021-44228」API。#threatintel
目前據報,該弱點正被用來植入加密貨幣挖礦程式。
此 log4shell 承載是... 一個挖礦程式
— Kevin Beaumont (@GossiTheDog) 2021 年 12 月 10 日
這個弱點來勢洶洶 pic.twitter.com/XUR7I5ydpP
概念驗證
第一個針對 CVE-2021-44228 的概念驗證在它的 CVE 識別碼指定之前,已於 12 月 9 日發布。在本部落格貼文發布時,在 GitHub 上還有另外的一些概念驗證已可供使用。
解決方法
雖然 Apache 在 12 月 6 日公布了一個候選版本來解決這個弱點,不過該版本並不完整。Apache 在 12 月 10 日 發表了 2.15.0 版。
Log4j 2.15.0 必須要有 Java 8。因此,使用 Java 7 的企業在更新至 Log4j 修補版本前,必須先升級至 Java 8。
Apache 建議如果無法立即修補,可以採取緩和風險的途徑,以阻撓對此弱點進行惡意刺探的企圖。由於來自 Apache 的資訊會持續更新,我們建議您參考他們公佈於此處的指引。
由於 Log4j 包含在各種 Web 應用程式與雲端服務中,在短時間內,可能還不清楚該弱點的整個影響範圍。不過,在這篇部落格貼文發表時,已確認易遭受攻擊的一些產品和服務包括:
產品/服務 | 已確認受影響 |
---|---|
Minecraft | 是 |
Steam | 是 |
Apple iCloud | 是 |
Tencent | 是 |
是 | |
Baidu | 是 |
Didi | 是 |
Cloudflare | 是 |
Amazon | 是 |
Tesla | 是 |
ElasticSearch | 是 |
Ghidra | 是 |
目前有一個 GitHub 存放庫用來重點說明此弱點的攻擊破綻。
找出受影響的系統
可找出此弱點的 Tenable plugin 清單發表時,就會公布於此處。此外,我們也想強調以下 plugin (在 202112112213 和之後的 plugin set 中):
遠端檢查
- Plugin ID 156014 - 透過回呼關聯 的 Apache Log4Shell RCE 偵測 (直接檢查 HTTP) - 此遠端檢查可在沒有身分驗證的情況下找出弱點。該 plugin 與 Tenable 雲端掃描器相容
- Plugin ID 155998 - Apache Log4j 訊息查閱取代 RCE (Log4Shell) (直接檢查) - 此 plugin 會偵聽從目標主機的 LDAP BIND 連線。它與 Tenable.io 雲端掃描器不相容,因此在某些特定的網路中,由於防火牆規則或來自其他安全裝置的干擾,可能會無法傳回結果。我們將持續尋找更多偵測的選項,並建議 Tenable.io 雲端掃描器的客戶使用以下 4 個 plugin。
如需 Plugin IDs 156014 和 155998 中的回呼概述,請參閱 Tenable Community 上的這篇貼文。
版本檢查與本機偵測 (需身分驗證)
- Plugin ID 155999 - Apache Log4j < 2.15.0 遠端程式碼執行
- Plugin ID 156000 - 已安裝 Apache Log4j (Unix)
- Plugin ID 156001 - Apache Log4j JAR 偵測 (Windows)
- Plugin ID 156002 - Apache Log4j < 2.15.0 遠端程式碼執行
此外,我們已發表完備的 Tenable.io Web App Scanning (WAS) plugin,可用於測試可能會被用來惡意刺探 Log4Shell 的輸入欄位。
- Plugin ID 113075 - Apache Log4j 遠端程式碼執行 (Log4Shell)
如需上述任何 plugin 的佐證資訊,請參閱 Tenable Community 上的這篇貼文。
Tenable 已發表 Tenable.io、Tenable.sc 和 Nessus Professional 適用的掃描範本,這些範本已預先設定,能讓您針對此弱點進行快速掃描。除此之外,Tenable.io 客戶在小工具程式庫中也將擁有新的儀表板和小工具。Tenable.sc 使用者也會有新的 Log4Shell 儀表板。為確保您的掃描器擁有最新的 plugin,Tenable 建議您手動更新您 plugin set。Nessus 使用者 (包含 Tenable.io Nessus 掃描器的使用者) 可利用以下 Nessus CLI 指令:
nessuscli fix --secure --delete feed_auto_last
如需使用 nessuscli 的更多資訊,請參考這篇文章。
Tenable.sc 使用者可以利用「Plugins/Feed Configuration」使用者介面中的 [Update] 連結手動更新 plugin,如以下螢幕截圖所示
目前還沒有 Tenable 產品的企業可以註冊 Nessus Professional 免費試用,以掃描此弱點。
取得更多資訊
- 網路研討會:弱點警示 - 如何應變 Apache Log4j 中的 Log4Shell
- Apache Log4j2-3201:限制 jNDI 可使用的通訊協定並限制 LDAP
- 安全公告:Apache Log4j2 遠端程式碼執行弱點 (CVE-2021-44228)
- Log4Shell:常用 Java 記錄套件 log4j2 中發現 RCE 零時差惡意刺探攻擊
- Apache Log4j 2 版本頁面
- Nessus 如何收到 Plugin 及軟體更新
加入 Tenable Community 的 Tenable 安全回應團隊。
深入瞭解 Tenable,這是用於全面管理新型攻擊破綻的首創 Cyber Exposure 平台。
索取 Tenable.io Vulnerability Management 的 30 天免費試用。
相關文章
- 弱點管理