破译在Emotet、Qbot和Dridex中应用的加密器

访客3年前黑客工具702

加密器是一类手机软件,能够加密、搞混和控制恶意程序,使其更无法被安全性程序流程检验到。Zscaler ThreatLabZ科学研究工作组发觉,Emotet、Qbot和Dridex在最近主题活动上都应用了一种普遍的加密器,该加密器也一样能在一些Ursnif和BitPaymer的主题活动中检验到。Emotet和Dridex可以生存这般时间的缘故之一,便是他们会根据应用各种各样的加密器来躲避检验,加密器会将初始二进制文件封裝在內部,使对其的检验和剖析越来越更加繁杂。

Emotet是一种模块化设计恶意程序,关键作用是做为金融机构木马病毒的下载工具或dropper。过去的四年里Emotet一直很活跃性,它也是上年最时兴的恶意程序系列产品之一。Dridex是一种源于Zeus Trojan大家族的金融机构木马病毒,即便 在2015年被FBI捣毁以后也迄今能见到它在野外活跃性的足迹。Qbot则能远程登录受害人的系统软件,盗取信息内容,并将以上传入 *** 攻击的虚拟服务器。近期检验数据显示,Emotet的合理负荷url偏向了Qbot恶意程序,Emotet最近应用的加密器大家将在下文论述。

此加密器为恶意程序的关键二进制文件出示了双层维护。在文中中,大家将详细描述这种加密二进制文件的属性是如何使其适用各种各样转变的。这种属性能够不在实行二进制文件的状况下被静态数据认证,并用以撰写解密器。下面的图中展现了Emotet的关键二进制文件在加密器的搞混和加密包裝层中的封裝全过程。

0.关键二进制文件

1.编码根据转换命令和更换自动跳转命令的 *** 开展搞混

2.搞混的二进制文件被加密,并额外在加载器二进制文件的结尾

3.加载器二进制文件的文档两端对齐 *** 打乱

4.加密加载器的二进制文件

5.最终对加密后的加载器二进制文件的散列块开展二进制封裝

图1.加密的每个阶段

大家的总体目标是根据反向所述的各阶段进而得到 恶意程序的关键二进制文件。除此之外,关键二进制文件应以单独可载入/可实行的,而且IOC应便于获取。大家将从阶段5逐渐,叙述二进制文件的一些研讨式属性,根据这种属性破译该阶段,并不断追溯到阶段0。在大家的剖析中,大家发觉这种研讨式属性适用全部二进制文件的转变状况。

阶段5

阶段5的二进制文件是Emotet可执行程序,它根据MalSpams中的故意连接或MS Office文本文档中的故意宏开展免费下载。我们在阶段5的总体目标是进到阶段4以得到 加密的自定加载器的二进制文件。如同图1中常展现的那般,此阶段的二进制文件是加密的加载器二进制文件的散列块,大家必须发觉这种块并按恰当的次序拼装他们。在探讨怎样保证这一点以前,大家先看一下好多个实例——这种块是怎样遍布在二进制文件中的。鲜红色标明一部分为文档块。

图2.文档块方式实例

在上面的事例中,我们可以见到这种文档块并不一直在固定不动的部位,由于他们的尺寸不一致,并且块的次序也不一样。因而,之一个挑戰是寻找这种块并按恰当的排列顺序他们。喜讯是,我们知道加密器还必须对数据信息块开展排列,并将数据信息块详细地址和尺寸储存在一个表格中,这一表称之为“块描述符表”。噩耗是,这一表不可以在二进制文件中可预测分析的部位寻找,并且表的构造在二进制文件的转变中也并不是稳定的。下边是这一表结构的一些组合。块描述符表大部分是块描述符条目地组成。

struct ChunkDescriptorEntry[n]ChunkDescriptorTable; // n==number of chunks

图3.数据信息块描述符表结构实例

在所述构造中,“chunkAddressDword”包括块的虚拟注册地址。块的尺寸能够根据“firstDword”和“secondDword”上的下述实际操作之一得到 ,该实际操作在全部块描述符内容上都是不会改变的。

