信息搜集-网络版
介绍
网络侦察的主要目标包括:
Identifying Assets
:揭示目标所有可公开访问的组件,例如网页、子域名、IP 地址以及所使用的技术。此步骤可全面概述目标的在线状态。Discovering Hidden Information
:查找可能无意中泄露的敏感信息,包括备份文件、配置文件或内部文档。这些发现可以揭示宝贵的洞察信息和潜在的攻击切入点。Analysing the Attack Surface
:检查目标的攻击面,以识别潜在的漏洞和弱点。这包括评估所使用的技术、配置以及可能的攻击切入点。Gathering Intelligence
:收集可用于进一步利用或进行社会工程攻击的信息。这包括识别可能被利用的关键人员、电子邮件地址或行为模式。
主动侦察
在主动侦察中,攻击者directly interacts with the target system
会收集信息。这种互动可以采取多种形式:
技术 | 描述 | 例子 | 工具 | 检测风险 |
---|---|---|---|---|
Port Scanning |
识别目标上运行的开放端口和服务。 | 使用 Nmap 扫描 Web 服务器的开放端口,如 80(HTTP)和 443(HTTPS)。 | Nmap、Masscan、Unicornscan | 高:与目标直接互动可以触发入侵检测系统 (IDS) 和防火墙。 |
Vulnerability Scanning |
探测目标是否存在已知漏洞,例如过时的软件或错误配置。 | 针对 Web 应用程序运行 Nessus 来检查 SQL 注入缺陷或跨站点脚本 (XSS) 漏洞。 | Nessus、OpenVAS、Nikto | 高:漏洞扫描程序发送安全解决方案可以检测到的漏洞负载。 |
Network Mapping |
映射目标的网络拓扑,包括连接的设备及其关系。 | 使用 traceroute 确定数据包到达目标服务器的路径,揭示潜在的网络跳数和基础设施。 | 跟踪路由,Nmap | 中到高:过多或异常的网络流量可能会引起怀疑。 |
Banner Grabbing |
从目标上运行的服务显示的横幅中检索信息。 | 连接到端口 80 上的 Web 服务器并检查 HTTP 横幅以识别 Web 服务器软件和版本。 | Netcat,curl | 低:横幅抓取通常涉及最少的交互,但仍可被记录。 |
OS Fingerprinting |
识别目标上运行的操作系统。 | 使用 Nmap 的操作系统检测功能 ( -O ) 来确定目标是否正在运行 Windows、Linux 或其他操作系统。 |
Nmap、Xprobe2 | 低:操作系统指纹识别通常是被动的,但可以检测到一些先进的技术。 |
Service Enumeration |
确定在开放端口上运行的服务的具体版本。 | 使用 Nmap 的服务版本检测(-sV )来确定 Web 服务器是否正在运行 Apache 2.4.50 或 Nginx 1.18.0。 |
Nmap | 低:与横幅抓取类似,服务枚举可以被记录,但不太可能触发警报。 |
Web Spidering |
抓取目标网站以识别网页、目录和文件。 | 运行网络爬虫(如 Burp Suite Spider 或 OWASP ZAP Spider)来绘制网站结构并发现隐藏的资源。 | Burp Suite Spider、OWASP ZAP Spider、Scrapy(可定制) | 低到中:如果爬虫的行为没有经过仔细配置以模仿合法流量,则可以检测到。 |
被动侦察
相比之下,被动侦察则需要收集目标的信息without directly interacting
。这依赖于对公开信息和资源的分析,例如:
技术 | 描述 | 例子 | 工具 | 检测风险 |
---|---|---|---|---|
Search Engine Queries |
利用搜索引擎发现有关目标的信息,包括网站、社交媒体资料和新闻文章。 | 在 Google 上搜索“ [Target Name] employees ”来查找员工信息或社交媒体资料。 |
Google、DuckDuckGo、Bing 和专业搜索引擎(例如 Shodan) | 非常低:搜索引擎查询是正常的互联网活动,不太可能触发警报。 |
WHOIS Lookups |
查询 WHOIS 数据库以检索域名注册详细信息。 | 对目标域执行 WHOIS 查询以查找注册人的姓名、联系信息和名称服务器。 | whois 命令行工具,在线 WHOIS 查询服务 | 非常低:WHOIS 查询合法且不会引起怀疑。 |
DNS |
分析 DNS 记录以识别子域、邮件服务器和其他基础设施。 | 用于dig 枚举目标域的子域。 |
挖掘、nslookup、主机、dnsenum、激烈、dnsrecon | 非常低:DNS 查询对于互联网浏览至关重要,通常不会被标记为可疑。 |
Web Archive Analysis |
检查目标网站的历史快照以识别变化、漏洞或隐藏信息。 | 使用 Wayback Machine 查看目标网站的过去版本,了解它随时间的变化。 | 时光机 | 非常低:访问网站的存档版本是正常活动。 |
Social Media Analysis |
从 LinkedIn、Twitter 或 Facebook 等社交媒体平台收集信息。 | 在 LinkedIn 上搜索目标组织的员工,了解他们的角色、职责和潜在的社会工程目标。 | LinkedIn、Twitter、Facebook、专门的 OSINT 工具 | 非常低:访问公共社交媒体资料并不被视为侵入性。 |
Code Repositories |
分析 GitHub 等可公开访问的代码存储库,查找暴露的凭据或漏洞。 | 在 GitHub 上搜索与目标相关的可能包含敏感信息或代码漏洞的代码片段或存储库。 | GitHub、GitLab | 非常低:代码存储库供公众访问,搜索它们不会引起怀疑。 |
WHOIS
WHOIS 是一种广泛使用的查询和响应协议,旨在访问存储已注册互联网资源信息的数据库。WHOIS 主要与域名相关,还可以提供有关 IP 地址块和自治系统的详细信息。您可以将其视为互联网的巨型电话簿,方便您查找各种在线资产的所有者或负责人。
每个 WHOIS 记录通常包含以下信息:
Domain Name
:域名本身(例如,example.com)Registrar
:注册域名的公司(例如 GoDaddy、Namecheap)Registrant Contact
:注册域名的个人或组织。Administrative Contact
:负责管理域名的人员。Technical Contact
:处理与域名相关的技术问题的人员。Creation and Expiration Dates
:域名注册的时间以及到期时间。Name Servers
:将域名转换为 IP 地址的服务器。
DNS
Hosts文件
该hosts
文件是一个简单的文本文件,用于将主机名映射到 IP 地址,从而提供一种绕过 DNS 流程的手动域名解析方法。DNS 会自动将域名转换为 IP 地址,而该hosts
文件允许直接进行本地覆盖。这对于开发、故障排除或网站屏蔽尤其有用。
该hosts
文件位于C:\Windows\System32\drivers\etc\hosts
Windows 系统、/etc/hosts
Linux 系统和 MacOS 系统。文件中的每一行都遵循以下格式:
关键DNS概念
DNS概念 | 描述 | 例子 |
---|---|---|
Domain Name |
网站或其他互联网资源的人类可读标签。 | www.example.com |
IP Address |
分配给每个连接到互联网的设备的唯一数字标识符。 | 192.0.2.1 |
DNS Resolver |
将域名转换为 IP 地址的服务器。 | 您的 ISP 的 DNS 服务器或公共解析器(例如 Google DNS)( 8.8.8.8 ) |
Root Name Server |
DNS 层次结构中的顶级服务器。 | 全球共有13个根服务器,名为AM:a.root-servers.net |
TLD Name Server |
负责特定顶级域名(例如.com、.org)的服务器。 | Verisign为.com ,PIR为.org |
Authoritative Name Server |
保存域名实际 IP 地址的服务器。 | 通常由托管服务提供商或域名注册商管理。 |
DNS Record Types |
DNS 中存储了不同类型的信息。 | A、AAAA、CNAME、MX、NS、TXT 等。 |
记录类型 | 姓名 | 描述 | 区域文件示例 |
---|---|---|---|
A |
地址记录 | 将主机名映射到其 IPv4 地址。 | www.example.com. 在192.0.2.1 |
AAAA |
IPv6 地址记录 | 将主机名映射到其 IPv6 地址。 | www.example.com. 在 AAAA2001:db8:85a3::8a2e:370:7334 |
CNAME |
规范名称记录 | 为主机名创建别名,将其指向另一个主机名。 | blog.example.com. 在 CNAME 中webserver.example.net. |
MX |
邮件交换记录 | 指定负责处理域电子邮件的邮件服务器。 | example.com. 在 MX 10mail.example.com. |
NS |
名称服务器记录 | 将 DNS 区域委托给特定的权威名称服务器。 | example.com. 在 NSns1.example.com. |
TXT |
文字记录 | 存储任意文本信息,通常用于域验证或安全策略。 | example.com. IN TXT "v=spf1 mx -all" (SPF 记录) |
SOA |
授权记录开始 | 指定有关 DNS 区域的管理信息,包括主名称服务器、负责人的电子邮件和其他参数。 | example.com. 在 SOA 中ns1.example.com. admin.example.com. 2024060301 10800 3600 604800 86400 |
SRV |
服役记录 | 定义特定服务的主机名和端口号。 | _sip._udp.example.com. 在 SRV 10 5 5060sipserver.example.com. |
PTR |
指针记录 | 用于反向 DNS 查找,将 IP 地址映射到主机名。 | 1.2.0.192.in-addr.arpa. 在 PTRwww.example.com. |
DNS工具
工具 | 主要特点 | 用例 |
---|---|---|
dig |
多功能 DNS 查找工具,支持各种查询类型(A、MX、NS、TXT 等)和详细输出。 | 手动 DNS 查询、区域传输(如果允许)、DNS 问题故障排除以及 DNS 记录的深入分析。 |
nslookup |
更简单的 DNS 查找工具,主要用于 A、AAAA 和 MX 记录。 | 基本 DNS 查询、域名解析和邮件服务器记录的快速检查。 |
host |
简化的 DNS 查找工具,具有简洁的输出。 | 快速检查 A、AAAA 和 MX 记录。 |
dnsenum |
自动 DNS 枚举工具、字典攻击、暴力破解、区域传输(如果允许)。 | 发现子域并有效收集 DNS 信息。 |
fierce |
具有递归搜索和通配符检测功能的 DNS 侦察和子域名枚举工具。 | 用于 DNS 侦察、识别子域和潜在目标的用户友好界面。 |
dnsrecon |
结合多种DNS侦察技术,支持多种输出格式。 | 全面的 DNS 枚举,识别子域并收集 DNS 记录以供进一步分析。 |
theHarvester |
OSINT 工具从各种来源收集信息,包括 DNS 记录(电子邮件地址)。 | 从多个来源收集电子邮件地址、员工信息和与域相关的其他数据。 |
Online DNS Lookup Services |
用于执行 DNS 查找的用户友好界面。 | 快速简便的 DNS 查找,在命令行工具不可用时非常方便,可检查域可用性或基本信息 |
常用 dig 命令
命令 | 描述 |
---|---|
dig domain.com |
对域执行默认的 A 记录查找。 |
dig domain.com A |
检索与域关联的 IPv4 地址(A 记录)。 |
dig domain.com AAAA |
检索与域关联的 IPv6 地址(AAAA 记录)。 |
dig domain.com MX |
查找负责该域的邮件服务器(MX 记录)。 |
dig domain.com NS |
标识域的权威名称服务器。 |
dig domain.com TXT |
检索与域相关的任何 TXT 记录。 |
dig domain.com CNAME |
检索域的规范名称 (CNAME) 记录。 |
dig domain.com SOA |
检索域的授权起始 (SOA) 记录。 |
dig @1.1.1.1 domain.com |
指定要查询的特定名称服务器;在本例中为 1.1.1.1 |
dig +trace domain.com |
显示DNS解析的完整路径。 |
dig -x 192.168.1.1 |
对 IP 地址 192.168.1.1 执行反向查找,以查找关联的主机名。您可能需要指定名称服务器。 |
dig +short domain.com |
对查询提供简短、简洁的答案。 |
dig +noall +answer domain.com |
仅显示查询输出的答案部分。 |
dig domain.com ANY |
检索域的所有可用 DNS 记录(注意:ANY 根据RFC 8482 ,许多 DNS 服务器会忽略查询以减少负载并防止滥用)。 |
子域名
DNS区域传输
DNS 区域传输本质上是将一个区域(一个域名及其子域名)内的所有 DNS 记录从一个域名服务器复制到另一个域名服务器。
Zone Transfer Request (AXFR)
:辅助 DNS 服务器通过向主服务器发送区域传输请求来启动此过程。此请求通常使用 AXFR(完全区域传输)类型。SOA Record Transfer
:收到请求(并可能对辅助服务器进行身份验证)后,主服务器会通过发送其授权起始 (SOA) 记录进行响应。SOA 记录包含有关区域的重要信息,包括其序列号,这有助于辅助服务器确定其区域数据是否为最新。DNS Records Transmission
:然后,主服务器会将区域中的所有 DNS 记录逐一传输到辅助服务器。这包括 A、AAAA、MX、CNAME、NS 等记录,这些记录定义了域的子域、邮件服务器、名称服务器和其他配置。Zone Transfer Complete
:所有记录传输完成后,主服务器会发出区域传输结束的信号。此通知告知辅助服务器已收到区域数据的完整副本。Acknowledgement (ACK)
:辅助服务器向主服务器发送确认消息,确认已成功接收并处理区域数据。至此,区域传输过程完成。
1 | [!bash!]$ dig axfr @nsztm1.digi.ninja zonetransfer.me |
此命令指示向负责 的 DNS 服务器dig
请求完整区域传输 ( ) 。如果服务器配置错误并允许传输,您将收到该域的完整 DNS 记录列表,包括所有子域
好的,这是对所提供材料知识点的简体中文总结。
虚拟主机
虚拟主机(VHost)是一种网络服务器(如 Apache, Nginx)技术,它允许在单一服务器和单一IP地址上托管多个不同的网站或应用程序。Web服务器通过检查每个传入HTTP请求中的Host
头信息,来判断用户想要访问的是哪个网站,然后返回相应的内容。
爬虫
网络爬虫会跟踪从一个页面到另一个页面的链接,收集信息。这些爬虫本质上是使用预定义算法来发现和索引网页的机器人,使它们可以通过搜索引擎访问,或用于数据分析和网络侦察等其他目的。
网络爬虫的基本操作简单易懂,但功能强大。它从种子 URL 开始,也就是要抓取的初始网页。爬虫会抓取该网页,解析其内容,并提取所有链接。然后,它会将这些链接添加到队列中并进行抓取,并不断重复此过程。根据其范围和配置,爬虫可以探索整个网站,甚至大部分网页。
robots.txt
从技术上讲,robots.txt
它是一个简单的文本文件,放置在网站的根目录中(例如www.example.com/robots.txt
)。它遵循 Robots 排除标准,该标准规定了网络爬虫在访问网站时的行为准则。该文件包含以“指令”形式提供的说明,告知机器人哪些部分可以抓取,哪些部分不能抓取。
搜索引擎
运算符
操作员 | 操作符描述 | 例子 | 示例说明 |
---|---|---|---|
site: |
将结果限制在特定的网站或域内。 | site:example.com |
查找 example.com 上所有可公开访问的页面。 |
inurl: |
查找 URL 中含有特定术语的页面。 | inurl:login |
在任何网站上搜索登录页面。 |
filetype: |
搜索特定类型的文件。 | filetype:pdf |
查找可下载的 PDF 文档。 |
intitle: |
查找标题中含有特定术语的页面。 | intitle:"confidential report" |
查找标题为“机密报告”或类似名称的文件。 |
intext: 或者inbody: |
在页面正文中搜索某个术语。 | intext:"password reset" |
识别包含术语“密码重置”的网页。 |
cache: |
显示网页的缓存版本(如果有)。 | cache:example.com |
查看 example.com 的缓存版本以查看其以前的内容。 |
link: |
查找链接到特定网页的页面。 | link:example.com |
识别链接到 example.com 的网站。 |
related: |
查找与特定网页相关的网站。 | related:example.com |
发现与 example.com 类似的网站。 |
info: |
提供有关网页的信息摘要。 | info:example.com |
获取有关 example.com 的基本详细信息,例如其标题和描述。 |
define: |
提供单词或短语的定义。 | define:phishing |
从各种来源获取“网络钓鱼”的定义。 |
numrange: |
搜索特定范围内的数字。 | site:example.com numrange:1000-2000 |
查找 example.com 上包含 1000 到 2000 之间的数字的页面。 |
allintext: |
查找正文中包含所有指定词语的页面。 | allintext:admin password reset |
搜索正文中同时包含“管理员”和“密码重置”的页面。 |
allinurl: |
查找包含 URL 中所有指定单词的页面。 | allinurl:admin panel |
查找 URL 中带有“admin”和“panel”的页面。 |
allintitle: |
查找标题中包含所有指定单词的页面。 | allintitle:confidential report 2023 |
搜索标题中包含“机密”、“报告”和“2023”的页面。 |
AND |
通过要求所有术语都存在来缩小结果范围。 | site:example.com AND (inurl:admin OR inurl:login) |
在 example.com 上专门查找管理或登录页面。 |
OR |
通过包含任何术语的页面来扩大搜索结果。 | "linux" OR "ubuntu" OR "debian" |
搜索提及 Linux、Ubuntu 或 Debian 的网页。 |
NOT |
排除包含指定术语的结果。 | site:bank.com NOT inurl:login |
查找 bank.com 上的页面(不包括登录页面)。 |
* (通配符) |
代表任意字符或单词。 | site:socialnetwork.com filetype:pdf user* manual |
在 socialnetwork.com 上搜索 PDF 格式的用户手册(用户指南、用户手册)。 |
.. (范围搜索) |
查找指定数值范围内的结果。 | site:ecommerce.com "price" 100..500 |
在电子商务网站上寻找价格在 100 到 500 之间的产品。 |
" " (引号) |
搜索精确的短语。 | "information security policy" |
查找提及确切短语“信息安全政策”的文档。 |
- (减号) |
从搜索结果中排除术语。 | site:news.com -inurl:sports |
在 news.com 上搜索新闻文章,但不包括体育相关内容。 |