前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >解包分析攻击越南机场和其它组织机构的间谍程序

解包分析攻击越南机场和其它组织机构的间谍程序

作者头像
FB客服
发布2018-02-08 17:23:56
1K0
发布2018-02-08 17:23:56
举报
文章被收录于专栏:FreeBuf

根据我们接触到了前期入侵越南组织机构的间谍程序捕获样本,入侵活动涉及7月底对越南两大机场的攻击事件,攻击中使用的恶意软件用于窃取越南航空公司40万会员信息。

这些入侵活动中使用的攻击载荷是伪装成杀毒软件McAfee的Korplug RAT变种。本文描述了从隐藏软件中提取最终攻击载荷的过程。

1 分析样本

884d46c01c762ad6ddd2759fd921bf71 – McAfee.exe c52464e9df8b3d08fc612a0f11fe53b2 - McUtil.dll(shellcode loader) 28f151ae7f673c0cf369150e0d44e415 – McUtil.dll.mc (shellcode) 321a2f0abe47977d5c8663bd7a7c7d28 - unpacked payload (DLL)

执行流程:

McAfee.exe -> McUtil.dll -> McUtil.dll.mc -> payload (DLL)

2 间谍软件包

该程序是一个非常有意思的模块化软件包。它整体伪装成McAfee杀毒软件:

其签名信息显示为McAfee原始的有效签名证书:

这个签名证书当然不是假的,因为McAfee.exe确实是一个合法程序,但是,却被捆绑了恶意的DLL动态链接库文件,攻击者正是利用了这点进行程序劫持。

攻击中使用的McAfee程序为老版本程序(编译时间为2008年),经测试,当前版本的McAfee程序不存在此类滥用隐患。

3 行为分析

成功植入后,程序潜伏在受害者系统中隐蔽执行。经分析发现,恶意代码注入了系统正常进程svchost.exe,程序主体启动时将会运行svchost.exe进程。从svchost.exe当前进程的详细信息中可以发现,其进程镜像目录包含恶意程序目录。

恶意程序生成的bot类线程从低到高枚举本地地址空间,对局域网内其它主机进行侦察探测:

同时还尝试与远程C&C地址(air.dscvn.org)进行通信连接,在我们的分析测试中,该C&C地址已经失效:

4 解包分析

恶意程序在实现最终功能之前包含多层载体,exe文件以及DLL文件都是正常的,关键的恶意功能在于包含有加密shellcode的外部捆绑文件,而在shellcode中隐藏的是执行核心间谍进程的DLL文件。

shellcode加载

为了达到反调试分析目的,攻击者混淆加载有效载荷的方式非常具有技巧性。McAfee.exe一旦执行,恶意程序就会在系统启动目录中加载名为McUtil.dll的动态库文件,由于系统不对恶意程序整体进行完整性检查,所以执行程序可以加载任意DLL文件:

McUtil.dll被用来部署下一阶段文件:McUtil.dll.mc。为了避免分析跟踪,McUtil.dll不会直接释放文件,而是使用patch方式调用McAfee.exe读取加载。下图为向内存写入钩子加载程序的相关代码片段:

以下为patch之后的程序调用代码,前两行为直接跳转到McUtil.dll地址的命令:

McUtil.dll主体中包含Patch函数,并且在处于动态调用之后,所以,钩子程序加载调用返回之后便会立即执行。

钩子程序调用的外部文件是可见的:

当执行写入内存之后,便发生了JNZ跳转:

提取payload

恶意程序的shellcode被进行了复杂的混淆:

重点不在于此,而在于该恶意程序的解包器和加载器,加载器把以下内容压缩到一段缓冲区内:

之后逐块重新映射这些内容,并为其分配附加内存,另外,在向虚拟镜像重新映射初始PE文件的过程中,也可以看到类似情况。实际上,反编译后的解包内容为一个头部经过变形的PE可执行程序,其中PE程序原始值”MZ”被分隔符XV代替:

通过重构文件头之后还原了exe文件:

文件解析为一个正常的PE文件321a2f0abe47977d5c8663bd7a7c7d28,虽然程序名节都没有命名,但所有内容有效:

文件特征表现了DLL形式的payload,由于文件没有任何导出列表,所以不知道它的原始名称。观察以下加载的导入部分,我们可以确定其为最终攻击载荷,它加载和调用了很多网络通信函数。例如:

在对该程序进行行为分析期间,我们还找到了其执行局域网主机IP扫描的代码。

攻击者为了能让攻击载荷隐秘执行,对所有调用部分进行了执行顺序检查,以下为对主要调用部分进行检查的硬编码名称:

5 总结

该恶意程序使用McAfee程序劫持DLL文件并运行恶意代码,为了逃避检测,还把各部分模块进行了混淆,单一的文件模块不具备恶意行为,也不能被杀毒软件查杀,只有所有部分综合执行之后才能发挥恶意行为功能。

这种类型的恶意程序,其EXE或DLL文件只用来加载shellcode,并不包含恶意代码,虽然用户对PE文件的运行比较谨慎,但是这一次,可能就会比较倒霉。

附录:

越南CERT机构对越南航空公司被黑客攻击的通报内容 2013年类似的攻击事件 Korplug RAT攻击阿富汗和塔吉克斯坦 BlackHat上关于Korplug RAT的分析 关于NanHaiShu APT

*本文译者:clouds,编译来源:MalwareBytes,未经许可禁止转载

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2016-09-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 分析样本
    • 执行流程:
    • 2 间谍软件包
    • 3 行为分析
    • 4 解包分析
      • shellcode加载
        • 提取payload
        • 5 总结
        • 附录:
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档