博客 工程师的角落

使用Web资产探索攻击者基础设施的4步指南

Web资产是什么意思?

一般来说,当我提到web资产时,我指的是通过HTML标记加载到站点的主HTML中的文件。例子包括:

  • Javascript文件(通过脚本标签)
  • CSS文件(通过样式标签)
  • 图片(通过img标签)

程序员都很懒,威胁演员也不例外

  • 重用css和js文件比从头开始编写新文件更容易
  • 加载到HTML文档中的第三方文件集及其加载顺序是高度可变的,因此是一个很好的潜在指纹
  • 在库存文件和/或HTML内联中添加javascript和css是“懒惰”程序员将脚本代码放入页面的简单方法,通常这些代码在他们的基础设施中不会是唯一的

具体的例子是怎样的?

步骤1:选择目标

我想创建一个搜索连接基础设施的简单示例,但首先,我需要一个恶意域名。像SOC分析师一样思考,我认为看看一些已知的网络钓鱼组件的网络属性可能会很好。为了促进这一点,我去了AlienVault的Open Threat Exchange (OTX),并在那里找到了一个有趣的网站。

当我在网络浏览器中打开这个网站时,我注意到它的文本围绕着赚取比特币,这意味着通过为facebook链接做链接缩短,你可以赚取比特币。这个网站似乎有一些恶意的事情正在发生,包括运行一些从。ru域加载的脚本。

现在,我并没有试图分析这个网站是做什么的,或者它的作者的意图可能是什么,我的目标是验证它是可能被发送到我们网络上的用户的恶意网站类型。

虹膜强调,该域名的风险评分为100,理由是它与其他恶意域名非常接近,并显示了恶意软件和网络钓鱼的证据。这是一个伟大的指示,我在这里的东西!如果幸运的话,除了Iris已经提到的东西之外,我应该能够看到使用web资产的强大基础设施连接。

步骤2:选择要搜索的资产

当我看到上面这个网站的截图时,我在浏览器上打开了开发人员工具,这让我可以看到html代码以及加载的资产。对于这种类型的练习,重要的是要选择有趣且足够独特的html代码,它可能是由攻击者创建的。考虑到这一点,避免使用常用的javascript和css库是至关重要的。

查看加载的资产,我注意到有一两个看起来很常见。一个例子是“includes/ajax/jquery.js”。Jquery是一个著名的javascript库,很多网站都在使用,所以它并不是一个很好的元素。根据我个人的一些网页开发经验,我敢打赌“aurblue”不是一个常见的库(快速谷歌搜索会支持我)。因此,我选择搜索路径“templates/aurblue/components.css”。

这里有几个重要的注意事项,“components.css”本身并不是一个很好的枢轴术语,因为它将在许多网站上普遍使用,因为它是一个通用的描述性名称。在本例中,文件路径具有唯一的命名,而文件名(我们假设)具有共享代码。

第三步:搜索连接

谷歌可能不是解决这种问题的最好工具,但它是每个人都有的工具,我们看看通过搜索主元项能找到什么。

很明显,一些网站元数据跟踪链接出现在我们的第一个搜索谷歌。这是很有价值的,因为这些站点跟踪站点加载的组件类型,因此可以为我提供我正在寻找的答案类型(基础设施相关性)。如果我随机选择这些其他站点中的一个,比如bandirun[。com,我可以看一下,看看我是否可以证实我的假设,我可以用这种方式探索威胁行为者的基础设施。

加载bandirun(。在Iris中,我马上看到它有一个恶意的配置文件,尽管有趣的是,这次从Iris的角度来看,它的恶意软件得分很低,但它的接近得分很高。这实际上是沿着我们想看到的路线,它证实了这个网站是连接到其他已知的坏网站。

如果我查看虹膜域行中每个1ink[。cc和bandirun[.]com,我没有看到任何与这两个网站直接相关的数据。但是,Iris本身是一个很棒的基础设施探索工具,所以让我们做一些旋转,看看是否能找到相关的东西。如果我展开banddirun[。com的IP地址,我将得到一个共享该IP的主机列表。

现在,如果我滚动Iris为我生成的新站点列表,我很快就看到了globalmaritimetraining[。]net与bandirun.com在同一ip地址,共享相同的DNS/SOA电子邮件地址((电子邮件保护)[.]com)作为1ink[.]cc。

Bandirun(。在104.168.58扩展了[.]149:

1墨水(。)答:

因此,我调查的两个域虽然没有直接关联,但通过第三个域(由Iris提出)具有相关属性(DNS/SOA电子邮件地址)。这向我们表明,即使使用非常直接的方法,我也可以开始通过web资产将恶意行为者基础设施关联起来。

第四步:扩展这项技术

既然我已经演示了这种技术是可行的,那么让我们讨论一下如何扩展和推广这种技术。从本质上讲,web资产经常被重用。因此,如果我没有完善我的技术(并且没有做过web开发的人的直觉),我很可能会有很高的误报率。在这种情况下,假阳性将是两个域之间没有意义的连接。为了避免这种情况,开发常用javascript和css资产文件和框架的允许列表是至关重要的。随着允许列表的增长,使用这种技术发现的基础设施连接合法或有趣的可能性也应该增加。

为了继续提高这项技术的复杂性,我可以开始研究文件本身中的各个代码块,以及注释、编码风格和其他指标。

恶意软件分析社区利用的技术有很多价值。在这个领域有一些不同于恶意软件分析的限制,因为web资产总是需要被浏览器读取。在以后的文章中,我将探讨javascript混淆和去混淆技术,以及这些技术如何适用于这种类型的旋转/识别技术。

不可避免地,攻击者将调整他们的技术,通过这种类型的探索来逃避检测,然而,他们这样做的资源是有限的。从本质上来说,我是在使用自己的探索和不对称优势去对抗威胁角色。

为了深入讨论使用类似技术识别威胁行为者的指纹,观看本次网络研讨会我和丽贝卡·布朗一起学习:

  • 威胁情报领域是如何发展的
  • 你的团队可以采取切实可行的措施,以领先于威胁行动者
  • 列举使用web资产和从HTML中抓取的其他信息的攻击者基础设施的真实世界示例