第二天作业

一.DNS解析详细步骤

1. 浏览器缓存

当你在浏览器中输入一个域名(例如:www.example.com)时,浏览器首先会检查其缓存中是否有该域名对应的IP地址。如果有,它会直接使用这个IP地址来访问网站。这一步骤可以显著加快访问速度,因为它避免了网络查询。

2. 操作系统缓存

如果浏览器缓存中没有找到,操作系统会检查其DNS缓存中是否有该域名的IP地址。操作系统缓存是一个临时存储区域,用于保存最近查询过的域名和IP地址的映射关系。

3. 本地hosts文件

如果操作系统缓存中也没有找到,系统会检查本地的hosts文件。这个文件位于操作系统的特定目录下(例如,在Windows系统中是C:\Windows\System32\drivers\etc\hosts),可以手动配置,将特定域名映射到特定IP地址。这个文件的优先级高于DNS查询。

4. 本地DNS服务器

如果上述步骤都没有找到,系统会向配置的本地DNS服务器发送查询请求。这个DNS服务器通常由你的ISP(互联网服务提供商)提供。它会首先检查自己的缓存,如果没有找到结果,它会继续进行查询。

5. 递归查询

如果本地DNS服务器没有缓存该域名的IP地址,它会以递归查询的方式向根域名服务器发送请求。递归查询意味着本地DNS服务器会代表用户进行所有的查询,直到找到最终的IP地址。

6. 根域名服务器

根域名服务器是DNS系统的顶层服务器,负责管理顶级域名(如.com、.net、.org等)。根域名服务器不会直接返回域名的IP地址,而是返回顶级域名服务器(TLD服务器)的地址。例如,对于www.example.com,根域名服务器会返回负责.com域的TLD服务器地址。

7. 顶级域名服务器(TLD服务器)

本地DNS服务器向TLD服务器发送查询请求,TLD服务器会返回负责该域名的权威DNS服务器的地址。例如,TLD服务器会返回负责example.com的权威DNS服务器地址。

8. 权威DNS服务器

本地DNS服务器向权威DNS服务器发送查询请求,权威DNS服务器会返回该域名的最终IP地址。例如,权威DNS服务器会返回www.example.com的IP地址。

9. 返回结果

本地DNS服务器将查询结果返回给用户的计算机,用户的计算机将该结果缓存起来,以便下次使用。这个缓存过程可以显著提高后续访问同一域名的速度。

10. 访问网站

浏览器使用获取到的IP地址访问目标网站,建立连接并加载网页内容。这个过程包括发送HTTP请求、接收服务器响应、解析HTML、加载资源(如CSS、JavaScript、图片等)并渲染页面。

*递归查询与迭代查询

递归查询:在递归查询中,本地DNS服务器会代表用户进行所有的查询,直到找到最终的IP地址。这意味着本地DNS服务器会依次查询根域名服务器、TLD服务器和权威DNS服务器。

迭代查询:在迭代查询中,本地DNS服务器会逐步将查询结果返回给用户的计算机,用户的计算机再根据返回的结果继续查询下一层服务器。

二.绕过CDN查找主机真实IP的方法

1. 查询历史DNS记录

历史DNS记录可以揭示域名在使用CDN之前的IP地址。以下是具体步骤:

使用在线工具:访问https://www.itdog.cn/dns/

输入目标域名:在搜索框中输入你要查询的域名。

查看历史记录:查看返回的历史DNS记录,找到未使用CDN时的IP地址。

2. 查询子域名

有些子域名可能没有使用CDN,通过查询这些子域名的IP地址,可以找到主机的真实IP。具体步骤如下:

使用DNS查询工具:如Nslookup、Dig等。

输入子域名:查询目标域名的常见子域名(如mail.example.com、ftp.example.com)。

分析结果:查看返回的IP地址,找到未使用CDN的子域名。

3. 网络空间引擎搜索

网络空间搜索引擎可以帮助你找到使用CDN的网站的真实IP地址。具体步骤如下:

