利用Ettercap进行DNS欺骗攻击

news2024/9/22 10:07:06

一、域名系统(DNS)

域名系统DNS是Internet上使用的命名系统,用于将系统名称转换为人们易于使用的IP地址。域名系统是基于互联网的前身ARPANET开发的,在ARPANET时代,主机名和对应的IP地址是通过HOST.TXT文件集中管理的,但是随着网络的发展,流量负载也越来越大。方法与方法、域名冲突等问题为了解决这些问题,域名系统的作用越来越突出。域名系统实际上是一个名称系统。在互联网上与主机通信时,用户显然不愿意使用难以记住的32位二进制主机地址。即使是点分十进制IP地址也不容易获得。记住。因此,用户希望使用易于记忆的主机名。

1.DNS安全性分析

DNS协议是保证使用域名服务的用户正常通信的基础,DNS协议在设计上为了追求运行效率而忽略了协议的安全性。首先,完整的域名解析过程涉及到一组域名服务器,它们仅仅是信任关系。这是因为域名解析返回的查询结果正确性的前提是所有参与解析的域名服务器都提供正确的响应,并且所有的域名服务器都假设返回的结果是更高级别的。域名服务器正确,数据在传输过程中没有被恶意修改。其实这个简单的信任模型是非常脆弱的,所以如果在解析过程中修改了域名服务器上的信息或者域名服务器受到攻击,返回给客户端的查询结果就会不准确,这肯定会对用户造成影响。

其次,DNS协议没有正确的认证机制。 DNS协议支持UDP和TCP,端口号为53。但是,在大多数情况下,DNS数据报是通过UDP
发送的,因此不需要三向握手和连接来加速数据传输。然而,为了追求DNS数据传输速度,数据的准确性还没有得到验证。 DNS
客户端可以确定查询结果是否正确的唯一方法是比较查询数据报和响应数据报的相同序列号。如果不是,则丢弃响应数据报。这种身份验证方法非常不可靠。例如,通过监控网络上的数据,提取DNS查询请求,根据请求数据报中的序列号向客户端发送伪造的数据包,客户端判断响应数据报是否正确。所以在这种情况下,如果伪造的响应数据包在实际数据包之前到达客户端,客户端就会认为响应数据报是正确的。因此,这些DNS协议中存在的安全漏洞很容易被攻击者利用,发起DNS欺骗攻击,在攻击者预期的网站上定位用户,对用户的合法网站访问产生一定的影响。

此外,DNS协议的无状态性对DNS系统的安全构成了一定的威胁。所谓无状态是指DNS
协议没有用于事务处理的内存容量。随着客户不断查询同一个域名,DNS服务器不断响应查询请求,不会中断服务。如上所述,DNS服务器没有正确的认证机制,如果你控制了很多客户端,并使用这些客户端不断向DNS服务器发送虚假的域名查询请求,DNS服务器将继续匹配域名中的字符.快速消耗DNS服务器的可用资源,造成DNS服务器拥塞,造成严重的拒绝服务攻击,用户无法正常浏览网页。

2.DNS常见攻击方式介绍

2.1 DNS Query Flood攻击

DNS Query Flood攻击本质上是一种UDP泛洪攻击,属于拒绝服务攻击的范畴。这是因为对当前网络层的攻击得到了很好的解决。
DNS协议位于UDP协议之上,简单地说,协议越高,涉及的工作量越大,防御系统也越复杂。并且由于DNS服务器的不可替代性,一旦DNS服务器瘫痪,攻击通常很严重。因此,近期针对DNS服务器的DNS
QueryFlood攻击频繁发生。

2.2 DNS欺骗攻击

