当前位置: 首页 > news >正文

渗透测试信息收集步骤与工具详解

我们来详细解析渗透测试中最为关键的第一步:信息收集。这个过程也被称为“踩点”或“侦查”,其核心在于在不触发目标防御系统的情况下,尽可能多地收集关于目标的信息

信息收集做得越充分,后续渗透测试的成功率就越高。它就像战争前的侦察,知己知彼,方能百战不殆。

信息收集通常分为两个阶段:被动信息收集主动信息收集


一、被动信息收集

定义:不直接与目标系统交互,而是通过第三方渠道获取信息。这种方式隐蔽性极高,几乎不会被目标察觉。

目标:获取目标的IP地址段、域名、子域名、邮箱、员工信息、技术架构(使用的技术栈)、公开文件等。

主要步骤与工具详解

  1. 域名信息收集

    • Whois查询:获取域名注册信息,如注册人、联系方式、邮箱、DNS服务器、注册日期和过期日期等。

      • 工具

        • 在线网站whois.domaintools.comwhois.icann.org

        • 系统命令whois example.com (Linux/Windows)

    • DNS信息查询

      • 记录类型

        • A记录:域名对应的IP地址。

        • MX记录:邮件服务器地址。

        • CNAME记录:域名别名。

        • TXT记录:文本记录,常用于SPF(反垃圾邮件)或验证域名所有权。

      • 工具

        • dig (命令行):dig example.com ANY @8.8.8.8 (向DNS服务器8.8.8.8查询任何记录)

        • nslookup (命令行):nslookup -type=ANY example.com

        • 在线工具viewdns.infomxtoolbox.com

  2. 子域名发现

    • 重要性:主站防御严密,但其子域名(如test.example.comadmin.example.com)可能防护薄弱,是很好的突破口。

    • 工具

      • 被动枚举

        • VirusTotal:提供子域名关联数据。

        • Censys / Shodan:搜索引擎,可查找同一证书或同一IP段的子域名。

        • 证书透明度日志:证书颁发机构会公开SSL/TLS证书日志,其中常包含子域名。工具:crt.shcensys.io

      • 字典爆破:使用字典暴力猜解可能的子域名。

        • 工具subfinderamass (功能强大), Sublist3roneforall

        • 字典:强大的字典是关键,如subbrutefierce自带的字典。

  3. 公司信息与员工邮箱收集

    • 目的:为社会工程学攻击(如钓鱼邮件)做准备。

    • 方法

      • 公司官网:“关于我们”、“团队介绍”等板块。

      • LinkedIn:搜索目标公司员工。

      • 搜索引擎:使用Google Hacking语法,如site:example.com email

      • 工具theHarvester:可从Google, Bing, LinkedIn等多个公开源收集邮箱、子域名、主机名。

        • 命令:theHarvester -d example.com -l 500 -b google

  4. 搜索引擎利用(Google Hacking)

    • 定义:使用Google等搜索引擎的高级语法来查找敏感文件、目录或信息。

    • 常用语法

      • site:example.com:只搜索指定网站。

      • filetype:pdf:搜索指定文件类型。

      • intitle:"index of":查找目录遍历漏洞。

      • inurl:/admin/login.php:查找后台登录页面。

      • ext:php | ext:bak:查找备份文件。

    • 工具Google 本身是最佳工具。也可以使用自动化脚本集合如GHDB (Google Hacking Database)。


二、主动信息收集

定义:直接与目标系统交互,从而获取信息。这种方式会产生流量记录,有被检测到的风险。

目标:获取目标的真实IP(绕过CDN)、开放端口、运行的服务、操作系统版本、网络拓扑结构等。

