渗透测试信息收集详解

我们来详细解析一下渗透测试中信息收集(Information Gathering)的完整内容、步骤及工具方法。信息收集是整个渗透测试的基石,其深度和广度直接决定了后续测试的成功率,因此有“渗透测试成功与否,90%取决于信息收集”的说法。


一、信息收集的核心目标

  1. 绘制攻击面:尽可能全面地发现与目标相关的所有资产(域名、IP、子域名、端口、服务、人员等)。

  2. 缩小攻击范围:从海量信息中识别出关键、脆弱、易受攻击的点,为后续深度测试提供方向。

  3. 建立目标画像:了解目标的技术栈、组织结构、安全态势,甚至员工习惯,以便发起更具针对性的攻击(如钓鱼攻击)。


二、信息收集的分类与步骤

信息收集通常分为两大类:被动信息收集主动信息收集。标准的流程是先进行被动收集,再进行主动收集,以避免过早触发目标的入侵检测系统(IDS/IPS)。

步骤一:被动信息收集(Passive Reconnaissance)
  • 定义:在不与目标系统直接交互的情况下,通过第三方渠道获取信息。目标无法感知到你的探测行为,因此非常隐蔽。

  • 核心原则:所有信息都来自公开渠道或第三方数据库,不向目标发送任何数据包。

步骤二:主动信息收集(Active Reconnaissance)
  • 定义:直接与目标资产进行交互,以获取更详细、更准确的信息。这种行为会被目标的监控设备(如防火墙、IDS)日志记录,存在被发现的风险。

  • 核心原则:在获得授权的前提下进行,并且通常是在被动信息收集之后,用于验证和深化已知信息。


三、信息收集的详细内容与方法

下面我们按照从外围到核心的顺序,详解信息收集的具体内容和所用工具方法。

1. 初始信息收集(Initial Discovery)
  • 内容:明确测试范围。如果目标是公司,首先要确定其官方域名、子公司、收购公司等。

  • 方法

    • 公司官网:了解业务、产品、新闻(如使用了新的CMS系统)。

    • 搜索引擎(Google Hacking):使用Google高级搜索语法(如 site:target.com filetype:pdfinurl:adminintitle:"index of /")查找敏感文件、目录、错误信息等。

    • 社交媒体(LinkedIn, GitHub):在LinkedIn上寻找员工技术栈信息;在GitHub上搜索员工误上传的代码、配置文件、API密钥等敏感信息。

    • 第三方商情平台(如天眼查、企查查):了解组织架构、子公司、投资关系,从而扩大目标范围。

2. 域名系统(DNS)信息收集
  • 内容:获取所有关联的域名和子域名,以及对应的IP地址。

  • 方法与工具

    • WHOIS查询:获取域名注册信息(注册人、邮箱、电话、DNS服务器)。

      • 工具whois 命令、在线WHOIS网站(如 whois.domaintools.com)。

    • 子域名枚举(Subdomain Enumeration):这是最关键的一步,旨在发现主域名下的所有子域名(如 dev.target.comapi.target.com)。

      • 工具

        • 被动枚举Sublist3rAmassSubfinder(通过搜索引擎、证书透明度日志、DNS聚合商等第三方数据源获取)。

        • 字典爆破gobusterffufdnsrecon(使用强大的字典进行暴力猜解)。

        • 证书透明度(CT)日志crt.sh 网站是宝藏,可以查询到为某个域名签发的所有SSL证书,从而发现子域名。

    • DNS记录查询:获取A, AAAA, MX(邮件服务器), TXT, SPF, DMARC, CNAME等记录。

      • 工具dignslookupdnsrecon

      • 在线工具:DNSDumpster。

3. 网络拓扑与IP发现
  • 内容:确定目标的IP地址段、网络架构(CDN?云服务器?)、真实的服务器IP(绕过CDN)。

  • 方法与工具

    • 判断CDN:通过多地Ping(如 www.boce.com)查看IP是否一致。

    • 查找真实IP

      • 查询历史DNS记录(如 SecurityTrails, ViewDNS)。

      • 查询子域名的IP(很多子域名可能直接解析到真实IP)。

      • 通过邮件服务器源头(发送一封邮件,查看邮件头中的服务器IP)。

      • 利用SSL证书信息(censys.ioshodan.io)。

    • IP段查询:通过 arin.net(北美)或 apnic.net(亚太)等RIR查询目标拥有的ASN(自治系统号)和IP地址段。

