恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
网安学习日志:信息收集一阶段实操与毕设路线
首页
资讯中心
/
网安学习日志:信息收集一阶段实操与毕设路线
网安学习日志:信息收集一阶段实操与毕设路线
发布时间:2026/10/3 7:41:54
20260303网安学习日志——信息收集一阶段写这篇日志之前先说一下背景。我给自己定了个规矩每周三固定输出一篇网安学习日志用输出倒逼输入免得光看视频不动手学完就忘。今天是第一篇正好赶上信息收集第一阶段的收尾就把这块的完整思路、实操命令、踩过的坑一次性理顺。这篇日志写给两类人看一是刚入行网安、正在找学习路线的零基础朋友二是打算拿信息收集相关方向做网安毕设、需要一套可落地研究路径的同学。信息收集听起来简单不就是查查资料嘛但真正按渗透测试的标准去做这套东西的深度和广度远超你想象。1. 信息收集一阶段到底在收什么先建全局观1.1 信息收集在网安学习路线中的定位如果把一次完整的渗透测试项目比作盖房子信息收集就是打地基。地基不牢后面所有环节——漏洞扫描、利用、权限提升、痕迹清理——全都建在沙子上。我见过不少新手一上来就急着学SQL注入、学反弹Shell觉得那才叫真本事结果真正拿到一个授权目标时懵了不知道该从哪里下手也不知道哪些信息对后续攻击路径有用。网安行业里有一句流传很久的话信息收集的深度决定了渗透测试的上限。这句话不是鸡汤是我这段时间实操下来最真实的感受。学习路线层面信息收集通常被拆成两个阶段一阶段做广度覆盖目标是搞清楚目标暴露面和基本属性二阶段做深度定向是针对具体目标资产做精准挖掘。这篇日志讲的就是一阶段——先把地图画出来再谈怎么去走。1.2 被动收集与主动收集的核心区别一阶段信息收集首先要分清楚两个大类被动信息收集被动信息收集Open Source Intelligence简称OSINT和主动信息收集Active Reconnaissance。被动收集的核心原则是不直接接触目标系统只靠公开渠道、第三方平台、搜索引擎、证书透明度日志、DNS记录等别人已经留存在互联网上的数据做分析。优点是隐蔽性好不会触发目标系统的告警缺点是你只能拿到别人不经意间暴露的东西信息可能不完整。主动收集则是直接向目标发起请求比如访问目标网站、扫描端口、枚举子域名优点是信息全面且实时缺点是一旦目标部署了态势感知或WAF你的扫描行为可能被记录甚至触发封禁。两者的关系我用一个粗浅但好记的类比被动收集像你在小区门口观察一栋楼的灯光、外卖配送记录、快递柜取件频率判断里面住了多少人、作息规律主动收集则是直接敲开门问你家几口人、门锁什么牌子的虽然问得清楚但也暴露了自己。在一阶段学习里正确顺序是先被动、后主动先用便宜的方式把基础数据攒齐再决定要不要主动触碰目标。1.3 一阶段信息收集的三个核心维度我把一阶段要收的信息归纳成三个维度这三个维度也是后续学习路线中反复用到的框架维度目标典型信息工具/手段对应阶段组织维度摸清目标单位/个人的基本盘域名、备案、企业信息、员工邮箱、子公司关联ICP备案查询、天眼查、WHOIS、搜狗微信搜索被动资产维度摸清目标数字资产的暴露面子域名、IP段、端口、Web指纹、CDN、云厂商Subfinder、DNS解析、Nmap、WhatWeb、Fofa被动主动人员维度摸清人这个最薄弱的环节社交媒体、GitHub仓库、简历、公开文档GitHub搜索、Google Hacking、社工库仅了解被动三个维度是递进关系先确定组织再枚举资产最后落到人。人往往是整个链条里最容易被突破的环节而GitHub这类代码托管平台又是技术人员信息暴露的重灾区这也是为什么下面我会单独花一整章去讲GitHub信息收集。2. 实操记录从域名到指纹的完整链路信息收集不能光啃理论得真跑一遍。我把最近一次在授权范围内做的完整链路实操记录下来用的都是合法合规、公开可查的数据源目标是我自己搭的一个测试环境顺便挂了一个备案在我名下的闲置域名全程没有触碰任何未经授权的第三方系统。2.1 第一步确认组织和域名归属动手前第一件事是确认你要收集的目标到底属于哪个组织。很多人忽略这一步直接拿一个域名就开始扫结果扫到云厂商共享IP上去了把别人家的服务当成了目标既浪费精力还容易越界。我常用的操作流程是通过ICP备案查询确认域名的备案主体拿到公司全称。用天眼查或企查查反查该主体名下的其他域名、子公司、关联企业。这一步能扩展出不少意料之外的资产——很多公司不同业务用不同域名A站点的漏洞往往能从B站点的配置里找到线索。用WHOIS查域名注册人信息。虽然现在隐私保护普及了注册人邮箱大多打码但注册时间、更新记录、注册商这些元数据仍然有价值。比如一个2005年注册的老域名大概率有历史DNS记录可以挖掘。一个实操细节查备案的时候PC端和移动端查出来的结果有时不一样建议两个都查一次顺便看看该主体有没有做过备案变更——变更记录里常常带着旧域名和旧联系方式。2.2 第二步子域名枚举——最值得花时间的环节子域名收集是信息收集一阶段里投入产出比最高的动作。主域名往往是重点防护对象但子域名经常是捡来的孩子没人疼测试环境、后台面板、内部系统、文档站点全都挂在主域名下面防护等级天差地别。一阶段我用到的子域名枚举手段按效率排序证书透明度日志Certificate TransparencyCT用crt.sh这个网站输入主域名就能把过去签过SSL证书的所有子域名列出来。这算是被动收集里最宝藏的数据源很多人不知道它存在。Subfinder高性价比一款Go写的命令行工具聚合了数十个公开数据源运行几秒钟就能出一批子域名。DNS历史记录查询利用SecurityTrails、ViewDNSInfo这类平台查历史DNS解析记录能找到曾经解析到某IP的域名。对于老域名历史记录经常能扒出已经不再公开暴露的子系统。字典爆破这一阶段我用的不多因为这是偏主动的方式。工具比如Amass的爆破模式、ffuf配合子域名字典。属于如果前三种没收获再上的手段。跑完子域名枚举后用httpx批量做一次存活探测把那些仍然返回TCP连接但HTTP无响应的主机标记出来——这些地方有时候藏着非Web服务或者防火墙白名单之外的管理入口。2.3 第三步IP定位与CDN溯源拿到子域名列表后下一步是解析IP。但这里的坑非常多我把一阶段遇到的问题列一下CDN干扰国内主流CDN厂商有阿里云CDN、腾讯云CDN、网宿、Cloudflare等。如果域名解析到这些平台的节点IP直接扫描是扫不到真实源站的。这时候要靠历史DNS记录来找CDN接入前的源站IP或者用一些非常规手段这里不提具体做法避免被滥用。泛解析陷阱有些域名开了泛解析随便输入一个不存在的子域名也会解析到某个固定IP。批量枚举时如果没过滤泛解析记录会导致结果里混入大量假资产。IP段归属判断解析出的IP要去确认ASN和运营商归属比如属于阿里云的、华为云的还是某个IDC机房的。云上IP段往往是共享的扫到的东西未必属于目标分析和记录时要有意识地打上共享资源标签。2.4 第四步指纹识别——判断对方用了什么技术栈指纹识别的目标是确认目标站点用的Web服务器、后端语言、前端框架、CMS类型、WAF类别。知道了技术栈后续找针对性漏洞的方向就清晰了。一阶段里我用的组合是WhatWeb命令行指纹识别工具能识别几百种Web技术。对新手来说一条命令跑完输出里就带着CMS指纹、服务器类型、JavaScript框架信息。Wappalyzer浏览器插件浏览目标站点时实时显示技术栈。优点是不用额外学习成本缺点是只能覆盖已访问的页面。Nmap的-sV服务版本探测针对具体IP做端口服务识别。这个更适合放到后续的端口扫描环节但一阶段也应该接触一下因为很多公司只在特定端口开放了Web管理界面。指纹识别有个经验技巧别只探测首页要找登录页、API接口文档页、静态资源路径如/static/js/app.js来交叉判断。首页可能做了强缓存或用了统一的框架壳子但API接口的报错信息、JS文件的打包工具特征往往能暴露更多底层信息。一次实测里首页指纹显示Web框架未知但/api/docs接口直接暴露了Swagger UI后面的事大家都能猜到。3. Windows主机信息收集别只盯着Web打很多人学信息收集把精力全花在Web资产上忽略了主机层面的信息收集。但在真实的攻防演练和红队评估里Windows主机的信息收集往往是横向移动的起点。这也是热门搜索词里专门有Windows主机信息收集的原因。3.1 为什么Windows主机信息收集如此关键Windows在企业内网中的占比极高OA系统、域控服务器、文件共享、业务数据库十有七八跑在Windows上。一旦拿到一台Windows主机的权限里面的本地信息可能直接帮你打通整个内网。这个思维和Web渗透完全不同——Web渗透是从外往里打主机信息收集是从里往外扩。对于网安学习者来说即使你现在还没有实战机会去接触真实内网也应该先在虚拟机里把Windows环境搭建好熟悉它的信息收集方法。这个技能在等保测评、应急响应、红队评估里都是必考项。3.2 一阶段必须掌握的Windows信息收集点第一阶段不要求你学会那些复杂的免杀和横向手法但下面这些信息收集内容必须滚瓜烂熟信息类型具体内容常用命令系统基本信息主机名、系统版本、补丁信息、架构systeminfo、ver、wmic os get version网络环境IP地址、路由表、ARP缓存、DNS后缀、当前网络连接ipconfig /all、route print、arp -a、netstat -ano用户与权限当前用户、本地用户、管理员组、登录会话、域关系whoami /all、net user、net localgroup administrators进程与服务运行进程、服务列表、计划任务、启动项tasklist /svc、wmic service list brief、schtasks /query敏感信息桌面文件、下载目录、配置文件、浏览器存储的凭据、Wi-Fi密码dir /s搭配关键词、netsh wlan show profiles一个比较容易被新手忽略的点systeminfo的修补程序字段能直接判断这台主机缺了哪些补丁很多老机器常年不打补丁永恒之蓝这类漏洞一打一个准。3.3 常用的信息收集承载工具PowerShellWindows环境下PowerShell是信息收集的核心承载工具。我把一阶段需要熟练使用的PowerShell命令做了个精简清单Get-Acl查看文件/注册表权限找权限配置不当的目录。Get-ChildItem -Recurse递归列目录配合-Filter筛选包含password、secret、config等关键词的文件。Get-Process -IncludeUserName查看进程对应的用户身份辅助判断是否存在以高权限运行的第三方软件。Get-HotFix比systeminfo更快地列出补丁更新记录。Get-NetTCPConnection列出TCP连接和监听端口能判断当前主机跟谁在通信、有没有可疑外联。如果你不想一条条敲命令可以下载集成好的PowerShell信息收集脚本但一阶段我更建议你每条命令手动执行一遍把每个字段的含义查明白。用脚本一下跑一百条命令的结果你可能只记住了看起来很多却没学会怎么读。等手动跑熟了再去用脚本节省时间效果完全不一样。3.4 Windows信息收集的常见坑杀毒软件拦截很多安全产品对whoami /all、net user这类命令也做了行为监控在高防护环境下会被拦截或告警。做学习实验时建议先在一台无防护的隔离虚拟机里跑真实的演练场景则需要提前确认授权范围和工具准入。命令输出太长不会筛systeminfo的输出很长新手容易迷失。可以用systeminfo | findstr /B /C:OS Name /C:OS Version这样按关键词过滤快速定位关键字段。只收集不分析信息收集的产出不只是一份命令回显而是一个结论。比如ipconfig /all拿到了当前网段你还要进一步思考这个网段还有哪些主机域控是否在这个网段哪些端口是数据库端口推理链比数据本身更重要。4. GitHub信息收集开源仓库里的隐形资产GitHub信息收集是我最近才补上的一块拼图也是热门搜索词里着墨较多的方向。为什么单开一章因为在技术人员眼里GitHub是一个代码托管平台但在信息收集视角下GitHub是一个巨大的、被公开索引的敏感信息泄漏池。4.1 GitHub信息收集的原理一切公开代码都可被检索GitHub上有海量的公开仓库很多开发者在公司项目里写代码时习惯性地把密钥、IP地址、内网域名、数据库连接串直接写进代码里提交后就忘了清理。更麻烦的是即使后来把代码改掉并删除了敏感信息旧的提交commit依然留在Git历史里。利用GitHub的代码搜索功能和第三方工具可以把这些不小心公开的信息挖出来。我不打算在这里展开任何与漏洞利用相关的具体手法和平台攻击性操作只从信息收集与安全防御的角度讲思路当你写代码或者做代码评审时应该意识到公共仓库内每一条代码记录长远看都是可能被外部检索到的暴露面。4.2 一阶段可以上手的GitHub信息收集思路对于网安学习者我建议你用自家或授权的开源项目做实验练好下面这些基本的搜索思路基于关键词搜索在GitHub搜索框里输入password username、api_key secret这类组合学习检索逻辑理解哪些关键词组合更容易命中敏感信息。利用限定语法缩小范围GitHub支持的检索限定词非常多比如language:python password限定语言org:某个组织名限定组织extension:env限定只看.env文件。学会这些语法你的搜索效率会大幅提升。关注提交历史和Issue仓库的提交历史里可能留有早期误提交的敏感文件Issue讨论中也可能有人贴出过配置截图或环境变量。关注Gist片段Gist是GitHub的代码片段功能。很多人把临时测试用的密钥、配置片段贴成Gist却不设私密这个搜索起来更容易命中。我自己的一个实际操作案例我从自己过往的一个开源小项目里用搜索语法找到了两年前不小心提交进去的一个数据库测试连接串。这个连接串指向的数据库已经销毁但如果这是一个生产环境的连接串后果可想而知。4.3 GitHub信息收集的学习路线建议我个人建议的练习路径是注册一个全新的GitHub账号开了二步验证之后创建一个私有仓库在仓库里故意提交一些包含占位符密钥、内网测试IP的代码再用GitHub搜索看能不能搜到——通常在公开仓库里能搜到私有仓库搜不到这个对比能让你直观理解公开与私有的区别。学会使用GitHub官方搜索文档把语法过一遍。官方文档里对每种检索限定词的解释比任何教程都完整。找一个你喜欢的知名度较高的开源项目在它的Issue和Discussions里浏览看看有没有开发者讨论过密钥轮换、安全配置等问题学习他们是怎么做代码级安全防护的。需要提醒的是GitHub信息收集一旦越过发现的线走到利用泄露的凭据去登录系统就必须要有明确的授权。学习阶段请把所有练习放在自己的项目或明确的授权范围内。这条边界是网安从业者的职业底线没有例外。5. 网安毕设与学习路线把信息收集变成可落地的研究方向搜索热词里出现了网安毕设说明不少人正在为毕业设计发愁想找既有技术含量又不至于深不见底的方向。我个人的判断是信息收集方向作为网安毕设选题是性价比很高的选择——它既有清晰的研究边界又有大量可量化的评估指标还不需要搭建特别复杂的攻防环境。5.1 为什么信息收集适合做成网安毕设信息收集类毕设的主流评价维度是发现能力也就是你设计的系统/方法能不能比现有手段发现更多、更精准的暴露资产。这个维度的优势是指标好量化发现子域名的数量、指纹识别的准确率、敏感信息命中的精确率和召回率全部可以量化。数据集好获取资产测绘领域有公开的数据集如各大SRC平台的授权范围内资产也可以自己搭建一套测试环境作为实验对象不需要依赖特殊资源。技术栈集中主要涉及Python、HTTP请求、正则表达式、数据聚合这些都是网安本科生已经掌握或能快速自学的技术。5.2 三个可行的毕设方向与设计思路方向一企业资产暴露面自动化测绘工具。核心功能是输入一个主域名自动完成子域名枚举、DNS解析、指纹识别、开放端口探测、证书信息提取最终生成一份资产清单报告。设计上可以拆成四个模块子域名收集模块、主动探测模块、指纹识别模块、报告生成模块。技术上的难点在于多数据源聚合和结果去重这些恰恰是答辩时能讲故事的点。方向二基于GitHub代码检索的组织信息泄漏巡检工具。设计思路是输入一个组织的用户名自动检索该组织名下的公开仓库对仓库内的配置文件和文档做敏感信息模式匹配比如高德Key、云厂商AccessKey、数据库连接串生成泄漏告警清单。这个方向很贴近行业实际需求因为很多企业已经在采购类似服务做暗网监测和GitHub泄漏监控。方向三基于被动数据源的资产发现与变化监测平台。这个方向更偏研究和数据侧核心是持续采集证书透明度日志、DNS记录变化、搜索索引快照分析目标资产的生命周期变化比如新上线了哪个子域名、哪个子域名即将过期、证书什么时候被替换。这类平台的基本逻辑跟业界的攻击面管理产品ASM方向一致前沿性也够。5.3 学习路线推荐的顺序与时间投入基于我这段时间的个人安排信息收集一阶段完整过一遍的合理时间周期是3周到4周前提是每天保证1到2小时的专注实操时间。具体拆分第1周学会被动收集三件套——WHOIS查询、证书透明度日志查询、ICP备案查询每天做三个目标的查询练习并记录分析结果。第2周上手子域名枚举工具Subfinder crt.sh httpx练习批量存活探测和结果筛选跑通一条域名→子域名→IP→指纹的完整链路。第3周Windows主机信息收集在虚拟机里安装一个Windows Server和一个Windows 10分别执行上面表格里的命令学着做收集并输出结论的分析报告。第4周GitHub信息收集与个人沉淀把你的所有命令和结果整理成模板形成一套自己可以复用的信息收集工作流。学完之后如果你要做毕设可以直接选取上面某一周的内容做深挖和系统化包装半年时间绝对够。5.4 毕设答辩时容易被问到的三个问题提前预判答辩老师的提问方向可以少走很多弯路。信息收集类毕设以下三个问题大概率会被问到你的系统跟已有的开源工具比如类似于Subfinder和Nmap组合的方案相比优势在哪里这个问题考验你对现有工具边界的理解。回答模板已有工具偏单点能力我的系统做了多源聚合和结果归一化减少了人工判定的工作量并针对具体场景做了优化。你的实验结果用什么指标来衡量需要提前定义混淆矩阵里的TP、FP、FN是什么含义。比如子域名收集里TP表示成功发现且真实存在的子域名FP表示泛解析或第三方平台产生的误报FN表示未发现的存量子域名。如何保证你的工具不会被用于未授权场景这个问题必须提前想清楚你要从功能上增加授权校验机制比如要求输入授权证明或限定测试域名列表还是专门设计只做被动收集以降低风险——两种路径都有道理但要能自圆其说。6. 一阶段学习中我踩过的三个坑日志的最后记一下我在这段时间里踩过的坑和调整的思路。这些坑不一定有多高级但真实踩过之后它们比任何教程都让人印象深刻。第一个坑迷信工具不读原始数据。最开始我跑Subfinder一堆子域名瞬间出来感觉非常痛快。但我根本不看证书透明度日志的原始查询结果也不看DNS解析的原始终端输出结果一次演示里被问到这个子域名是从哪个数据源发现的我答不上来。后来我强制自己每周至少做一次纯手动收集——不借助聚合工具只用crt.sh网页、DNS命令行、搜索语法去手工收一个目标把每个数据的来源链路写清楚。这个习惯让我的分析能力长了一大截。第二个坑忽略结果去重和存活验证。第一次做完整链路收集时一百多个子域名里混了几十条泛解析记录和历史解析记录我拿着这份脏数据去做后续步骤白白浪费了大半天时间。后来我形成了铁律子域名结果必须先过滤泛解析再做HTTP存活探测然后才进入指纹识别环节顺序不能乱。第三个坑只收集不记录不沉淀。信息收集的结果如果不整理成结构化的报告过两天你自己都忘了当时发现过什么。我现在维护一套模板化的记录文档按目标名称、数据来源、发现时间、资产URL、技术栈指纹、备注六个字段做表格式归档。时间长了这份归档本身就是一份很有价值的资产清单后续做复盘、写报告、做毕设全都能用上。信息收集一阶段到这里告一段落下一篇日志我计划按时间线推进到二阶段的深度定向技术再补充主动探测和工具联动的内容。每周三见。