主要步骤与工具详解

  1. 网络拓扑发现(绕过CDN)

    • 目的:找到网站的真实IP地址,而不是CDN节点的IP。

    • 方法

      • 查询历史DNS记录:网站可能之前没有使用CDN。工具:viewdns.info

      • 查询全球DNS:不同地区解析的IP可能不同。工具:whatsmydns.net

      • SSL证书匹配:通过censys.ioshodan.io搜索目标的SSL证书,可能找到使用相同证书的真实IP。

      • 子域名查询:很多子域名可能没有接入CDN,直接指向真实IP。

  2. 端口扫描

    • 重要性:了解目标开放了哪些通往外部世界的“大门”,以及门后运行着什么服务。

    • 神器:Nmap (Network Mapper)

      • 基本扫描nmap -sS -sV -O -A <target_ip>

        • -sS:TCP SYN扫描(半开扫描,速度快且隐蔽)。

        • -sV:版本探测,识别服务版本。

        • -O:操作系统探测。

        • -A:全面扫描,包含版本、OS、脚本扫描等信息。

      • 全端口扫描nmap -p 1-65535 <target_ip> (默认只扫描1000个常用端口)

      • 脚本扫描nmap --script=<script_name> <target_ip>,Nmap拥有强大的脚本引擎(NSE),可用于漏洞检测、漏洞利用等。

    • 其他工具Masscan(速度极快,适合大范围扫描),Zenmap(Nmap的图形化界面)。

  3. 服务识别与漏洞探测

    • 目的:确定端口上运行服务的具体版本,并寻找已知漏洞。

    • 工具

      • Nmap:如上所述,-sV参数可以有效地识别服务。

      • Banner抓取:使用NetcatTelnet手动连接端口,查看服务返回的Banner信息。

        • 命令:nc -nv <target_ip> 80,然后输入HEAD / HTTP/1.0

      • 专用扫描器NessusOpenVAS(开源)是专业的漏洞扫描器,能自动识别服务并匹配CVE漏洞。

  4. 网站目录与文件发现

    • 目的:寻找隐藏的目录、敏感文件(如备份文件、配置文件、管理员后台等)。

    • 工具

      • 字典爆破

        • DirBuster (图形化,老牌)

        • Dirsearch (命令行,速度快)

        • gobuster (命令行,用Go编写,高效)

        • 命令:gobuster dir -u http://example.com -w /path/to/wordlist.txt

      • 爬虫Burp Suite 的爬虫功能可以很好地映射应用程序的内容和功能。

  5. WAF识别

    • 目的:判断目标是否受到WAF(Web应用防火墙)的保护。如果存在,后续的Web攻击测试需要调整策略以绕过WAF。

    • 工具

      • WAFW00F:命令行工具,专门用于检测和识别WAF。

        • 命令:wafw00f http://example.com

      • 手动检测:发送恶意请求(如../../etc/passwd),观察响应是否被WAF拦截。


总结:信息收集流程与工具选择建议

阶段目标推荐工具
被动收集域名、子域名、邮箱、公司架构whoisdigtheHarvestersubfinderAmass, Google Hacking
主动收集真实IP、开放端口、服务版本NmapMasscanNetcat
Web侦查目录结构、敏感文件、WAF、技术栈gobusterDirsearchWAFW00FWhatWebBurp Suite

流程建议

  1. 明确范围:确认测试的目标域名、IP段。

  2. 被动先行:首先进行全面的被动信息收集,绘制目标外部轮廓。

  3. 主动验证:利用主动收集技术,验证被动收集到的信息(如子域名是否存活,IP是否正确),并探测更深层次的信息(如端口、服务)。

  4. 重点深入:对发现的关键资产(如官网、邮件系统、对外开放的服务)进行重点深入的扫描和分析。

  5. 持续整理:使用笔记工具(如KeepNoteOneNoteObsidian)或协作平台及时整理和归档信息,形成清晰的情报报告,为后续的漏洞分析和渗透攻击阶段打下坚实基础。

记住,信息收集不是一次性的任务,而是一个在整个渗透测试过程中都需要持续进行的活动。


文章转载自:

