Cofense Intelligence近来在一场通过歹意附件传达的 *** 垂钓活动中,发现了一个风趣的现象,歹意文件中包含了一个看似“损坏”实践却能履行的文件。在某些条件下,该文件能避开主动和手动剖析,并能在方针环境中兵器化。
“损坏”指的是文件短少文件头,其规划初衷或许是让剖析人员误以为附件是无害的,觉得仅仅进犯者犯下的一个简略的过错,不值得认真对待。但只要当你翻开附件或运用特别程序提取附件时,才会呈现无头文件。
此项进犯举动企图使用当时一个普遍存在的问题:信息超载。当剖析人员或主动防护体系处理堆积如山的信息时,为了功率他们有时会疏忽一些过错的文件,由于它们看起来像是良性的。在此举动中,假如方针环境答应,文件会下载一个脚原本修正“丢掉”的头文件,继而运转完好的文件。
尽管此项举动中运用的多阶段躲避技能仅仅一个破例,在当时并没有构成趋势,可是对此手法的大举运用或许导致毁灭性的成果。为了防备相似的进犯,正确的做法是将剖析师的经历和主动化剖析相结合。
细节
Cofense Intelligence最近留意到了一场进犯举动,进犯者运用了一个看似“损坏”的可履行文件来躲过防护体系的检测,而且该文件能在方针环境中彻底兵器化。大略的剖析标明,可履行文件短少了正确的“文件头”,由于短少文件头,剖析师很有或许就简略地将要挟行为者的手法视为初级过错而不予理睬。事实上,进犯者规划的初衷便是如此,并让文件通过脚本下载来修正“文件头”,再对完好的可履行文件进行履行(条件是满意保管环境中所需条件)。
文件头
文件头本质上是协助操作体系确认怎么解说文件的内容,可以指示几个要素,例如文件是存档文件仍是可履行文件。大多数Windows可履行文件都以字符MZ最初,这个MZ头简直总是存在的,即便在可履行文件被加壳、混杂或嵌入时也是如此。可履行文件的十六进制内容和MZ头,如图1所示。
图1:可履行文件的MZ文件头的十六进制视图
假如该头文件不存在,则可履行文件将无法履行。一些剖析人员、主动剖析体系或是可履行提取程序将疏忽任何没有头信息的文件,并以为文件已遭到损坏。图2中显现了图1中相同可履行文件的示例,但短少MZ标头。
图2:短少MZ标头的图1文件
图1中的可履行文件在没有MZ头的情况下无法运转。相反,要使图2中的可履行文件运转,只需要在二进制文件的顶部增加“MZ”即可。
创立可履行文件流程
在Cofense Intelligence观察到的进犯举动中,歹意文档将植入一个嵌入式目标,并将其视为部分可履行文件,文件头如图2所示。由于此可履行文件没有MZ标头,因而VirusTotal上的防病毒引擎检测到的检出率为2/58。这也意味着,剖析人员假如将其作为可履行文件运转的话将不会成功,他们或许会以为此文件已被损坏——理论上来说这种逻辑是没错的。一旦部分可履行文件植入成功,歹意文档就会使用CVE-2019-11882(一个Office长途代码履行缝隙,呈现在公式编辑器中)下载并履行.hta文件的内容,如图3所示。
图3:下载的.hta文件的内容
此脚本有四个过程。之一步是创立一个文件“~F9.TMP”,内容为“MZ”:
图4:创立可履行文件的之一步
第二步将新文件(“MZ”)的内容增加到名为“~AFER125419.TMP”的文件的最初。文件“~AFER125419.TMP”是原始可履行文件中嵌入目标的称号:
图5:创立可履行文件的第二步
增加“MZ”标头后,新文件与图1所示的文件相同。尽管文件保存.TMP扩展名,但仍然可以从命令行以可履行文
图6:创立可履行文件的第三步
在最终一步中,此二进制文件被复制到Windows“Startup”文件夹,并被重命名为可履行文件,并保证它将鄙人一次计算机启动时运转。此举供给了持久性。
图7:创立可履行文件的第四步
后续
本文中的歹意文档实践上是由反病毒公司检测到的,这首要是由于它运用了一个最小混杂的方程编辑器缝隙和一个嵌入的目标。当歹意文件刚植入磁盘时,VirusTotal对可履行目标的检出率只要2/58,而通过增加“MZ标头”重塑可履行目标后,检测比率会跳到40/71,这确实能标明MZ标头的缺失会使大部分剖析人员和主动化体系感染利诱。而“二进制文件只要在通过下载的脚本修正之后才干作为可履行文件运转”,这一信息在几个层面上造成了剖析的搅扰:
首要,计算机有必要可以拜访互联网,这可以避免二进制文件在某些沙箱和剖析环境中运转。由于这些环境默许情况下是不具有Internet拜访权限的。而对此二进制文件进行的任何手动静态剖析都会让其“被损坏”,然后增加了该文件被疏忽的或许性。
[1] [2] 黑客接单网
*/搜索内容URL如下:https://www.shodan.io/search?query=Remote+Desktop+Protocol如果没问题,就使用gdb attach主进程(root权限的...
import java.util.Collections;apt-get install openjdk-6-jdk splashimage=(hd0,0)/grub/splas...
支撑(主动记载歹意指令)附录3、关于360天擎新一代终端安全办理体系 url.mojom.Url opt_manifest_url);事实上,一些歹意安排或许现在正在做这样的工作。 有一些歹意安排,在...
FuzzVul.java里边有两个函数,checkGet和checkPost函数,我依照http协议类型分的,这里边又分为几种,按不同的编码方法,咱们不仅仅满足于检测sql注入,像xss啊,乃至于im...
ThinkPHP是为了简化企业级使用拓荒和敏捷WEB使用拓荒而诞生的,由于其简略易用,许多cms都根据该结构改写。可是 Thinkphp在缓存使用却存在缺陷,天然生成缓存时,Thinkphp会将数据序...
在启用了网络级别身份验证(NLA)的受影响系统上可能可以部分缓解可能利用此漏洞的“可疑”恶意软件或高级恶意软件的威胁,因为NLA在触发漏洞之前需要进行身份验证。 但是,如果攻击者具有可用于成功进行身份...