绕过Cylance:第一部分 - 使用VSAgent.exe进行命令与控制

本文详细介绍了如何利用自定义工具VSAgent.exe绕过Cylance防护,建立命令与控制通道。通过分析ViewState参数通信机制,探讨了在没有有效应用白名单的环境中的安全风险及防御建议。

绕过Cylance:第一部分 - 使用VSAgent.exe

David Fletcher //

最近,我们有机会测试一个生产环境的Cylance部署。显然,每个环境都会有所不同,安全控制的有效性很大程度上取决于个体配置。然而,接下来几天的文章将展示我们在这样一个环境中的观察结果。不同的配置和深度防御的合理应用显然会产生不同的结果。

本周,我们将展示在该环境中建立命令与控制通信的技术。需要注意的是,在测试期间,该环境没有有效的应用白名单实施。此外,对cmd.exe和powershell_ise.exe的访问没有受到限制。本系列将首先从非传统的C2通道开始。

VSAgent.exe

BHIS有一个名为VSAgent的自定义C2工具(可从John的504 DropBox获取:tinyurl.com/504extra2),它使用格式良好的HTML页面中的ViewState参数在C2服务器和客户端之间通信命令及其结果。ViewState参数通常用于ASP.NET Web应用程序,以维护客户端和服务器之间的状态。由于该字段非常常见,并且在合法使用时经过base64编码并可选择加密,因此很难进行检查。

在这种情况下,vsagent.exe客户端被简单地下载到目标计算机并执行。

Cylance实例没有检测或阻止vsagent.exe工具执行和建立C2通道。因此,应该实施其他补偿控制来防止这种行为。

例如,可以使用Web内容过滤来阻止可执行文件的下载。然而,这通常可以通过以不同格式或加密/压缩存档下载文件,然后在目标主机上解压文件来绕过。或者,恶意员工或攻击者可能使用可移动介质传递此类工具。

更合适的对策是正确实施应用白名单。当应用白名单基于文件签名时,它们 notoriously 难以绕过,并且需要诸如使用rundll32.exe、installutil.exe或msbuild.exe之类的技术。



准备好了解更多吗?
通过Antisyphon的实惠课程提升您的技能!
Pay-Forward-What-You-Can培训
提供实时/虚拟和点播选项


相关内容:
如何使用Bash Bunny提取无线凭证
绕过Cylance:第二部分 - 使用DNSCat2


评论

Stephen Smith
2017年3月27日 @ 6:21 pm
David,
你能澄清一下“需要注意的是,在测试期间,该环境没有有效的应用白名单实施。此外,对cmd.exe和powershell_ise.exe的访问没有受到限制。”吗?
对我来说,这意味着至少脚本控制没有设置为阻止或终止。
你能分享一下代理上的配置是什么吗?我只是好奇,因为我们是Cylance的经销商/VAR/MSSP,我们的默认策略会锁定所有这些。

John
2017年3月28日 @ 10:25 am
配置我们不能提供,因为它来自客户。
此外,我们是白名单的忠实粉丝。它非常棒。
这里的重点不是白名单的有效性。它工作得很好。而且,你可以使用applocker和SRP免费实现。这不是Cylance的特殊功能。
重点是这应该是下一代酷炫技术……而我们在客户那里没有看到这一点。我们经常听说酷炫功能X没有开启。然而,我们测试的是真实世界,而不是营销宣传。

Stephen Smith
2017年3月28日 @ 10:46 am
所以脚本控制没有开启,PowerShell单行命令没有被阻止。如果一切都没有开启……这不算绕过,是吗?我只是想理解,因为你可以“免费做”而削弱一个产品,这是对软件的真实测试吗?
也许有些公司没有设置白名单;也许他们没有资源在他们的环境中这样做。
我很想看到一个完全锁定的配置,然后看到有人尝试绕过它。到目前为止,我们的一些合作伙伴是笔测试员,他们没能做到,不像其他大多数大品牌。
我只是想理解,当东西被关闭时,这怎么是一个完整的测试。
谢谢你的时间。

Anonymous for a reason
2017年4月6日 @ 3:46 pm
“我只是想理解,因为你可以‘免费做’而削弱一个产品,这是对软件的真实测试吗?”
这很有趣……来自一个Cylance经销商。关闭竞争对手产品的保护层是Cylance为了诋毁他人而采用的核心操作方式。我猜刀能两面切?

