网络协议与攻击模拟_14DNS欺骗

DNS欺骗就是利用某种方式将我们访问的域名解析到其他服务器上,从而使得我们无法正常访问到原本我们想要访问的网站。

一、DNS欺骗过程

首先在windows server 2016虚拟机上搭建网站服务,kali作为攻击机从而实现中间人攻击,使用ettercap工具的ARP欺骗和DNS欺骗功能模块;将www.woniuxy.com欺骗到我们在windows server上搭建的网站上,客户机win10输入正确的域名无法访问到正确的网站。

二、搭建实验环境

client虚拟机(桥接)、windows server2016虚拟机(桥接)、kali虚拟机(桥接)

三、实验过程

1、Windows Server IIS建站

2、kali实施攻击

在etter.dns文件中添加域名记录解析的地址为Windows Server 2016的IP地址

复制代码
vim /etc/ettercap/etter.dns

打开ettercap工具

(1)实施ARP欺骗

选择网卡 | 搜索主机 | 列出主机

将欺骗主机添加到Target1,将网关加入Target2

执行ARP欺骗

执行ARP欺骗后,client仍然可以访问到百度了

(2)实施DNS欺骗

3、客户机被骗

(1)DNS欺骗结果

访问http://www.woniuxy.com看到的确是我们用Windows ServerI搭建的网站,而用https访问却无法正常显示页面,这是因为https时需要SSL证书的。

(2)抓包分析

a、http正常访问https访问不到

第一次我们时用http访问的网站,是正常的,从报文中也可以看出来。

第二次用https访问的时候就出现tcp和443端口无法建立连接

b、https无法正常访问

因为服务器没有开启443端口

可以看到windows server本地的443端口确实没有开放

如果我开启服务器上的443端口,我们这里可以给网站编辑绑定https到443端口

但是https需要SSL证书,就需要搞一个证书

c、自建SSL证书
d、 https重新访问

现在我已经把443端口打开了

那么回到client正常访问下,看看443端口能不能访问到

因为这个证书不是权威机构颁发的所以会提示证书错误,意思就是你这个证书是不可信的

我点击"继续浏览此网站"也是可以访问到我们windows server搭建的网站的

e、流量分析

可以看到开始是client和server的三次握手,是正常的,接下来是SSL报文,后面建立连接过程是出现了问题的,client向server发送了RST。

后面的Application Data就是数据了,全是加密的数据。

前面client访问https的时候,页面有提示可能显示试图欺骗或截获你向服务器发送的数据,这是因因为我的服务器没有做任何安全问题,但是如果我的服务器做了一些安全性的问题,会直接报客户端错误。

4、更换欺骗域名

(1)ARP欺骗虚拟机

我们改一下etter.dns,我们直接将欺骗的地址改成蜗牛学院的IP,前面域名改成www.sohu.com

没有成功

(2)ARP欺骗物理机

我再试下去欺骗我的物理机192.168.242.182

浏览器页面访问没有成功,但是抓包是能够看到的

这里出现了out-of-Order和SEQ/ACK,这里报文是有问题的.

在kali上面也能看到Ip地址是有访问到101.37.65.91的

5、蜗牛学苑课程效果

蜗牛学院课程中,老师是有成功的

浏览器访问www.sohu.com 会出现下面的界面

接受风险并继续是可以跳转到蜗牛学院官网的,但是我并未能实现最后这一步。

相关推荐
Harvy_没救了20 分钟前
【网络部署】 Win11 + VMware CentOS8 + Nginx 文件共享服务 Wiki
运维·网络·nginx
春风有信30 分钟前
【2026.05.01】Windows10安装Docker Desktop 4.71.0.0步骤及问题解决
运维·docker·容器
嵌入式×边缘AI:打怪升级日志41 分钟前
100ASK-T113 Pro 开发板 Bootloader 完全开发指南
linux·ubuntu·bootloader
lzhdim44 分钟前
SQL 入门 12:SQL 视图:创建、修改与可更新视图
java·大数据·服务器·数据库·sql
2401_873479401 小时前
断网时如何实时判断IP归属?嵌入本地离线库,保障风控不中断
运维·服务器·网络
守城小轩2 小时前
基于Chrome140的Yahoo自动化(关键词浏览)——需求分析&环境搭建(一)
运维·自动化·chrome devtools·浏览器自动化·指纹浏览器·浏览器开发
charlie1145141912 小时前
Linux 字符设备驱动:cdev、设备号与设备模型
linux·开发语言·驱动开发·c
handler012 小时前
Linux 内核剖析:进程优先级、上下文切换与 O(1) 调度算法
linux·运维·c语言·开发语言·c++·笔记·算法
zhouwy1132 小时前
Linux进程与线程编程详解
linux·c++
我星期八休息2 小时前
IT疑难杂症诊疗室:AI时代工程师Superpowers进化论
linux·开发语言·数据结构·人工智能·python·散列表