4. 端口扫描(Port Scanning)
  • 内容:发现目标IP开放了哪些端口,从而判断运行了哪些服务。

  • 方法与工具

    • 全连接扫描nmap -sT <target_ip>(准确但易被记录)。

    • 半开扫描(SYN扫描)nmap -sS <target_ip>(默认方式,更快更隐蔽)。

    • 服务与版本探测nmap -sV <target_ip>(尝试识别端口上运行服务的具体版本)。

    • 操作系统探测nmap -O <target_ip>(通过指纹识别目标OS)。

    • 详细脚本扫描nmap -A <target_ip>(综合扫描,包含版本、OS、脚本等)或使用NSE脚本 nmap --script=<script-name>

    • Masscan:最快的端口扫描器,适用于大范围IP段扫描。

5. 服务指纹识别与漏洞枚举
  • 内容:准确识别开放端口上运行的服务、应用、版本号,并查找已知的漏洞或错误配置。

  • 方法与工具

    • Banner Grabbing:使用 netcat 或 telnet 直接连接端口获取服务横幅信息。

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

    • 漏洞扫描器NessusOpenVAS(自动化程度高,但噪音大,需谨慎使用)。

    • 专项工具

      • Web服务器WhatWebWappalyzer(浏览器插件,识别Web技术栈)。

      • SMB共享enum4linuxsmbclient

      • SNMP服务snmpwalkonesixtyone

6. Web应用信息收集(如果存在Web服务)
  • 内容:这是针对Web渗透测试的重点,收集一切与Web相关的信息。

  • 方法与工具

    • 目录与文件发现:使用字典爆破隐藏的目录和文件(如后台、备份文件、配置文件)。

      • 工具gobusterdirbdirsearchffuf

      • 字典SecLists 项目提供了优秀的字典集合。

    • 爬取网站OWASP ZAPBurp Suite 的蜘蛛功能。

    • 分析技术栈Wappalyzer 识别前端框架、Web服务器、编程语言等。

    • 查找参数:从JavaScript文件中挖掘API接口、隐藏参数。

    • 检查安全头:如 X-Frame-OptionsCSPHSTS 等是否存在缺失或错误配置。

    • 虚拟主机扫描gobuster vhost

7. 其他信息收集
  • 人员信息:为社工钓鱼做准备,收集邮箱(theHarvester)、姓名、职位、社交动态。

  • 公开漏洞情报:在 Exploit-DB, GitHub, NVD 等平台搜索已公开的目标相关组件的漏洞和EXP。


四、工具总结清单

类别工具名称主要用途
子域名枚举Sublist3r, Amass, Subfinder, Assetfinder被动子域名发现
Gobuster, ffuf, dnsrecon暴力破解子域名
crt.sh证书透明度日志查询
DNS查询dig, nslookup, dnsrecon各类DNS记录查询
端口扫描Nmap (王者)综合端口扫描、版本探测、OS识别
Masscan高速端口扫描
Netcat (nc)网络瑞士军刀,手动Banner抓取
Web应用扫描Burp Suite (Professional)代理、爬虫、漏洞扫描(全能)
OWASP ZAPBurp的免费替代品,功能强大
Gobuster, dirsearch, ffuf目录/文件/子域名/VHost爆破
WhatWeb, WappalyzerWeb应用指纹识别
浏览器开发者工具手动分析请求、响应、JS文件
综合情报平台Shodan搜索引擎 for 物联网设备
Censys类似Shodan
FOFA国内的网络空间测绘引擎
ZoomEye知道创宇的网络空间测绘引擎
其他theHarvester搜索邮箱、主机名、子域名
Metasploit (辅助模块)集成了多种信息收集功能
SearchSploit搜索Exploit-DB中的漏洞利用代码
SecLists伟大的字典集合,不是工具但至关重要

