“雏莺行动”:一起针对俄罗斯的窃密行动

时间 :  2021年04月15日  来源:  安天CERT


1、概述


        近日,安天CERT监测到一起乌克兰针对俄罗斯的窃密行动,该起攻击行动在TTP(战术、技术&程序)中以多种方式对抗杀毒软件和防火墙设备等安全设备。本次行动中攻击手法简单,载荷尚未成熟,注册域名数量较少,并且夜莺是乌克兰的标志性动物之一,因此安天将这次攻击活动命名为“雏莺行动”。

        该起攻击行动主要通过钓鱼邮件进行传播,将邮件伪装为俄罗斯联邦储蓄银行(Sberbank)官方通知,诱导受害者下载附件中的带有宏的Office文档,并诱使受害者执行恶意宏代码。一旦文档中的恶意宏被执行,会在多层下载解码后运行此次攻击行动的有效载荷,对除乌克兰以外国家的设备进行攻击。该样本会窃取浏览器的Cookies、登录信息和支付信息回传给攻击者Telegram服务器,造成受害者财产损失和机密信息泄露。

        此次行动,攻击者将窃密功能隐藏在最终的载荷里并且在内存中加载一段ShellCode与远程服务器保持通信,窃密载荷一旦发现目标系统有沙箱系统、调试行为,以及目标系统属于乌克兰的设备,便立即自删除。通过对该起行动时间、域名(攻击者使用的域名为usamyforever.com,译为“我永远的美国”)等背景关联,推测是乌克兰针对俄罗斯的一起窃密行动。



2、事件对应的ATT&CK映射图谱


        该起攻击行动样本技术特点分布图:

图 2-1 技术特点对应ATT&CK的映射


        具体ATT&CK技术行为描述表:

表 2-1 ATT&CK技术行为描述表

ATT&CK阶段/类别

具体行为

注释

初始访问

网络钓鱼

利用钓鱼邮件传播

执行

利用命令和脚本解释器

利用PowerShell执行命令

执行

诱导用户执行

利用钓鱼邮件诱导用户执行恶意代码

防御规避

反混淆/解码文件或信息

将字符串解码为可执行程序

防御规避

混淆文件或信息

利用多层编码及加密混淆

凭证访问

窃取Web会话Cookie

窃取Web会话Cookie

发现

发现进程

发现虚拟机、调试器进程

发现

发现系统信息

发现系统信息

发现

虚拟化/沙箱逃逸

检测虚拟化沙箱分析环境

收集

自动收集

自动收集受感染主机中的Web会话Cookie文件

命令与控制

使用应用层协议

使用标准HTTP协议下载C2服务器载荷

数据渗出

使用Web服务回传

将数据发送到Telegram服务器



3、样本概览


3.1 攻击流程

        攻击者首先通过精心构造的钓鱼邮件诱使受害者执行邮件附件文档中的宏代码,宏代码一旦执行,会下载名为“excel.txt”的脚本,该脚本中有两部分功能:第一部分功能为使用PowerShell下载名为“pow.ps1”的脚本并执行;第二部分为下载名为“pork.txt”的脚本并运行。“pow.ps1”脚本中包含一串Base64编码的字符串,解码后是一个.NET可执行程序,该可执行程序主要功能为窃取浏览器的Cookies、登录信息、支付信息等,并将其通过Telegram bot接口(该接口为聊天软件Telegram提供给用户的自定义消息发送接口)发送给攻击者。近年来,由于Telegram信道具备隐蔽性、难溯源等特点,越来越多的窃密软件使用Telegram信道代替了传统的命令和控制服务器。将“pork.txt”功能为下载名为“pay.txt”的脚本,使用FromBase64String解码并执行。“pay.txt”解码异或后加载ShellCode,与远程服务器通信。

图 3-1 攻击流程图


3.2 攻击流程分析

        此次攻击行动中包含众多前导文件,其功能大体为下载下一阶段载荷,主要包括带有宏病毒的名为“scan-100218.docm”的文档、excel.txt、pow.ps1、pork.txt、pay.txt。

        该文档中的内容伪装成俄罗斯联邦储蓄银行(Sberbank)做诱饵,该银行成立于1814年,是俄罗斯最大的国有商业银行,占有四分之一以上的国内银行资产,与俄罗斯经济和社会发展息息相关。

