微信公众号链接的网站怎么做的,优化网站使用体验,一个企业做网站需要什么资料,协会网站建设哪里实惠DNS 劫持
什么是 DNS 为什么需要 DNS D N S \color{cyan}{DNS} DNS#xff08;Domain Name System#xff09;即域名系统。我们常说的 DNS 是域名解析协议。 DNS 协议提供域名到 IP 地址之间的解析服务。计算机既可以被赋予 IP 地址#xff0c;也可以被赋予主机名和域名。用…DNS 劫持
什么是 DNS 为什么需要 DNS D N S \color{cyan}{DNS} DNSDomain Name System即域名系统。我们常说的 DNS 是域名解析协议。 DNS 协议提供域名到 IP 地址之间的解析服务。计算机既可以被赋予 IP 地址也可以被赋予主机名和域名。用户通常使用主机名或域名来访问对方的计算机而不是直接通过 IP 地址访问。因为与 IP 地址的一组纯数字相比用字母配合数字的表示形式来指定计算机名更符合人类的记忆习惯。但要让计算机去理解名称相对而言就变得困难了。因为计算机更擅长处理一长串数字。 为了解决上述的问题DNS 服务应运而生。DNS 协议提供通过域名查找 IP 地址或逆向从 IP 地址反查域名的服务。 DNS 工作原理
DNS 的递归和迭代 本地DNS即 host 根服务器 根服务器主要用来管理互联网的主目录。全世界只有 13 个根逻辑服务器节点其中 10 个设置在美国另外 3 个分别在英国、瑞典、日本。 顶级域名服务器 顶级域名服务器一般用于存储 .com、.edu、.cn 等顶级域名。 递归服务器 递归服务器可以理解为存储着官方域名解析授权的授权服务器。一般存储着这个网络中域名和 IP 地址的解析关系。 试想一下如果每个用户在上网的时候都向授权服务器发送请求那授权服务器必然承受不住所以就有了缓存服务器。 缓存服务器 缓存服务器相当于授权服务器的代理。用户在每次上网的时候域名解析的请求都是发给缓存服务器的。缓存服务器经过迭代查询后将域名和 IP 的解析表存储在本地等后续再有用户请求相同的域名时就会直接答复不再请求。 DNS 解析过程 1、DNS 客户端查询先采用递归方式先确认本地 DNS 文件是否有域名和 IP 的解析表。如果没有则将请求发送给缓存服务器缓存服务器判断本地是否有这个域名的解析缓存。 2、如果本地没有缓存就会把域名发送到根服务器。根服务器收到 www.baidu.com 请求后会判断 .com 是谁授权管理并返回 .com 所在的顶级域名服务器 IP 地址。 3、缓存服务器继续向顶级域名服务器发送 www.baidu.com 的解析请求顶级域名服务器收到请求后会返回下一级 .baidu.com 的递归服务器 IP 地址。 4、缓存服务器继续向递归服务器发送 www.baidu.com 的解析请求递归服务器收到请求后返回www.baidu.com 的解析地址。如果域名层级较多则递归服务器也会存在多级。 5、缓存服务器得到 www.baidu.com 的解析 IP 后将 IP 地址发送给客户端同时在本地存储。 6、后续一段时间内当有客户端再次请求 www.baidu.com 的域名解析时缓存服务器直接回应解析的 IP 地址不再重复询问。 DNS 劫持原理 本质上是利用了 ARP 欺骗原理。恶意攻击者通过 ARP 欺骗伪装成缓存服务器将客户端的 DNS 请求返回指定的IP地址。 假设用户想要访问一个名为 www.baidu.com 的网站。当用户在浏览器中输入网址并按下回车时操作系统会向 DNS 服务器发送一个 DNS 查询请求以获取该网站的 IP 地址。 正常情况下DNS服务器会返回与 www.baidu.com 对应的正确 IP 地址然后用户的浏览器会使用该 IP 地址来建立连接并加载网站内容。 但是在 DNS 劫持的情况下恶意攻击者可能会干扰 DNS 查询过程。攻击者可能会修改 DNS 服务器的配置或在网络中插入恶意设备以便在用户发出 DNS 查询请求时返回错误的 IP 地址。 例如假设攻击者将 www.baidu.com 的 DNS 记录篡改为指向恶意网站的 IP 地址。当用户尝试访问 www.baidu.com时DNS 服务器返回的 IP 地址实际上是恶意网站的 IP 地址而不是真正的www.example.com网站的 IP 地址。 因此用户的浏览器会被重定向到恶意网站可能会导致用户受到钓鱼攻击或下载恶意软件。 DNS 劫持实验
实验目的
本次实验旨在通过配置和使用 Kali Linux 中的 dnsmasq 服务演示 DNS 劫持攻击的过程并观察其对被攻击主机的影响。通过本实验了解 DNS 劫持的原理及其防御方法以加强网络安全意识和能力。
实验环境
两台主机 被攻击主机Windows/Linux攻击者主机Kali Linux Wireshark 安装在攻击者主机主机上用于抓包分析。
实验步骤
1、在 Kali Linux 中安装并配置 dnsmasq 服务 并配置 dnsmasq 进行域名劫持 安装 dnsmasq apt-get update
apt-get install dnsmasq -y配置 dnsmasq echo -e resolv-file/etc/resolv.conf\nstrict-order\nlisten-address192.168.100.139,192.168.100.142\naddress/zhaofan.com/192.168.100.10\nserver8.8.8.8 /etc/dnsmasq.conf本地启用 Dnsmasq 解析 echo /etc/resolv.conf echo nameserver 192.168.100.10 /etc/resolv.conf在 hosts 文件中添加解析 echo 192.168.100.10 zhaofan.com /etc/hosts启动 dnsmasq 服务并设置开机自启动 systemctl restart dnsmasq systemctl enable dnsmasq2、修改被攻击主机的 DNS 设置
在被攻击主机上将其 DNS 服务器地址指向 Kali Linux 主机的 IP 地址。 Windows主机: 打开网络和共享中心点击当前连接的网络进入属性选择Internet 协议版本4 (TCP/IPv4)然后修改 DNS 服务器地址为 192.168.100.20。 Linux主机: 修改 /etc/resolv.conf 文件添加或修改以下内容 echo /etc/resolv.conf echo nameserver 192.168.100.10 /etc/resolv.conf3、 使用 arpspoof 进行 ARP 欺骗
在 Kali Linux 上使用 arpspoof 进行 ARP 欺骗使得被攻击主机的流量通过攻击者主机 arpspoof -i eth0 -t 192.168.100.142 -r 192.168.100.24、观察被攻击主机访问被劫持域名时的重定向情况 启动 Wireshark: 在 Kali Linux 上启动 Wireshark 并选择合适的网络接口开始抓包。 选择合适的网络接口开始捕获数据包。 检查网卡信息 ifconfig 搭建 HTTP 服务器 在 Kali Linux 上搭建HTTP 服务器 python3 -m http.server 80被攻击主机访问域名 在被攻击主机上打开浏览器访问 zhaofan.com。 如果被攻击主机访问 zhaofan.com 时显示的是 Kali Linux 上的 HTTP 服务器页面说明 DNS 劫持成功。 观察效果 在 Wireshark 中可以观察到 DNS 请求和响应。 DNS请求被攻击主机请求解析 zhaofan.com。 DNS响应Kali Linux主机的 dnsmasq 返回伪造的IP地址192.168.100.10。 被攻击主机会被重定向到攻击者控制的IP地址而不是 zhaofan.com 的真实IP地址。
5、分析与讨论 ARP欺骗原理 通过 ARP 欺骗被攻击主机的 ARP 缓存中会将网关的 MAC 地址错误地映射为攻击者主机的 MAC 地址。这使得被攻击主机的流量首先经过攻击者主机从而实现流量拦截和篡改。 DNS劫持原理 通过配置 dnsmasq攻击者主机能够响应被攻击主机的 DNS 查询请求并返回伪造的 DNS 解析结果将特定域名解析为攻击者指定的 IP 地址。 流量分析 通过 Wireshark 抓包可以观察到被攻击主机的 DNS 查询请求被拦截和篡改返回的 IP 地址是攻击者主机配置的伪造地址。通过这种方式攻击者可以实现对被攻击主机的 DNS 劫持。 防御措施 使用静态 ARP 表通过配置静态 ARP 表可以防止 ARP 欺骗攻击。启用 DNSSECDNSSEC 提供 DNS 数据的真实性和完整性验证能够有效防止 DNS 劫持。使用 HTTPS通过使用 HTTPS 协议可以确保数据传输的安全性即使 DNS 劫持也难以篡改加密的数据传输。
6、实验反思 实验过程中的挑战 在实验过程中需要确保被攻击主机正确配置为使用攻击者主机作为 DNS 服务器同时需要确保 ARP 欺骗成功生效。这要求对网络环境和配置有较高的理解和掌控能力。 实验效果评估 通过本次实验可以直观地理解 DNS 劫持和 ARP 欺骗的原理和实施方法同时也认识到这些攻击手段的危险性和潜在危害。 安全防护意识 通过实验可以更加深刻地认识到网络安全的重要性了解各种防御措施的必要性和实施方法提高网络安全防护意识。