长亭百川云 - 文章详情

奇某信VPN溢出钓鱼项目分析

41group

77

2024-07-13

bt不想rt活啊,钓鱼下这猛料。今天兄弟又给了个小项目,直接奇xxvpn利用???怕了啊,公司瑟瑟发抖

https://github.com/CyberSnakeSec/xaq-vpn-pwn

兄弟文章我先发了,如果分析有误,我千字文给你道歉。

正文开始

项目结构

拆包后内容

全局搜索存在两个入口类,看名称先从pwd.class看起

代码不长,通篇大量混淆后字符串,和前几天分析哥斯拉插件钓鱼异曲同工。

使用ALLATORIxDEMO解密混淆代码。ALLATORIxDEMO和哥斯拉的也一个叼样

总的来说这段代码是入口类,先对一系列字符串解密并输出,然后解析命令行参数数组,获取特定的参数,并根据参数执行相应参数。

解密之后发现其是项目说明等,继续深扒详细功能。

紧跟sockPwn.pwn

新的解密,一堆赋值,看一眼rand_p是干啥。

这段代码生成了一个最大到11904的随机数。虽然不知道确切是做什么的但是结合上文pwn功能来看是大概率是为Socket开启了一个随机端口。

看回pwn

上述各种赋值包括目前还是密的混淆代码,和疑似开启的随机端口都被赋值给了var5。

先记下来后面慢慢盘。

这段try-catch用于执行一系列网络操作。它通过Socket对象与特定主机和端口建立连接,并发送特定的字符串数据。然后使用线程池执行任务,并最后关闭线程池。

解密混淆后的字符串查看

这段核心实现在253行附近

使用ExecutorService的submit方法,将一个任务提交到线程池。以当前对象为目标,调用方法pwn_type()。

这段代码根据系统属性"e<$!k\"o"的值,判断其是否包含特定的字符串,然后执行相应的操作。如果包含字符串"}&d",则创建一个pwnAction对象并调用其action()方法。如果包含字符串"g.i",则创建一个sockPwn对象。

解密看看都代表了什么

钓鱼佬的嘲讽。

跟进pwnAction马上就能看到他最后做了什么

解密后结果

核心看下面这两行

熟悉的defineClass(),这几行实现了反射获取指定类的Class对象,如果类不存在则通过dump()方法获取类的字节码,然后使用defineClass()方法创建一个新的类对象。熟悉的配方,熟悉的味道啊。看一眼dump

解密后对照表

修改后代码成这样,使用字节码生成了一个类。具体太乱了回到上面看到了findAttachDllPath

解密后

这段代码的目的是搜索系统中的attach.dll文件。

结合所有已知信息分析。这段代码是一个用于攻击的 Java 类,在运行时加载自身,如目标是win就执行其中的action()方法。该方法会从系统中查找attach.dll并设置其为java.library.path,然后使用 ClassLoader 动态加载 sun.tools.attach.WindowsVirtualMachine 类,并通过调用 openProcess 方法打开一个进程,然后调用 enqueue 方法往该进程中注入一个模块,最终达到控制目标进程的结果。

具体攻击详情存在于dll中,由于本人并不会dll的分析所以只能明早交给兄弟来。大概分析至此可以实锤,本项目为钓鱼项目无疑。

唯一涉及溢出利用bin文件,实际并未调用

恶意dll明早交与大佬分析,具体结果会实时修改文章反馈。

自学java出身,依托答辩,如有分析不对地方希望海涵,欢迎大佬指出错误。

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2