图 3-2 文档内容


        该文档中包含宏代码,通过分析发现恶意宏会读取excel.txt中的内容,与服务器建立连接。在分析时该服务器已经失效。

图 3-3 部分宏代码内容


        excel.txt的内容中包含了很多俄罗斯著名运动员的信息作为混淆,并在末尾处夹杂了一段PowerShell代码,其功能为下载“pow.ps1”、“pork.txt”等后续载荷并执行。

图 3-4 excel.txt内容


        pow.ps1脚本中包含一个名为$load_string的变量,该变量使用Base64进行编码,解码后加载该变量,将解码后的内容命名为“random_user”。

图 3-5 pow.ps1脚本


        $load_string解码后是一个.NET可执行程序,经过分析为开源窃密程序修改而成。

图 3-6 .NET可执行程序


        pork.txt中功能主要为下载pay.txt脚本,并使用FromBase64String解码该脚本。

图 3-7 pork.txt脚本


        解码后的pay.txt,其中$var_code变量依旧是一段Base64编码的字符串,并且该变量是经过异或加密的,解密密钥为十进制的35。

图 3-8 pay.txt脚本


        解码异或$var_code变量,最后是一段ShellCode代码,可以看到LoadLibraryA、VirtualAlloc等函数。

图 3-9 ShellCode代码



4、窃密载荷分析


4.1 .NET样本分析

表 4-1 样本标签

病毒名称

Trojan[Spy]/Win32.Stealer

原始文件名

AppConsole.exe

MD5

BBF6A17CC8D96F635840AE1D63223659

处理器架构

Intel 386 or later, and compatibles

文件大小

80.00 KB (81,920字节)

文件格式

BinExecute/Microsoft.EXE[:X86]

时间戳

2045-12-25 00:51:54(被修改)

数字签名

加壳类型

编译语言

.NET(v4.0.30319)

VT首次上传时间

2021-03-31 09:00:22

VT检测结果

22/57


        .NET可执行程序样本总体功能包含四个模块,分别为运行环境检测模块、搜集用户信息模块、搜集谷歌浏览器信息模块和搜集火狐浏览器信息模块。

图 4-1 样本总体功能代码


        运行环境检测包含反分析部分及受害者身份校验部分。

        其中,反分析部分包含反调试、反分析工具、反沙箱、反虚拟机、系统时间检测等。

表 4-2 反分析汇总

反分析项目

反分析字符串、API

反调试

CheckRemoteDebuggerPresentIsDebuggerPresent

反分析工具

Processhackernetstatnetmontcpviewwiresharkfilemonregmoncain

反沙箱

SbieDll.dllSxIn.dllSf2.dllsnxhk.dllcmdvrt32.dll

反虚拟机

VIRTUALvmwareVirtualBox

系统时间检测(反沙箱)

GetTickCount()- GetTickCount()==Sleep(*)


        受害者身份校验部分会通过访问http://ip-api.com/xml获取IP地址信息,检测受害者所在国家是否为乌克兰。

图 4-2 校验受害者国家


        样本如果满足反分析中的任一条件,或受害者国家为乌克兰,则会释放一个bat文件到临时目录,该bat功能为删除自身所有相关文件,不再继续攻击。

图 4-3 释放bat文件,删除自身


        如果样本通过反分析测试,首先根据PowerShell下发的user参数发送Telegram bot消息,告知攻击者已经启动。

图 4-4 发送Telegram bot消息


        搜集Chrome和Firefox的Cookie、登录信息和支付信息,同样上传到相同的Telegram bot接口。api key为:

        Token = “1655355999:AAGhgS_Fna0x1kr5HuAKo0I9B8mAaDjfCh8”;

        ID = “1197196256”;

图 4-5 搜集浏览器信息


4.2 ShellCode分析

        pay.txt通过PowerShell脚本执行,功能为解密并加载ShellCode。其中ShellCode执行前嵌入了实时获取的GetModuleHandleA和GetProcAddress函数地址。

图 4-6 动态执行ShellCode

        ShellCode执行后,会反复尝试连接https://usamyforever.azureedge.net/RE4rzV2t和https://usamyforever.com/RE4rzV2t,以接收下一步指令。



