在AI时代,agent也需要依赖工具,有一套好的工作流,往往能让渗透测试的效率翻倍不少
本研究整理出20款在AI时代仍常见并且仍然具有实际应用情况的渗透方面的测试工具。其中包含Nmap,BurpSecurity这类经典的工具,还有ProjectDiscovery近些年很常用的Subfinder,httpx,Nuclei以及Katana。
项目地址:https://nmap.org/

Nmap 基本是网络渗透测试最离不开的工具。它可以做主机发现、TCP/UDP 端口扫描、服务版本识别和操作系统探测,还能通过 NSE 脚本补充特定服务的检查。
实际工作中,Nmap 的价值不只是告诉你 80、443 或 22 端口开着,它会尽量确认端口后面真正运行的服务。比如一个非标准端口上跑着 Web 服务,单看端口号很容易判断错,版本识别和后续人工确认就很重要。
项目地址:https://github.com/robertdavidgraham/masscan

Masscan 的特点是速度快,使用异步方式发送探测包,适合对已经明确授权的大段地址做初步端口摸排。它和 Nmap 的定位并不完全一样:Masscan 先快速找出可能开放的端口,再把结果交给 Nmap 做服务识别和进一步检查,是比较常见的组合方式。
需要注意的是,速度并不是越快越好。速率设置过高会给网络和目标服务带来压力,正式测试前要确认扫描范围、速率和时间窗口。
项目地址:https://github.com/owasp-amass/amass

Amass 用于外部资产发现和攻击面映射,可以结合公开情报来源、DNS 信息和其他数据建立资产关系。它不只是找出几个子域名,还能帮助整理域名、主机和网络之间的关联。
做企业外网测试时,常见问题是资产分散:主站、旧系统、测试环境和不同业务线可能挂在不同子域名下面。Amass 可以帮助把这些线索集中起来,后面再交给 HTTP 探测和端口扫描工具确认。
项目地址:https://github.com/projectdiscovery/subfinder

Subfinder 专注于被动子域名枚举,从证书透明度、被动 DNS、搜索引擎和配置的数据源中收集子域名。它本身不是端口扫描器,也不会替你确认每个子域名当前是否能访问。
常见做法是先收集子域名,去重后交给 httpx 探测存活情况。对于需要减少主动请求的前期侦察,这种被动收集方式比较合适。
项目地址:https://github.com/projectdiscovery/httpx

这里说的 httpx 是 ProjectDiscovery 的命令行 HTTP 工具,不是 Python 的 HTTP 客户端库。它可以批量探测 URL,获取状态码、页面标题、技术指纹、响应信息和 TLS 相关数据。
Subfinder 找到子域名以后,可以用 httpx 过滤出当前有 HTTP/HTTPS 响应的站点。这样资产列表不会只剩一堆域名,而是更接近后续真正需要检查的 Web 入口。
项目地址:https://github.com/projectdiscovery/katana

Katana 是 ProjectDiscovery 的 Web 爬虫,支持普通爬取和 Headless 浏览器模式,也可以解析 JavaScript 中的链接和接口线索。对于前端路由比较多的站点,只抓首页 HTML 往往不够,浏览器模式能帮助覆盖一部分动态页面。
测试时要把爬取深度、并发、速率和范围控制好,尤其要排除退出登录、删除数据、支付等不应该被自动触发的路径。
项目地址:https://portswigger.net/burp

Burp Suite 最常用的入口是 Proxy。浏览器流量经过代理后,可以查看和修改 HTTP 请求,再把感兴趣的请求发到 Repeater 反复验证。
Intruder 用于按配置对请求位置进行自动化测试,Comparer 可以对比两组请求或响应,Decoder 则处理常见编码。Professional 版还提供主动扫描器和 Collaborator 等功能,Community 版与 Professional 版的功能范围并不相同。
如果只想熟悉 Web 测试流程,先把 Proxy、Repeater、HTTP 历史记录和请求对比用熟,比一开始就依赖自动扫描更重要。
项目地址:https://www.zaproxy.org/

