影子资产是怎么从指缝里漏掉的:一个资产测绘自动化项目的缘起"

admin 2026-10-22 14:06:44 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

影子资产是怎么从指缝里漏掉的:一个资产测绘自动化项目的缘起

原创

Zer0o0n
Zer0o0n

Zer0的微观

在小说阅读器读本章

去阅读

在公众号小说中沉浸阅读

一次普通的资产搜集,接到一个目标,要摸清它对外暴露了哪些信息化资产。这是我这些年做得最多的活之一,流程也熟得不能再熟。先用主体名称和主域名去测绘平台跑一遍,FOFA、shodan轮着来,把命中的主机、端口、证书导出成表格。再对几个已知的网段和域名敲 nmap,看看活着的服务有哪些。然后打开备案系统、工商信息,把域名和实体一条条对上号。最后所有东西汇到一张表里,人工去重、归类、标注,判断哪些是目标的、哪些是撞进来的噪音。

这套流程没什么技术门槛,真正消耗我的是它的节奏。它从来不是\"搜一次就完事\"。每跑出一批新东西,我都得把它们当成新的线索,重新组织一轮搜索。测绘平台里查到一个新域名,我得拿这个域名再去查它解析到哪些 IP、签过哪些证书。查到一个新证书,我又得拿证书里的组织信息反过来再搜一遍。我像一台执行引擎,坐在中间机械地把上一轮的产物搬到下一轮的入口,搬到自己觉得\"差不多搜干净了\"为止。

让我难受的不是这个工作量。干这行的都知道资产搜集就是体力活,慢一点无所谓。人工做这件事很容易漏掉信息,尤其是中间一分神,可能一个重要的点就错过了。

那些查不到的资产

漏得最狠的是两类:一类是旁路资产,目标主业务之外、边边角角挂着的系统,测试环境、早年某个项目留下的后台、收购来还没迁移的老团队。另一类更麻烦,我习惯叫它影子资产。

举个我真实遇到过的情况。A 公司有一支开发团队,替 B 公司建了一整套业务环境,日常的运维和实际使用都在 A 这边,但这套系统的所有权、备案、对外署名,全部挂在 B 名下。从安全责任的角度,这套环境出了事是 A 要负责的,它实质上属于 A 的攻击面。可你要是按常规路子去摸 A 的资产,查 A 的工商、查 A 的备案、穿透 A 的股权关系,一条都查不到这套系统。因为所有官方登记下来的事实,都明明白白指向 B,跟 A 没有任何纸面上的关联。

这类资产用确权的思路是抓不到的。从主体名顺着股权和备案往下展开,只能展开出\"登记在你名下\"的东西,展开不出\"登记在别人名下、实际你在运维\"的东西。它能被挖出来,靠的是另一条完全不同的路。你得先扫到 A 已知的某个资产,从它身上提取技术指纹,比如这个站点的 favicon 哈希、它用的证书特征、它登录页的结构、它响应头里某个自定义字段,然后拿这个指纹去全网反查,把所有\"长得像同一拨人建的\"主机都捞回来。同一支开发团队,做项目时的技术习惯是会复用的,这套复用就成了把 A 自己的资产和 B 名下那套环境在技术上焊到一起的线索。哪怕那套系统备案在 B、IP 落在某个不相干的云上,只要它复用了 A 的指纹,就跑不掉。

这个动作我在手动状态下也做,只是做得很克制。提一个指纹、反查一次、看一眼结果,往往就停了。因为它太累,而且没有尽头。

我其实一直在手动执行一个循环

把上面这些操作往后退一步看,我慢慢看清了一件事。资产发现这件事,本质上不是一次性的搜索,而是一个循环。发现一批资产,围绕这批资产再组织一轮全量搜索,搜出新的资产,再围绕新的去搜。它是一圈一圈往外扩的,每一圈的输入,都是上一圈的输出。