访问Shodan、Fofa或ZoomEye:这些搜索引擎专门用于网络设备和服务的搜索。

输入目标域名或相关关键词:如域名、服务器类型等。

分析搜索结果:查看返回的IP地址,找到可能的真实IP。

4. 利用SSL证书

SSL证书中包含的域名和子域名信息可以帮助你找到原始服务器的IP地址。具体步骤如下:

访问Censys:这是一个专门用于SSL证书搜索的引擎。

输入目标域名:搜索与目标域名相关的SSL证书。

查看证书详情:分析证书中的域名和IP地址信息。

5. 利用HTTP标头

有些网站在返回的HTTP标头中可能会泄露真实IP地址。具体步骤如下:

使用抓包工具:如Wireshark、Fiddler等。

访问目标网站:通过浏览器或命令行工具(如curl)访问目标网站。

分析HTTP标头:查看返回的HTTP标头,寻找可能的真实IP地址。

6. 使用国外主机解析域名

有些CDN厂商只在国内提供服务,通过使用国外的DNS解析服务,可以获取到真实IP。具体步骤如下:

使用国外DNS解析服务:如Google Public DNS(8.8.8.8)、Cloudflare DNS(1.1.1.1)。

配置DNS服务器:在操作系统或路由器中配置上述DNS服务器。

查询目标域名:使用Nslookup或Dig工具查询目标域名,查看返回的IP地址。

7. 网站漏洞查找

有些网站可能存在配置错误或漏洞,通过这些漏洞可以直接获取到真实IP。具体步骤如下:

使用漏洞扫描工具:如Nmap、OpenVAS等。

扫描目标网站:查找可能存在的配置错误或漏洞。

分析扫描结果:查看返回的IP地址和漏洞信息。

8. 全网扫描

使用工具如Zmap或Masscan对整个互联网进行扫描,针对扫描结果进行关键字查找,可以获取网站的真实IP。具体步骤如下:

安装Zmap或Masscan:这些工具可以在Linux系统上运行。

配置扫描参数:设置目标IP范围和端口。

执行扫描:运行扫描命令,获取扫描结果。

分析结果:根据目标域名或相关关键词过滤扫描结果,找到可能的真实IP。

这些方法可以帮助你绕过CDN找到主机的真实IP,但请注意,这些技术应在合法和道德的范围内使用。

三.子域名信息收集常用手段

子域名信息收集在渗透测试中至关重要,既能完善信息,又能扩大攻击面。以下是一些常用的子域名收集方法:

1. 搜索引擎:利用搜索引擎的强大功能,我们可以搜索相关的子域名。常用的搜索引擎包括Google、Bing等²。

2. 域名注册商:大多数域名注册商都会提供域名管理界面,其中可以查看已注册的子域名。通过访问域名注册商的网站并登录账号,即可查看完整的域名列表。

3. DNS记录:DNS记录中包含了许多有关域名的信息,其中也包括子域名。通过查询DNS记录,可以获取到子域名的相关信息。

4. 第三方工具:许多第三方工具可以帮助我们快速收集子域名,如DNSdumpster、Sublist3r等。

5. 子域名枚举:利用自动化工具和脚本来枚举子域名。

6. 漏洞扫描:通过漏洞扫描工具来查找子域名。

7. 社交工程:利用社交媒体和论坛等平台,通过发布虚假信息或钓鱼等方式来获取目标网站的子域名。

请注意,在进行信息收集时,必须遵守相关法律法规和道德规范。

四.Nmap全端口扫描

先打开自己搭建的pikachu靶场

然后将靶场的IP输入Nmap的Target栏中,Profile选择Intense scan,Command中可以设定扫描的一些属性:

-Tx为扫描的速度,x为1-5,由慢到快,注意:速度太快容易使服务器被破坏,一版情况下3-4即可。
-A为扫描操作系统和路由跟踪
-v为加强扫描
此外还有,-O探测操作系统、-sN TCP空扫描欺骗防火墙、–iflist 显示接口和路由信息、-sA 探测防火墙、-sP 探测在线主机、-r 按顺序扫描、-sV 查看服务的版本、-sS 隐蔽扫描

