本帖最后由 火绒工程师 于 2022-11-18 13:16 编辑
在病毒与安全软件的对抗过程中,“病毒混淆器”一直扮演着重要的角色——为病毒提供外在伪装。实际上,很多病毒的核心特征变化并不大,但依赖不断变化的“病毒混淆器”,就能够轻松产生批量的变形病毒,从而躲避安全软件查杀。
根据长期数据统计显示,依赖“病毒混淆器”不断变形的病毒家族样本在2021年进入高速增长期,虽然出现阶段性下降,但总体依然处于上升趋势。与此同时,Win64病毒样本数量也在大幅上涨,2021年全年相较于2020年,Win64病毒样本数量已增长了5倍,且今年单季度样本增速再创历史新高。如下图所示:
火绒安全实验室发现,随着“病毒混淆器”对抗手段的演变,原有主流病毒家族如:Emotet、Dridex、IcedID等均出现64位新变种。虽然目前64位流行病毒家族所使用的混淆手段与32位相比还较为基础,但已呈现日益完善、愈加复杂的趋势。Win64病毒样本主要混淆手段如下图所示:
由此可见,“病毒混淆器”为安全软件带来的识别查杀挑战依然是严峻的。
火绒安全日前正式进阶了核心技术能力——火绒反病毒引擎“虚拟沙盒”支持64位虚拟环境,即在虚拟沙盒中构建一套类64位Windows操作系统。此后,火绒引擎对64位样本的扫描,可以排除混淆手段干扰,获取到64位病毒核心特征。从而提高产品对未知病毒的检出能力,防御未知威胁。
以Dridex和Emotet病毒的64位样本为例,演示其混淆手段及在火绒“虚拟沙盒”中的运行情况: https://www.bilibili.com/video/BV1td4y1b7Ls
(视频内容仅用于展示火绒”虚拟沙盒”中的执行效果,火绒引擎在扫描样本过程中会自动完成虚拟执行流程并完成病毒监测。)
该技术现已全面应用在个人版和企业版产品中,并为合作伙伴终端安全防护能力增添新助力。新老用户可升级版本或至火绒安全官网申请试用。
附: windows 64位流行病毒家族分析EmotetEmotet病毒主要通过鱼叉邮件方式进行传播,即针对特定用户、组织或企业,“定制化”地进行网络钓鱼攻击。当用户点击运行邮件附件后,病毒就会被激活,并在终端后台盗取各类隐私信息(浏览器记录、电子邮件信息、凭证信息)。此外,Emotet还会传播其他病毒家族,如:TrickBot银行木马和Ryuk勒索病毒。从2022年4月份开始64位变种大量增加, 11月初64位再次出现增长现象, 64位Emotet病毒样本趋势图,如下图所示: 64位Emotet 病毒样本趋势图 病毒分析Emotet通过注册表和服务进行自启动,相关代码,如下图所示: 注册表自启动 服务自启动 收集本机信息,并发送给C&C服务器,相关代码,如下图所示: 收集本机信息 Emotet主模块接收C&C服务器下发的指令,根据指令执行不同的恶意功能,如:执行任意恶意模块(窃取模块、横向传播模块等恶意模块)。执行C&C服务器下发的指令,相关代码,如下所示: 根据C&C服务器下发的指令执行对应恶意功能 混淆技术分析以下对多个不同的64位Emotet变种使用的混淆技术进行分析, 64位Emotet变种中所使用的混淆器正在慢慢完善,变得复杂,64位Emotet不同变种的混淆器对比图,如下图所示: 64位Emotet不同变种的外层混淆器对比图 不同变种的64位Emotet所使用的混淆器千变万化,但是行为模式基本相同。不同变种在火绒虚拟行为沙盒中的行为对比,如下图所示: 64位Emotet不同变种,在火绒虚拟行为沙盒中的行为对比 在64位Emotet中,已经开始大量使用控制流平坦化来影响安全人员分析,在火绒虚拟行为沙盒中,也可以看见一些内层的运行细节,如下图所示: 火绒虚拟行为沙盒运行效果图 64位Emotet混淆器中使用了一些与虚拟行为沙盒对抗的技巧, 如:循环执行无意义代码,让虚拟行为沙盒超时;调用CoLoadLibrary函数动态加载一个系统的exe文件,来检测虚拟行为沙盒环境的真实性,以下进行一一举例: 循环执行无意义代码 64位Emotet混淆器中还会加载sc.exe来检测虚拟行为沙盒的真实性,如下图所示: 检测虚拟行为沙盒环境的真实性 DridexDridex是一种臭名昭著的银行木马,出现于2011年左右,至今仍然非常活跃,主要通过收集键盘记录、屏幕截图、剪贴板内容等信息,窃取受害者的隐私信息。从2021年10月份开始Dridex大量出现64位变种,64位Dridex病毒样本趋势图,如下图所示: 64位Dridex病毒样本趋势图 病毒分析创建任务计划来进行持久化,相关代码,如下图所示: 添加任务计划 通过AtomBombing注入将恶意代码注入进其他进程中来躲避杀毒软件查杀,相关代码,如下图所示: AtomBombing注入其他进程 通过HOOK 进程的TranslateMessage函数来记录受害者键盘输入,相关代码,如下图所示: 键盘记录 获取受害者屏幕截图功能,相关代码,如下图所示: 屏幕截图 通过HOOK进程的GetClipboardData函数来获取剪贴板内容,相关代码,如下图所示: 获取剪贴板数据 混淆技术分析与Emotet相比Dridex的外层混淆器更加复杂,将关键代码隐藏在大量混淆代码和无意义循环中进行混淆,为了对抗安全人员分析还会将重要的函数分段导出为多个函数,导致IDA识别出错,给分析人员制造难度,如下图所示: 影响IDA识别 重要的代码被包围在众多混淆代码中,这些代码还能检测虚拟行为沙盒的真实性,不同变种的外层混淆器进行对比,如下所示: 不同变种的外层混淆器进行对比 不同变种在火绒虚拟行为沙盒中的行为对比,如下图所示: 不同变种在火绒虚拟行为沙盒中的行为对比 火绒虚拟行为沙盒也可以看见一些内层的运行细节,如下图所示: 火绒虚拟行为沙盒运行效果图 IcedID近年来较为活跃的新兴银行木马,会收集受害者各种隐私数据如:各种浏览器的登录凭证、Cookie、历史记录,电子邮件的登录凭证等信息,并携带后门功能,可以执行C&C服务器下发的任意Shell命令。从2021年1月开始64位IcedID变种大量出现,在近期又逐渐增多,64位IcedID病毒样本趋势图,如下图所示: 64位IcedID病毒样本趋势图 病毒分析病毒启动后会收集各种系统信息(CPU、网卡、进程等信息)发送给C&C服务器,C&C服务器中会根据收集到的信息进行判断,如果检测到虚拟机或者调试器相关环境信息,则会将该IP地址拉黑不再下发后续模块,收集系统信息相关代码,如下图所示: 收集本机信息 将收集到的信息发送给C&C服务器,并接收新的恶意模块,相关代码,如下图所示: 发送和接收信息 加载C&C服务器下发的恶意模块,相关代码,如下图所示: 内存加载接收到的恶意模块 恶意模块中,会收集受害者各种隐私信息如:各种浏览器的登录凭证、Cookie、历史记录;电子邮件的登录凭证等信息,并执行C&C服务器下发的任意命令,以下进行举例说明。 收集浏览器和电子邮件信息 涉及到的浏览器列表,如下图所示: 涉及到的浏览器列表 获取各种浏览器和电子邮件信息,相关代码,如下图所示: 获取浏览器和电子邮件信息 还会获取各种浏览器的Cookie数据,相关代码,如下图所示: 获取浏览器的Cookie数据 收集系统信息 执行Shell命令来获取系统各种信息如:杀毒软件、网卡、域等信息,相关代码,如下图所示: 执行Shell命令获取系统信息 上传文件 上传C&C服务器指定的文件,相关代码,如下图所示: 上传指定文件 执行Shell命令 执行C&C服务器下发的任意的Shell命令,相关代码,如下图所示: 执行C&C服务器下发的任意的Shell命令 混淆技术分析IcedID外层混淆器难度较低,只是添加了一些无意义循环,并将代码块拆分成多个块,每个代码块之间利用跳转连接,IDA代码流程图,如下所示: IDA代码流程图 通过火绒虚拟行为沙盒我们可以看到该样本运行的一些运行细节,如下图所示: 火绒虚拟行为沙盒运行效果图 附录病毒HASH:
|