浅谈常见中间人攻击

admin 2024年12月5日20:57:18评论17 views字数 4941阅读16分28秒阅读模式

前言

中间人攻击(Man-in-the-Middle Attack,简称MITM),是一种会话劫持攻击。攻击者作为中间人,劫持通信双方会话并操纵通信过程,而通信双方并不知情,从而达到窃取信息或冒充访问的目的。

中间人攻击是一个统称,具体的攻击方式有很多种,例如Wi-Fi仿冒、邮件劫持、DNS欺骗、SSL劫持等。中间人攻击常用于窃取用户登录凭据、电子邮件和银行账户等个人信息,是对网银、网游、网上交易等在线系统极具破坏性的一种攻击方式。

中间人攻击如何工作

中间人攻击主要有两个步骤:

1)攻击者将自己插入到通信双方的链路中,拦截通信流量,为窃取数据或冒充访问做准备。

例如Wi-Fi仿冒就是很常用的一种方式,用户一旦通过虚假Wi-Fi路由器上网,后续的通信流量将完全经过虚假Wi-Fi路由器,任何行为都在攻击者的监控之下。除了Wi-Fi仿冒,投放恶意软件、DNS欺骗、ARP欺骗等技术也都是常用的中间人攻击技术。

2)攻击者插入通信链路之后就可以操纵通信双方的通信,开始窃取数据、冒充访问等操作。

涉及伪造网站、解密流量等技术。例如浏览器之所以提示不安全信息,是因为攻击者伪造用户访问的网站服务器证书,向浏览器发送虚假证书,浏览器无法验证证书真实性。用户选择继续访问后,攻击者就分别与用户和服务器建立了连接,而用户并不知情,然后攻击者即可以解密流量窃取数据或篡改数据。

下面看一个具体的例子

假设你在一家咖啡馆,使用笔记本电脑搜索到一个咖啡馆名字的Wi-Fi接入点,顺利连接上网,然后您开始登录各种在线系统。浏览器提示连接不安全的信息,但是您并没有注意,选择继续访问,此时可能中间人攻击已经发生。您的一举一动都在攻击者监视之下,账号、家庭住址、邮箱等个人信息都将被攻击者截获。

浅谈常见中间人攻击

常见的中间人攻击类型

中间人攻击是一种攻击手段,具体的攻击方式有很多种,下面就来看看最常见的一些攻击方式:ARP欺骗,DNS欺骗,Wi-Fi仿冒,邮件劫持,SSL劫持。

ARP欺骗

APR协议简介

ARP(Address Resolution Protocol,地址解析协议)是用来将IP地址解析为MAC地址的协议。主机或三层网络设备上会维护一张ARP表,用于存储IP地址和MAC地址的映射关系,一般ARP表项包括动态ARP表项和静态ARP表项。

ARP 协议是通过广播请求来获取目标设备的 MAC 地址的。当一个设备需要发送数据到另一个设备时,它会发送一个 ARP 请求,询问局域网内的所有设备,是否有指定 IP 地址对应的 MAC 地址。目标设备收到该请求后,会回复一个 ARP 应答,告诉请求者它的 MAC 地址。

ARP欺骗原理

ARP欺骗也称为ARP投毒,即攻击者污染用户的ARP缓存,达到使用户流量发往攻击者主机的目的。局域网用户发起访问都需要由网关进行转发,用户首先发起ARP请求获取网关IP地址对应的MAC地址,此时攻击者冒充网关向用户应答自己的MAC地址,用户将错误的MAC地址加入自己的ARP缓存,那么后续用户所有流量都将发往攻击者主机。

ARP是通过广播的方式进行的,因此如果我们抢先回应ARP请求包,那么就有可能造成ARP欺骗。

ARP攻击步骤

1.攻击者扫描网络中的 IP 地址和 MAC 地址。

2.攻击者构造伪造的 ARP 数据包,其中包含网络中其他设备的 IP 地址和攻击者自己的 MAC 地址。

3.攻击者发送伪造的 ARP 数据包到网络中。

4.被攻击的设备接收到伪造的 ARP 数据包,并更新其 ARP 缓存表。

5.之后,被攻击的设备将数据包发送到攻击者控制的设备上,而不是真正的目标设备,因此攻击者可以截获网络流量并篡改数据包。

ARP欺骗攻击

工具: arpspoof

arpspoof  -i    eth0   -t 172.16.17.73 172.16.17.254
语法:
arpspoof -i 网卡 -t 目标IP 网关
也可以使用反向欺骗:
arpspoof -i 网卡 -t 网关 目标IP