http://Ad9zhRJ5.xLtwg.cn
http://mzUNDUWd.xLtwg.cn
http://emXWqC4C.xLtwg.cn
http://AwtvC4ap.xLtwg.cn
http://ISABCxpj.xLtwg.cn
http://LKhjkEtj.xLtwg.cn
http://uomT4vUM.xLtwg.cn
http://oDYiEAnD.xLtwg.cn
http://9v8x8hAa.xLtwg.cn
http://dsfA6tVu.xLtwg.cn
http://nPu7sahG.xLtwg.cn
http://jU0z9foP.xLtwg.cn
http://q1w9O4wD.xLtwg.cn
http://tJ5lJylI.xLtwg.cn
http://d3DpazWo.xLtwg.cn
http://A6qol2q2.xLtwg.cn
http://FceHhiY3.xLtwg.cn
http://Qterbp4l.xLtwg.cn
http://YjeELHQb.xLtwg.cn
http://Dddnwrna.xLtwg.cn
http://8w7kgftI.xLtwg.cn
http://dLr7Joer.xLtwg.cn
http://UqVCWHsh.xLtwg.cn
http://HB175eAU.xLtwg.cn
http://tOTIOugW.xLtwg.cn
http://bjKLCW90.xLtwg.cn
http://Yl9SpdtX.xLtwg.cn
http://FpAZQufX.xLtwg.cn
http://k3b2w1S8.xLtwg.cn
http://JOByPJCn.xLtwg.cn
http://www.dtcms.com/a/374926.html

相关文章:

  • #C语言——刷题攻略:牛客编程入门训练(十):攻克 循环控制(二),轻松拿捏!
  • 乐吾乐大屏可视化组态软件【SQL数据源】
  • 打工人日报#20250909
  • PyTorch中的flatten操作详解:从start_dim=1说起
  • 上网行为审计软件应该如何选择?适配图书馆管理的上网行为审计软件推荐
  • 计算机网络第五章(1)——传输层(概念 + UDP)
  • AI 时代,我们是否应该重温极限编程?
  • Protobuf 新版“调试表示为什么有链接?为什么会打码?我该怎么改代码?
  • php 使用html 生成pdf word wkhtmltopdf 系列1
  • vcsa6.0 升级6.7
  • python中的深拷贝与浅拷贝详细介绍
  • 【Java】Hibernate二级缓存下
  • R 包的管理涉及两个概念:二进制包的下载缓存位置和包的最终安装位置。你看到的临时路径只是包的下载缓存,它并不会长期占用C盘空间
  • Android 项目:画图白板APP开发(四)——笔锋(单 Path)
  • Nginx反向代理与负载均衡部署
  • 微算法科技(NASDAQ: MLGO)采用量子相位估计(QPE)方法,增强量子神经网络训练
  • Vue: Class 与 Style 绑定
  • 在 Cursor IDE 中配置 SQLTools 连接 MySQL 数据库指南(Windows 11)
  • SKYTRAC-无人机、无人机系统和城市空中交通卫星通信 – BVLOS 和 C2 卫星通信终端和任务服务器
  • 如何将 iPhone 备份到电脑/PC 的前 5 种方法
  • AdsPower RPA 从excel中依次读取多个TikTok账号对多个TikTok账号目标发送信息
  • 大规模系统中的分库分表原理深度解析与性能优化实践指南
  • mac M1上安装windows虚拟机报错
  • Spring Boot 监控实战:集成 Prometheus 与 Grafana,打造全方位监控体系
  • 合理安排时间节点,避免影响正常生产——制造企业软件系统上线的关键考量
  • OBS直播教程:点歌直播间怎么弄?直播点歌用什么软件?
  • Apache Cloudberry 2.0.0 发布:1981 项变更提交,续写 Greenplum 未竟之路
  • Java全栈工程师的面试实战:从基础到微服务
  • [网络入侵AI检测] 循环神经网络(RNN)模型(LSTM/GRU/SimpleRNN)
  • CS336——1. Overview