如何看待 Apache Log4j 2 远程代码执行漏洞?
Apache Log4j2 是一款優(yōu)秀的 Java 日志框架,大量的業(yè)務(wù)框架都使用了該組件。
2021 年 11 月 24 日,阿里云安全團(tuán)隊(duì)向 Apache 官方報(bào)告了 Apache Log4j2 遠(yuǎn)程代碼執(zhí)行漏洞,這個(gè)漏洞觸發(fā)條件低,危害大。
12 月 10 日凌晨,Apache 開源項(xiàng)目 Log4j 的遠(yuǎn)程代碼執(zhí)行漏洞細(xì)節(jié)被公開,由于 Apache Log4j2 某些功能存在遞歸解析功能,攻擊者可直接構(gòu)造惡意請求,觸發(fā)遠(yuǎn)程代碼執(zhí)行漏洞。
CVE 編號:CVE-2021-44228
受影響版本:log4j2 2.0-beta9~2.14.1
這一則消息一出,讓很多安全工程師難以入眠,立刻起身進(jìn)入“戰(zhàn)斗防御狀態(tài)”。這就讓我想到了最近的浙江疫情,醫(yī)護(hù)人員連夜緊急到位進(jìn)入“戰(zhàn)斗狀態(tài)”。
(PS:最近疫情高發(fā),小伙伴們一定要勤洗手、帶口罩、勿亂跑哦!)
除了各企業(yè)的安全人員,各安全大廠商也是立刻開始進(jìn)行漏洞真實(shí)性的驗(yàn)證,并緊急通知用戶進(jìn)行規(guī)則升級以抵御最新漏洞,避免漏洞危害嚴(yán)重?cái)U(kuò)散。
到底有多嚴(yán)重呢?我隨便說一個(gè),自己感受一下:
企業(yè)打補(bǔ)丁可能需要幾小時(shí),甚至要花上好幾天,但黑客攻擊,卻只需要幾分鐘時(shí)間!到底是打補(bǔ)丁更快,還是黑客攻擊更快,就不用我多說吧?
Apache Log4j2 并不是一個(gè)特定的 Web 服務(wù),而是一個(gè)用于處理日志的第三方日志框架(庫),任何 Java Web 都可能使用到該日志框架,使用 Log4j2 的真的超級多,多到數(shù)不清。
真要數(shù)出個(gè)一二,不如數(shù)沒有使用 Log4j2 的來得更快一些。可想而知,被攻擊后,波及范圍有多廣了。
那如何復(fù)現(xiàn)這個(gè)漏洞,并修復(fù)呢?
我們可以通過很多基于 Java 開發(fā)的 Web 服務(wù)來復(fù)現(xiàn)這個(gè)漏洞,只要該服務(wù)使用到 log4j2 庫(漏洞影響范圍內(nèi)的版本)即可,比如 Apache Solr 。
觸發(fā)漏洞的方法非常簡單,只需要向 Solr 管理員接口的 action 參數(shù)發(fā)送 Payload ,由于該接口會調(diào)用 log4j 記錄日志,因此會觸發(fā)漏洞執(zhí)行。該接口如下:
http://127.0.0.1:8983/solr/admin/cores?action=接下來使用 DNSlog 來構(gòu)造驗(yàn)證 Payload。
DNS Log 對于大部分滲透測試的同學(xué)來說,應(yīng)該會比較熟悉,經(jīng)常被用于測試盲打盲注類的漏洞。
如果你不清楚,可以簡單理解為:我們獲取一個(gè)臨時(shí)的域名,如果遠(yuǎn)程服務(wù)器嘗試訪問該域名,就會在 DNS 上留下訪問記錄,此時(shí)我們可以通過查詢該記錄獲取到一些外帶信息。
當(dāng)然了, DNS log 只是作為驗(yàn)證漏洞是否存在的方法之一,并不是唯一解。
藍(lán)橋云課小小地蹭了個(gè)熱度圖片,推出了《 Apache Log4j 2 遠(yuǎn)程代碼執(zhí)行漏洞詳解》,用動手實(shí)驗(yàn)的方式來幫助大家復(fù)現(xiàn) Apache Log4j2 遠(yuǎn)程代碼執(zhí)行漏洞。
本次課程會詳細(xì)介紹該漏洞原理、利用方式、挖掘方式和修復(fù)方法,并包含可動手操作的在線實(shí)驗(yàn)環(huán)境,幫助你更加深刻的理解該漏洞。
重點(diǎn)來了!即刻起,免費(fèi)學(xué)!
Apache Log4j 2 遠(yuǎn)程代碼執(zhí)行漏洞
現(xiàn)在,我們來說說漏洞的挖掘方法和工具。
漏洞挖掘可以分別從白盒和黑盒兩個(gè)角度進(jìn)行:
- 如果你是審查自己的應(yīng)用是否受到 log4j2 漏洞影響,白盒測試是你應(yīng)該首選的方式,能夠幫助你從源碼層面做最全面的檢查。
- 黑盒測試有著很大的不確定性,因?yàn)閺暮诤薪嵌葋碚f,任何一個(gè)參數(shù)都可能會觸發(fā) log4j2 漏洞。因此黑盒測試的準(zhǔn)確性,很大一部分取決于測試到的參數(shù)是否全面。
我推薦兩款工具,供大家參考:
1、白盒測試推薦使用下面這個(gè)工具進(jìn)行源代碼掃描:
CVE-2021-44228-Scanner
可以根據(jù)平臺下載對應(yīng)的版本:
2、黑盒測試推薦使用下面這個(gè)工具:
BurpSuite Pro 插件
打開 BurpSuite Pro,切換到 Extender -> BApp Store,在右側(cè)的搜索框中搜索 log4,可以看到兩個(gè)插件(截止 2021 年 12 月 22 日):
- log4shell Everywhere:被動掃描插件
- log4Shell Scanner:主動掃描插件
分別安裝以上兩個(gè)插件,然后在 Active Scan 和 Passive Scan 中便會自動檢查 log4j 漏洞,如果有發(fā)現(xiàn)漏洞,結(jié)果會在 Dashboard 中展示。
好了,今天的 Apache Log4j 2 遠(yuǎn)程代碼執(zhí)行漏洞就分享到這里了。如果你想要復(fù)現(xiàn)此漏洞,并自己實(shí)操練習(xí)的話,可以戳下方鏈接免費(fèi)體驗(yàn)哦~
Apache Log4j 2 遠(yuǎn)程代碼執(zhí)行漏洞
總結(jié)
以上是生活随笔為你收集整理的如何看待 Apache Log4j 2 远程代码执行漏洞?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 美赛开赛在即,你准备好了吗?
- 下一篇: 程序员最真实现状