1. 程式人生 > 其它 >Log4j 漏洞修復檢測 附檢測工具

Log4j 漏洞修復檢測 附檢測工具


作者:SRE運維部落格
部落格地址:https://www.cnsre.cn/
文章地址:https://www.cnsre.cn/posts/211213210004/
相關話題:https://www.cnsre.cn/tags/Log4j/


近日的Log4j2,可是非常的火啊,我也是加班加點把補丁給打上了次安心。Apache Log4j2存在遠端程式碼執行漏洞,經驗證,該漏洞允許攻擊者在目標伺服器上執行任意程式碼,可導致伺服器被黑客控制。由於Apache Log4j 2應用較為廣泛,建議使用該元件的使用者儘快採取安全措施。

影響範圍

漏洞影響版本

2.0 <= Apache Log4j 2 <= log4j-2.15.0-rc1

漏洞描述

Apache Log4j 2是一個基於Java的日誌記錄工具,是對 Log4j 的升級。近日安恆資訊應急響應中心監測到Apache Log4j 2存在遠端程式碼執行漏洞,攻擊者可通過構造惡意請求利用該漏洞實現在目標伺服器上執行任意程式碼。

漏洞修復

由於Log4j2 作為日誌記錄基礎第三方庫,被大量Java框架及應用使用,只要用到 Log4j2 進行日誌輸出且日誌內容能被攻擊者部分可控,即可能會受到漏洞攻擊影響。因此,該漏洞也同時影響全球大量通用應用及元件,例如 :
Apache Struts2、Apache Solr、Apache Druid、Apache Flink、Apache Flume、Apache Dubbo、Apache Kafka、Spring-boot-starter-log4j2、ElasticSearch、Redis、Logstash等
建議及時檢查並升級所有使用了 Log4j 元件的系統或應用。

緊急: 目前漏洞POC已被公開,官方已釋出安全版本,建議使用該元件的使用者儘快採取安全措施。

臨時性緩解措施:

1、在 jvm 引數中新增 -Dlog4j2.formatMsgNoLookups=true
2、系統環境變數中將LOG4J_FORMAT_MSG_NO_LOOKUPS 設定為 true
3、建立 log4j2.component.properties 檔案,檔案中增加配置 log4j2.formatMsgNoLookups=true
4、若相關使用者暫時無法進行升級操作,也可通過禁止Log4j中SocketServer類所啟用的socket端對公網開放來進行防護
5、禁止安裝log4j的伺服器訪問外網,並在邊界對dnslog相關域名訪問進行檢測。部分公共dnslog平臺如下

ceye.io
dnslog.link
dnslog.cn
dnslog.io
tu4.org
awvsscan119.autoverify.cn
burpcollaborator.net
s0x.cn

徹底修復漏洞:

建議您在升級前做好資料備份工作,避免出現意外
研發程式碼修復:升級到官方提供的 log4j-2.15.0-rc2 版本
https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.1-rc1

漏洞檢測工具

檢測工具下載地址 https://pan.cnsre.cn/d/Package/Linux/360log4j2.zip

漏洞檢測

瀏覽器被動式掃描檢測方案

  • 原理
    工程師可設定該代理通過瀏覽器被動掃描目標,檢視 DNS Log 檢測是否存在 log4j 漏洞。
  • 使用方法
    1.瀏覽器或作業系統配置 HTTP/HTTPS 代理:219.141.219.69:18080

2.瀏覽器或作業系統將下列證書新增到信任名單:附件sqli-hunter.pem

3.使用瀏覽器正常進行目標瀏覽,當結束掃描後,在http://219.141.219.69:18000/ 下檢查是否存在以目標域名為名的 txt 檔案,如 http://219.141.219.69/360.cn.txt

4.若存在,則說明目標網站存在漏洞,細節如下:

可看到完整 HTTP 請求細節,params引數為存在 log4j 注入漏洞的引數

  • 使用限制
  1. 主機外網 IP 無法訪問 360 IP,請不要使用該代理掃描 360
  2. 目前只能檢測 POST body 中的引數
  3. 不允許任何惡意攻擊

本地掃描常規檢測方案

  1. 下載本地檢測工具

  2. 掃描原始碼:./log4j-discoverer --src"原始碼目錄"

  3. 掃描jar包:./log4j-discoverer--jar "jar包檔案"

  4. 掃描系統程序:./log4j-discoverer –scan

Log4j漏洞補丁方案

如果檢測到相關漏洞的應用或元件,建議立即對該應用或元件進行打補丁修復, Log4j補丁方案如下:

  • 工具原理

Hook前受到log4j jndi注入攻擊

執行 java -jar PatchLog4j.jar

打入補丁後 log4j不再處理JNDI邏輯直接將JNDI字串輸出

工具來源【360政企安服高攻實驗室】


作者:SRE運維部落格
部落格地址:https://www.cnsre.cn/
文章地址:https://www.cnsre.cn/posts/211213210004/
相關話題:https://www.cnsre.cn/tags/Log4j/