ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

SRC漏洞挖掘进阶:偏门资产收集方法论与实战工具链

SRC漏洞挖掘进阶:偏门资产收集方法论与实战工具链 1. 项目概述为什么偏门资产是SRC挖洞的“富矿”在SRC安全应急响应中心漏洞挖掘这个圈子里大家一提到资产收集脑子里蹦出来的大概率是子域名枚举、端口扫描、目录爆破这些“老三样”。这些常规手段当然有效但问题是现在稍微有点规模的公司其安全团队和安全产品比如WAF、态势感知对这些常规扫描的防御和监控已经非常成熟了。你的扫描器一启动对方的告警可能就响了你的IP可能下一秒就被封了。更关键的是成千上万的同行都在用同样的工具、同样的字典扫着同样的目标你能发现的“表面资产”别人大概率也扫过了剩下的要么是坚不可摧的核心服务要么就是早已被提交过的“残羹冷炙”。所以想从SRC平台拿到可观的奖金或者排名靠前你就必须跳出这个红海去寻找那些别人不太关注、安全防护相对薄弱、甚至可能被运维人员自己都遗忘的“偏门资产”。我把这些资产称为“影子资产”或“沉默资产”它们不像官网、主站那样光鲜亮丽却往往因为缺乏关注而藏着意想不到的漏洞。比如一个为内部临时活动搭建的报名页面活动结束后就没人管了但后台管理入口却还开着一个给第三方供应商用的文件上传接口用了弱口令一个开发测试环境的API直接暴露了数据库连接信息。挖掘这些资产就像是进行一场“数字考古”你需要用非常规的思路和工具从目标的“数字足迹”中挖掘出那些被遗忘的角落。这篇内容就是把我这几年在多个头部SRC平台实战中积累下来的一套行之有效的“偏门资产收集”方法论和工具链毫无保留地分享出来。它不适合想一夜暴富的新手但适合那些已经掌握了基础、渴望突破瓶颈愿意花时间去“深耕”一个目标的进阶挖洞者。我们的目标不是广撒网而是针对一个高价值目标进行深度、立体的资产测绘找到那条通往漏洞的“隐秘小径”。2. 偏门资产收集的核心思路与策略在开始具体操作之前我们必须先建立正确的思维框架。偏门资产收集不是漫无目的地乱扫而是一场有预谋的“情报侦察”。其核心思路可以概括为以目标为中心进行发散与关联从公开信息中挖掘非公开入口在动态变化里捕捉静态疏忽。2.1 思维转变从“扫描器依赖”到“情报驱动”很多新手最大的误区是过度依赖自动化工具。工具是手脚思路才是大脑。你必须先成为一个“情报分析师”再去当“渗透测试员”。理解企业数字生态一个现代企业尤其是互联网公司它的线上资产是一个复杂生态。除了主业务官网、App还有支撑系统OA、CRM、ERP、Jira、Confluence、GitLab、Jenkins等。营销与运营站点临时活动页、推广落地页、微信公众号/小程序后台、电商促销页面。第三方服务使用的云存储OSS、CDN、短信/邮件服务商、客服系统、视频云等。这些服务可能配置不当导致信息泄露。历史遗留资产公司并购、业务下线、域名更换后未被及时清理的旧站点、旧IP。员工相关资产员工在GitHub、博客、论坛上无意泄露的代码、配置、内部地址。关注资产的生命周期一个偏门资产最脆弱的时候往往是在它的“诞生期”刚上线配置未加固和“消亡期”已下线但未删除。通过持续监控你能捕捉到这些瞬间。2.2 核心策略框架基于以上思维我总结了一个四层策略框架由外到内由浅入深第一层公开情报聚合。不发送任何探测包仅从互联网公开信息中提取资产线索。这是最安全、最优先的步骤。第二层技术特征关联。利用已发现的资产通过技术指纹证书、JS文件、框架特征去关联发现更多资产。第三层动态行为监控。监控目标域名的DNS解析变化、新子域名出现、证书透明日志更新等动态信息。第四层深度内容挖掘。对已获取的资产如JS文件、页面源码、文档进行人工深度审计寻找隐藏的接口、路径和参数。这个框架的每一步都在试图绕过传统的防护边界从侧面打开突破口。接下来我们就按照这个框架深入每一层的具体实操。3. 第一层实操公开情报OSINT深度挖掘公开情报收集是基石成本低风险为零。这里的关键是“深度”二字不是简单搜一下域名就完事。3.1 搜索引擎高级语法与特定平台搜索Google、Bing、Shodan、Fofa、ZoomEye、Hunter.io 等都是利器但要用好语法。Google Dorking必精site:target.com -www搜索除www外的所有子域名页面。site:target.com filetype:pdf搜索目标域名下的PDF文件里面可能包含内部网络图、联系方式甚至账号密码。site:target.com intitle:login OR intitle:admin OR intitle:后台快速定位管理后台。site:github.com target.com password在GitHub上搜索含有目标域名和“password”关键词的代码寻找员工误传的配置文件。site:pastebin.com target.com检查代码分享网站是否有泄露信息。实操心得不要只用一种语法组合。尝试将site:与inurl:、intext:、ext:文件扩展名组合。例如site:target.com inurl:api ext:json可能直接找到数据接口。特定平台深度搜索GitHub/GitLab/Gitee这是“富矿”。搜索技巧直接搜索公司名、项目名、产品名。搜索邮箱后缀target.com。搜索特定关键词如config、database、password、secret、key、AK、SK云服务的Access Key/Secret Key、ftp、sql。搜索特定文件.env、config.php、application.properties、pom.xml、docker-compose.yml。这些文件常包含敏感配置。使用GitHub搜索语法filename:.env target.com或path:/src/ target.com。网盘与文档分享平台搜索目标公司名称可能在百度网盘、阿里云盘、腾讯微云甚至Google Drive的公开分享链接里找到内部培训资料、客户名单等这些资料里可能包含访问地址和默认密码。招聘网站查看目标公司发布的招聘信息尤其是技术岗位如运维、开发、安全工程师。职位描述里经常会提到他们使用的技术栈如Kubernetes, Docker, Jenkins, Elasticsearch, Redis这为你后续的端口扫描和服务识别提供了精准方向。例如招聘要求里写了“负责ELK日志平台维护”那你就可以重点扫描9200(Elasticsearch),5601(Kibana) 端口。注意在GitHub等平台搜索时务必注意法律和道德边界。只收集公开信息不要尝试破解或访问非公开仓库。发现泄露信息后应优先通过SRC平台进行报告这是体现你专业素养和职业道德的关键。3.2 证书透明度CT日志挖掘这是我最推崇的、效率极高的方法。证书透明度要求CA证书颁发机构公开其颁发的所有SSL/TCT证书。这意味着只要目标为其任何子域名申请了HTTPS证书我们就能知道。核心原理一个证书可能包含多个域名主题备用名称SAN。公司为了方便经常用一个证书覆盖多个子域名如*.target.com,*.dev.target.com,*.admin.target.com。当你发现一个证书时你就可能一次性收获几十甚至上百个子域名。常用工具与平台crt.sh最常用的CT日志聚合查询网站。直接搜索target.com你会看到所有包含该域名的证书历史记录。重点关注那些SAN列表很长的证书。CertSpotter、Facebook的CT项目提供API方便集成到自动化脚本中。子域名收集工具像subfinder、assetfinder、amass等工具都内置了CT日志查询模块。实操示例# 使用 subfinder 通过CT日志收集子域名 subfinder -d target.com -silent | grep -v www.target.com | sort -u # 使用 curl 直接查询 crt.sh curl -s https://crt.sh/?q%25.target.comoutputjson | jq -r .[].name_value | sed s/\*\.//g | sort -u你会发现很多像dev-jenkins-internal.target.com、staging-api.target.com、legacy-payment.target.com这类在常规字典爆破中很难出现的“偏门”子域名。3.3 DNS历史记录与IP关联域名和IP的关系不是一成不变的。今天的官网IP昨天可能是一个测试服务器的IP。DNS历史查询使用SecurityTrails、ViewDNS.info、DNSlytics等工具查看一个域名历史上的A记录、NS记录、MX记录变化。你可能会发现它曾经解析到某个云服务商IP段如AWS的52.、54.段阿里云的47.段这个IP段上可能还运行着该公司的其他服务。IP反查与旁站查询当你通过上述方法获得一个IP后特别是云IP使用Fofa、ZoomEye进行反查。语法如ip1.2.3.4或cidr1.2.3.0/24。你可能会发现这个IP上除了目标主站还运行着phpmyadmin.target.com、test-elasticsearch.target.com等意想不到的旁站。云服务器经常一台主机部署多个应用。ASN自治系统号归属查询大公司通常会拥有或租用专属的ASN。通过查询目标主站IP的ASN如AS37963是阿里巴巴你可以获取该ASN下的所有IP段然后对这些IP段进行扫描有可能发现属于同一公司但域名未公开的其他业务系统。工具如whois、bgp.he.net。4. 第二层实操技术特征关联与指纹识别通过第一层我们获得了一批资产列表。这一层的目标是利用这些已知资产像滚雪球一样发现更多具有相似技术特征的“兄弟资产”。4.1 JS文件分析与端点提取现代Web应用大量使用JavaScript。打包后的JS文件尤其是app.[hash].js、chunk-vendors.js和未压缩的源码中常常硬编码了API端点、内部路径、调试开关甚至密钥虽然不应该。自动化工具LinkFinder、JSFinder从JS文件中快速提取URL和路径。SecretFinder专注于从JS文件中查找API密钥、令牌等敏感信息。Burp Suite的 “JS Link Finder” 扩展在代理流量中自动分析。手动分析技巧打开浏览器开发者工具切换到Sources或网络(Network)标签过滤.js文件。寻找那些看起来是自定义的、非第三方库的JS文件。下载这些JS文件用文本编辑器或grep搜索关键词接口路径/api/、/v1/、/graphql、/upload、/admin、/export。关键词url:、endpoint、baseURL、fetch(、axios.post、$.ajax。敏感词password、token、key、secret、debug、test。关联发现从一个JS文件中提取出的内部API端点如https://api-internal.target.com/v1/user/list。这个api-internal.target.com可能从未在之前的子域名枚举中出现过因为它可能只被前端JS内部调用是一个标准的“偏门资产”。4.2 网络空间测绘引擎的进阶用法Fofa、Shodan、ZoomEye 不只是用来搜IP和端口的。它们强大的指纹识别能力是关联资产的关键。语法进阶框架/组件指纹appThinkPHP、bodyStruts2、titleKibana、icon_hash-xxx图标的哈希值用于识别特定应用。如果你在主站发现用的是Vue.js可以尝试搜索bodyvue org目标公司可能找到其后台管理系统。特定头信息headerX-Powered-By: PHP/7.2、headerServer: nginx/1.18。证书关联certTarget Corp或cert.subject.cn*.target.com可以找到使用同一张证书的所有资产。组合搜索(titleDashboard || title登录) ip1.2.3.0/24在目标IP段内搜索所有可能是管理后台的页面。实战案例我曾通过Fofa搜索appJenkins regionCN再结合公司名关键词进行筛选意外发现了一家大公司的测试环境Jenkins服务器直接暴露在公网且未设置认证从而拿到了一个高危漏洞。这就是通过技术指纹关联到非公开资产的典型例子。4.3 源代码与构建产物泄露除了GitHub还有其他地方可能泄露源码。npm、pypi、Maven中央仓库公司开发的公共或内部前端组件包、Python库、Java包在发布时可能包含了示例配置文件或硬编码的测试地址。搜索包名或公司名。Docker镜像仓库如Docker Hub。搜索目标公司名可能会找到其公开的镜像。通过docker pull拉取后使用docker inspect或进入容器内部检查环境变量、配置文件可能发现数据库连接字符串、内部服务地址等。工具如dive可以交互式浏览镜像层。JavaScript Source Map文件前端项目在打包压缩时有时会生成.map文件用于调试。如果这个文件被部署到了线上如app.js.map你可以通过它还原出近乎完整的源代码。使用restore-source-tree等工具可以自动化这个过程。还原后的代码审计价值极高。5. 第三层实操动态监控与自动化流水线偏门资产不是静态的它会随着公司业务变化而出现、变更、消失。建立一个自动化监控体系能让你抓住资产变化的“时间窗口”。5.1 子域名与证书监控工具链amass、subfinder、assetfinder定期如每天对目标进行子域名枚举并与之前的结果进行对比。自动化脚本思路每日定时运行收集脚本将结果存入数据库如SQLite或文件。将新结果与历史基线对比使用diff或编写简单脚本找出新增的子域名。对新发现的子域名进行快速基础扫描HTTP标题获取、状态码、少量端口并发送通知如Telegram Bot、钉钉机器人、邮件。证书监控订阅crt.sh的RSS feed或使用其API监控包含目标域的新证书。新证书的颁发往往意味着新服务上线或旧服务更新这是绝佳的测试时机。5.2 DNS记录变更监控工具dnstwist可以生成域名的变体同形异义字、常见拼写错误并检查它们是否被注册。攻击者可能注册相似域名进行钓鱼而防御方也可能因此遗漏。监控对核心域名如login.target.com、pay.target.com的A记录、CNAME记录进行定期解析并记录。如果发现解析IP突然发生变化特别是变到了一个不熟悉的IP段需要高度警惕可能是业务迁移存在配置错误风险或遭受了DNS劫持。5.3 自动化信息聚合平台对于有多目标监控需求的挖洞者建议搭建一个轻量级的自动化平台。技术栈可以很简单调度Linuxcron或 PythonCelery。采集用Python调用上述各种工具subfinder,amass,httpx,nuclei的API或命令行。存储SQLite轻量或MySQL。展示与告警Flask/Django写个简单页面或者直接用Grafana做看板。告警集成通知机器人。核心工作流定时触发 - 执行资产收集任务 - 去重并与历史对比 - 对新资产进行基础指纹识别与漏洞扫描用nuclei模板 - 结果入库 - 发送新发现/高危告警这样你每天只需要查看告警和报告就能聚焦在最可能有收获的新资产上。6. 第四层实操深度内容分析与人工审计自动化工具能发现资产但判断资产的价值和挖掘深层次的入口离不开人工的深度分析。这是区分普通脚本小子和资深挖洞者的关键。6.1 页面与源码的人工审计查看网页源代码这是最基本也最有效的方法。右键“查看页面源代码”搜索HTML注释!-- --里面常有开发人员留下的调试信息、TODO列表、甚至密码。JS变量特别是写在HTML里的var config {...}可能包含后台地址、API密钥。Hidden表单字段、>问题可能原因排查与解决技巧子域名枚举结果很少1. 目标使用了CDN域名解析被隐藏。2. 工具字典不够全或API限额用完。3. 目标资产确实很少可能性低。1. 尝试从历史DNS记录、证书透明度日志入手。2. 组合使用多种工具subfinder, amass, assetfinder, oneforall并配置好各自的API密钥。3. 重点进行IP段扫描和旁站查询。扫描速度慢IP被封锁1. 并发请求过高。2. 扫描频率过快。3. 目标有速率限制或WAF。1. 在工具中调整线程数、延迟参数如-delay 1s。2. 使用代理池轮询请求分散流量。3. 将扫描任务分散到不同时间段如深夜。4.最重要优先使用无流量或低流量的信息收集方式OSINT把主动扫描留给最有价值的资产。获取到大量资产无从下手信息过载缺乏优先级。1.快速筛选先用httpx或nmap -sS -p 80,443快速获取存活资产和标题。2.优先级排序a. 标题含admin、login、dashboard、test、staging的。b. 返回状态码是200、302、403403有时比404更有趣的。c. 使用非常见端口如8080、8443、9000的。d. 域名中包含api、internal、dev、backup关键词的。7.2 法律、道德与SRC平台规则这是红线绝对不能踩。授权与范围只测试SRC平台明确公示在范围内的资产。对于模糊地带如子公司域名、收购前的历史资产务必先通过平台客服确认。未经授权的测试是违法的。测试行为规范禁止DDoS攻击、暴力破解除非明确允许、上传Webshell、篡改数据、拖库、利用漏洞进行进一步渗透如内网横向移动。谨慎扫描频率和并发必须控制避免影响业务正常运营。自动化漏洞利用如SQL注入自动化取数据需极其小心最好以证明漏洞存在为目的取少量非敏感数据如数据库版本version。报告发现漏洞后立即停止测试清晰、详细地整理漏洞报告步骤、截图、危害证明通过官方渠道提交。不要公开讨论未修复的漏洞细节。敏感信息处理在收集过程中如果意外发现大量用户隐私数据如明文密码、身份证号、银行卡号泄露应立即停止并报告。不要下载或保存这些数据这不仅是道德问题也可能涉及法律风险。7.3 心态与技巧进阶保持耐心与专注偏门资产挖掘可能连续几天一无所获但一个高质量的发现就足以回报所有努力。不要频繁切换目标深耕一个目标往往比广撒网收获更大。建立知识库将每次测试中发现的独特资产类型、特征、漏洞模式记录下来。例如“A公司喜欢用[项目名]-jenkins.internal.com的命名规则”、“B公司的测试环境Spring Boot Actuator接口常开在/actuator路径下”。这些经验会成为你未来的“直觉”。关注技术动态新的开发框架、云服务、运维工具出现时往往会带来新的、未被充分认知的攻击面。保持学习才能发现别人还没注意到的“新偏门”。偏门资产收集不是一门孤立的技术它是情报分析、网络测绘、Web技术理解和自动化运维的混合体。它没有固定的终点更像是一种需要持续练习和思考的“手艺”。当你能够从一个简单的公司名开始一步步勾勒出它庞大而隐秘的数字疆域地图时那些隐藏的漏洞自然就会浮现在你的眼前。这个过程本身就是安全研究最大的乐趣之一。
返回列表