记一次恶意样本分析

admin 2024年11月23日23:25:33评论12 views字数 1229阅读4分5秒阅读模式

扫码领资料

获网安教程

记一次恶意样本分析

记一次恶意样本分析

本文由掌控安全学院 -   sgrzhou 投稿

Track安全社区投稿~  

千元稿费!还有保底奖励~(https://bbs.zkaq.cn)

一. 样本概述

一个典型的压缩包钓鱼木马,使用快捷方式迷惑受害者,引导受害者点击,进而执行恶意代码,最终通过反射加载执行最终的cs马。

二. 样本分析

2.1 基本信息

解压压缩包发现只有一个文件,其中一个是docx文件,只有2KB大小,但是压缩包有29MB,那肯定是被隐藏了,通过文件夹设置能够看到其实是有两个文件的,其中docx文件是一个快捷方式。

记一次恶意样本分析

img

三. 样本分析

3.1 快捷方式文件分析

3.1.1 执行流程

该docx指文件向ftp.exe程序,去执行initliblibcurl.dat文件。

记一次恶意样本分析

img

libcurl.dat文件为文本文件,里面记录了ftp.exe需要执行的指令其中值得关注的就是调用Java进程执行initlib目录下jar包中的startup函数

记一次恶意样本分析

img

经过分析后发现startup函数eaio.jar包中,在startup函数中可以看到会调用string.Sign()函数解密出一段byte[] SignData数据,随后交给user.login函数加载。

记一次恶意样本分析

img

Sign函数中会调用system.WriteStart函数,这个函数用于设置自启动,该函数会首先在C:ProgramData目录下随机生成5位字符串%random5%并和字符串java*结合,创建java*%random5%文件夹,随后将恶意程序拷贝到该目录下,并创建快捷方式,并将快捷方式放入自启动目录中。Java代码如下:

记一次恶意样本分析

img

记一次恶意样本分析

img

记一次恶意样本分析

img

继续观察login函数,可以看到这个函数使用反射加载去加载sign中的字节码文件,最终调用sign中的startup函数。

记一次恶意样本分析

img
编写代码将sign字节码进行保存,并进行反编译得到的源码如下所示:
记一次恶意样本分析

img

记一次恶意样本分析

img
从上图中的代码可以看到,在反射加载的startup函数中首先从“C:UsersrootIdeaProjectsuntitled_nitlibbase.ejs”中获取key然后从“C:UsersrootIdeaProjectsuntitledinit_libpackman.ejs”获取加密后的shellocde,并通过异或解密出最终的shellcode,最后通过“sun.tools.attach.WindowsVirtualMachine”中的“enqueue”执行最终的shellcode。
记一次恶意样本分析

img

记一次恶意样本分析

img
将最终的shellcode进行保存可以得到该shellcode为cobalt strike生成的木马,使用cs工具获得最终的配置信息(里面包含的信息有IP太多了,这里不附图了。。)

申明:本公众号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,

所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法.

记一次恶意样本分析

原文始发于微信公众号(掌控安全EDU):记一次恶意样本分析

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年11月23日23:25:33
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记一次恶意样本分析https://cn-sec.com/archives/3420293.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息