事实是,近几年来,Emotet通过不断更换外层混淆器,调整自身的代码逻辑和更新C&C服务器,疯狂的与安全软件进行对抗。仅在去年7月,Emotet通过传播钓鱼邮件窃取银行账户并在目标网络内部传播,短时间内袭击了全球5%的企业和组织,破坏力极其之大。美国国土安全部曾公开表示:“Emotet对州、地方、地区各级政府、私有部门和公共部门产生影响”。
对此,火绒工程师深度分析并起底Emotet与安全软件的对抗过程,并发布专业分析报告,以此作为重要参考依据,应对未来出现的其他病毒家族样本。报告还原了Emotet具体执行流程;分析梳理了Emotet通过更换外层混淆器和内层恶意代码,在各阶段对抗安全软件的手段;同时还深入剖析了Emotet同源样本——Cridex。欢迎点击下方链接查看详细的报告内容。
查杀图
尽管在全球范围内,Emotet将成为过去式,但是依旧有其他僵尸网络家族层出不穷,给社会带来了极大损失和影响。黑客利用僵尸程序,感染庞大的网络平台,并有针对性的发起各式各样的攻击行为,或造成大量机密和个人隐私泄漏,或导致整个基础信息网络瘫痪,甚至从事网络欺诈等其他违法犯罪活动。
僵尸网络形成过程图
根据火绒处理过的有关僵尸网络的案例,除了Emotet之外,还有Qakbot,Trickbot等病毒攻击的情况,由于僵尸网络攻击往往呈现大面积攻击态势,且擅于利用横向渗透等方式造成更大的影响,对企业用户危害更大。为此,火绒在最近公测的企业版2.0中上线了【僵尸网络防护】功能,可以帮助用户拦截“僵尸程序”执行远程命令,从而阻止网络黑客对终端设备的控制。
附详细分析报告:
一、详细分析
通过我们分析发现,Emotet木马病毒主要通过钓鱼邮件进行传播。钓鱼邮件中会将恶意文档(通常为doc、docx、xls、xlsx等)伪装为交易发票等重要信息,从而诱导用户打开。当用户打开附件中的恶意文档并启用宏后,便会感染病毒,成为僵尸网络中的一个节点。具体病毒执行流程如下图所示:
病毒执行流程图
恶意文档
钓鱼邮件中带毒宏文档执行后,主机会向C&C服务器发送请求,下载执行真正的Emotet木马可执行程序。加载执行Emotet木马的方式会根据木马的形式不同而不同,通常与宏病毒中的代码配合完成加载(比如动态库形式的木马需要用rundll32加载执行)。在我们举例的Emotet宏文档病毒代码中,会通过命令行启动执行带命令行的powershell,依次尝试从几个不同的C&C服务器下载动态库形式的木马模块,如果下载成功则使用rundll32加载执行。相关现象及代码,如下图所示:
带毒宏文档
图片
启动带命令行的powershell
图片
powershell下载执行木马
图片
启动powershell下载执行木马模块
Emotet外层混淆器
Emotet木马模块的外层为混淆器,用于对抗分析和杀软查杀。随着Emotet病毒的长时间的演变,外层的混淆器也在不断进行变化。从对Emotet家族的样本分析来看,外层混淆器具有阶段性特征,但每个阶段之间并没有直 接的演化关联。并且当对外层混淆器特征进行样本查询时,发现存在不同家族使用相同混淆器的情况,因此猜测病毒使用的混淆器可能不是Emotet团伙自身维护。在各阶段的混淆器中存在常见的对抗虚拟沙盒的手段,如冷门API调用, 检查具体函数实现等。相关代码,如下图所示:
图片
冷门动态库和函数
图片
检查具体函数实现
图片
将解密内层PE代码放在动态库导出函数中
病毒混淆器一般分为2-3层, 最外层解密执行shellcode, shellcode解密加载最终的PE执行,或者是中间有多层shellcode多次加载的情况。同时加载PE的方式也有直接内存加载执行或者创建新进程注入等方式。下面就几个明显的阶段性混淆器进行简单说明:
1.简单内存加载
最开始时混淆器有2层, 外层解密并执行shellcode,shellcode负责加载执行内层的PE文件。具体代码,如下图所示:
图片
加载执行
2.多层shellcode注入加载 + 环境检测
这个阶段的混淆器总共有3层,外层的MFC混淆器解密执行第二层shellcode,第二层shellcode解密执行第三层shellcode,第三层shellcode检测执行环境(检测虚拟机,沙箱,关闭微软防火墙服务等)并将最终的PE以创建新进程注入的方式加载执行。具体代码,如下图所示:
图片
检测环境并将PE注入执行
3. 控制流在多个内存区域间跳转
这个阶段的混淆器较为复杂,且持续了很长一段时间。最外层的混淆器解密并加载执行子PE,子PE比较特殊,文件以0x10字节大小对齐, windows无法直接加载执行。子PE加载执行原始的PE文件,原始的PE文件经过特殊处理,病毒代码片段分布在两个部分,最终加载完成后,病毒的执行控制流会在三个内存区域跳转(其中一个为垃圾代码段)。相关代码,如下图所示:
图片
控制流在多个内存区域间跳转
4. 简单内存加载+垃圾指令混淆
最新版本的混淆反而没那么复杂,只有简单的内存加载执行逻辑,但是会在指令之间插入一些垃圾API调用或者垃圾汇编代码,从而改变病毒的二进制特征,对抗特征查杀。具体代码,如下图所示:
图片
使用垃圾指令或调用混淆
Emotet内层恶意代码
通过对病毒不同变种内层PE进行分析发现,不同于外层混淆器,内层PE的混淆有一个明显演变的过程。下面将其简单分为3个阶段进行说明:
1. 没有混淆
病毒所使用的字符串均以明文的方式存储,所调用的API均为正常静态导入。具体如下图所示:
图片
病毒使用的字符串和API均未混淆
2.API动态获取、字符串加密
病毒对使用的API以计算hash值的方式遍历内存加载的模块与其导出函数的名称,通过比对存储的hash值,从而得到对应的API函数地址。病毒对使用的字符串进行异或加密存储,在每次使用时,分配空间解密使用。具体如下图所示:
图片
病毒只对使用的导入函数进行混淆,字符串依然明文存储
图片
导入函数和字符串均混淆
3. 控制流平坦化和大数运算混淆
在原有API动态获取和加密字符串的基础上,病毒使用控制流平坦化和大数运算进行混淆。这使得相同的代码编译得到的二进制特征各不相同,从而增大安全软件的检出难度,阻碍分析人员对病毒功能逻辑的分析。
图片
控制流平坦化使逻辑难以分析
图片
大数运算混淆改变二进制特征
Emotet木马虽然不断更新演变,更改病毒行为特征和更新内外层混淆手段,但其主要功能基本没有变化。Emotet的主要功能为下载执行恶意模块,其中包括自身的更新模块和其他病毒模块(Qakbot、Trickbot等)。病毒在首次启动时都会将自身转移到其他目录(APPDATA或SYSTEM目录),然后添加转移后的病毒开机自启从而驻留。开机自启的方式有创建注册表Run项,在STARTUP目录创建自身快捷方式、以服务启动和添加计划任务启动等。病毒运行后会与C&C服务器建立连接,发送上线信息并接收服务器端传来的恶意模块。病毒与C&C服务器之间的通信均为加密通信,加密算法从开始的RSA+RC4,后面转变为RSA+AES。对于从病毒服务器端传来的恶意执行模块,开始是病毒将模块存储在注册表键值中,并通过检测注册表的变化来加载执行下发的模块。后期,病毒可以通过解析数据包中的控制信息选择以不同的方式加载执行,可以直接内存加载、创建文件添加开机启动或计划任务方式启动等。具体相关代码,如下图所示:
图片
导入RSA公钥并生成通信AES密钥
图片
开始时接收的文件存储在注册表中
图片
接收文件加载执行
图片
通信的加密算法发生变化
二、同源样本分析
通过同源性分析发现, Cridex与Emotet的恶意代码中存在诸多相似代码,所以可以推断Cridex和Emotet系为同源样本。Cridex的首次出现时间为2011年,Emotet的首次出现为2014年,我们根据样本的出现时间和同源性推断,Cridex可能为Emotet的前身。相关同源性代码,如下图所示:
图片
同源性代码(1)
图片
同源性代码(2)
外层混淆器
在我们溯源到的样本中,Cridex所使用的外层混淆器主要代码逻辑与Emotet混淆器非常相似,且用于解密内层原始PE的shellcode主要代码逻辑对比,如下图所示:
图片
最外层混淆对比
在溯源到的样本中,Cridex和Emotet的内层混淆代码(我们暂且称上述代码解密执行的shellcode部分为内层混淆)相似度极高。由此可以得知,Cridex与Emotet所使用的混淆器存在一定的相似性。内层混淆代码对比,如下图所示:
图片
内层混淆代码对比
内层恶意代码
Cridex内层恶意代码部分基本不存在混淆代码,相较于Emotet来说混淆程度较低。Cridex内层恶意代码功能包括:通过hook浏览器和Explorer的方式,根据远程服务器下发的窃取策略,盗取用户凭证、用户邮箱登录用户名及密码、FTP登录密码、用户浏览器数据等信息,或根据C&C服务器下发的策略任意修改用户的HTTP请求内容。相关关键代码,如下图所示:
图片
窃取用户邮箱、FTP账户密码
图片
将窃取到的账户、密码拼接到回传数据中
图片
收集用户浏览器数据
IT解决方案:
移动办公安全解决方案 移动应用安全解决方案
在线业务优化解决方案 在线业务安全解决方案
企业数据安全解决方案 分支组网优化解决方案
业务容灾备份解决方案 互联网安全管控解决方案
新型智慧城市解决方案 政务数据中心建设方案
政务专网建设解决方案 互联网安全优化方案
政务移动安全接入方案
业务全网等级保护三级整改建设案例
业务内网等级保护三级整改建设案例
电子政务专网应用加速及传输优化解决方案
政府信息中心上网行为管理解决方案
企业办公无线解决方案 电子商务网站优化解决方案
企业办公桌面云解决方案 数字校园解决方案
桌面云解决方案 数字图书馆解决方案
业务与支撑系统安全 随势而变的ICT
云资源池安全与优化 广电网络解决方案
网络安全等级保护(等保2.0)解决方案
等保一体机解决方案 云安全解决方案
进程管理
以列表或树型展示系统中全部活跃以及非活跃进程信息,并允许用户对其进行操作(强制结束进程、提取内存字符串等)包括:
进程ID、会话ID、全路径、命令行、当前路径、等基本信息;
进程线程信息;
进程模块信息;
进程打开的句柄列表;
进程相关的网络连接信息;
进程产生的网络流量数据;
以不同颜色区分活跃和非活跃进程;
可以定位进程对应程序文件及查看文件属性;
对活跃进程可以进行结束、挂起、恢复操作;
可以关闭进程打开的句柄;
可以提取进程、模块的内存映像或文件中的全部字符串;
可以搜索系统中全部打开的句柄和加载的模块;
启动项管理
可以扫描系统中的启动项,并可以对扫描到的启动项进行禁用、启动和删除;
支持扫描以下类型启动项:
登录类(Logon)
浏览器类(Explorer)
IE浏览器类(Internet Explorer)
系统服务类(Services)
内核驱动类(Drivers)
解码器类(Codecs)
Winsock提供者类(Winsock Providers)
打印提供者类(Print Monitors)
本地安全认证类(LSA Providers)
网络提供者类(Network Providers)
启动执行类(Boot Execute)
映像劫持类(Image Hijacks)
AppInit类(AppInit)
已知动态库类(KnownDLLs)
Winlogon类(Winlogon)
输入法类(IME)
计划任务类(Scheduled Tasks)
内核诊断信息
内核
内核诊断信息包括以下内核信息:
驱动(设备树)信息(Driver Information)
系统服务表(Service Dispatch Table)
内核通知信息(Kernel Notify)
中断描述符表(Interrupt Table)
高亮提示被修改的内核信息;
钩子扫描
扫描内核态IAT、Inline钩子;
扫描用户态IAT、Inline钩子;
可以对指定进程进行快速扫描;
对扫描到的钩子进行指令分析识别多级跳转类型的钩子;
服务管理
查看操作系统中已注册的服务,并可以对其进行查看文件目录,文件属性,定位注册表,启动停止的控制;
驱动扫描
显示操作系统中已注册的驱动,并可以对其进行查看文件目录,文件属性,定位注册表的操作;
网络监控
显示操作系统中正在进行联网行为的进程,并可以对其进行查看文件,文件属性,结束进程的控制;
文件修改
文件修改 诊断工具文件操作
文件修改 诊断工具文件操作
查看已识别的可用文件驱动器内文件,并可以高权限对其进行强制修改删除等操作; [4]
注册表编辑
查看操作系统内的注册表文件,并可以高权限对其进行强制修改删除等操作;
注册表修改
支持地址栏对目标键值的快速定位;
服务区域:
四川火绒 成都火绒 西藏火绒 重庆火绒贵州火绒 贵阳火绒 云南火绒 昆明火绒
四川synology: 德阳火绒 绵阳火绒,攀枝花火绒,西昌火绒,雅安火绒,内江火绒,资阳火绒,南充火绒,眉山火绒,乐山火绒,自贡火绒 泸州火绒 广元火绒 遂宁火绒 宜宾火绒 广安火绒 达州火绒 雅安火绒 巴中火绒 资阳火绒 攀枝花火绒 凉山彝族自治州火绒 甘孜藏族自治州火绒 阿坝藏族羌族自治州火绒
贵州火绒:贵阳火绒 、六盘水火绒、遵义火绒、安顺火绒、铜仁火绒、毕节火绒。 黔南火绒 、黔西南火绒、贵州黔东南火绒
重庆火绒 合川火绒 南川火绒
潼南火绒 铜梁火绒 长寿火绒 璧山火绒 荣昌火绒 綦江火绒 大足火绒 武隆火绒 垫江火绒 奉节火绒
丰都火绒 城口火绒 巫溪火绒 云阳火绒 酉阳火绒 巫山火绒 梁平火绒 彭水火绒 秀山火绒 石柱火绒 开县火绒
昆明火绒、曲靖火绒、玉溪火绒、 保山火绒 、昭通火绒 、丽江火绒 、普洱火绒、 临沧火绒。
文山壮族苗族自治州(文山火绒) 、红河哈尼族彝族自治州(红河火绒) 、西双版纳傣族自治州、(西双版纳火绒) 楚雄彝族自治州(楚雄火绒)、 大理白族自治州(大理火绒)、 德宏傣族景颇族自治州(德宏火绒)、 怒江傈僳族自治州(怒江火绒)、 迪庆藏族自治州(迪庆火绒)
四川 成都 火绒 代理:
火绒成都渠道代理商有哪些;火绒渠道代理商有哪些;火绒nat代理上网;火绒代理商资质查询;火绒总代怎么样;火绒的渠道有哪些;火绒金牌代理;火绒成都金牌经销商;火绒四川金牌经销商;火绒金牌代理商;火绒金牌 成都火绒科技有限公司
火绒科技成都分公司 火绒成都区主管是谁 火绒成都
火绒成都办事处 火绒成都网络安全
火绒成都代理商有哪些 火绒成都防火墙
火绒 防火墙 上网行为管理 具体版本:
邮箱:seclab@huorong.cn
火绒维修,以及更多产品和详情请咨询:
成都科汇科技有限公司 — 专业企业级安全、云计算与IT基础架构服务商
无论您是解决企业级安全、云计算,还是IT基础架构,都可以使您的IT更简单、更安全、更有价值
成都科汇科技有限公司
地址:成都市人民南路四段1号时代数码大厦18F
电话:400-028-1235
QQ:1325383361
手机:180 8195 0517(微信同号)