1. DNS解析详细步骤
DNS(域名系统)解析的步骤可以分为以下几个阶段:
-
本地缓存查询:
- 当你输入一个域名(例如
www.example.com
)时,操作系统会首先检查本地缓存(例如操作系统缓存或浏览器缓存)中是否已有该域名的DNS记录。如果缓存中存在有效记录,则直接返回该记录的IP地址。
- 当你输入一个域名(例如
-
递归DNS解析器查询:
- 如果本地缓存中没有相关记录,DNS查询请求将会发往递归DNS解析器(通常是由ISP提供的DNS服务器)。递归解析器负责从根DNS服务器开始逐级查询,直到找到最终的IP地址。
-
根DNS服务器查询:
- 递归解析器首先向根DNS服务器发送查询请求。根DNS服务器不会直接提供域名的IP地址,但会提供负责该域名的顶级域(TLD)DNS服务器的地址,例如
.com
、.org
等。
- 递归解析器首先向根DNS服务器发送查询请求。根DNS服务器不会直接提供域名的IP地址,但会提供负责该域名的顶级域(TLD)DNS服务器的地址,例如
-
TLD DNS服务器查询:
- 递归解析器接着向TLD DNS服务器发送查询请求。TLD DNS服务器会返回负责该域名的权威DNS服务器的地址。
-
权威DNS服务器查询:
- 最后,递归解析器向权威DNS服务器发送查询请求。权威DNS服务器保存了该域名的实际DNS记录(例如A记录或CNAME记录)。权威DNS服务器返回该域名对应的IP地址。
-
返回结果:
- 递归解析器将从权威DNS服务器获取到的IP地址返回给客户端(例如你的浏览器),并将结果缓存以便未来查询使用。
2. 绕过CDN查找主机真实IP的方法
绕过CDN(内容分发网络)查找主机的真实IP地址常用的几种方法包括:
-
查看DNS记录:
- 使用DNS查询工具(例如
dig
或nslookup
)查看域名的A记录或CNAME记录。如果CNAME指向CDN服务提供商的域名,可以尝试查询该CDN服务提供商的IP地址范围。
- 使用DNS查询工具(例如
-
检查HTTP头部信息:
- 有时候,CDN提供商会在HTTP头部中添加一些信息(例如
X-Forwarded-For
、CF-Connecting-IP
),这些信息可能包含真实IP地址。
- 有时候,CDN提供商会在HTTP头部中添加一些信息(例如
-
查看历史记录:
- 使用在线服务(例如
SecurityTrails
、Shodan
)或工具来查看域名的历史DNS记录,有时可以找到之前未使用CDN的记录。
- 使用在线服务(例如
-
网络扫描与探测:
- 使用扫描工具(如
nmap
)进行网络扫描,可能会发现目标主机的开放端口及其IP地址,尽管这种方法可能会被防火墙或其他安全措施阻止。
- 使用扫描工具(如
-
社交工程学:
- 有时通过社交工程学手段(例如联系网站管理员)也能获得目标主机的真实IP地址,但这种方法需要谨慎使用。
3. 子域名信息收集常用手段
子域名信息收集可以通过以下方法进行:
-
DNS查询:
- 使用
nslookup
、dig
等工具查询域名的DNS记录,尤其是A
记录和CNAME
记录。
- 使用
-
暴力破解:
- 使用工具(如
Sublist3r
、Amass
)进行子域名的暴力破解,尝试发现所有可能的子域名。
- 使用工具(如
-
搜索引擎查询:
- 在搜索引擎中使用特定查询语法(例如
site:example.com
)查找目标域名下的子域名。
- 在搜索引擎中使用特定查询语法(例如
-
公共数据源:
- 利用公共数据源或服务(如
VirusTotal
、Censys
、Shodan
)获取与目标域名相关的子域名信息。
- 利用公共数据源或服务(如
-
WHOIS查询:
- 通过WHOIS查询目标域名的注册信息,有时可以找到与目标域名相关的子域名信息。
-
SSL证书记录:
- 通过SSL证书透明度日志(例如
crt.sh
)查看目标域名及其子域名使用的证书信息。
- 通过SSL证书透明度日志(例如
4.Nmap全端口扫描(使用昨日搭建的pikachu靶场),加分项:能够说明SYN半开扫描的原理和跳过主机存活检测扫描使用常见。
1.确认namp安装完毕
2.打开配置好的pikachu
3.在命令行中调用namp进行全端口扫描(前面报错因为没有设置端口范围)
SYN半开扫描(也称为SYN扫描或半开扫描)是一种网络扫描技术,用于检测目标主机上开放的端口。它的工作原理如下:
SYN半开扫描的原理
-
发送SYN包:扫描工具向目标主机发送一个SYN数据包(即TCP连接请求)。这个包的目的是启动一个TCP连接的建立过程。
-
目标主机响应:
- 如果目标端口开放,目标主机会回应一个SYN-ACK包,表示它愿意建立连接。
- 如果目标端口关闭,目标主机会回应一个RST包(重置包),表示该端口没有在监听。
-
扫描工具处理响应:
- 扫描工具收到SYN-ACK包后,通常不会完成TCP握手,而是立即发送一个RST包来中断连接。这种做法被称为“半开”,因为它没有完成完整的TCP三次握手过程。
- 如果收到RST包,工具记录该端口为关闭状态。
通过这种方式,扫描工具能够高效地识别开放的端口,而不会在目标主机上建立完全的连接,这有助于减少被检测到的可能性。
跳过主机存活检测的扫描
跳过主机存活检测的扫描方法主要包括:
-
直接扫描:在某些情况下,扫描工具可以直接对目标主机进行扫描,而不进行预先的存活检测。这种方法可以在网络中快速找到活动的端口,但可能会因为目标主机不响应而错过一些信息。
-
无响应探测:某些扫描工具允许设置跳过主机存活检测选项,直接进行端口扫描。例如,Nmap的
-Pn
选项可以用来跳过主机存活检测,直接扫描指定的端口。 -
使用代理或中间设备:通过代理服务器或中间设备进行扫描,有时可以绕过某些防火墙或入侵检测系统的存活检测机制。这种方法可以在一定程度上避免被发现,但也需要注意可能的法律和道德问题。
跳过主机存活检测可以提高扫描效率,但也可能导致扫描结果不完全准确,因为目标主机可能会因为某些原因(如防火墙或网络配置)而未能响应。
5、dirmap目录探测工具实践
为什么 dirmap
每次扫描条数不一样?
-
动态内容变化:
- 目标网站的内容可能会动态变化,尤其是那些使用了内容管理系统(CMS)的网站。新的目录或文件可能被添加,也可能有些内容被删除或修改。
-
服务器响应变化:
- 网站服务器可能会对相同的请求做出不同的响应。例如,服务器可能因为负载、配置变化或临时问题而不同地处理请求,这可能影响扫描结果。
-
反爬虫机制:
- 一些网站可能具有反爬虫机制,检测到大量请求后可能会对扫描进行限制或封锁。这种机制可能导致扫描结果不一致,尤其是当请求频率过高时。
-
网络波动:
- 网络问题或者服务器响应延迟可能影响扫描的结果,尤其是在高延迟或不稳定的网络环境中。
-
扫描策略和参数:
dirmap
的扫描策略和参数设置可能影响结果。例如,使用不同的字典文件、扫描深度或其他选项可能导致不同的发现结果。
dirmap
高级应用
-
字典定制:
- 自定义字典文件以匹配目标网站的特定结构和常见路径。例如,如果你知道目标是一个特定类型的网站,可以创建专门针对这种类型的字典。
-
多线程扫描:
- 使用多线程或并行扫描功能提高扫描速度。
dirmap
可能支持通过调整线程数来控制扫描的并发度,从而加快扫描速度。
- 使用多线程或并行扫描功能提高扫描速度。
-
定制扫描规则:
- 配置扫描规则以排除已知的、无关的路径或文件类型,减少噪音,提高扫描的精准度。
-
结合其他工具:
- 将
dirmap
与其他网络安全工具(如漏洞扫描器、数据泄露检测工具)结合使用,提供更全面的安全评估。
- 将
-
API 集成:
- 如果
dirmap
提供API接口,可以将其集成到自动化安全测试平台中,以实现自动化扫描和报告生成。
- 如果
-
结果分析与报告:
- 利用
dirmap
的扫描结果生成详细的报告,并结合其他安全分析工具进行深入分析。这些报告可以帮助识别潜在的安全风险并制定修复策略。
- 利用
通过这些高级应用,你可以更有效地利用 dirmap
进行目录扫描,提高扫描的准确性和效率。