DNS查询请求数据报和响应数据报通过DNS消息中的ID标识号进行匹配,这也是DNS
数据报验证响应数据报有效的唯一方式。在域名解析过程中,客户端使用特定的标识号向DNS服务器发送域名查询请求数据报。当DNS服务器找到要解析的域名对应的IP地址时,DNS服务器将查询结果发送给具有相同ID标识号的客户端,客户端收到响应数据报后,查询数据报首先由对应的数据报标识,与的ID标识号进行比较。如果相等,则客户端接受响应数据报并进行下一步,否则客户端直接丢弃响应数据报并继续向DNS服务器发送查询请求。利用查询-
响应原理,攻击者可以监听网络上的DNS数据,从DNS查询数据报中提取ID标识号,并根据该ID标识号伪造DNS响应数据报文返回给DNS服务器。客户。只要伪造的数据报在正确的响应数据报之前到达客户端,这个技巧就可以成功。这是最简单、最有效的DNS
欺骗攻击方法。

2.3 DNS反弹服务器攻击

反弹服务器攻击原本是一种针对网络层的攻击方式,但反弹服务器攻击通过省略入侵代理主机的步骤加快了攻击速度。反弹服务器攻击使用一组反弹服务器将所有数据包反弹到攻击目标。
DNS
服务器可用作反弹服务器。由于DNS查询请求报文和响应数据报文的大小比较大,基于DNS服务器的反弹攻击流量放大效应较大。最初的协议规定UDP报文的最大长度为512字节,但随着互联网的飞速发展,为支持DNS系统的扩展,域名服务器对特殊查询请求报文返回的响应报文长度可能大于512字节,研究根据,当服务器收到请求空间服务ENDS的查询请求报文时,其生成的响应数据报文长度相应增加,如果有64字节的查询请求,则可以生成超过4000
字节消息的响应消息。由于以太网MTU的限制,响应报文被拆分为3 个IP数据包在网络上传输,流量放大率为1:73。

3.Ettercap嗅探工具

Ettercap最初是一个“拥挤”的交换局域网嗅探器,但技术的进步使Ettercap
在开发过程中获得了越来越多的功能,成功地将其转变为强大而灵活的中间人攻击工具。角色。它支持许多协议的主动和被动分析,包括加密协议,并包括用于Internet
和用户计算机分析的功能。

有两种主要的嗅探选项:

(1)UNIFIED模式(中间人嗅探):同时欺骗A和B,在两者之间发送一个数据包给第三方C分析数据包,窃取原本只从A那里获取的信息和B,然后C
将它传递给目标did。这样,C就充当了中介。

(2)BRIDGED模式(双网卡情况下嗅探两个网卡之间的数据包):比如你的电脑有两个网卡:一个无线网卡和一个有线网卡。通过将有线网卡的网络连接共享给无线网卡,电脑就变成了无线AP。来自无线网卡的所有数据流量都发送到有线网卡。所以BRIDGED
方法嗅探的是两个网卡之间的数据包。本文中描述的DNS欺骗攻击使用UNIFIED方法。

##二、 DNS欺骗攻击实战

Ettercap包含一个DNS插件,这使得它非常容易用于测试DNS欺骗。在Kali
Linux中输入ipconfig命令查看机器IP地址,进入etc/Ettercap目录,编辑etter.dns文件,在终端输入/etc/init.d/apachhe2start命令启动web服务器。然后启动ettercap图形界面,完成各种配置。最后测试一下效果。如果在指定IP电脑上输入原网址,就可以进入黑客创建的网站,随意访问其他网站。显示所有无法访问的网页。

1. 获取目标主机的 IP 地址

事实上,黑客主要是利用社会工程来获取目标主机的IP地址,这是一种利用人为弱点通过通信获取有价值信息的非技术渗透手段,是对企业安全的最大威胁之一。威胁在于隐蔽,有时在与人交流时,会暴露出一条或多条信息,例如用户名、手机号码等看似无关紧要的信息,让黑客可以通过社会工程获取互联网上的一切。有信息的痕迹。有四种主要的社会工程攻击方式。

(1) 冒名顶替:复制网址,伪装成与网站界面相同的网页,用户打开网站后即可完成预定任务。

(2) 报答真相:双方通过利益交换来交易自己的需求,骗子每次都提供更多的利润,从而诱使对方在后续的攻击中提供帮助。