点击“Scan”即可开始扫描

扫描结果如下

可以看到有八个开放端口

SYN半开扫描的原理

SYN半开扫描(也称为半连接扫描)是一种常用的端口扫描技术,用于探测目标主机上哪些端口是开放的。其原理如下:

1.发送SYN包:扫描器向目标主机的指定端口发送一个SYN(同步)数据包。这是TCP三次握手的第一步。

2.等待响应:

如果目标端口开放,目标主机会回复一个SYN/ACK(同步/确认)数据包。

如果目标端口关闭,目标主机会回复一个RST(复位)数据包。

3.不完成握手:收到SYN/ACK后,扫描器不会发送ACK(确认)数据包来完成握手,而是发送一个RST包来终止连接。这就是为什么称其为“半开”扫描,因为它不完成整个TCP连接过程。

这种扫描方式的优点包括:

隐蔽性强:由于不完成三次握手,目标主机通常不会记录这种扫描行为,因此难以被检测到。

效率高:相比于全连接扫描,SYN半开扫描速度更快,因为它不需要完成整个连接过程。

不过,这种扫描也有一些限制:

需要管理员权限:发送自定义的SYN包通常需要管理员权限。

可能被防火墙或入侵检测系统(IDS)拦截:一些高级防护系统能够检测并阻止这种扫描行为

跳过主机存活检测扫描使用常见

1.Nmap的-Pn选项:

使用-Pn选项可以跳过主机存活检测,直接进行端口扫描。这在目标主机不响应Ping请求时非常有用。

示例命令:nmap -Pn 192.168.1.112.

2.Masscan的--ping选项:

Masscan是一种高速端口扫描工具,可以使用--ping选项跳过Ping探测。

示例命令:masscan 192.168.1.0/24 --ping3.

3.fscan工具:

fscan是一款综合扫描工具,可以使用-np选项跳过存活检测。

示例命令:fscan -h 192.168.1.1/24 -np

五.dirmap目录探测工具实践

从drimap目录中打开cmd

输入“python dirmap.py -h”即可查看dirmap的相关操作指南

输入:“python dirmap.py -i http://127.0.0.1:8888/ -lcf”即可开始扫描指定目录

以下是dirmap常用的一些参数:

-u or --url: 指定要扫描的目标 URL。

-w or --wordlist: 指定字典文件,用于进行目录名或文件名的猜测。

-e or --extensions: 指定要扫描的文件扩展名,如 php、asp 等。

-l or --level: 指定扫描的级别。默认为 1,表示只对指定 URL 进行扫描;如果设置为 2,还会对发现的目录进行扫描,依此类推。

-t or --threads: 指定并发线程数,用于加快扫描速度。

--delay: 指定扫描请求之间的延迟时间,以避免对目标网站造成过多的请求负载。

--timeout: 指定 HTTP 请求的超时时间。

-a or --agent: 指定 User-Agent 字符串,来模拟不同的浏览器或爬虫。

-p or --proxy: 指定代理服务器地址和端口号。  

扫描结果如下

为什么dirmap每次扫描条数不一样?

网络波动:网络状况不稳定会导致请求失败或超时,从而影响扫描结果的条数。

目标服务器的响应:目标服务器可能会对大量请求进行限制或阻止,导致部分请求无法成功。

扫描参数设置:不同的线程数、延迟时间、字典文件等参数设置会影响扫描的速度和结果。例如,增加线程数可以提高扫描速度,但也可能导致更多的请求失败1。

字典文件的变化:如果每次扫描使用的字典文件不同,扫描结果的条数也会有所不同。

防护机制:目标服务器可能有防护机制,如WAF(Web应用防火墙),会阻止部分扫描请求,从而影响结果

六.Fscan实践

在fscan.exe文件目录下打开cmd,并执行“.\fscan -h 127.0.0.1”,结果如下

七.演示插件安装截图

  • 13
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值