1. unsigned int chunkSize=firstDword secondDword

2. unsigned int chunkSize=firstDword ^ secondDword

3. unsigned int chunkSize=secondDword - firstDword

块描述符表的研讨式属性:

1. 0 5 out of 8.

6. 块不包含持续的4个0。

下边是搜索块方式的伪代码。涵数“FindChunkEntry”回到块的偏移和从块偏移逐渐的firstDword、chunkAddressDword的间距。假如对涵数的三个持续启用的返回值和三个回到偏移中间的长短相同,那麼能够分析全部数组来形成块详细地址和块尺寸的关系数组。

(offset1, m1, n1)=FindChunkEntry(filedata, fileSize)

(offset2, m2, n2)=FindChunkEntry(filedata offset1, fileSize)

(offset3, m3, n3)=FindChunkEntry(filedata offset2, fileSize)

If (offset2 - offset1)==(offset3 – offset2)

// found the FindChunkEntry array

FindChunkEntry(filedata, fileSize)

p=0

while p > fileSize

firstDword=filedata[p]

q=p

while q

如今拥有块详细地址和块尺寸的关系数组,我们可以组成这种块来得到 加密的加载器二进制文件,因此我们可以进到第四阶段。

阶段4

在大家的剖析中,大家观查到该加载器二进制文件(PE exe)的加密 *** ,是根据在循环系统中应用密匙数组开展最简单的字节到字节数(byte-to-byte)的加上开展的。在这里加密数据信息中,二进制文件不用以零偏移出現。在第四阶段,大家的总体目标是寻找PE文档在加密数据信息和破译密匙中的偏移。更先,大家将寻找破译密匙,它能够强制性根据加密数据信息来搜索PE文档的起止偏移。破译全过程出現在第5阶段二进制文件中,但并不是在可预测分析的部位。大家将从加密的数据信息自身计算出破译密匙。

相关文章

如何远程查看别人微信【同步偷偷接收对方微信】

如何远程查看别人微信(同步偷偷接收对方微信)关于微信是否能够同步接收对方消息这个问题,对于大部分人来说,第一反应认为是不可能做到的。那么到底有没有办法是可以同步接收微信消息呢?其实微信与QQ号和手机号...

wps做ppt教程

开启wps,点一下新创建,点一下演试,新创建空缺文本文档,键入內容,点一下新创建ppt再次依据必须加上內容就可以。 知名品牌型号规格:想到GeekPro 2020 系统软件:win10 1909 64...

2020今年太快毕业了的朋友圈感慨说说 2020感慨毕业很快的朋友圈怎么发

2020今年太快毕业了的朋友圈感慨说说 2020感慨毕业很快的朋友圈怎么发

多期待2020能够 重新启动,沒有这可恶的COVID-19,那样我最终的高校岁月还能校园内里,和学生们一起好好地的体会,不会那么匆匆忙忙的就毕业。我产生:20202020年太快毕业的微信朋友圈感慨说说...

每天30万人!美媒:这我们结婚了李泰民将是美国年底新增病例数

  近日,美国有线电视新闻网首席医疗记者桑杰·古普塔指出,到2020年12月31日,美国的每日新增病例可达到30万例。11月15日,美国传染病专家福奇接受CNN采访,被问及华盛顿大学的一项模型,该模型...

关于游戏开发者与黑客抗衡的信息

关于游戏开发者与黑客抗衡的信息

本文导读目录: 1、长春计算机学校黑客攻防和游戏开发能不能一起学,请各位大大推荐一个学校 2、游戏辅助与黑客漫谈是啥 3、电竞游戏开发者战术水平与职业玩家相比,你觉得谁更厉害一点呢? 4、...

查看老公微信聊天记录怎么查

进入大学,平时日常生活中接触最长的人就是室友了。每个人的性格都不同,有的开朗有的比较被动。选择和室友成为什么关系是个难题。那么跟舍友有必要深交吗 大学怎么样和室友相处。友谊长存带来相关就介绍。 跟...