(第1部分)使用SOAR简化对手的基础设施狩猎
(第2部分)如何建立一个人类分析师的狩猎名单与SOAR剧本
在第1部分在本系列中,我们看到了SOAR如何帮助简化对潜在恶意基础设施的一些常规、重复的充实和检查;在第2部分,我们研究了SOAR战术手册可以在哪里为人类提供一套基础设施,以便进行进一步调查。在这一期中,我们将讨论另一种从翱翔到人类的切换,以及DomainTools开源的新工具如何在跨域连接难以捉摸时提供帮助。我这篇博客的合著者是DomainTools安全研究团队的John“Turbo”Conwell。警告—虽然这是关于SOAR系列的最后一篇文章,但您会发现这一点本文的大部分内容都集中在自动化部分停止时会发生什么.
作为一种快速的上下文设置器,尤其是对于那些直接阅读本系列文章的人来说,在安全操作中心(SOC)中进行搜索的常见形式是识别从受保护环境接收到通信的潜在风险域,然后搜索与起始点域可能处于相同控制下的相关资产。通过这种方式,可以识别更大的攻击活动,从而可以采取防御和取证行动,不仅可以针对已经观察到的内容,还可以针对可能等待未来对手行动的内容。
以IP地址、名称服务器、注册标识符或其他此类对象为中心,通常会显示一组可以合理地评估为彼此相关的域。我们看到共享一个公共数据点的域的数量在指向可能的连通性方面是非常有用的。我们还看到,有时与给定支点相关的连通性可能有些模糊,这是人类分析师可以进行一些探索的地方DomainTools虹膜为了更好地定位视图中的资产。
然而,有时候,没有一个一阶数据能显示分析师有明显的联系。在这种情况下,特别是当大多数SOC人员面临时间压力时,勇敢的最好部分是继续进行下一项分析工作,让最初发现的领域像“独狼”一样存在,除了潜在的监视或阻止该领域外,没有其他行动。
如果一个域名被标记为具有潜在风险,或者完全被认为是坏的,例如在鱼叉钓鱼电子邮件中,那么我们就知道有人出于恶意目的注册了该域名。我们还从网络罪犯的行为中知道,他们只使用一个域名作为攻击受害者的行动的一部分是非常不寻常的。因此,如果我们假设我们最初的目标域是a)肯定是恶意的,并且b)连接到其他域,那么通过不探索这些连接,我们就有可能对对手可能打算用来对付我们的其他资产视而不见。
因此,找到难以捉摸的联系是一个有价值的目标——如果有一种有效的方法的话。输入DomainCAT。
DomainCAT是由Turbo和安全研究员设计的域连接分析工具马修Pahl帮助梳理出对人类分析师来说不明显的领域联系,或者用传统的分析方法无法发现的领域联系。为了演示它如何在现实场景中提供帮助,请考虑以下内容:
我们最近注意到一场商业电子邮件泄露(BEC)活动,该活动使用了域名texas-gov[。我们和tn-gov[.]我们.这里提到的BEC网络钓鱼表明操作者有一定的敏锐度;这看起来不像一次普通的商品网络钓鱼探险。如果我们假设控制它的参与者正在操作一个更大的活动,那么让相关的基础设施进入视野是符合我们的利益的。但是在这个定义域中,一阶轴没有给我们很多信息。以下是Iris为tn-gov[.]us提供的一些数据:
其他的枢轴对人类分析师来说毫无用处。在这种情况下,我将让Turbo从这里来解释DomainCAT能够向我们展示关于这次活动的内容。
在威胁搜索过程中分析枢轴时,大多数人都是从“单个枢轴可以告诉您什么?”但是参与者通常会将他们的域设置为使用商品托管基础设施,因此与给定枢轴关联的实体数量非常大,它们实际上无法提供任何有用的信息。
这就是DomainCAT可以提供帮助的地方。在设置恶意基础设施时,参与者会围绕域名注册和托管选项做出决定。这些可以被认为是行为选择。
所有这些决策一起构成了参与者的基础设施工具、策略和过程(ttp)的一部分,我们可以将它们作为一个整体来分析,以便在一组领域中寻找模式。
DomainCAT是一个编写的工具Jupyter笔记本,一个基于web的交互环境,允许您组合文本、代码、数据和交互式可视化。该工具分析了一组域之间的聚合连接模式,查看每个域的每个枢轴,并询问;这些域之间的共享枢轴是什么,每个域之间有多少共享枢轴,它们的枢轴数是小还是大?在构建用于建模的连通性图时,所有这些方面都被考虑在内如何连接虹膜搜索中的所有域都是彼此的。
我说的连通性图是什么意思呢?让我们通过一个例子来深入研究这个问题。
在调查上面提到的BEC活动时,我们的安全研究人员关注了一个有趣的模式。两个域名都以“-gov.us”结尾。这看起来相当粗略,因为这种模式可以用来模拟合法的政府域名。
在虹膜中搜索以“-gov”结尾,顶级域名(TLD)为“的域名。Us”,并将结果限制在2年或更短的域名上,结果是297个域名。要从虹膜得到这个域列表到DomainCAT,只需点击“高级”,然后在虹膜“导出”,并复制搜索散列到DomainCAT。DomainCAT将使用虹膜调查API来查询这组域的虹膜。
那么在这种情况下什么是“图”呢?图只是一堆节点,或表示域的圆,由边连接在一起,或表示两个域共有的枢轴的灰线。一旦DomainCAT构建了这个图形,它就可以创建一个2D可视化供您探索(如下所示)。
我们马上就能看到一些变化。首先,似乎有4个主要的域集群被分组在一起。为什么会这样?具有更多共同枢轴的域对之间会更近,而只有一个或两个共同枢轴的域对之间会更远。这种布局逻辑将自然地将高度连接的域组聚集在一起,形成这些集群。
我们还可以在图的外围看到一些域。这些结构域只与其他几个结构域相连并且只通过几个不同的枢轴相连。这意味着这些域与所有域的集合没有很好地连接。如果我们正在调查的域位于这组外围节点中,那么我们马上就知道我们的搜索方向是错误的,我们可能需要返回Iris并调整我们的搜索条件。
最后,在这个图中有太多的枢轴,这些灰色的线,它混淆了可视化,真的很难看到发生了什么,特别是在中心。
幸运的是,DomainCAT还允许您使用交互式3D视图探索连接域的图形。您可以将鼠标悬停在任意节点上查看域名,并单击/拖动图形从不同方向查看。这个3D视图对于了解所有域的总体连接,以及是否有任何我们可能想要探索的域集群非常有用。
但有一个问题;图中有这么多边,很难看到里面发生了什么。这是因为图中有一些属于大多数域的枢轴,导致像上面这样的疯狂的蜘蛛网卵囊状的东西。好消息是,并不是所有的枢轴在每次调查中都一样有用,所以我们可以将它们从图中删除。例如;搜索这些域名使用顶级域名“。us”。所以每个定义域都有这个枢轴连接到其他每个定义域。幸运的是,DomainCAT足够聪明,可以寻找这样的枢轴并自动删除它们。但可能还有其他的枢轴只是给图表增加了噪音,对调查没有多大价值,我们可以关闭它们。
DomainCAT有一个Pivot Stats视图,它显示了在域中找到的每个Pivot的不同统计信息。通过查看这个列表,我们可以看到“ip_country_code”只有7个枢轴(“# of pivots”),这意味着在域中只有7个不同的国家代码,但它的“# of connections”表明几乎48%的域是通过这个枢轴相互连接的。
这是一个在图形中关闭的很好的候选枢轴,应该会清理图形的3D视图一点。让我们一探究竟。
删除一个枢轴真的打开了图形!随着图形的3D视图的旋转,我们可以看到有四个主要的集群:三个似乎彼此高度连接,几乎在一个三角形中,一个相当混合的集群向外推到一边。
旁白:全新的枢轴!
有些人可能已经注意到,这个列表中有一个新的枢轴,叫做“longest_common_substring”,在Iris中不存在。这是一个新的“本地”枢轴,它被添加到DomainCAT中,它将搜索中的每个域名与每个其他域名进行比较,并在两个域名之间创建一个枢轴,如果它们共享6个或更多连续字符。例如,域“visa -esta-gov[”。]us和visas-estausa-gov[。])我们都共享子字符串“visa -esta”,所以他们将在图中连接起来。这个“局部”枢轴只作用于搜索集中已经存在的域,而Iris UI中的枢轴可以被认为是“全局”枢轴,因为它显示了整个Iris数据库中连接到相关数据点的所有域。
事实上,您甚至可以关闭除“longest_common_substring”之外的所有枢轴,它将仅根据命名方式显示所有域的连接方式。下面的例子展示了这种类型的视图是多么强大。在这个图中,除了“ns_domain”和“longest_common_substring”,我关闭了所有的枢轴。注意它的中央有一个大的尖状簇;这些都是共享公共名称服务器基础结构和公共命名模式的域。当您的调查以域名模式和共享基础设施为中心时,这种技术非常有用。
关闭国家代码后,3D图形视图看起来非常好,但有时关闭一个枢轴是不够的。我将此过程称为“枢轴调优”;您可以查看图形的3D视图,以查看中心是否足够开放以查看其内部集群模式。如果图形视图仍然太杂乱,查看主元统计数据,看看是否可以找到另一个可以关闭的主元。“# of connections”列高于15%的枢轴通常是很好的候选者。同样,“# of pivots”列非常低,但“# of domains”接近90%或更高的枢轴也会有帮助。有一些枢轴,如ASN或IP国家代码,非常粗糙,适用于很大比例的域。如果你的调查不是围绕IP地理或网络多样性展开的,那么这些枢轴也是很好的选择。
当你玩的时候,你就会知道什么是有效的,什么是无效的。但请记住,一个看起来像要关闭的候选人的支点可能对你的调查至关重要。例如;如果调查是围绕由单个ISP托管的域进行的,关闭“ip_isp”可能是个好主意,但“ip_address”可能会从图中删除重要的连接信息。
随着3D图形的清理,我们现在可以回到2维视图来探索不同域集群或单个域的细节。
在这个图形视图中,我们可以做几件事。我们可以放大一个集群,看看其中有哪些域。一个大型集群有时实际上是由2-3个较小的集群组成的,这些较小的集群对探索很有用,但只是在缩小视图中聚集在一起。如果常用域名模式是您调查的主题,那么将鼠标悬停在域名上以查看其名称是一种有用的策略。
我们还可以选择图形的一个区域(这与放大不同),它将选择您所环绕的所有域。
一旦选择了一组域(所有其他域都变成灰色),DomainCAT将显示域名列表。
如果这组域看起来像您在调查中所寻找的,那么您可以将此列表导出到您的SOAR手册中,以围绕它们构建规则,或者将它们添加到您的防火墙中以完全阻止它们。或者您可以将它们复制回Iris中,只对这些域进行更集中的调查。
此外,一旦有了一组选定的域,就可以查看将它们分组在一起的枢轴。
该视图是在所选域之间共享的枢轴的热图,按频率从高到低排序。查看所选域名的列表,“longest_common_substring”是最常见的枢轴并不奇怪。每个方格中的数字是该类型从该域到其他选定域的枢轴的总数。这个视图可以告诉您在将这些域分组在一起时,哪些枢轴类别最有影响力.当您的调查在原始搜索条件中不包括这些枢轴之一时,这些信息非常有价值。
如果您想查看哪些特定的枢轴值负责将这些域聚集在一起,下面的视图是一个更详细的热图,它显示了实际的枢轴值,而不是它的键。
由此我们可以看出,“sta-c”是这些域的一种非常常见的命名模式。如果这是源指示器中的模式,我们可以返回Iris并添加“域包含esta-c”作为额外的搜索条件,以便在我们的调查中引入更广泛的域集。
这种观点还有另一个有趣的模式。如果您查看ASN, ISP, IP地址和dynadot[。com名称服务器行,您将看到它们都被该列表中的相同域子集所使用。但hawkhost[。com域名服务器被所有其他域使用。根据域名命名模式,我们有理由相信所有这些域都是由同一个参与者创建的,但是看起来这个参与者至少使用了两个不同的托管和名称服务器基础结构。这种实现可以扩大您现在可以采取行动的领域集。
在2D图形视图中还有一个值得一提的功能。有时,您只是想查看哪些域连接到某个特定的域。如果单击图中的任何节点,它将自动选择连接到它的所有节点,然后您可以探索将它们绑定在一起的枢轴。
当你在你的调查中有一个种子域,你想直接进入它,看看有什么其他域与它连接时,这是有用的。另一个有用的场景(如上所示)是当您看到一个“连接器域”位于两个集群之间,但与两个集群都高度连接。单击该域,然后检查共享的轴心,有时可以得到关于潜在参与者使用的两种不同基础设施模式的有价值的信息。
DomainTools计划在未来几周内以开源的形式发布DomainCAT.该项目包括一个Docker配置文件,所以你可以在Docker中构建容器并启动Jupyter notebook。它使用虹膜调查API,所以任何DomainTools客户与API密钥可以使用它。
你可以在github上访问DomainCAT:https://github.com/DomainTools/DomainCAT/
我们承认,本系列的这一部分并没有过多地讨论SOAR,但是了解SOC中自动化流程和人工流程之间的转换发生在哪里以及如何发生是很有价值的。我们还想说明,尽管Iris非常强大,但它并不总是为某些类型的查询立即显示答案——然而,在它的数据集中,答案确实存在。DomainCAT可以帮助您解锁这些答案。我们希望一旦它发布,你会发现DomainCAT是一个有趣的工具,可以添加到工具包中。任何分析师都知道,没有两个调查是完全相同的,所以拥有各种可用的资源可以在您的操作中产生很大的不同。
订阅DomainTools每月通讯,接收创新,实用的建议,以改善他们的安全态势。我们的目标是帮助组织在其组织的日常防御中变得更高效、更有知识和更积极主动。