本帖最后由 ELOHIM 于 2020-3-17 21:39 编辑
本文介绍如何通过加密和分离躲避反病毒查杀
客户端ML客户端ML是与我们这些用户有互动的东西。绝大部分扫描对象都是由内置于Windows Defender 客户端的轻量级机器学习组件进行评估的。这些组件在操作系统中运行。 根据微软所言,诸如传统签名,泛型,行为检测,启发法等等这些分类,占据客户端恶意软件的97%。利用这种分类器,客户端可以收集程序的“特征”,这些特征就意味着被扫描物体的可测数据和特点。 客户端机器可以独立运行,但是没有云,Windows Defender在检测已知威胁方面最好,而不是未知。这就意味着如果你链接到内部有困难,那么你更容易受到来自内部的攻击。
云ML云ML一种很神秘的东西,因为除了某些发布在微软网站上的博客文章和一个使用LightGBM框架的提示,我们不能访问别的代码和训练数据。 LightGBM框架是基于DecisionTree 模型,尽管流行,但是问任何一个机器学习专家,他们都会告诉你这是非常基础的。拥有计算机科学学位的大学毕业生也应该能告诉你不少关于ightGBM框架的内容。 在机器学习中,最热门的话题就是深度学习。尽管微软有一个深度学习toolkit叫做CNTK,但是并没有很多关于Windows Defender的云ML使用CNTK的信息。所以这并不是我们将会进一步讨论的内容。 我们所知道的是:客户端ML何时不能做出明智的裁决,他将会把云服务器用于深度分析。而且当这个进程被牵扯进来时,它就变成了恶意软件的噩梦。 分析的第一轮是基于恶意数据的ML模块。在你的操作系统中,这可能是云交付保护选项,以及你会注意到它实际上是由于额外的延迟,当你在Windows 上执行文件。通常,对我而言逃避客户端ML的静态和实时保护,它不是一个问题。但是当云交付保护开启时,我失败了。 为了充分利用云服务,这有另一个选项,叫做Automatic Sample Submission,它可以把您的可疑程序发送给微软,并通过额外的检测运行,例如基于样本分析和基于detonation的ML模块。如果云判定你的代码是恶意的,它将会打上泛型AI标签中的一个:Fuerbkks,Fury, Cloxer, 或 Azden。之后你的攻击就不再起作用了。
反恶意软件扫描端口Antimalware Scan Interface (AMSI)是一个由微软创造的程序设计端口,允许任何Windows应用程序利用Windows Defender引擎并扫描恶意输入,这会让AV evasion更加困难。一个此类应用程序的例子是Powershell,它给我们一个机会可以讨论为什么当Powershell涉及到AV evasion时,就不是你最重要的朋友。 Powershell已经成为攻击者的大型游乐场,因为与传统的可执行文件相比,反病毒软件在检查时效果不佳。您还可以将一行Powershell代码作为Powershell.exe的论点,这会造成隐形,因为技术上我们没有接触到磁盘。例如: - powershell.exe -command"WriteOutput[Convert]::FromBase64String('SGVsbG8gV29ybGQh')"
复制代码Powershell被严重滥用,它开始看起来可预测。如果你是一个IT管理员,而且你看到一些Base64字符串被传递给Powershell.exe,他可能不是很好。作为一个攻击者,我们应该意识到Powershell不再是每一个每个人的最喜欢的payload技术。AMSI为任何Windows应用程序提供了从Windows Defender的功能中收益的能力,这使脚本语言它更难以滥用。 尽管Windows Defender配备了所有的技术,但是他并不是没有盲点。为了确保我们的payload可以生存,我发现了一些我想要分享的提示: 详情见下面链接:
https://www.freebuf.com/column/171026.html
|