(3)被异性吸引:利用情绪从诡计中获取信息。

(4)许以利益:利用人性的贪婪,诱使他们点击链接等方式获取信息。

2. 进行 Ettercap 图形界面的攻击

2.1 编辑 Ettercap 所使用的 DNS 配置文件并打开 Ettercap 图形化界面。

leafpad /etc/ettercap/etter.dns //通过Leafpad打开配置文件修改

DNS配置文件

  • A 211.80.208.5 //在www.linux.org下增加一条记录,使所有网站都映射到此IP地址ettercap -G //打开Ettercap图形化界面

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-60l93iv1-1691583971052)(https://image.3001.net/images/20220817/1660698167_62fc3e37b5673a5732151.png!small)]

2.2 选择工作网卡

选择Sniff一栏下的Unified sniffing进行工作网卡的选择(默认选择eth0,如果有无线网卡,则可以选择wlan0)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JO2OGpTZ-1691583971053)(https://image.3001.net/images/20220817/1660698208_62fc3e600a33be513a0cf.png!small)]

2.3 扫描并显示主机列表

在Hosts下选择Scan for hosts开始扫描主机,出现5 host added to the hosts
list表示扫描出5个地址,然后选择Hosts选项下的Hosts list显示扫描主机列表。

2.4 添加目标主机 IP 地址

选择要添加的主机地址,点击 Add to Target 1 添加被攻击目标主机,显示 Host 192.168.226.137 added to
TARGET 表示添加成功。

2.5 选择APR毒化攻击

选择Mitm选项下的ARP poisoning,再在弹出的选项框中选择Sniff remote connections 进行ARP毒化攻击。

2.6 选择DNS欺骗攻击,并启动攻击

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tbGLPiwx-1691583971054)(https://image.3001.net/images/20220817/1660698228_62fc3e749d28c885e1f08.png!small)]

选择Plugins选项下的Manage the liugins,再在弹出的Pliugins界面中选择dns_spoof,点击Start选项下的Start
sniffing开始DNS欺骗攻击。

2.7 检验攻击效果

在目标主机上面访问www.baidu.com,跳转到了前面映射的网站211.80.208.5。

2.8 停止攻击

选择 Start 选项下的 Stop sniffing 停止 DNS 欺骗攻击;显示 Unified sniffing was stopped 表示已停止
DNS 欺骗攻击;停止攻击后用户上网恢复正常;ipconfig /flushdns //Windows 系统清除 DNS 缓存。

3.DNS 欺骗攻击防御方法1. 从社会工程学角度出发,不轻易相信他人,坚信天上不可能掉馅饼。2. 保护自己的网络设备,如果自己的网络设备很安全,那么就很难被木马所感染。3. 鉴于DNS欺骗攻击原理,即改变DNS服务器当中的IP地址来实现欺骗攻击,我们可以尝试绑定DNS服务器中的IP地址以及网卡的MAC地址,然后通过得到的DNS服务器应答数据来判断是否为真。

网络设备很安全,那么就很难被木马所感染。3. 鉴于DNS欺骗攻击原理,即改变DNS服务器当中的IP地址来实现欺骗攻击,我们可以尝试绑定DNS服务器中的IP地址以及网卡的MAC地址,然后通过得到的DNS服务器应答数据来判断是否为真。

最后

分享一个快速学习【网络安全】的方法,「也许是」最全面的学习方法:
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(一周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(一周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(一周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固

6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)

在这里插入图片描述

恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k。

到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?

想要入坑黑客&网络安全的朋友,给大家准备了一份:282G全网最全的网络安全资料包免费领取!
扫下方二维码,免费领取

有了这些基础,如果你要深入学习,可以参考下方这个超详细学习路线图,按照这个路线学习,完全够支撑你成为一名优秀的中高级网络安全工程师:

高清学习路线图或XMIND文件(点击下载原文件)

还有一些学习中收集的视频、文档资源,有需要的可以自取:
每个成长路线对应板块的配套视频:


当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。

因篇幅有限,仅展示部分资料,需要的可以【扫下方二维码免费领取】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/855610.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IPO观察丨困于门店扩张的KK集团,还能讲好增长故事吗?

KK集团发起了其IPO之路上的第三次冲击。 近日,KK集团更新了招股书,继续推进港交所上市进程,此前两次上市搁置后终于有了新动向。从更新内容来看,KK集团招股书披露了公司截至2023年一季度的最新业绩,交出一份不错的“成…

你怎么看这MyBatis-flex框架 ?(入门篇)

1、简介 在国内目前使用最多的ORM框架就是Mybatis-Plus,也不得不承认,Mybatis-Plus相对于JPA而言,也确实好用一些(就个人而言),但是在国外JPA框架还是挺火的,因为JPA是一个完全的ORM框架&#x…

等了10年,工信部的APP备案终于来了

我是卢松松,点点上面的头像,欢迎关注我哦! 2005年3月,工信部要求所有境内网站都要进行网站备案、公安备案。 2023年8月,工信部要求所有的APP、小程序进行备案。否则…… 这绝对是一个移动互联网创业分水岭&#xff0…

希尔排序——C语言andPython

前言 步骤 代码 C语言 Python 总结 前言 希尔排序(Shell Sort)是一种改进的插入排序算法,它通过将数组分成多个子序列进行排序,逐步减小子序列的长度,最终完成整个数组的排序。希尔排序的核心思想是通过排序较远距…

重温HashMap底层原理

目录 1.HashMap概述 2.JDK7与JDK8的HashMap区别 3.HashMap的主要方法分析 4.常见问题分析总结 1.HashMap概述 HashMap是使用频率最高的用于映射键值对(key和value)处理的数据类型。随着JDK版本的跟新,JDK1.8对HashMap底层的实现进行了优化,列入引入…

JTS Self-intersection异常TopologyException: side location conflict解决办法

JTS Self-intersection异常TopologyException: side location conflict解决办法 举例:问题围栏 MULTIPOLYGON (((114.0905685 32.1120567, 114.0905685 32.112957, 114.0905685 32.1138535, 114.0905685 32.1147537, 114.0905685 32.115654, 114.0905685 32.11655…

深入理解Go语言中的并发编程【30】【多路复用】

文章目录 多路复用 多路复用 操作系统级的I/O模型有: 阻塞I/O非阻塞I/O信号驱动I/O异步I/O多路复用I/O   Linux下,一切皆文件。包括普通文件、目录文件、字符设备文件(键盘、鼠标)、块设备文件(硬盘、光驱&#xff…

【LeetCode】按摩师

按摩师 题目描述算法分析编程代码 链接: 按摩师 题目描述 算法分析 编程代码 class Solution { public:int massage(vector<int>& nums) {int n nums.size();if(n 0) return 0;vector<int> f(n);auto g f;f[0] nums[0];for(int i 1;i<n;i){f[i] g[i…

Winform中DatagridView 表头实现一个加上一个checkBox,实现全选选项功能

实现效果 点击checkBox1或者直接在第一列列表头点击即可实现 代码实现 我的datagridview叫dgv 我在datagridview已经默认添加了一个DataGridViewCheckBoxColumn&#xff0c;勾选时value为1&#xff0c;不勾选时value为0 第一种通过可视化拖动一个checkBox来实现 拖动组…

ElasticSearch单节点部署

&#x1f388; 作者&#xff1a;互联网-小啊宇 &#x1f388; 简介&#xff1a; CSDN 运维领域创作者、阿里云专家博主。目前从事 Kubernetes运维相关工作&#xff0c;擅长Linux系统运维、开源监控软件维护、Kubernetes容器技术、CI/CD持续集成、自动化运维、开源软件部署维护…

餐饮管理系统ssm酒店饭店仓库进销存jsp源代码mysql

本项目为前几天收费帮学妹做的一个项目&#xff0c;Java EE JSP项目&#xff0c;在工作环境中基本使用不到&#xff0c;但是很多学校把这个当作编程入门的项目来做&#xff0c;故分享出本项目供初学者参考。 一、项目描述 餐饮管理系统ssm 系统有1权限&#xff1a;管理员 二…

使用MethodInterceptor和ResponseBodyAdvice做分页处理

目录 一、需求 二、代码实现 父pom文件 pom文件 配置文件 手动注册SqlSessionFactory&#xff08;MyBatisConfig &#xff09; 对象 实体类Users 抽象类AbstractQuery 查询参数类UsersQuery 三层架构 UsersController UsersServiceImpl UsersMapper UsersMapper.…

C++项目:在线五子棋对战网页版--session管理模块开发

session 在WEB开发中&#xff0c;HTTP协议是⼀种⽆状态短链接的协议&#xff0c;这就导致⼀个客⼾端连接到服务器上之后&#xff0c;服务器不知道当前的连接对应的是哪个用户&#xff0c;也不知道客⼾端是否登录成功&#xff0c;这时候为客⼾端提所有服务是不合理的。因此&am…

微信昵称后面的“小耳朵”,原来有这么多用处,让我带你涨知识

微信昵称后面的“小耳朵”&#xff0c;原来有这么多用处&#xff0c;让我带你涨知识 大家都知道&#xff0c;在微信昵称后面加上一个"小耳朵"符号是一种常见的表达方式&#xff0c;但你知道吗&#xff1f;这个看似简单的符号其实有着丰富的用处和意义。让我带你了解…

java中io流、属性集Properties、缓冲流、转换流、序列化和反序列化、打印流、网络编程(TCP通信程序、文件复制案例、文件上传案例、B/S服务案例)

IO流&#xff1a; io流中i表示input输入&#xff0c;o表示output输出&#xff0c;流表示数据&#xff08;字符&#xff0c;字节&#xff0c;1个字符2个字节8个位&#xff09;&#xff1b;这里的输入输出是以内存为基础&#xff0c;将数据从内存中输出到硬盘的过程称为输出&…

CMSIS—OS(V1/V2)

在RTOS基础上再封装一层API。 更换项目中所使用到的RTOS。 例如将freertos项目替换为ucos RTX liteos等其他RTOS。 只需更改该CMSIS-OS的API所调用的RTOS的API。 更换RTOS的意义何在&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff1f;&am…

函数的学习

函数学习 最后附上全部java源码&#xff0c;可自行下载学习 文章目录 函数入门函数重载函数可变个数参数foreach输出传参 基本数据类型传参_引用数据类型文件夹展示所有里面的文件使用递归算法展示文件夹下所有文件1加到100的递归调用下载链接 函数入门 函数重载 public class…

为什么企业一定要走标准化、体系化的道路?

企业实行标准化、体系化道路&#xff0c;有几个重要原因&#xff1a; 1.一致性和质量&#xff1a;标准化流程和系统可确保任务始终如一且高质量地执行。这种一致性对于提供满足客户期望的产品和服务至关重要&#xff0c;从而在客户之间建立信任和忠诚度。 2.效率和生产力&…

强化安全防线:迅软科技助力美容院提升终端安全管理水平

某美容院专注于皮肤抗衰老研究与美容领域服务,业务主要包含轮廊塑型、自体脂肪、五官雕塑等,业务涵盖中国、香港、美国、韩国等多个国家及地区提倡以积极、健康、理智的美学观点,以完善的美容院管理,过硬的技术设备,为消费者提供个性化漂亮服务。 美容院的核心诉求 美容院新产…

【攻防世界】command_execution

题目再现 小宁写了个ping功能,但没有写waf,X老师告诉她这是非常危险的&#xff0c;你知道为什么吗。 题目分析 本题目说没有写WAF&#xff0c;然后可以执行Linux经典代码PING&#xff0c;我猜测到服务器不会校验我所注入的代码&#xff0c;我利用串行执行符&&进行测…