Stephen Smith
2017年4月7日 @ 4:15 am
如果那是真的,我不确定这和我以及我们公司有什么关系。我们经销Cylance,不欺骗我们的客户,我们让他们与现有的比较,然后决定是否切换。将我们与几年前报道的事情归为一类似乎缺乏原创性且不公平。我会直接回应你,但你选择保持匿名……

John
2017年3月28日 @ 10:52 am
你真的,真的需要深呼吸。
你所说的一些事情会反过来咬你。你对PowerShell做了一系列假设。
它被配置为阻止PowerShell。但绕过它太容易了,甚至一点都不好笑。
我建议打个电话。
303-710-1171

techie
2017年3月28日 @ 1:50 pm
嘿John,
对于应用白名单;你认为使用SRP的基于路径的规则有多有效?
谢谢..

John
2017年3月28日 @ 3:20 pm
它非常棒。仍然可以通过特定的漏洞或类似ISR-Evilgrade的东西绕过。然而,它对简单的宏和驱动式攻击效果显著。
如果我必须在SRP/Applocker和AV之间选择……我会选择基于路径的SRP/Applocker。
希望对你有帮助!
John Strand

techie
2017年3月29日 @ 8:30 am
谢谢John,非常感谢。希望有一天能参加你的现场课程…… 🙂

Michael Horch
2017年3月30日 @ 11:40 am
John,
我几年前和你上了504课——我不记得有讲过vsagent的说明……我假设设置起来相当容易,但是,vsagent.exe文件似乎不在你的504附加Dropbox的vsagent-504文件夹中。也许我漏掉了?

John
2017年3月30日 @ 2:55 pm
你可以使用Py2exe来转换它。
我们就是这么做的。
如果你有任何问题,请给我发邮件OOB。
John

Ron A.
2017年3月31日 @ 2:57 am
Cylance在市场上制造了很多噪音,这是他们最大的优势。我听说他们承认无法匹配未知的未知复杂恶意软件、勒索软件、APT或零日漏洞。
所以取决于你的安全需求——我相信Cylance是一个好的NGAV,但还不够好..他们的合作伙伴说,在真实案例中,这个软件被绕过了。我认为这个产品只是终端网络安全领域需要采取的更大步骤的一个临时步骤。

Fred Schlipp
2017年4月5日 @ 8:27 am
许多“下一代”安全产品都是营销炒作。它们大多数缺乏自我保护,很容易被严肃的对手击败。

Stephen Smith
2017年4月7日 @ 6:17 am
我不会将那个声明限制在“下一代”解决方案上。所有传统解决方案都可以并且已经被绕过。

KC
2017年4月9日 @ 9:21 pm
我不会称Cylance为“营销炒作”。它是少数几个可以在文件和内存中检测和阻止恶意软件而不使用传统签名的客户端保护之一。传统AV提供商在零日恶意软件方面 largely 失败了。但它是一个新产品,需要一些时间来成熟。Black Hills(John Strand, David Fletcher, 其他人?)在这里做了很好的服务。没有一种神奇的子弹,对于这个特定的安全产品,像VSAgent.exe这样在内存中或对主机操作系统不做任何可疑行为的应用程序,可能会逃避检测。感谢Black Hills发布这些信息!

ewiley
2017年4月12日 @ 12:38 pm
那么,如果我已经有应用白名单了,为什么还要麻烦用Cylance呢?

Rob Davis
2017年4月25日 @ 9:49 am
如果你成功实施了应用白名单,那么添加Cylance只会提供边际额外的保护。
Cylance(当正确配置时)可以提供脚本控制/警报、内存漏洞利用保护/警报和端口控制。例如,开启内存漏洞利用保护后,许多将代码注入regsvr32.exe或explorer.exe的PowerShell脚本将无法工作。
我的建议是添加某种类型的EDR工具,如CyberReason或Carbon Black Response。我们对这些工具的实施会检测到所有在Cylance“绕过”博客中详细描述的漏洞利用。
我永远不会依赖任何保护控制100%的时间工作。正确操作化的EDR工具可以在这些控制不按预期工作时充当“烟雾警报”或“绊线”。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计