ZAP(很多人仍习惯叫 OWASP ZAP)提供拦截代理、爬虫、被动扫描和主动扫描能力,也可以通过 API、Docker 或自动化框架接入 CI/CD。它适合做基线检查、日常 Web 安全测试和自动化扫描。
自动扫描发现的问题仍然需要复核。比如一个安全头缺失不一定等同于可直接利用的漏洞,扫描器给出的风险等级也要结合业务环境判断。
项目地址:https://github.com/ffuf/ffuf

ffuf 是一款快速的 Web Fuzzer,可以在 URL、请求头或请求体的指定位置替换测试词条,常用于目录与文件发现、虚拟主机枚举和参数测试。
它比较实用的一点是过滤条件灵活。遇到大量统一的 404 页面时,可以根据状态码、响应长度或其他特征筛掉无效结果,留下更值得人工查看的响应。
项目地址:https://github.com/projectdiscovery/nuclei

Nuclei 使用 YAML 模板描述检测逻辑,可以覆盖已知 CVE、错误配置、暴露面和其他常见安全问题。它的生态优势在于模板数量多,研究人员也可以编写自己的模板,把重复检查固化下来。
但模板扫描不是漏洞结论。目标版本、响应特征和触发条件都可能造成误报,重要发现要回到原始请求和响应进行验证。更新模板前,也要看清模板的请求行为,避免在生产环境中运行有破坏性或高负载的检测。
项目地址:https://github.com/sqlmapproject/sqlmap

sqlmap 用于自动化检测和验证 SQL 注入问题,支持多种数据库类型,也能识别不同注入技术。对于已经从手工测试中发现的可疑参数,可以用它辅助确认数据库类型和注入行为。
它的能力比较强,使用时也要控制风险。不要直接对不属于自己的站点进行自动化数据提取或命令执行测试;在授权项目里也应先限定参数、请求次数和验证深度。
项目地址:https://www.metasploit.com/

Metasploit Framework 是模块化的渗透测试平台,包含辅助扫描、漏洞利用、载荷和后渗透模块。它适合在靶场或明确授权的测试环境中验证某个漏洞是否真的能造成预期影响。
要注意,Metasploit 不是“找到漏洞后一键打穿”的万能工具。目标版本、补丁状态、运行环境和安全防护都会影响模块结果。测试前要阅读模块说明,确认适用条件和可能造成的影响。
项目地址:https://www.wireshark.org/

Wireshark 用来捕获和分析网络数据包,支持大量协议解析。遇到接口访问异常、认证过程不符合预期、DNS 查询异常或 TCP 连接问题时,可以通过数据包时间线还原通信过程。
它也经常用于移动端和 API 测试。需要注意,HTTPS 加密流量默认不能直接看到明文业务内容;是否能够解密取决于是否具备合法的会话密钥或其他受支持的解密条件。
项目地址:https://greenbone.github.io/docs/latest/

Greenbone Community Edition 包含 OpenVAS 扫描器和漏洞管理组件,常用于对服务器、网络设备和应用服务做漏洞评估。它可以生成带有风险等级、受影响资产和检测结果的报告,方便做资产风险梳理和修复跟踪。
扫描结果需要结合资产版本、补丁和实际配置复核。网络不可达、认证失败或扫描策略不完整,都可能让结果出现遗漏;不能把“没有发现”理解成“没有漏洞”。
项目地址:https://github.com/SpecterOps/BloodHound

BloodHound Community Edition 用图关系展示 Active Directory 和 Entra ID 环境中的用户、组、计算机、权限与信任关系。它的重点不是扫描单个漏洞,而是把分散的权限关系连接起来,帮助分析从普通身份到高权限账户之间是否存在可利用路径。
在内网评估中,数据采集只是开始。还需要理解图上的每条关系代表什么、边的前置条件是什么,再回到域环境进行验证。图上出现一条路径,不代表每个环节在当前环境中都一定可用。
项目地址:https://github.com/Pennyw0rth/NetExec

NetExec 是面向网络环境的多协议工具,支持 SMB、LDAP、SSH、WinRM、RDP、MSSQL 等协议。内网测试中经常用它确认服务开放情况、共享目录权限、域信息和账号访问边界。
它可以看作 CrackMapExec 社区路线的后续发展项目之一。使用时要区分“认证成功”和“拥有管理权限”:工具返回一个有效登录,并不自动说明当前账号可以执行所有管理操作。
项目地址:https://github.com/fortra/impacket