kail自带了该工具,可以直接执行下面的命令,已达到欺骗的目的

浅谈常见中间人攻击

通过该工具就可以达到欺骗的目的,具体大家可以实验一下。

DNS欺骗

DNS简介

DNS即Domain Name System 的缩写,域名系统以分布式数据库的形式将域名和IP地址相互映射。DNS协议即域名解析协议,简单的说:DNS是用来解析域名的。有了DNS我们就不用再记住烦人的IP地址,用相对好记的域名就可以对服务器进行访问,即使服务器更换了IP地址,我们依旧可以通过域名访问该服务器,这样能够使我们更方便的访问互联网。

浅谈常见中间人攻击

下面来看看当我们要访问baidu.com的时候,都经过了哪些步骤

1、解析输入的URL
2、进行DNS查询
2.1、查看本地hosts文件
C:WindowsSystem32driversetchosts windows下hosts文件所在路径
/etc/hosts Linux下hosts文件所在路径
2.2、查询本地的DNS缓存
chrome://net-internals/#dns 查看谷歌浏览器本地DNS缓存
firefox: about:config 查看火狐浏览器本地DNS缓存
注:以Windows系统为例,可以在命令行下使用 ipconfig /displaydns 来进行查看操作系统自身的DNS缓存
2.3、查询本地的DNS服务器
2.4、如果本地DNS服务器不能解析,则向根服务器发起请求;根服务器会查看URL的顶级域,并向本地 的DNS服务器返回com顶级域对应的地址;接着本地DNS服务器会向顶级域的DNS server发起请求,.com的这个顶级域DNS server会接着向本地DNS服务器返回baidu.com域的地址;接着本地DNS服务器会接着想baidu.com域DNS server发起请求……,直到找到需要进行解析的域名www.baidu.com所对应的IP地址,再将查找结果返回给本地DNS服务器。
3、浏览器获取到了www.baidu.com对应的IP地址后,两者之间进行三次握手,协商相应参数并建立连接。
4、浏览器向server发起get请求,服务器返回相应请求后并四次分手后断开连接。

PS:在第二步有的文章写的是先查询本地缓存,在查询hosts文件,根据实际情况以及测试来看,是先查询的hosts文件。

DNS欺骗原理

DNS欺骗也称为DNS劫持。用户访问互联网的第一步就是向DNS服务器发起DNS请求,获取网站域名对应的IP地址,然后DNS服务器返回域名和IP地址的对应关系。攻击者利用这一过程,篡改域名对应的IP地址,达到重定向用户访问的目的。对于用户来说,浏览器访问的还是一个合法网站,但实际访问的是攻击者指定的IP地址对应的虚假网站。

上面我们简要介绍了DNS解析的一个基本过程,那么从这个过程中我们可以看到DNS欺骗有下面的两个攻击点:

1)攻击用户本地DNS缓存

2)攻击本地的DNS服务器

浅谈常见中间人攻击

DNS欺骗大部分首先要先使用ARP欺骗。首先欺骗者向目标机器发送构造好的ARP应答数据包,ARP欺骗成功后,嗅探到对方发出的DNS请求数据包,分析数据包取得ID和端口号后,向目标发送自己构造好的一个DNS返回包,对方收到DNS应答包后,发现ID和端口号全部正确,即把返回数据包中的域名和对应的IP地址保存进DNS缓存表中,而后来的当真实的DNS应答包返回时则被丢弃。

DNS欺骗过程

工具:Ettercap

1)靶机目标最开始baidu.com的指向IP是正确的

浅谈常见中间人攻击

2)用ettercap来进行DNS欺骗

首先找到etter.dns这个配置文件并且编辑

浅谈常见中间人攻击

添加一条A记录,将 www.baidu.com 指向到本机IP

浅谈常见中间人攻击

保存并且退出,使用ettercap开始欺骗:

浅谈常见中间人攻击

3)验证DNS欺骗

浅谈常见中间人攻击

可以看到目标主机对域名www.baidu.com的访问已经被指向到192.168.1.59

DNS防范

为了防止DNS欺骗,可以采取以下几种策略:

1)使用DNSSEC:DNSSEC(DNS Security Extensions)是一组旨在验证DNS数据完整性和来源的技术,通过数字签名机制来保证DNS响应的真实性。

