我们的 AI 引擎 Neutron 在加州大学伯克利分校的 CyberGym 基准测试中取得了 96.75% 的成绩。 了解更多

安全

安全

测绘您的攻击面——第 1 部分

攻击面测绘已成为大多数大型组织 CISO 的头号难题,本文介绍 Ostorlab 用于实现强大而精准的攻击面发现与监控的技术和工具。

近一半的勒索软件攻击利用暴露在互联网上的存在漏洞的服务,从而在组织内部站稳脚跟。

即便不是勒索软件,攻击者也会入侵面向互联网的机器,用于加密货币挖矿、数据窃取、参与 DDoS 攻击,或充当未来攻击的中继。

攻击面
攻击面

在云采用和后疫情时代,组织当前面临的主要问题是基础设施复杂性的增加,这种复杂性横跨多个云和 SaaS 服务提供商。

了解一个组织的攻击边界是一项艰巨的任务,并已成为各大型组织 CISO 的头号优先事项。有些人甚至采取诸如跟踪信用卡消费之类的策略,来识别未知的云或 SaaS 部署。

本文介绍 Ostorlab 新的攻击面发现能力的技术实现,这些能力使已知组织基础设施平均增加了超过 400%。

其中包括被遗忘或遗漏的收购所得基础设施(这些设施要么未被退役,要么未被迁移),也包括在内部重组或人员变动过程中丢失、无人问津的开发和生产机器。

这些环境存在着严重漏洞,例如弱凭据、域名劫持、远程代码执行漏洞,或因 Cookie 会话作用域设置不当而导致的服务会话劫持。

什么是攻击面?

那么首先,一个组织的攻击面由哪些部分构成呢?这包括组织所拥有的一切,从 IP 地址、域名、源代码仓库、SaaS 服务账户、移动应用、API 端点,不一而足。

其中任何一项都可能被攻击者利用来入侵组织,而且确实已经被利用过,从泄露的凭据、RCE 漏洞、弱凭据,到域名劫持漏洞。

攻击面技术往往仅限于域名枚举,通常只审视问题的一小部分。

那么我该如何测绘我的攻击面?

攻击者喜欢关注无人留意的地方,如果您查看任何漏洞赏金的公开内容,您会惊讶于其中用来寻找这些盲点的丰富技术,从收购清单、Wayback 机器、反向查询、分析 ID 搜索,不一而足。

有趣的是,经常被发现的这些环境往往不在漏洞赏金的范围之内,给攻击者留下了大量可以为所欲为的空间。

为了实现详尽的覆盖,Ostorlab 用尽了各种手段,生成了一张涵盖数十亿节点的互联网网格及其隐藏连接的图谱。

其中一些功能可通过 Subfinder、Amass、Nmap、Wappaylzer、Whatweb 和 Dnsx 等开源工具获得,我们还开源了多个新工具,帮助将这些工具关联起来,从而提供真正无与伦比的覆盖范围。

将这些工具结合使用,可以实现:

  • 通过暴力枚举进行子域名枚举
  • 利用公共资源进行子域名枚举,例如透明证书数据库、恶意软件域名跟踪器、公共
  • 爬虫清单、互联网存档等等
  • 域名 Whois 测绘和反向查询
  • DNS 查询和反向查询
  • 收购清单
  • IP Whois 和 BGP ASN 查询
  • 分析 ID 收集和关联
  • 技术栈收集和关联
  • IP 地理定位和距离关联
  • 移动应用清单和链接提取

这些技术生成了数十亿个不断增长的图谱节点,检测出更多的连接、域名及其隐藏链接,有些甚至识别出了数百万个已确认归属的资产。

如果您想将这些技术与 Nuclei、Openvas 或 tsunami 等开源安全扫描工具结合使用,可以使用以下由 Ostorlab 提供的 Agent 组定义来执行 DNS 枚举、IP 解析,并将结果自动传输到您喜欢的网络或扫描工具中。

kind: AgentGroup
description: Grouping of 6 agents.
agents:
  - key: agent/ostorlab/nmap
  - key: agent/ostorlab/tsunami
    args: [ ]
  - key: agent/ostorlab/openvas
    args: [ ]
  - key: agent/ostorlab/nuclei
oxo scan run --install -g agent_group.yaml ip 8.8.8.8 8.8.4.4

您还可以通过增加这些工具运行实例的数量来进行调整,以加快覆盖速度。

kind: AgentGroup
description: Grouping of 6 agents.
agents:
  - key: agent/ostorlab/nmap
    replicas: 10

这些 Agent 大多接受参数来调整其行为,例如设置默认的 Nmap 端口,或更改 DNS 暴力枚举所使用的字典

kind: AgentGroup
description: Grouping of 6 agents.
agents:
  - key: agent/ostorlab/nmap
    replicas: 10
    args:
      - name: ports
        type: string
        description: List of ports to scan.
        value: '22,443,80'

在下一部分中,我们将介绍我们为提高已知资产检测准确性而采用的算法迭代,还会介绍如何通过高效的数据存储在这种规模上高效地应用这些算法,最后探讨如何以人类可理解的格式可视化这些数据所面临的挑战,尤其是对于非常大型的组织。