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

访客4年前黑客工具739

加密器是一类手机软件,能够加密、搞混和控制恶意程序,使其更无法被安全性程序流程检验到。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阶段二进制文件中,但并不是在可预测分析的部位。大家将从加密的数据信息自身计算出破译密匙。

相关文章

iphone12热点连不上

1、打开设置。2、点一下无线网络。3、关掉无线网络。4、稍等一会,再打开无线网络。5、然后回到到设定页面,点一下通用性。6、滑至底端,挑选复原。7、复原网络连接设置。8、弹出对话框,再度点一下复原网络...

电脑黑客对生活的影响(电脑黑客对生活的影响大吗)

电脑黑客对生活的影响(电脑黑客对生活的影响大吗)

本文目录一览: 1、黑客攻击对社会有什么危害? 2、黑客的危害性 3、什么是黑客?黑客的危害性有哪些? 4、电脑黑客他们的存在有利于社会吗?? 黑客攻击对社会有什么危害? 黑客攻击对社会...

标准差怎么算?标准差公式怎么算

标准差怎么算?标准差公式怎么算

在工程中,想要知道混凝土抗压强度的时候,一定需要计算混凝土强度标准差,也许有些朋友并不知道什么叫做混凝土强度标准差,也许有些朋友知道混凝土强度标准差,但是却不知道应该怎样计算才好,因此在接下来的文章中...

国家卫健委提示:11月中下旬流感活动将逐步增强

记者近日从国家卫健委获悉,目前南半球温带地区流感活动水平持续下降,部分国家流感活动水平降到非流行季水平。北半球温带地区除阿拉伯半岛外,大部分地区处于非流行季水平。中国属于北半球温带地区,目前监测结果也...

黑客帝国程序员影评(黑客帝国的影评)

黑客帝国程序员影评(黑客帝国的影评)

本文导读目录: 1、黑客帝国影评 2、黑客帝国1,2,3讲的是什么? 3、黑客帝国的影评 4、黑客帝国1》观后感? 5、对于《黑客帝国4》这部电影,你作何评价? 6、黑客帝国1的评...

黑客帝国最强大的人(黑客最强大的黑客)

黑客帝国最强大的人(黑客最强大的黑客)

本文导读目录: 1、黑客帝国剧情 2、黑客帝国中先知是什么人\' 3、黑客帝国中为什么尼欧在母体世界中那么厉害。而其他同样是人类的却一点也不厉害?不要告诉我他是救世主! 4、黑客帝国中有一...