day2
DNS解析步骤
1.请求:用户在浏览器中输入网址(如 www.example.com),浏览器首先检查其本地 DNS 缓存,看是否已缓存该域名对应的 IP 地址。
2.查询本地 DNS 服务器:如果在本地缓存中未找到,浏览器会向本地 DNS 服务器(通常由 Internet 服务提供商提供)发起请求。
3.本地 DNS 服务器查询:如果本地 DNS 服务器也没有缓存该域名,它会开始 DNS 查询过程。首先,它会查看根 DNS 服务器来获取域名的权威信息。
4.查询根 DNS 服务器:本地 DNS 服务器向任意一个根 DNS 服务器发送查询请求。根 DNS服务器会返回该域名的顶级域名(TLD)服务器的地址,比如 .com 服务器。
5.查询 TLD 服务器:本地 DNS 服务器接着向 TLD 服务器(例如,.com 服务器)发送请求。TLD 服务器返回该域名的权威 DNS 服务器的地址。
6.查询权威 DNS 服务器:本地 DNS 服务器然后向权威 DNS 服务器发送请求,以获取最终的 IP 地址。
7.获得 IP 地址:权威 DNS 服务器查找并返回与该域名对应的 IP 地址。
8.缓存结果:本地 DNS 服务器将获取到的 IP 地址缓存一段时间(TTL,生存时间),以便下次请求时能够更快地响应。
9.返回给客户端:最后,本地 DNS 服务器将 IP 地址返回给用户的浏览器。
10.用户浏览器发起请求:用户的浏览器获得 IP 地址后,便可以连接到目标服务器,请求所需的网页内容。
绕过CDN查找主机真实IP的方法
1.查看是否使用了CDN
- 使用各种多地 ping 的服务,查看对应 IP 地址是否唯一,如果不唯一多半是使用了CDN,网站:https://ping.chinaz.com/,测试ip地址 www.douyin.com,有85个ip地址
- 使用nslookup命令查看:
nslookup [example.com]
如图,douyin.com有两个ip地址,使用了CDN;而xiaodi8.com只有一个ip地址
nslookup douyin.com
nslookup xiaodi8.com
2.通过网址查询:https://www.webscan.cc/ 可知ip为163.181.35.236
3.Web服务器的泄漏:
通过将目标的域名和IP放入不同的请求中,检查错误消息或HTTP头部中可能泄漏的信息,有时可获得真实IP。
4.使用过期的SSL证书:
检查是否有曾经在该IP上使用过的SSL证书,证书中可能包含真实IP。
5.历史DNS记录:
使用像SecurityTrails或DNSdumpster等服务查找历史DNS记录。这些服务可能会存储之前的IP地址
6.查看HTTP头:
有时可以通过分析 HTTP 响应头来获取真实 IP,例如使用 curl 命令。
curl -I http://example.com
7.使用网络抓包:
在访问目标网站时,使用网络抓包工具(如 Wireshark)观察流量,有时可以捕获到直接的 IP 信息。
子域名收集方式
1.搜索引擎
例如Google,结合特定查询参数(如 site:example.com)
2.FOFA https://fofa.info/
3.在线工具
- Zoomeye工具 https://www.zoomeye.org/
- 网络空间绘测 https://quake.360.net/quake/#/index
4.威胁情报平台:利用ThreatBook、VirusTotal等威胁情报平台收集目标组织的子域名信息。
5.暴力破解:使用字典暴力破解子域名,结合工具如 dns-enum 或 dnsrecon,向DNS服务器发送请求来查找可能存在的子域名。
6.网络扫描:使用网络扫描工具(如 Nmap)对目标IP进行扫描,获取与之关联的子域名。
7.企业信息查询平台:使用天眼查、爱企查等企业信息查询平台,通过查看股权穿透图来查找子公司,并收集其子公司的域名
Nmap全端口扫描
-tx为扫描的速度,x为1-5,由慢到快,注意:速度太快容易使服务器被破坏,一版情况下3-4即可。
–A为扫描操作系统和路由跟踪
-V为加强扫描
此外还有,-0探测操作系统、-SN tcp空扫描欺骗防火墙、-ifist显示接口和路由信息、-sa探测防火
墙、-SP探测在线主机、-r按顺序扫描、-服务查看服务的版本、-SS隐蔽扫描
全端口扫描:nmap -p- [目标主机IP]
SYN半开扫描
工作原理:
- 发送SYN包:攻击者向目标主机的目标端口发送SYN(同步)包,以请求建立TCP连接。这相当于告诉目标主机“我想连接你”。
- 接收响应:如果目标端口开放,目标主机会回应一个SYN-ACK(同步-确认)包,表示愿意建立连接。如果目标端口关闭,目标主机会回应一个RST(重置)包,表示拒绝连接。
- 不完成握手:攻击者并不回应SYN-ACK包,也就是不发送ACK包,从而不完成三次握手的过程。这就是“半开”的部分,因为连接没有完全建立。
优点:
- **隐蔽性:**由于连接没有完全建立,许多入侵检测系统(IDS)可能无法检测到这个扫描行为。
- **快速:**相比于全连接扫描(完成整个TCP握手),SYN半开扫描通常更快,因为不需要等待握手完成。
命令
跳过主机存活检测的命令:nmap -Pn [目标主机IP]
dirmap目录探测工具实践
使用:
-h, --help: 显示帮助信息和用法示例
-v, --version: 显示当前 dirmap 的版本信息
-a, --add: 添加新的目录映射
-r, --remove: 删除指定的映射
-u, --update: 更新现有映射
-l, --list: 列出所有当前的目录映射
-i 参数指定目标
-lcf 加载配置文件
命令:python .\dirmap.py -i 127.0.0.1:81/pikachu -lcf
高级应用
-lcf 是加载配置文件,可以在默认的配置文件中更改配置
例如更改参数conf.crawl_mode设为0,会取消爬虫模式
思考题:
为什么dirmap每次扫描条数不一样?
答:DirMap等扫描工具在执行过程中所得到的结果可能因多种因素而异。这些因素包括目标网站的变化、扫描配置、网络问题以及服务器的状态等。
Fscan实践
命令:./fscan -h 127.0.0.1