这两年我也把 claude code 配合 skill 用进了搜索环节,某些单轮的检索和整理确实快了不少。但\"把这一轮的新发现重新喂回去、判断还要不要再搜一轮、什么时候算搜干净了可以停\",这个驱动循环转动的活,始终是我在做。工具帮我把单圈跑得更快,却没人替我把这一圈圈连起来转。旁路资产和影子资产为什么总在漏,根子就在这里。它们往往藏在第二圈、第三圈才浮出来的指纹里,而手动的循环,常常转个一两圈,人就累得停手了。

一直比较懒,但不能继续懒下去了。我要解决的不是\"单轮搜索快不快\"的问题,那个 AI 已经帮了不少忙。我要解决的是\"这个循环没人替我转\"的问题。于是一个念头冒出来,有没有什么现成的思路,本来就是专门用来对付循环的?这一问,把我引到了一个我原本没往这上面想的方向,AI Agent 的编排框架。

最近一直在学AI Agent

这一两个月我也看了不少 Agent 框架。一开始我对它们的印象,停留在\"把几个步骤串起来自动跑\"的层面。早期 LangChain 那种链式的写法,是把一串动作首尾接好,从头跑到尾。后来 CrewAI 这类框架走的是另一条路,给几个 Agent 各自分一个角色,像一个小团队那样协作,但流程整体上还是单向推进,从分工到产出,跑完就结束。这些范式有个共同点,它们都是流水线,一条线从起点走到终点。

流水线解不了我的问题,因为我的问题不能从头走到尾。我那个循环的核心动作就是回头,搜出新东西要绕回去再搜。一条单向的流水线,走到末尾就停了,你让它回头,得在外面再套一层控制逻辑去反复调它,整个结构会变得别扭。

当我看到 LangGraph 的时候。它的做法是把整个流程看成一张图,图上有节点,也有连接节点的边,而这张图是允许有环的,是带状态的。换句话说,在它的世界里,\"从某个节点绕回到前面某个节点\"不是一个需要打补丁去实现的特例,而是图本身就支持的基本结构。我手动在做的那些东西,本来就是一张带环的图,只不过过去这张图的执行引擎是我自己,是我的手在一圈圈地搬运。把这张图交给一个本来就为环而设计的框架去跑,逻辑上是严丝合缝的。

这里有个问题研究了半天,终于搞懂了。一个循环,如果里面每一步都是确定的、有明确规则的,那我根本用不着什么 Agent 框架,写个普通的循环脚本就够了,跑满几轮、或者跑到没有新结果就停。让 Agent 框架变得不可替代的前提,是这个循环里嵌着一步用确定性规则写不出来的判断。

而我的循环里恰恰有这么一步,就是归属判断。一条资产备案在别人名下,但它的指纹又跟我目标的资产高度相似,它的证书邮箱用的是我目标的域名,它页面底部的客服电话跟目标官网一模一样,可它的 IP 又落在一个看不出关系的云上。这条资产到底算不算目标的?这不是一条 if-else 能判的事,它是把一堆强弱不一、甚至互相矛盾的证据攒在一起做的综合推断。正是因为循环里嵌着这种判断,我才需要一个能把\"确定性的采集步骤\"和\"需要推理的判断步骤\"编排进同一张图、还能在判断拿不准的时候停下来等我拍板的框架。这件事,普通脚本做不了,纯粹的流水线也做不了。

顺着这个图的思路往下,我那几个一直没想明白怎么落地的难题,忽然都有了归属的位置。多轮搜索要自动收敛而不是写死跑几轮,这是给图里的环加一个终止条件,转到没有足够多新资产就停。影子资产那个指纹反查,放到图里就有了新的含义:它不再是我手动提一次指纹看一眼就停的孤立动作,而是这一轮搜出来的资产,会被自动提取出新指纹,这些指纹又变成下一轮搜索的输入,首尾咬合,环就这么转起来了。那些拿不准的归属、那些会真的去碰生产系统的主动探测,就放到图的中断点上,跑到那里图会停下来等我确认,我拍了板它再往下走。

还有关于结构的问题,我要的不是一堆 Agent 平起平坐地协作。我要的是一个调度的大脑,指挥一批各管一摊的专职采集工,查工商的、查备案的、做指纹反查的、扫端口的,每个都只干自己那件事,大脑负责决定这一轮派谁去、把结果怎么拼起来、要不要再来一轮。这正是 orchestrator-worker,编排器加工作者的范式。CrewAI 那种固定角色的协作之所以不太适配我,就在于我这套东西需要的是动态的回流和调度,而不是一开始就把分工定死。

把这张图的轮廓画到这一步,下一步又习惯性的考虑到了AI。这套系统的全面性,靠的根本不是 AI,而是工程,是我接了多少个数据源、是这个循环肯转多少轮。让 AI 去\"搜\"、去查事实,是把它放错了位置,它一旦凭印象编出一个不存在的备案归属,这种幻觉灌进资产库,整个库就脏了,后面所有判断都不可信。AI 真正该待的地方,是归属判断和风险研判这种综合多个弱证据做推断的节点,而且它给出的每一个判断,都必须是我能推翻的。说到底,全面性是工程问题,准确度才是 AI 问题,这两件事在这张图里被清清楚楚地分在了不同的节点上。

先做什么,后做什么

想法理顺了,落地我反而想得很克制。

第一版我不打算太贪。就围绕这套思路,先把一条主线跑通:从资产的搜集和识别,到风险评估,再到出一份报告。重点是把那个最难的部分做扎实,让这张图能自己一圈圈转起来直到收敛,并且转出来的每一条资产都带着它的来路和一个可信度,而不是一锅说不清出处的浆糊。归属判断这个嵌在循环里的判断节点,是第一版要啃的硬骨头,啃不下来,后面都是空中楼阁。

往后的路我也想好了大致的方向。等这张图稳了,再往里接自动化的渗透和漏洞分析,把现在还需要人去做的脆弱性识别,变成图里的又一个节点。再把我手上的威胁狩猎助手接进来,让资产发现和漏洞风险分析连成一个闭环。最终的样子,是它能按周期自己跑,自己发现新增的暴露面和风险,自己把结果摆到我面前,我只在它拿不准的几个点上做判断。但这些都是后话,第一版的任务很简单,就是先证明这张图能转、且转出来的东西可信。

蒸馏自己,拯救自己,替代自己,自己下岗

我不想再用手去跑第二轮、第三轮搜索了。那个一圈圈搬运的活,本来就不该由人来干,它该交给一台为循环而生的引擎。人省下来的精力,应该花在那些机器替不了的地方,花在判断一条查不到出处的资产到底算不算自己人,花在权衡一个责任不清的影子系统该担多大的风险。

目前的进度是验证想法,接下来开始coding测试,当然里面很多坑,暂时先想到这些就先写到这。如果测试OK,接下来分享怎么把这张图真正搭起来,从一个想法变成能跑的东西的过程。再往后,等它落地了、撞上了新的问题,我也会接着写。

本想放个图,但思路是用纸和笔画的,很乱就不放了。。。

AutoHunter自动化SRC漏洞挖掘系统" 网络安全文章

AutoHunter自动化SRC漏洞挖掘系统"

AutoHunter是自动化SRC漏洞挖掘系统,采用多Agent协同架构,包含Collector、Worker、Reviewer和控制台四大组件,实现7x24小时持续挖洞。基于Docker部署,支持Linux和Windows,提供交互式安装引导。系统通过LLM自主侦察结合真实工具链挖洞,AI初审过滤误报,人工仅需复审确认。建议部署于2C4G以上Linux环境,磁盘需20G以上。
Googlesg_ss+recaptchaV2" 网络安全文章

Googlesg_ss+recaptchaV2"

本文分享Googlesg\\_ss与recaptchaV2的逆向学习经验,作者基于iv8项目改造并构建类似RPC的接口服务,将sgss中间页面打包交由挂载的Chrome操作,兼顾并发与更新便利。通过补环境方式实测无感与点击验证及谷歌搜索均通过,但验证码识别仍为手动输入,期待模型分享交流。
评论:0   参与:  0