2)加密通信:HTTPS协议可以保护客户端与服务器之间的通信不被窃听或篡改。即使用户被导向到了一个假冒站点,只要站点没有正确配置的SSL证书,浏览器也会警告用户可能存在风险。

3)使用可信的DNS解析器:选择信誉良好的DNS提供商,这些提供商通常会对DNS请求进行额外的安全检查,减少被攻击的风险。

4)定期更新系统和软件:及时修补操作系统和应用程序中的漏洞可以减少被攻击的机会。

5)教育用户:提高用户的网络安全意识,教育他们识别钓鱼网站和恶意链接的方法,是非常重要的。

Wi-Fi仿冒

这种攻击方式是最简单、常用的一种中间人攻击方式。攻击者创建恶意Wi-Fi接入点,接入点名称一般与当前环境相关,例如某某咖啡馆,具有极大迷惑性,而且没有加密保护。当用户不小心接入恶意Wi-Fi接入点后,用户后续所有的通信流量都将被攻击者截获,进而个人信息被窃取。

邮件劫持

攻击者劫持银行或其他金融机构的邮箱服务器,邮箱服务器中有大量用户邮箱账户。然后攻击者就可以监控用户的邮件往来,甚至可以冒充银行向个人用户发送邮件,获取用户信息并引诱用户进行汇款等操作。

例如,2015年某国银行被攻击者窃取了600万欧元。在此次攻击中,攻击者能够访问银行电子邮箱账户,并通过恶意软件或其他社会工程学方法引诱客户向某账户汇款。

SSL劫持

当今绝大部分网站采用HTTPS方式进行访问,也就是用户与网站服务器间建立SSL连接,基于SSL证书进行数据验证和加密。HTTPS可以在一定程度上减少中间人攻击,但是攻击者还是会使用各种技术尝试破坏HTTPS,SSL劫持就是其中的一种。

SSL劫持也称为SSL证书欺骗,攻击者伪造网站服务器证书,公钥替换为自己的公钥,然后将虚假证书发给用户。此时用户浏览器会提示不安全,但是如果用户安全意识不强继续浏览,攻击者就可以控制用户和服务器之间的通信,解密流量,窃取甚至篡改数据。

另外,攻击者还可能直接入侵数字证书发行商,窃取知名网站的真实证书。2011年某数字证书发行商就被攻击者窃取了500多个知名网站证书,从而引发大量用户个人信息泄露。

中间人常用的工具

PacketCreator
Ettercap
Dsniff
Cain and Abel
Paros Proxy
Burp Proxy
ProxyFuzz
Odysseus Proxy
Fiddler
mitmproxy
Hetty
BetterCap
Proxy.py

如何检测中间人攻击

检测中间人攻击具有一定的挑战性,但我们可以通过监测网络的特定参数和流量分析来识别潜在的攻击,并在攻击发生时及时向系统管理员发出警报。

1)服务频繁中断:攻击者在劫持通信会话之前,通常会断开用户的连接,导致服务不断中断。如果发现服务频繁无预警地中断,这可能是中间人攻击的一个迹象。

2)请求伪造网站:攻击者可能通过伪造的域名或 IP 地址,诱使用户向其发送请求。当用户频繁向类似真实网站的假冒网站发送请求时,这可能表明中间人攻击正在发生。

3)实时延迟检查:异常的数据包传输时间表示可能存在中间人攻击。攻击者在数据传输过程中的干预会造成额外的延迟。通过比较数据包头部的时间戳,我们能够检测到这种延迟。

4)深度数据包检查(DPI)与深度流量检查(DFI):DPI 和 DFI 是强大的工具,它们通过分析数据包的大小、长度等信息,帮助发现不寻常的网络活动,从而识别中间人攻击。异常的数据包可能表现为:

数据包大小不符合常规,例如过大或过小。

数据包内容出现异常,比如含有不应出现的敏感信息。

5)入侵检测和预防系统(IDPS):IDPS 能够识别异常流量并突出显示可疑的数据包,及时通知管理员。基于异常行为的 IDS 能够侦测到中间人攻击的迹象,比如:

数据包头部信息出现异常,例如源 IP 或目标 IP 地址不一致。

数据包内容异常,如包含不正常的敏感信息。

参考链接

https://blog.csdn.net/ewii12567/article/details/140102109

https://www.cnblogs.com/swyft/articles/5557365.html

原文始发于微信公众号(信安路漫漫):浅谈常见中间人攻击

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年12月5日20:57:18
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   浅谈常见中间人攻击https://cn-sec.com/archives/3469791.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息