一则邮件攻击样本分析分享

admin 2022年5月11日05:55:01评论26 views字数 2692阅读8分58秒阅读模式

一则邮件攻击样本分析分享

一、前言

通过邮件投递病毒文件是网络攻击常用的一种方式,因此防御邮件攻击是每个安全团队都需要重点考虑的内容每天都会收到数万封外部邮件,为了及时检测每封邮件是否含有恶意文件,团队部署了自研的高级邮件防御系统,针对每个邮件附件,通过动态行为分析的方式检测是否存在威胁。本文介绍近期捕获的一起攻击事件,分析其攻击过程。

二、攻击邮件的捕获与分析

近日,

高级邮件防御系统捕获了一批使用高危word附件进行定向攻击的钓鱼邮件,攻击对象均为同一项目团队成员,引起了安全人员的重视。下面是邮件附件的分析报告:


一则邮件攻击样本分析分享


从分析报告中可以清晰的看到,此word文件有创建进程的异常行为,另外也发现了异常的网络行为,可以猜测这是一个下载器。经安全人员进一步分析发现,在word附件中使用了宏病毒,宏病毒由vb写成,采用了加密混淆等方式逃避杀软的检测,见下图:


一则邮件攻击样本分析分享


vb脚本经过混淆,但依然可以看出有联网的痕迹,如下段代码可见http://和.com的痕迹:


一则邮件攻击样本分析分享


启用宏后打开此文档会自动运行脚本,ProcessExplorer上可见其调用cmd.exe执行脚本命令:


一则邮件攻击样本分析分享


该脚本首先通过dns查询若干个恶意网址,连接成功后通过http下载exe文件并运行。通过跟踪,发现其连上solvolab.com/sdB这个恶意网址,下载PE文件并运行。data chunk中可见可执行文件的PE头中的标识和字段:


一则邮件攻击样本分析分享


下载的可执行文件会自动运行并添加到服务,名称为buildbuild:


一则邮件攻击样本分析分享


三、下载的恶意样本分析

对下载的buildbuild.exe样本进行分析,主要功能如下:

1.搜集smartcard信息

该样本通过注册表查询smartCards信息:


一则邮件攻击样本分析分享


逆向分析可见其存在查找4G卡的服务提供商,获取虚拟按键等较明显的搜集敏感信息的行为:


一则邮件攻击样本分析分享


2.自写壳 

该样本在PEiD中显示“查无此壳”,也没有任何语言信息,推测为不常见的壳,很有可能是自写的。


一则邮件攻击样本分析分享


此类壳没法用工具自动脱壳,只能手脱。调试过程中发现这个壳的写法还是比较常规的思路:


1) 调用VirtualAlloc为各个区段分配内存,将加密的区段数据解密到各自对应的内存空间,并调用VirtualProtect根据区段的属性修改内存操作权限:


一则邮件攻击样本分析分享


2) 调用LoadLibrary加载dll,调用GetProcAddress分别获取dll中目标函数地址。  


3) 跳到解密后的代码执行,如下图001A1000存放的为解码后的.text区段代码:


一则邮件攻击样本分析分享


4) 中间穿插了GetTickCount等反调试手法:


一则邮件攻击样本分析分享


若发现处在调试状态,会通过遍历进程的方式找到并结束自身进程。进程遍历也是常规手法:


调用CreateToolhelp32Snapshot建立进程快照,通过Process32FirstW和Process32NextW进行遍历来找到当前进程,然后通过CloseHandle直接结束进程。


一则邮件攻击样本分析分享

一则邮件攻击样本分析分享


判断是否为当前进程的方法是在上图Call ebx函数中实现,通过调用GetCurrentProcessId获取当前进程ID,和保存的遍历到的进程ID对比,相同就说明当前遍历的进程信息为目标进程。


一则邮件攻击样本分析分享

3.创建子进程

为干扰逆向分析,该样本在运行过程中会调用CreateProcessW创建子进程。


一则邮件攻击样本分析分享


在内存中修改CreationFlags入参为0×00000004(CREATE_SUSPENDED),使子进程创建后自动挂起,然后直接在od中找到其进程号attach即可

调试子进程。


一则邮件攻击样本分析分享


