微软披露BazaCall网络钓鱼攻击细节,分析躲避检测的多种方法
2021-08-21
来源:网络安全应急技术国家工程实验室
针对今年年初开始出现的BazaCall钓鱼邮件攻击行动,微软披露了详细的攻击流程,并指出攻击者可能会在受害电脑网络传播勒索软件Conti或Ryuk。
微软安全情报团队在6月23日发布警告称,利用电话客服传播恶意软件BazaCall(又名BazarCall)的钓鱼邮件攻击行动,攻击者的目标疑似是Office 365用户,会在受害电脑中植入勒索软件。当时对于攻击行动的细节说明相当有限,仅提及大致的攻击流程,及攻击者会人为操作并植入勒索软件,过程中会使用Cobalt Strike等信息。直到7月29日,微软公布了新的调查结果,披露了此类攻击的完整流程,以及作为诱饵的钓鱼邮件如何躲避邮件防护系统侦测,以及入侵受害者电脑之后,将会利用多种合法工具攻击整个企业网域,并对于网络设备植入特定勒索软件等细节。同时,微软也针对BazaCall各攻击阶段的威胁猎捕,提供了进阶威胁查询指令。
对于BazaCall的攻击手法,微软表示,攻击者会在受害环境的网络环境快速移动,泄露大量资料并窃取账户密码,然后在成功入侵后的48个小时内,植入勒索软件Conti或Ryuk。
图1 典型的BazaCall攻击流程:从垃圾邮件到社会工程,再到下载有效负载及手动键盘攻击
在持续调查后,微软发现,在BazaCall的攻击过程里,黑客利用社会工程和人为操控的方式,不像一般恶意软件所采用的自动化攻击策略,从而更容易逃过安全防护系统的检测。微软认为,BazaCall的这种策略比起目前已被公开的情况还要危险,因此决定要披露相关细节。
这种利用客服电话的攻击手法,攻击者先是发送钓鱼邮件,邮件内容是伪装成收件人订阅的网络或软件服务试用到期,接下来将会收取高额的订阅费用,而使得被害人心生恐惧,按照邮件指示拨打“客服专线”,来取消有关服务。但实际上,这个由攻击者安排的“客服”,会指示上钩的受害者下载带有宏的Excel文档,一旦这个文档被开启,就会在受害电脑植入BazaLoader恶意程序,并建立C2中继站的连线,来进行后续的攻击行动。
微软曾经提及这种钓鱼邮件缺乏可被识别的元素,而使得一般邮件防护系统可能难以察觉异常状态。BazaCall的钓鱼邮件没有夹带附件或是URL链接,而这些正是邮件防护系统判别邮件内容是否可能有害的依据之一。
而为了让收件人会拨打电话给“客服”,攻击者也制造出以假乱真的氛围。例如,攻击者在每一波的钓鱼邮件都会使用不同的服务订阅名义,例如照片编辑服务或是烹饪交流网站的会员资格,但相同的都是宣称服务订阅将要到期。微软指出,攻击者疑似为了增加收件人拨打电话的意愿,在最近一次的BazaCall攻击行动中,钓鱼邮件内容改为购买软件授权的收据确认邮件。
图2 典型的BazaCall电子邮件:声称用户的照片编辑服务试用期即将到期,将自动收取费用,并提供虚假的客户服务号码以帮助取消订阅。
BazaCall攻击者以收件人购买了知名解压缩软件WinRAR的名义,发送订购成功的通知邮件,在这封邮件中声称收件人购买了20台电脑授权,价值320美元,有2个星期时间可以拨打邮件里随附的“客服专线”取消购买。要是收件人拨打了这个专线电话,“客服人员”就会指示下载恶意Excel文档进行后续攻击行动。
微软指出,为了规避邮件防护系统通过发件人黑名单的过滤方式,每封BazaCall邮件都是由不同的发件人发出,而这些发件人的电子邮件地址,有可能是被盗用的,或是免费的电子邮件地址。为了让收件人相信邮件来自真实的公司邮箱,发件人也会谎称是来自与真实企业相似名称的公司,即使收件人通过网络搜索进行确认,还是有可能会上当。因为,攻击者还架设了以假乱真的“官方网站”。
究竟这些钓鱼邮件,与真实的购买网络服务或是软件授权通知邮件有多么相似?微软表示,大部分的BazaCall邮件都会显示用户ID,而使得收收件人误以为自己真的是他们的用户。但实际上,这组ID不只是用来欺骗收件人,还是攻击者追踪受害者的识别码。
一旦收件人依照指示打电话给“客服”,并下载了宣称是取消订阅所需填写的Excel表格,BazaCall的客服还从中下了指导棋。微软发现,有些使用者会绕过SmartScreen等过滤机制,来下载他们已经标示有问题的恶意文档,这代表“客服人员”很可能从中指示要如何操作,并威胁如果不照做的话,信用卡就会被扣款。此外,“客服人员”也会要求使用者在开启上述Excel文档后,启用宏功能。
这个Excel的宏一旦被触发后,便会采用Living Off-the-Land的手法,复制Windows系统里的certutil.exe,并利用这个副本下载BazaLoader,这是恶意动态链接库(DLL),由rundll32.exe加载。然后rundll32注入合法的MsEdge.exe进程,以连接到BazaLoader命令和控制(C2),并通过使用Edge创建一个。lnk(快捷方式)文件到Startup文件夹中的有效负载来建立持久性。注入的MsEdge.exe还用于侦察、收集系统和用户信息、网络上的域以及域信任等。
而为了能让攻击者能远程手动控制,以及找寻网域管理员账号等信息,此时rundll32.exe会下载渗透测试工具Cobalt Strike。通过直接访问,攻击者对网络进行侦察并搜索本地管理员和高权限域管理员账户信息。
攻击者还使用ADFind进行进一步广泛的侦察,ADFind是一种专为Active Directory发现而设计的免费命令行工具。通常,从侦察中收集的信息会保存到一个文本文件中,并由攻击者使用命令提示符中的“Type”命令进行查看。
一旦攻击者在网络上建立了目标设备列表,就会使用Cobalt Strike的自定义内置PsExec功能横向移动到目标。攻击者登陆的每台设备都会与Cobalt Strike C2服务器建立连接。此外,某些设备通过下载旨在窃取浏览器密码的开源工具来进行额外的侦察。在某些情况下,攻击者还使用WMIC横向移动到高价值目标,例如域控制器。
一旦攻击者发现具有高价值的目标,他们会使用7-Zip打包资料,并利用开源工具RClone的重命名版本将这些档案泄露到攻击者控制的域中。在域控制器设备上,攻击者使用NTDSUtil.exe在%programdata%或%temp%中创建NTDS.dit Active Directory数据库副本文件夹,用于后续渗漏。NTDSUtil是一种通常用于创建和维护Active Directory数据库的合法工具,NTDS.dit包含域中所有用户的用户信息和密码哈希。
图3 入侵攻击目标后的活动,包括渗透及勒索软件
微软发现,数据泄露是BazaCall攻击的主要目的,但攻击者也会在上述活动完成后在网络中部署勒索软件。攻击者使用高权限受损账户,结合Cobalt Strike的PsExec功能,将Ryuk或Conti勒索软件有效载荷植入到网络设备上。
尽管许多网络安全威胁依赖于自动操控战术,例如,利用系统漏洞投放恶意软件、破坏合法网站进行水坑攻击,或开发先进的检测规避方法,但攻击者继续在攻击中发现社会工程和人机交互方面获得成功。BazaCall活动将发送的电子邮件中的链接和附件替换为电话号码,这给检测带来了挑战,特别是通过传统的反垃圾邮件和反钓鱼解决方案来检查这些恶意指标。
BazaCall的电子邮件中缺乏典型的恶意元素,而且其运营商能够以极快的速度进行攻击,这说明了当今企业面临的威胁也越来越复杂,越来越难以避免。