共计 1549 个字符,预计需要花费 4 分钟才能阅读完成。
这些年无文件(Fileless)和不落地(Living off the Land)攻打曾经十分风行,简直成为攻击者的标配。现实的无文件攻打是只存在于内存中的后门,网络上有很多无文件攻打的验证性代码,比方最早的 powershell downloadstring,近程文件是被当成字符串间接下载到 powershell 过程内存中执行,而后倒退到利用 mshta、rundll32 等执行脚本的各种奇技淫巧,再到当初风行的各种.NET assembly 托管代码注入技术,当然还有一些齐全脱离操作系统的高端无文件攻打。而微软有一个无文件攻打模型可能十分好的解析这些无文件攻打,我给大家做个简略的参考解读。
攻打模型 按磁盘文件的流动 将攻打分成了 3 个类型
- Type1,没有任何的文件流动。简略说就是攻打流动没有任何的磁盘文件落地和磁盘文件的操作行为,个别这种攻打的施行都脱离了操作系统,是由更下层的硬件固件和软件层发动的。
- Type2,没有磁盘落地文件,但通过文件间接流动,恶意代码个别通过白文件间接加载到内存中执行。这类攻打恶意代码的载体大多数都是脚本,通过程序命令执行,也有通过磁盘疏导记录等特定机制的执行。
- Type3,须要操作文件进行流动。比拟容易能了解的意思是恶意代码变成了数据,利用文件相干的程序破绽或性能个性将歹意数据转换为恶意代码执行。
接着是颗粒度更细的分类描叙,是基于 被攻打宿主** 进行的分类
破绽攻打,基于软件和操作系统安全漏洞的无文件攻打
- 基于文件(Type3)
各种各样的 office、flash、java 破绽文件和浏览器破绽,个别都是通过歹意文件触发破绽使文件解析引擎、浏览器等执行恶意代码,通过 shellcode 间接在内存中执行恶意代码。
- 基于网络(Type1)
永恒之蓝是个好例子,间接通过网络协议的近程代码执行破绽来执行恶意代码。
硬件攻打,脱离操作系统的无文件攻打
- 基于设施(Type1)
通过网卡、磁盘固件执行恶意代码,经典的如 方程式的 KillSuit,基于硬盘固件、磁盘疏导区执行恶意代码。
- 基于 CPU(Type1)
CPU 本人自身也会有子系统,比方被白金革新的 Intel cpu 的 被动治理技术(AMT)后门。
- 基于外置 USB(Type1)
USB 能够外接的设施类型很多,比方最常见的 模仿键盘和网关的 badusb 设施。
- 基于 BIOS(Type1)
主板 BIOS 能植入恶意代码大伙也是耳熟能详了,象往年 eset 发现的LoJax Rootkit,通过革新 BIOS 固件中的防盗性能植入的后门。
- 基于虚拟机管理层(Type1)
这是属于上帝视角的攻打了,虚拟机管理层执行恶意代码,曾经脱离虚拟机操作系统之外了。
执行和注入,无文件攻打执行恶意代码的常见模式
- 基于文件(Type3)
从执行代码的角度看,这是无文件攻打最根底的执行向量,能够是可执行文件、dll、lnk 快捷方式、打算工作等,它的攻打过程通常是将恶意代码近程注入到其余过程或加载到本身过程内存执行。
- 基于宏(Type3)
office 文档相干的宏脚本,这是基于 office 文档类本身的脚本语言,在 office 过程中执行恶意代码。
- 基于脚本(Type2)
基于 js、vbs、powershell 脚本执行恶意代码,这个就不再赘述了,大量的零碎程序都有各种奇技淫巧能执行歹意脚本。
- 基于磁盘(Type2)
通过磁盘的疏导记录执行恶意代码,歹意的 mbr、vbr 都在这一类外面。
以上就是这个攻打模型的大体状况,这个攻打模型将古代安全软件要应答的刁钻攻打展示得一览无遗。咱们能够看到微软在攻打模型和攻打知识库方面的确是业界标杆,我想不是一线技术专家,很难做出这样的攻打模型,一个平安产品所要经验攻防的点,是没有接触过攻防的人难以想象的。
参考:
https://docs.microsoft.com/en…