Impacket 更像一个 Python 网络协议工具库,同时提供一组示例脚本。它实现了 SMB、MSRPC、Kerberos 等协议相关能力,常被用于内网协议分析、认证测试和安全研究。
例如,很多人会接触到它的 SMB、Kerberos 和远程管理相关示例。学习 Impacket 时,建议先理解脚本背后使用的协议和认证机制,而不是只记住脚本名称。
项目地址:https://github.com/lgandx/Responder

Responder 用于研究和测试 LLMNR、NBT-NS、mDNS 等名称解析机制相关风险,并可模拟部分网络服务,观察局域网设备在名称解析失败时的认证行为。它常出现在 Windows/AD 内网安全评估中。
这类测试会影响同一二层网络中的其他设备,因此应当限制在隔离靶场或明确批准的测试网段。防守侧可以结合禁用不必要的 LLMNR/NBT-NS、启用 SMB 签名和网络分段来降低风险。
项目地址:https://hashcat.net/hashcat/

Hashcat 是常见的密码哈希恢复工具,支持 CPU、GPU 和多种计算后端。它适合在获得授权的密码审计中,评估密码策略是否足够强、弱口令比例是否过高,以及不同哈希算法和参数对破解成本的影响。
截至 2026 年 10 月 25 日,Hashcat 官方下载页已经发布 8.0.0 版本。新版是否能发挥性能,还取决于显卡驱动、运行时和散热条件。评估密码强度时,也不能只看单次跑分,要结合哈希类型、盐值、迭代参数和攻击模型判断。
项目地址:https://github.com/vanhauser-thc/thc-hydra

Hydra 支持多种网络服务的登录认证测试,常用于检查 SSH、FTP、HTTP 表单等服务是否存在弱口令和缺少登录保护的问题。它和 Hashcat 的区别在于:Hashcat 主要针对离线哈希进行恢复,Hydra 则面向在线服务认证。
在线认证测试更容易影响账号和业务。只应对批准的测试账号进行低频验证,提前约定尝试次数、时间窗口和账号锁定处理方式,不能拿真实用户账号或第三方服务做批量猜测。
工具不是装得越多越好,关键是知道每一类工具负责哪一段工作。一个常见的授权测试流程可以这样组织:先用 Amass、Subfinder 收集资产线索,再用 httpx 确认 Web 服务,Nmap 补充端口和服务识别;Web 入口交给 Katana 做爬取,之后用 Burp 或 ZAP 手工检查请求和业务逻辑,Nuclei 做模板化初筛,必要时再用 sqlmap 对明确可疑的 SQL 注入点进行验证。
内网阶段则可能用 NetExec、Impacket 做协议枚举与验证,再把收集到的 AD 关系导入 BloodHound 分析路径;Wireshark 负责观察通信细节,Hashcat 用于授权的离线密码审计。OpenVAS 可以放在更偏资产与漏洞管理的环节,持续跟踪主机的补丁和配置风险。
一条简化的外部资产流水线可能是:
bash# 仅针对自己拥有或已获得书面授权的域名
subfinder -d your-domain.example -silent | httpx -silent这条命令只是把被动子域名发现和 HTTP 探测串起来。它不会替代端口扫描、漏洞验证或业务逻辑测试,也不代表结果中每个站点都属于授权范围;实际使用前仍要按项目范围过滤资产。
如果刚开始搭建自己的渗透测试环境,不需要一次性把 20 款工具全部学完。先把 Nmap、Burp Suite、Wireshark 用熟,再逐步补上 Nuclei、ffuf、BloodHound 和 NetExec,会比只会复制命令更有帮助。
工具能帮你收集线索、验证假设和整理证据,但它们无法替代对协议、系统和业务逻辑的理解。扫描器报出的结果需要复核,利用模块也要先确认适用条件。所有主动扫描、口令审计和漏洞验证,都应在自有环境或明确授权的范围内进行。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。