// 红队渗透 · 2024-11-16

信息收集系列(四):端口扫描

@[TOC](内容预览 ≧∀≦ゞ

信息收集系列(四):端口扫描


前言

在前几篇文章中,我们介绍了 IP 和子域名的收集工作。那么,拿到这些 IP 和子域名后,接下来该做什么呢?我建议优先进行 端口扫描。

端口扫描是渗透测试和信息收集中的重要环节。这里推荐一篇横向对比测评文章:《16款端口扫描工具横向对比测评》。这篇文章对主流工具进行了深入分析,非常值得一读。


命令行工具推荐

在众多命令行端口扫描工具中,Nmap、Masscan 和 Naabu 是最经典且最受欢迎的工具。以下将详细介绍这三款工具的特点及使用建议:

1. Nmap

Nmap 是当前最知名的端口扫描工具之一,功能强大且全面。它支持多种扫描模式(如 TCP 扫描、SYN 扫描等),并能够深入识别服务、操作系统和网络结构特性。尽管如此,由于扫描速度相对较慢,它通常不适合作为大规模初始扫描工具,而更适合在目标明确的情况下进行深入分析。

2. Masscan

Masscan 是一款速度极快的端口扫描工具,能够在极短的时间内完成大规模扫描,非常适合初步筛选开放端口。然而,由于其扫描策略较为粗略,容易导致误报或漏报。因此,Masscan 通常需要与其他工具配合使用,以验证扫描结果的准确性。

3. Naabu

Naabu 是一款轻量级的高效端口扫描工具,由 ProjectDiscovery 团队开发。它设计简洁,专注于快速识别开放端口,是初始端口扫描的优秀选择。Naabu 的主要特点包括:

  • 高效扫描:支持并发扫描,可快速识别目标的开放端口。
  • 灵活配置:支持对目标、端口范围、扫描速率等参数进行自定义。
  • 模块化设计:能够与其他工具(如 Nmap、Httpx)无缝集成,用于后续的深度分析。

Naabu 的优势:

  1. 速度快:相比 Nmap,Naabu 的扫描效率更高,适合大规模资产的初步端口检测。
  2. 准确性好:比 Masscan 的误报率低,同时支持灵活的重试和错误处理机制。
  3. 易于集成:Naabu 可将扫描结果直接传递给其他工具(如 Nmap),形成完整的扫描链。

4. Naabu + Nmap 联合方案

在追求扫描 效率 和 准确率 的同时,Naabu 与 Nmap 的组合是一个理想的解决方案。使用 Naabu 进行初步端口扫描后,将结果传递给 Nmap,进一步识别服务详情和漏洞信息。以下是具体的使用流程和命令示例:

naabu -list lists.txt -p - -exclude-ports 80,443,21,22,25 -rate 20000 -c 500 -retries 2 -warm-up-time 1 -silent -nmap-cli 'nmap -sV -oX scan.xml'

参数解释:

  • -list lists.txt:指定目标 IP 或域名列表。
  • -exclude-ports 80,443,21,22,25:排除常见的端口,聚焦其他端口。
  • -rate 20000:调整扫描速率至 20,000 包每秒。
  • -c 500:并发线程数从默认的 25 提升到 500。
  • -retries 2:减少重试次数以提升效率。
  • -warm-up-time 1:预热时间设置为 1 秒。
  • -silent:启用安静模式。
  • -nmap-cli:调用 Nmap 进行更深入的服务识别,并保存扫描结果。

➤ 为什么这里选用完整 CONNECT 扫描而不是 SYN 扫描?

在端口扫描中,SYN 扫描 通常更高效,因为它通过忽略 TCP 三次握手的后续步骤减少了数据包的交互,从而提高扫描速度。然而,在某些场景下,完整的 CONNECT 扫描 更为适合。这是因为:

  1. 资源开销:尽管 SYN 扫描发送的数据包更少,但由于它需要保持半开连接状态,关闭套接字可能消耗更多资源。
  2. 稳定性:某些环境中,半开连接可能触发防火墙或 IDS 的拦截,而完整的 CONNECT 扫描更易于绕过这些限制。
  3. 实测结果:经过多次测试,完整 CONNECT 扫描在某些情况下花费的时间更短。这可能与操作系统在管理半开连接和关闭资源时的机制有关。

总结:选择扫描模式需要结合实际测试场景。一般情况下,可优先尝试 SYN 扫描;若存在误报或性能瓶颈,可切换为 CONNECT 扫描。


图形化工具推荐

对于更直观、综合的操作体验,图形化工具是不错的选择。目前市面上有非常多优秀的图形化GUI工具,以下是几款我个人常用的工具:

1. TscanPlus (无影)

功能特点:

  • 综合性网络安全检测工具,支持快速资产发现和漏洞检测。
  • 构建基础资产信息库,标识薄弱点和高危资产。
  • 更新频率高,扫描耗时短,资产发现率高。
  • 支持数据导出,结果可读性良好。

GitHub 地址:https://github.com/TideSec/TscanPlus

2. Goby

功能特点:

  • 攻击面绘测及自动化漏洞扫描工具。
  • 预置丰富漏洞库(超过 10 万种规则),支持硬件设备和软件业务系统识别。
  • 构建完整资产数据库,适合安全应急场景。
  • 扫描速度稍慢,但覆盖范围全面。

下载地址:https://gobysec.net/

3. Mitan (密探)

功能特点:

  • 基于 Java 开发的综合信息收集工具,整合多种功能接口。
  • 支持资产信息收集、IP 端口查询、子域名爆破、文件扫描等功能。
  • 操作简单,适合渗透测试和日常信息收集。

GitHub 地址:https://github.com/kkbo8005/mitan

4. TangGo

功能特点:

  • 国产化综合测试平台,基于实战经验开发,适合 Web 安全测试和评估。
  • 提供 SYN 扫描模式,速度快(2 小时内完成),适合快速扫描。
  • 支持 TCP 扫描模式,扫描更全面且结果更准确。
  • 集成多种功能插件,但社区版功能有限。

下载地址:https://tanggo.nosugar.tech/


小结

本文介绍的这些工具各具特色,大家可根据实际需求选择合适的工具组合使用。在操作中,推荐结合命令行工具与图形化工具的优势,构建高效的扫描和信息收集流程。

思考点:

  • 哪些图形化工具可以与命令行工具更好地集成使用?
  • 如何在大规模扫描中平衡结果的准确性与效率?

欢迎在评论区分享你使用这些工具的心得!

原文 https://blog.csdn.net/2301_79518550/article/details/143816918