Azure Sentinel快速部署与Cyb3rWard0g的Sentinel To-Go——捕获Cobalt Strike!
作者:Jordan Drysdale
摘要
Sentinel很简单!尤其是使用Azure Sentinel To-Go时。让我们通过部署Sentinel To-Go并执行Cobalt Strike信标来进行威胁研究。
链接:https://github.com/OTRF/Azure-Sentinel2Go
跟上Roberto(及其兄弟和OTRF贡献者)的进度,与他推动威胁研究的努力一样艰巨。Defensive Origins团队(我们现在有四人,希望很快有五人)尽力寻找提升整体安全态势的项目并分享它们。
背景
Roberto(Cyb3rWarD0g)和OTRF的其他几位成员为安全社区、研究人员乃至整个世界贡献了如此之多,以至于我们无法抽出足够的时间来跟上。他们提供的内容包括:多年的终端研究、HELK、Mordor、OSSEM,以及更多内容,还有Sentinel的简易按钮。因此,让我们感谢Roberto、他的家人和OTRF。感谢你们所有的努力。
前景
我们今天的研究将专注于研究本身……?我们非常重视安全,最近在云上花费了大量时间。由于“云”、“云安全”和“cobalt strike”都是与C级别高管共鸣的术语,我们投入了艰苦的研究周期来理解这些术语。因此,利用行业巨头的工作,让我们尝试部署Sentinel,通过Azure资源管理器模板启动一些虚拟机,并执行一两个Cobalt Strike(授权)信标。
我们应该在一个标签页中启动到Azure的认证会话,在另一个标签页中打开Sentinel To-Go仓库。
如下一张截图所示,随意点击适合您的按钮,但我选择了AZ Sentinel + WS + DC构建。
部署页面上有很多选项需要整理。您可以编辑模板、参数、添加虚拟机,基本上可以彻底自定义。
下一张图片显示了资源组配置,这在我们的案例中是预先存在的。
用户和访问配置如下一张截图所示。
系统、域和事件日志配置如下一张截图所示。注意下一张截图中标记的项目。这是您确定在此构建期间希望收集的日志级别的地方。我选择了“全部”——给我所有内容,我会整理它。
接下来是Ubuntu SKU。默认设置。
创建。接受。账单即将到来,每次运行成本约为1-3美元,运行时间约为10-15小时。上次运行?2.21美元。
忽略Cobalt Strike的设置,我在此次努力中使用了授权版本。在工作站上建立了一个初始信标。
然后,我们运行ipconfig,执行快速端口扫描,识别另一个目标,并使用psexec64跳转/生成一个新信标。
从我们的Azure Sentinel工作区,我们点击“Hunting”导航窗格。有很多有趣的预打包查询可供使用。一旦我们有数据,狩猎应该会很有趣。
我用来发现Cobalt Strike活动的预打包查询是“最少见的父进程和子进程对”。
经过一些调查,我们发现了用于横向移动的命令:
- 使用cmd生成ipconfig
- 使用ipconfig识别本地网络
- 使用services启动次要信标
- 使用rundll32生成额外信标(什么是操作安全?实验室中的操作安全是什么?)
当我们深入Sentinel狩猎查询时,还有其他有趣的入侵指标(IoC)。下一个窗口包括“PowerShell下载”。这些肯定是从PowerShell提示符发出的非标准调用。
还有一个“编码命令”查询。
此查询还捕获了一些有趣的执行。
让我们总结一下。Azure Sentinel可以根据定义的构造从我们的终端检索日志——这意味着,我们可以告诉Sentinel终端代理获取Sysmon、安全、PowerShell和WMI日志。这非常酷。
Sentinel To-Go是开始学习Sentinel仪表板以及这些零碎部分如何组合在一起的好方法。像所有事情一样,其中一些查询可能通过命名方案更改等方式被规避……但是,其中一些查询将难以避免。
继续狩猎、保护和保持安全。保重!
附言:此次狩猎花费了1.53美元。