5、关联分析


        通过对本次攻击活动中使用的文件、域名等信息进行关联分析发现:

        1. 本次攻击活动中攻击者将钓鱼邮件伪装为俄罗斯联邦储蓄银行官方通知,判断本次攻击活动的目标为俄罗斯。

        2. 根据使用的诱饵文档创建时间,推测本次攻击活动时间大概为三月末,这个时间点刚好是俄罗斯调动装甲军队前往俄罗斯与乌克兰的边境,俄乌冲突升级。

        3. 本次攻击活动使用了开源的窃密木马,攻击者在其中加入了规避乌克兰地区的模块。

        4. 攻击者使用的域名为usamyforever.com,译为“我永远的美国”。美国与乌克兰一直保持着亲切友好的战略关系。

        综合以上因素,推测本次事件可能为乌克兰针对俄罗斯的一次窃密行动。



6、IoCs


MD5:

1D26F52D9E82E1EE81BFFA05CB2F15F8scan-100218.docm

626DC9B751BA7C3A3544A185E6399DFBexcel.txt

376D8E1DD303942D204661E00552BE26pow.ps1

5D0E5C94B52AF6623FFDEF19FBB9D384pork.txt

6FA88634D48292C87281EB2821D5D0DBpay.txt

BBF6A17CC8D96F635840AE1D63223659AppConsole.exe

URL

https://usamyforever.azureedge.net/fmnfieikfemsdfdssdf/fjafisisafeg54/excel.txt

https://usamyforever.com/jeofof93ipdfrs/lmieodffd/pow.ps1

https://usamyforever.com/JFoa38hiean/FJaihfieek/Er3f4esfth/pork.txt

https://usamyforever.azureedge.net/32fasjigmssasfeessdd/pay.txt

IP:

51.145.124.145



附录:关于安天


        安天致力于全面提升客户的网络安全防御能力,有效应对安全威胁。通过20年自主研发积累,安天形成了威胁检测引擎、高级威胁对抗、大规模威胁自动化分析等方面的技术领先优势。构筑由 铸岳、 智甲、 镇关、 探海、 捕风、 追影、 拓痕、 智信 组成的产品方阵,可以为客户构建资产运维、端点防护、边界防护、流量监测、导流捕获、深度分析、应急处置等安全基础能力。安天通过为客户建设态势感知平台体系,形成网络安全运行的神经中枢,提升客户统一安全运维能力,并通过快捷精准的威胁情报持续完成客户赋能。安天的产品和解决方案保障客户从办公内网、私有云、混合云到工业生产网络的全面安全,保障客户关键数据资产安全和业务运行连续性。使客户能有效应对从病毒传播感染、网络勒索乃至情报级别的攻击窃密的不同层级的威胁,为客户数字化转型保驾护航。

        安天为网信主管部门、军队、保密、部委行业和关键信息基础设施等高安全需求客户,提供整体安全解决方案,产品与服务为载人航天、探月工程、空间站对接、大飞机首飞、主力舰护航、南极科考等提供了安全保障。参与了2005年后历次国家重大政治社会活动的安保工作,并多次获得杰出贡献奖、安保先进集体等称号。

        安天是全球基础安全供应链的核心赋能方,全球近百家安全企业、IT企业选择安天作为检测能力合作伙伴,目前,安天的威胁检测引擎为全球超过八十万台网络设备和网络安全设备、超过二十三亿部智能终端设备提供了安全检测能力。安天的移动检测引擎获得国际知名测试机构颁发的2013年度权威评测奖项。

        安天是中国应急响应体系中重要的企业节点,在“红色代码”、“口令蠕虫”、“心脏出血”、“破壳”、“魔窟”等重大安全威胁和病毒疫情方面,实现了先发预警和全面应急响应。安天针对“方程式”、“白象”、“海莲花”、“绿斑”等几十个高级网空威胁行为体(如APT组织)及其攻击行动,进行持续监测和深度解析,协助客户在“敌情想定”下形成有效防护,通过深度分析高级网空威胁行为体的作业能力,安天建立了以实战化对抗场景为导向的能力体系。

        安天实验室更多信息请访问:http://www.antiy.com(中文)        http://www.antiy.net (英文)

        安天企业安全公司更多信息请访问:http://www.antiy.cn

        安天移动安全公司(AVL TEAM)更多信息请访问:http://www.avlsec.com