五、最佳实践与注意事项

  1. 授权第一:始终在获得书面授权的前提下进行测试,明确测试范围(哪些IP/域名可以测,哪些绝对不能碰)。

  2. 先被动,后主动:最大程度减少对目标的影响和被发现的风险。

  3. 记录一切:使用工具(如 KeepNoteDradis)或笔记详细记录每一步的发现,这些信息在后续阶段和报告编写中至关重要。

  4. 自动化与手动结合:自动化工具提高效率,但手动分析才能发现逻辑更深层的漏洞和关键信息。不要完全依赖工具。

  5. 持续进行:信息收集并非一次性阶段,在整个渗透测试过程中,根据新发现可能需要不断回头进行更深入的信息收集。

信息收集是一个需要耐心、创造力和细致心态的过程。掌握得越熟练,你就越能像攻击者一样思考,从而更好地帮助客户防御真正的威胁。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/96382.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/96382.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kafka面试精讲 Day 16:生产者性能优化策略

【Kafka面试精讲 Day 16】生产者性能优化策略 在“Kafka面试精讲”系列的第16天&#xff0c;我们将聚焦于生产者性能优化策略。这是Kafka中极为关键的技术点&#xff0c;也是大厂面试中的高频考点——尤其是在涉及高并发数据写入、日志采集、实时数仓等场景时&#xff0c;面试…

深入解析AI温度参数:控制文本生成的随机性与创造性

引言 在人工智能飞速发展的今天&#xff0c;文本生成模型如GPT系列已经成为内容创作、代码编写、对话系统等领域的核心工具。然而&#xff0c;许多用户在使用这些模型时&#xff0c;可能会发现输出结果有时过于保守和重复&#xff0c;有时又过于天马行空而缺乏连贯性。这背后其…

20250912在荣品RD-RK3588-MID开发板的Android13系统下在接电脑的时候禁止充电

20250912在荣品RD-RK3588-MID开发板的Android13系统下在接电脑的时候禁止充电 2025/9/12 10:21缘起&#xff1a;某人的电脑接荣品RD-RK3588-MID开发板的时候做APK开发板的时候&#xff0c;通过Android Studio连接荣品RD-RK3588-MID开发板。 经常断联/时断时续。投诉了/抱怨了好…

Unity Addressable System 本地服务器功能验证

1.从Package Manger里安装Addressable 注意这里有Addressables和Addressables两个包&#xff0c;前者是核心框架&#xff0c;处理跨平台通用逻辑&#xff0c;比如用 地址&#xff08;Address&#xff09;来异步加载、卸载资源&#xff1b;自动做引用计数&#xff0c;避免资源泄…

碎片化采购是座金矿:数字化正重构电子元器件分销的价值链

在电子元器件的分销江湖里&#xff0c;长期存在着一条隐秘的“鄙视链”&#xff1a;订单金额大、需求稳定的头部客户是众星捧月的“香饽饽”&#xff0c;而需求碎片化、品类繁多的小微企业长尾订单&#xff0c;则常被视作食之无味、弃之可惜的“鸡肋”。行业固有认知告诉我们&a…

Typescript - 通俗易懂的 interface 接口,创建接口 / 基础使用 / 可选属性 / 只读属性 / 任意属性(详细教程)

前言 在面向对象语言中&#xff0c;接口是一个很重要的概念&#xff0c;它是对行为的抽象&#xff0c;而具体如何行动需要由类去实现。 TypeScript 中的接口是一个非常灵活的概念&#xff0c;除了可用于 对类的一部分行为进行抽象 以外&#xff0c;也常用于对「对象的形状&…

【硬件-笔试面试题-92】硬件/电子工程师,笔试面试题(知识点:米勒效应,米勒平台)

题目汇总版--链接&#xff1a; 【硬件-笔试面试题】硬件/电子工程师&#xff0c;笔试面试题汇总版&#xff0c;持续更新学习&#xff0c;加油&#xff01;&#xff01;&#xff01;-CSDN博客 【硬件-笔试面试题-92】硬件/电子工程师&#xff0c;笔试面试题&#xff08;知识点…

C语言深度入门系列:第十一篇 - 动态内存管理与数据结构:程序世界的高效算法大师

C语言深度入门系列&#xff1a;第十一篇 - 动态内存管理与数据结构&#xff1a;程序世界的高效算法大师 本章目标 本章将深入探讨C语言中的动态内存管理和经典数据结构实现&#xff0c;这是从基础编程迈向算法工程师的关键一步。您将掌握内存的精确控制、理解各种数据结构的本质…

Go 语言开发环境安装与 GOPROXY 镜像配置(含依赖管理与版本切换技巧)

