跳转至

12/31/2023

互联网资产管理 00

因为工作需要,日常需要处理大量的资产,开始的时候我也是一头雾水,后来慢慢总结了一些经验,在此和各位分享一下,也方便自己整理思路,同时如果您有更好的思路欢迎留言,如果为您提供了一点帮助,也不枉在此码字。

问题分析

我有什么

我手头上有一些 IP 地址范围、部分域名,仅此而已

我要做什么

筛选出相关资产,尽可能多的覆盖监测对象,减少游离的资产。

头脑风暴

一、当前掌握的本质是什么?

你现在只有两类东西:

  • IP 地址范围(IP Range)
  • 部分域名(Domain Seeds)

从安全视角看,它们本质上是:

👉 组织在网络空间中的“已知入口坐标”

但问题是:

  • 真实资产 ≠ 你已知的 IP / 域名
  • 真实攻击面 ≫ 你看到的攻击面

所以目标可以重新表述为一句话:

以极少的初始线索,最大化还原组织在互联网中的真实存在形态


二、总体思路(核心框架)

一句话方法论

从「控制权线索」出发,不断做“关系扩展”,再用“归属验证”把资产收回来

这其实是一个循环:

flowchart LR
    A[已知资产<br/>IP 范围 / 域名] --> B[关系扩展]

    B --> B1[技术关系<br/>IP ↔ 域名<br/>服务指纹]
    B --> B2[组织关系<br/>业务 / 项目 / 供应商]
    B --> B3[证书关系<br/>TLS 证书 / SAN / 组织信息]
    B --> B4[命名关系<br/>子域 / 命名规律]

    B1 --> C[新资产候选]
    B2 --> C
    B3 --> C
    B4 --> C

    C --> D{归属验证<br/>是不是“我的”?}

    D -- 是 --> E[纳入资产池]
    D -- 否 / 不确定 --> F[隔离 / 观察 / 标记]

    E --> G[持续监测]

    G --> |新增 / 变化| B

flowchart LR
    %% 起点
    A[初始线索<br/>• IP 地址范围<br/>• 已知域名] 

    %% 资产认知
    A --> A1[资产认知<br/>IP/域名 ≠ 真实资产<br/>只是网络入口坐标]

    %% 关系扩展总节点
    A1 --> B[关系扩展<br/>最大化还原真实攻击面]

    %% 技术关系
    B --> B1[技术关系扩展]
    B1 --> B1a[IP → 域名<br/>反向解析 / 虚拟主机]
    B1 --> B1b[域名 → IP<br/>解析 / 历史记录]
    B1 --> B1c[服务指纹<br/>Web / API / 管理端口]

    %% 命名关系
    B --> B2[命名关系扩展]
    B2 --> B2a[子域枚举]
    B2 --> B2b[命名规律<br/>dev/test/stage/api/admin]
    B2 --> B2c[项目名 / 业务线 / 地域]

    %% 证书关系
    B --> B3[证书关系扩展]
    B3 --> B3a[TLS 证书 SAN]
    B3 --> B3b[证书组织信息<br/>Org / OU]
    B3 --> B3c[历史证书记录]

    %% 组织关系
    B --> B4[组织关系扩展]
    B4 --> B4a[业务系统关联]
    B4 --> B4b[项目 / 外包 / 供应商]
    B4 --> B4c[统一认证 / SSO / API Key]

    %% 汇聚新资产
    B1a --> C[新资产候选集合]
    B1b --> C
    B1c --> C
    B2a --> C
    B2b --> C
    B2c --> C
    B3a --> C
    B3b --> C
    B3c --> C
    B4a --> C
    B4b --> C
    B4c --> C

    %% 归属验证
    C --> D{归属验证<br/>是不是“我的”?}

    %% 归属判断依据
    D --> D1[验证依据<br/>• DNS 控制权<br/>• 证书主体<br/>• 登录页面标识<br/>• 业务/数据关联]

    %% 判断结果
    D1 -->|是| E[纳入资产池]
    D1 -->|否 / 不确定| F[游离资产处理]

    %% 游离资产处理
    F --> F1[标记 / 隔离]
    F --> F2[观察期监测]
    F --> F3[必要时人工确认]

    %% 资产池治理
    E --> G[资产池治理]
    G --> G1[资产分类<br/>业务 / 技术 / 风险等级]
    G --> G2[资产负责人 Owner]
    G --> G3[生命周期状态<br/>Active / Deprecated / ToBeOffline]

    %% 持续监测
    G --> H[持续监测]
    H --> H1[新域名 / 子域出现]
    H --> H2[新证书签发]
    H --> H3[IP / 解析变化]
    H --> H4[服务与端口变化]

    %% 闭环反馈
    H -->|发现变化| B

    %% 终极目标
    H --> Z[最终目标<br/>失控资产最小化<br/>攻击面可感知、可治理]

上面是 AI 生成的思路,不太好操作,下面是我的思路

flowchart LR

ADD_01[+]
ADD_02[+]
PROXY[代理]


INFO[IP和域名] --> QUAKE[空间搜索引擎]

QUAKE--> EXCEL[导出EXCEL、CSV]
QUAKE <--> ICP[ICP信息]
ICP --> URL_LIST
QUAKE <--> ICON[icon hash]
ICON --> URL_LIST

EXCEL --> ANALAYZE[分析数据]
EXCEL --> DB[数据库]
DB --> ANALAYZE

ANALAYZE --> URL_LIST[URL 列表]
URL_LIST --> HTTPX_OUT[验证链接] 

ANALAYZE --> QUAKE

HTTPX_OUT --> TYPE[URL分类]

TYPE --> WEB[WEB 页面]
TYPE --> SYSTEM[系统平台]

SYSTEM --> LOGIN[需要登录]
SYSTEM --> NO_LOGIN[无需登录]

LOGIN --> PASS[弱口令]
WORDLIST[定制字典] --> ADD_01

BURP_FORCE[爆破] --> ADD_01

ADD_01 --> PASS

URL_LIST --> CRAWL[爬虫]

CRAWL --> ADD_02
PROXY --> ADD_02

ADD_02 --> TEST_01[测试常见信息泄露、未授权访问]

URL_LIST --> ADD_03[+]
NUCLEI[漏扫工具] --> ADD_02
ADD_02 --> ADD_03
ADD_03 --> CVE[CVE扫描]

!!! note annotate "Phasellus posuere in sem ut cursus (1)"

这个事项的本质就是一次巨大的、循环的信息收集
通过流程图不难看出,漏洞扫描和检测实则是其中简单的部分,因为当你面对那么多的资产,不要奢望发现所有的漏洞,这不现实!

先写到这里,之后的在互联网资产管理 01