子进程创建成功后,病毒主要功能都在子进程中进行,而父进程将退出。


一则邮件攻击样本分析分享


以下皆为子进程中运行的功能。

4.信息收集和系统监控

样本没有自己实现该功能,而是调用了第三方动态库winimhc3.dll、winbrohc.dll、winhafnt.dll等。这些dll是 OCular Agent产品的重要组件。OCular Agent为一电脑监控软件,由SurveilStar Inc开发,数字签名为T.E.C Solutions (G.Z.)Limited,可以记录电子邮件,聊天和即时信息,网站访问,搜索历史,计划活动,文件操作等等。其动态库常被杀软识别为恶意软件。


一则邮件攻击样本分析分享


winimhc3逆向显示很多监控的痕迹,如IMHook、枚举窗口等:


一则邮件攻击样本分析分享

一则邮件攻击样本分析分享


Winbrohc中实现了很多监控功能诸如文件遍历、监控应用程序数据、检索杀软、搜索数据库、修改history文件和注册表等。


调用FindFirstFileW和FindNextFileW进行文件遍历:


一则邮件攻击样本分析分享

监控包括explorer、cmd、winword在内的多个程序:


一则邮件攻击样本分析分享


一则邮件攻击样本分析分享


获取磁盘信息:


一则邮件攻击样本分析分享


获取各种浏览器和云盘中的用户信息及历史数据:


一则邮件攻击样本分析分享


一则邮件攻击样本分析分享


检测杀软:


一则邮件攻击样本分析分享


监控explorer、cmd等常用程序:


一则邮件攻击样本分析分享


获取ProcessToken,提权:


一则邮件攻击样本分析分享

一则邮件攻击样本分析分享


查找账户信息:


一则邮件攻击样本分析分享一则邮件攻击样本分析分享

监控邮件:


一则邮件攻击样本分析分享


一则邮件攻击样本分析分享


5.自删除 


一则邮件攻击样本分析分享


一则邮件攻击样本分析分享

6.自我复制

自我复制到在c:windowssystem32目录下,目的是为了后续创建服务用:


一则邮件攻击样本分析分享


4F4句柄在OD中查知为c:windowssystem32buildbuld.exe:


一则邮件攻击样本分析分享

这个过程并没有直接调用kernel32的WriteFile实现,而是通过外壳函数SHFileOperationW实现,该函数最终会去调用WriteFile函数:


一则邮件攻击样本分析分享


SHFileOperation是一种外壳函数,用它可以实现各种文件操作,如文件的拷贝、删除、移动等,该函数使用起来非常简单,它只有一个指向SHFILEOPSTRUCT结构的参数。使用SHFileOperation( )函数时只要填写该专用结构–SHFILEOPSTRUCT,告诉Windows执行什么样的操作,以及其它重要信息就行了。


 7.创建服务


使用之前自我复制的c:windowssystem32buildbuild.exe文件创建服务:


一则邮件攻击样本分析分享


一则邮件攻击样本分析分享


四、样本分析总结 

该样本采用了很多方法干扰逆向,例如自写壳、子进程、反调试、以及调用第三方监控软件的dll等等。并且调试过程中发现该样本总是用VirtualAlloc分配内存,然后将要执行的部分代码拷入内存中执行,同时喜欢用类似call eax的函数调用手法,使得无法使用IDA等工具查看其代码逻辑,只能依靠手调。


功能比较常规,但是并没有自己实现,而是调用了第三方的监控软件中的dll,一方面功能大而全,另一方面其庞大的代码量也可以起到干扰逆向的效果。

五、防御建议

邮件攻击是非常普遍的一类网络攻击,当企业收到的攻击邮件集中于某一团队时,需要格外注意,很可能是有目的的定向攻击,需要及时预警,提醒团队加强防范,不要轻易打开邮件的附件和链接,对可疑文件进行杀毒,必要时通过沙箱进行动态行为检测。


一则邮件攻击样本分析分享


本文始发于微信公众号(疯猫网络):一则邮件攻击样本分析分享

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年5月11日05:55:01
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   一则邮件攻击样本分析分享https://cn-sec.com/archives/513773.html

发表评论

匿名网友 填写信息