在国内搭建 Go 开发环境的最大障碍不是“怎么装”&#xff0c;而是“下不动”。本文是我在多台 Windows / macOS / Linux 机器上踩坑后的整合笔记&#xff1a;用最稳妥的安装方式 合理的镜像配置 一套通吃的依赖/版本管理流程&#xff0c;把速度、稳定性和可维护性一次性解决…

崔传波教授:以科技与人文之光,点亮近视患者的清晰视界‌

崔传波教授&#xff1a;以科技与人文之光&#xff0c;点亮近视患者的清晰视界‌在临沂新益民眼科医院&#xff0c;有这样一位眼科医师——他不仅是近视矫正领域的专家&#xff0c;更是“金视青春之光手术”的研发倡导者。‌崔传波教授‌以其深厚的学术功底、创新的技术理念和以…

如何写过滤条件wrapper的使用

模糊查询 &#xff1a;功能是&#xff1a;查询 WORK_NUM 字段包含 ${workOrder.workNum} 的记录。<if test"workOrder.workNum ! null and workOrder.workNum ! ">and b.WORK_NUM like CONCAT(%,CONCAT(#{workOrder.workNum},%)) </if>一、比较条件方法示…

【Spring Boot 报错已解决】彻底解决 “Main method not found in class com.xxx.Application” 报错

文章目录引言一、问题描述1.1 报错示例1.2 报错分析1.3 解决思路二、解决方法2.1 方法一&#xff1a;添加标准的main方法2.2 方法二&#xff1a;检查main方法的定义是否规范2.3 方法三&#xff1a;检查主类的位置是否正确2.4 方法四&#xff1a;重新构建项目并清理缓存三、其他…

配置自签证书多域名的动态网站+部署http的repo仓库+基于nfs与yum仓库的http部署

1.配置自签证书多域名的动态网站1.1配置自签证书1.1.1配置仓库[rootapache ~]# vim /etc/yum.repos.d/epel.repo [epel] nameepel baseurlhttps://mirrors.aliyun.com/epel/9/Everything/x86_64/ gpgcheck0 1.1.2安装easy-rsa工具(用于生成和…

【开题答辩全过程】以 12306候补购票服务系统为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人&#xff0c;语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…

计算机毕业设计 基于深度学习的酒店评论文本情感分析研究 Python毕业设计项目 Hadoop毕业设计选题 机器学习选题【附源码+文档报告+安装调试】

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python、大数据、人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&…

嵌入式第五十二天(GIC,协处理器,异常向量表)

一.GICGIC&#xff08;Generic Interrupt Controller&#xff0c;通用中断控制器&#xff09; 是ARM架构中管理系统中断的核心组件&#xff0c;负责接收、优先级排序、分发中断信号给处理器核心。其核心功能和关键版本如下&#xff1a;核心功能1. 中断接收与分发&#xff1a;接…

基于hiprint的票据定位打印系统开发实践

基于hiprint的票据定位打印系统开发实践 在日常的Web开发中&#xff0c;我们经常需要实现打印功能&#xff0c;特别是对于票据、标签等需要精确排版的打印需求。今天我将分享一个基于hiprint插件实现的票据定位打印系统&#xff0c;重点介绍如何实现单行打印、批量打印以及金额…

Android ScrollView嵌套RecyclerView 导致RecyclerView数据展示不全问题

Android RecyclerView 数据展示不全问题&#xff08;ScrollView→NestedScrollView 修复&#xff09; 一、问题核心现象 布局初始结构&#xff1a;外层用ScrollView包裹包含两个CustomBlogCardView&#xff08;内部均含RecyclerView&#xff09;的LinearLayout。 异常表现&…

AI助力数学学习,轻松掌握知识点!

小伙伴们&#xff0c;今天我们来利用AI辅助数学学习&#xff0c;将数学题目提交给AI,经过分析后给出相应的解题思路和知识点分析。现在有了AI这个"智能小老师"&#xff0c;学习变得更轻松&#xff01;只需把题目交给它&#xff0c;AI就能快速分析题目类型&#xff0c…

AI-调查研究-76-具身智能 当机器人走进生活:具身智能对就业与社会结构的深远影响

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; AI炼丹日志-31- 千呼万唤始出来 GPT-5 发布&#xff01;“快的…