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/



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM