入口在主站之外:信息收集的工程化管线与攻防同图"

admin 2026-10-22 12:39:40 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

入口在主站之外:信息收集的工程化管线与攻防同图

原创

今木安全
今木安全

今木信息安全

2026年10月20日 11:30
上海

去阅读

漏洞挖掘的起步动作是信息收集,多数入门材料把它写成工具清单:这个查子域名、那个扫目录、再来一个搜邮箱。清单式收集的问题是产出物没法维护——跑完一轮得到几百个零散的域名和 IP,哪些活着、谁负责、跑着什么服务,全靠脑子记,放两周就是一堆废数据。

实战里更有解释力的是另一个判断:主站往往防护最厚,WAF、限流、审计一应俱全,测试者甚至摸不到真实 IP;真正开放的入口藏在主站之外——子域名、测试环境、遗留系统、关联域名。信息收集的目标因此不是\"收集得多\",而是把\"这个目标在互联网上暴露了哪些资产\"答成一份可验证、可更新的地图。

这份地图同时是防守方的短板清单。近年攻击面管理(EASM)成为独立品类,做的事与攻击者的侦察同源:同一批数据源、同一套聚合方法,差别只在产出物的用途。

一、五条收集线与产出物

收集线 原理 产出物 触碰目标
DNS 区域传送 AXFR 主从同步机制被错误开放 整张 zone 表(子域名+IP 一次拿全) 一次查询
目录与默认资产 中间件默认目录与配置文件 数据库凭据、用户信息、部署路径 低频请求
报错与被动流量 应用报错与响应头泄露内部信息 绝对路径、SQL 语句、框架版本 零额外请求
人的信息 社工与公开情报 邮箱、命名习惯、内部系统入口 不接触
子域名枚举 被动源聚合+主动爆破 边界资产清单 分层可控

「触碰目标」一列是隐蔽性标尺:前三条线和枚举的被动层几乎不留痕迹,主动爆破一定会在目标的 DNS 查询日志里留记录。先跑零触碰的线,主动爆破留到需要补盲时再做。

二、DNS 区域传送:一条命令拿全 zone 表

协议位置与缺陷根因

AXFR 由 RFC 5936 定义,用途是主从 DNS 服务器之间同步 zone 数据:从服务器按变更通知向主服务器发起 AXFR 查询,拉走整张 zone。设计上这个能力只应对从服务器开放,常见错误是 allow-transfer 留成默认 any——任何外部主机都能一次拉走整张 zone:所有子域名、对应 IP、CNAME 指向,枚举工具跑几小时的产出一次到位。

判定命令链

交互式判定,Windows 自带的 nslookup 就够

nslookup

server dns.example.cn        # 指定目标域的权威 NS

ls example.cn                # 尝试列出整张 zone

Linux 下一行判定

dig @dns.example.cn example.cn AXFR +short

Nmap 脚本版,可批量过多个 NS

nmap --script dns-zone-transfer \

--script-args dns-zone-transfer.domain=example.cn \

-p 53 -Pn dns.example.cn

判定标准明确:返回成片的 子域名 IN A 记录 即漏洞存在,返回 Transfer failed 说明已限制。多个 NS 都要试——主从配置不一致时,从服务器常比主服务器更容易漏开。dnsenum 这类聚合工具把 AXFR 作为第一步自动尝试,命中后直接跳过后续爆破环节。

加固配置

BIND 下用 TSIG 密钥收口,zone 只对持密钥的从服务器开放传送:

key \"xfr-key\" {

algorithm hmac-sha256;

secret \"\";

};

zone \"example.cn\" {

type master;

file \"db.example.cn\";

allow-transfer { key \"xfr-key\"; };

};

从服务器侧对应配置 masters { <主服务器 IP> key \"xfr-key\"; };。改完必须从外部视角复测一次 dig @<NS> example.cn AXFR,这条检查应进资产巡检清单——zone 传送属于\"配置漂移就复发\"的问题,一次加固不等于永久安全。

三、中间件默认目录:以 Tomcat 为例

七个目录与各自的敏感点

中间件默认安装的目录结构是信息收集的固定题——拿到一个 Web 目录遍历或任意文件读取后,知道去哪翻文件决定了产出。以 Tomcat 为例,默认安装固定七个目录:

目录 用途 信息收集视角
bin 启动关闭脚本与命令 版本信息、JVM 参数
conf 配置文件 最敏感 :连接串、账号、端口
lib 运行期加载的 jar 包 依赖版本、已知 CVE 对应
logs 日志文件 堆栈、内部路径、IP
temp 临时文件 上传残留
webapps 部署的应用 应用本体、WEB-INF
work JSP 编译产物 编译后的页面逻辑

conf 目录值得单独展开:server.xml 常带数据源配置和内部服务端口,tomcat-users.xml 存管理端账号(弱部署下是明文或简单摘要),context.properties 一类文件带环境路径。日志目录同样有产出——catalina 日志里的完整堆栈会暴露框架版本、绝对路径甚至内网拓扑。

常见暴露位

默认安装自带的管理与示例应用是高频入口:/manager/html(应用部署管理,弱口令可直接部署 war 包)、/host-manager、/examples(示例 servlet 含会话操作样例)。WEB-INF/web.xml 虽不能直接 HTTP 读取,但配合任意文件读取漏洞就是第一批要翻的文件——里面列出全部 Servlet 映射和数据源定义。webapps 下的 WEB-INF 里,classes 与 lib 存编译产物和依赖包,反编译 war 包是拿源码级信息的常规路径。

防御侧对应动作:删除 examples、manager 改路径加强口令并限源 IP、conf 文件权限收敛到运行账号。这些进第七节的改造点清单。

四、子域名枚举:四层管线

被动层:证书透明度日志是第一数据源

浏览器厂商要求公开信任的 TLS 证书必须记入公开的证书透明度(CT)日志,否则 Chrome、Safari 直接不信任。副作用是结构性的:一个子域名只要签发过证书,主机名就永久公开可查——测试环境签过一张,哪怕后来下线,记录还在。crt.sh 聚合了各日志库,按域名模糊检索:

curl -s \"https://crt.sh/?q=%25.example.cn&output=json\" \

| jq -r '.[].name\_value' \

| tr '\
' '\0' | xargs -0 sort -u > ct\_subs.txt

%25 是 % 的 URL 编码,匹配任意前缀。这一层零触碰。

被动源不止 CT 日志,各有盲区,多源归并才谈得上覆盖:

被动源 记录内容 盲区
CT 日志(crt.sh、Censys) 所有公开信任证书的 SAN 字段 内部命名、未签证书的资产
被动 DNS 库 历史解析记录 新上线资产
网空测绘引擎(Shodan、Censys、FOFA) 开放端口、服务指纹、证书 CDN 后的源站
历史 Whois 与关联域名反转 关联品牌域名、注册信息 隐私保护注册

工具层面 subfinder 聚合数十个被动源,subfinder -d example.cn -all -o subs.txt 一条命令跑完,配齐各数据源 API key 后覆盖面明显提升。Amass 更重,带 ASN 归属分析与递归关联,适合对大目标做全量测绘。成熟组织的被动覆盖率能到七八成——它上线过的资产,第三方数据基本都记着。

变体层与主动爆破

被动源系统性漏掉两类资产:刚上线的、从未公开签过证书的。变体生成按已知命名习惯扩展候选——有 dev.example.cn 就该试 dev-api、dev-test、dev2;有自建 git 服务习惯的团队,git.example.cn 这类命中概率不低。dnsgen 拿现有子域名做组合变换,puredns 高并发验证并自动过滤泛解析:

从已知子域名生成变体并解析验证

subfinder -d example.cn -silent \

| dnsgen - \

| puredns resolve -r resolvers.txt -w variant.txt

字典爆破补盲

puredns bruteforce wordlist.txt example.cn -r resolvers.txt

泛解析是主动爆破最大的坑:*.example.cn 对任意子域名都返回同一 IP 时,不过滤会得到几万条垃圾记录。puredns 先用随机前缀探测泛解析再过滤,这也是不用 dig 手跑的原因。

验证与指纹

解析出来的域名先验存活再谈利用:

cat variant.txt | httpx -status-code -title -tech-detect -o live.txt

httpx 并发探测 HTTP/HTTPS 存活,顺带输出标题与技术栈。httpx 支持 -screenshot 参数直接批量截图,配合 gowitness 能给全部存活资产建视觉档案,后台登录页一眼可辨。存活资产按「测试环境 > 管理后台 > 老版本中间件」排优先级——测试环境通常没有生产级的防护和审计,是最常见的实际入口。

五、被动流量与人的信息

报错即情报

Burp 的被动扩展在流量经过时于代理侧静默检查响应,不发出任何额外请求,属于零额外请求的信息收集。错误消息检查类插件(如 burp-suite-error-message-checks)抓取响应里的 Fatal error、SQL 报错片段——数据库报错常带完整 SQL 语句、表名和 Web 目录绝对路径;响应头分析类插件(如 Header Analyzer)核对安全响应头的缺失与误配。信息全在正常业务流量里,这是隐蔽性最高的一条线。

防御动作对应三件事:自定义错误页、关掉堆栈输出、生产环境禁用 debug 模式。

搜索引擎语法

语法 命中目标
site:example.cn inurl:admin 后台入口
site:example.cn ext:sql ext:bak ext:xls 遗留数据文件
intitle:\"index of\" site:example.cn 开着目录列示的站点

theHarvester 聚合多个公开源收邮箱和主机名(theHarvester -d example.cn -b all)。邮箱的命名格式本身是情报——比如拼音全拼加姓氏——这种习惯常被同一批人复用在子域名、内部系统和默认账号上,拿到格式就能预测未发现的资产名。邮箱列表在授权钓鱼演练里还有一用:按格式生成的候选地址可做投递前验证,区分哪些真实存在。

代码托管与人员信息

代码托管平台的泄露搜索是稳定产出线:拿目标域名、内部项目代号、密钥前缀当关键词搜代码和历史提交,硬编码的数据库配置、误传的部署脚本都在其中,配套 gitleaks 这类规则引擎可以批量跑、也可以进 CI 持续扫。

还有一条线产出不稳定但偶有惊喜:网盘和群组里搜目标域名,命中过运维遗留的资产清单和口令表。这类搜索极易越出授权边界,只适合在明确授权的项目里做,且仅限授权范围。

遗留策略文件

Flash 时代的 crossdomain.xml 跨域策略文件曾是不易察觉的资产线索来源,里面常列出内部接口域名。平台退役后这条收集线失效,但历史遗留的策略文件本身成了暴露面的一部分,见到就该清。

六、AI 的介入:侦察成本坍缩

攻击侧:侦察成为最先 Agentic 化的环节

侦察是渗透流程里最程序化的环节,因此最先被多智能体改造。当前开源与商用的自动化渗透框架普遍把侦察拆成独立 agent:侦察 agent 调度 subfinder、nmap、whatweb 等工具,产出结构化资产清单,直接喂给漏洞分析与利用 agent,全流程无需人在环路里。

公开基准给了这个位移一个量化标尺:web 漏洞利用基准 XBEN(104 道真实挑战)上,一位从业二十年的顶级人类渗透测试员限时 40 小时解出 85%,自治 agent 以约 28 分钟达到同等正确率;另一个商用 agent 首次尝试解出 96%,平均 19 分钟拿到可验证的利用证据。侦察与资产测绘正是这些 agent 的起手环节。

AI 在侦察环节的具体收益有三块:

• 变体生成:LLM 按目标组织的命名习惯生成子域名候选,命中率高于固定字典。字典爆破是拿词表赌概率,生成式候选按命名惯例收敛,词表里没有的组合(dev-v2-api、gitlab-test)能被猜出来。

• 报错语义归并:被动插件抓回的报错由模型分流为可利用信息与噪音,人工研判从逐条看变成看汇总。

• 管线编排:被动聚合、变体、爆破、存活验证的完整管线由 agent 自动跑,人工需要数天的全资产测绘压到夜间一批任务。

给子域名候选生成写个可直接复用的 prompt:

已知子域名:dev.example.cn, api.example.cn, git.example.cn,

jira.example.cn, uat-api.example.cn

任务:为 example.cn 生成 50 个最可能存在的子域名候选。

规则:延续现有命名惯例(环境前缀+业务+序号),覆盖测试、灰度、

监控、内部系统四类;输出纯列表,不要解释。

产出直接拼进 puredns 的解析队列即可闭环。

价值判断:侦察的人工边际成本正在逼近零。这直接动摇按年交付的渗透测试经济模型——agent 能每天对全部资产跑一轮侦察,年检节奏在覆盖频次上落后三个数量级,买\"一年测一次\"的钱不如买\"每天测一轮\"。

防守侧:EASM 把同一张地图产品化

攻击者拿地图找入口,防守方的对应物是外部攻击面管理(EASM),近年已成独立品类,各家方案的核心能力都是同一批:CT 日志与被动 DNS 聚合、网空测绘、资产指纹、持续监控。

EASM 与攻击者侦察的真正分差在产出物:攻击者的地图到\"资产+暴露服务\"就够用,防守方的地图必须给每项资产挂上归属——谁负责、该不该存在、何时下线。行业共识是发现已是商品,归属才是难点:没有 owner 的资产打不了补丁、加不了监控、也关不掉,挂在它上面的漏洞只是报告里的一个数字。大型企业里人工归属消耗 EASM 运营的四到六成工作量,用模型按命名惯例、证书主体、云账单与 SSO 日志自动关联资产和团队,是当前的主要改造方向。

两个量化事实决定紧迫度。其一,近年多期行业泄露统计里,漏洞利用已超过凭据窃取成为首位初始入口,头部报告给出 31% 的占比——攻击者就在打暴露面,而且打得进。其二,云原生环境下两到四成外部资产是瞬态的,容器和 serverless 的存活周期短于常见扫描周期,定时扫描对它们结构性失明;事件驱动的发现(云审计日志、DNS 变更流)正在替代定时扫描,行业基准节奏是自动化发现至少每周一轮、漏洞枚举两周一轮。

位移的判断

侦察数据源的覆盖度正在成为攻防对抗的第一变量。攻击侧多源聚合的成本接近零,防守方资产台账不全的话,对抗在第一层就分出胜负。人的经验价值后移:侦察自动化之后,分差留在业务逻辑判断和利用链构造上——恰好也是目前自动化最难复制的部分。

七、防御重构:七个改造点

# 改造点 做法
1 AXFR 收口 allow-transfer 限定从服务器并加 TSIG;外部自测进巡检清单
2 CT 日志自监控 监控本域名新增证书签发,未知签发即告警
3 域名生命周期 删云资源前先删 DNS 记录,杜绝悬挂 CNAME
4 影子资产治理 持续发现+归属闭环,无主资产限时认领、逾期下线
5 报错治理 自定义错误页、关堆栈输出、生产禁 debug
6 OSINT 收敛 代码托管泄露扫描进 CI,邮箱格式与命名规范统一治理

通配符证书的权衡

CT 日志会泄露 SAN 里的每个主机名,签通配符证书(*.example.cn)能不把具体子域名写进日志,是最直接的隐藏手段。代价是私钥一旦泄露,全线子域名的加密同时失守,且证书撤销传播慢。可行折中:外部暴露面用通配符,高敏子系统走独立 CA 和私有 PKI,内部命名不进公开日志。

子域名接管

悬挂 CNAME(记录指向已释放的云资源)是最典型的失分项:攻击者认领被释放的资源后,能在你的子域名下直接挂内容,继承域名信任做钓鱼甚至吃 Cookie。防御就是第三条改造点——资源下线流程里删记录必须先于删资源,并用持续比对(DNS 记录 vs 云资源存活)自动发现悬挂项。

> 文中涉及的技术手段仅用于授权范围内的安全测试,请严格遵守《网络安全法》及相关法律法规,未经授权不得对任何系统进行测试。

入口在主站之外:信息收集的工程化管线与攻防同图" 网络安全文章

入口在主站之外:信息收集的工程化管线与攻防同图"

本文系统阐述信息收集的工程化方法论,核心观点是信息收集目标在于构建可验证、可更新的资产地图而非工具清单。文章详述五条收集线:DNS区域传送、中间件默认目录、子域名枚举、被动流量与人的信息,并探讨AI对侦察环节的改造及EASM防守侧应用。建议优先采用零触碰收集线,主动爆破留待补盲,并关注AIagent对渗透测试经济模型的影响。
【一个人的SOC】(08)身份可信度评分——多源数据不一致时信哪个" 网络安全文章

【一个人的SOC】(08)身份可信度评分——多源数据不一致时信哪个"

本文提出SOC资产身份可信度评分机制,解决多数据源设备信息不一致时的身份判定问题。方案采用5因子加权(IP、MAC、主机名、Wazuhagentid、硬件指纹),通过缺失重归一化纪律和强物理因子冲突仲裁三道关卡,输出置信度分档(auto_merge、needs_review、distinct),并配套人工裁决流程与阈值热配置建议,提升资产台账可信度。
Plex服务器被人拿来挖矿,八月发布的补丁还在等管理员安装" 网络安全文章

Plex服务器被人拿来挖矿,八月发布的补丁还在等管理员安装"

本文分析Plex2Shell漏洞链被野外利用安装挖矿程序与Linux反向代理后门的事件。漏洞链涉及未认证SSRF、回环插件调用、所有者令牌泄漏、任意路径写入与动态库加载的权限传递。文章为管理员提供处置建议:先绘制版本与入口暴露面二维表,再保全日志与配置状态,最后按停止暴露、隔离取证、升级清理的顺序处置。修复版1.43.3.10861于8月3日发布,但旧实例仍暴露在互联网。
不用WriteProcessMemory也能写内存:用SendMessage加cdb.exe绕过高版本EDR的注入思路" 网络安全文章

不用WriteProcessMemory也能写内存:用SendMessage加cdb.exe绕过高版本EDR的注入思路"

本文介绍一种绕过EDR的进程注入技术,用SendMessage配合WM\\_SETTEXT消息将payload写入目标进程控件缓冲区,再用微软签名的cdb.exe调试器设置RIP执行代码,全程不调用WriteProcessMemory和SetThreadContext等被监控API。该技术依赖cdb.exe存在、payload不能含0x00、目标需有GUI控件等条件,适合定向渗透场景。防守方可监控非默认路径cdb.exe执行及内存可执行权限变更。
评论:0   参与:  0