天天看點

Log4j 漏洞修複檢測 附檢測工具#yyds幹貨盤點#

作者:​​SRE運維部落格​​

部落格位址:​​​https://www.cnsre.cn/​​​

文章位址:​​​https://www.cnsre.cn/posts/211213210004/​​​

相關話題:​​​https://www.cnsre.cn/tags/Log4j/​​​

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

影響範圍

漏洞影響版本:

  1. 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=true2、系統環境變量中将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.c
      

徹底修複漏洞:

建議您在更新前做好資料備份工作,避免出現意外研發代碼修複:更新到官方提供的 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
Log4j 漏洞修複檢測 附檢測工具#yyds幹貨盤點#
  1. 浏覽器或作業系統将下列證書添加到信任名單:附件sqli-hunter.pem
  2. 使用浏覽器正常進行目标浏覽,當結束掃描後,在http://219.141.219.69:18000/ 下檢查是否存在以目标域名為名的 txt 檔案,如 http://219.141.219.69/360.cn.txt
Log4j 漏洞修複檢測 附檢測工具#yyds幹貨盤點#
  1. 若存在,則說明目标網站存在漏洞,細節如下:
Log4j 漏洞修複檢測 附檢測工具#yyds幹貨盤點#

可看到完整 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更新檔方案如下:

  • 工具原理
Log4j 漏洞修複檢測 附檢測工具#yyds幹貨盤點#

Hook前受到log4j jndi注入攻擊

Log4j 漏洞修複檢測 附檢測工具#yyds幹貨盤點#

執行 java -jar PatchLog4j.jar

Log4j 漏洞修複檢測 附檢測工具#yyds幹貨盤點#

打入更新檔後 log4j不再處理JNDI邏輯直接将JNDI字元串輸出

Log4j 漏洞修複檢測 附檢測工具#yyds幹貨盤點#

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

作者:​​SRE運維部落格​​

部落格位址:​​​https://www.cnsre.cn/​​​