目录导航
中间人攻击(Man-in-the-MiddleAttack,简称“MITM攻击”)
我们试图将所有已知的MITM攻击和针对这些攻击的防护方法放在一起。这里还包含用于执行MITM攻击的工具,一些有趣的攻击案例以及与之相关的一些技巧。
注意: 此处介绍的几乎所有攻击工具都没有任何嗅探器。它仅提供攻击。此处进行嗅探的工具:数据嗅探。
针对中间人攻击的渗透测试者和防御团队的备忘单。
L2
ARP欺骗
复杂性:低
相关性:高
说明:
地址解析协议(ARP),用于将IP地址解析为MAC地址。网络中需要通信的所有网络设备都使用广播ARP查询来查找其他计算机的MAC地址。
几乎所有的arp欺骗工具都使用免费的arp响应。免费ARP答复是对没有ARP请求的答复。
尽管免费ARP很有用,但它尤其不安全,因为它可用于确保远程主机同一网络上系统的MAC地址已更改,并指定现在使用的地址。Arp欺骗攻击的典型示例
也有可能以另一种方式成功进行攻击。当您监视网络段中的arp活动并突然注意到受害者的arp请求时,您可以尝试将arp答复发送给受害者的速度比该请求的收件人更快。一些供应商可以接受此技巧。
攻击工具:
bettercap
-T 10.10.10.10 -X --httpd --proxy-https --proxy
该工具的旧版本比较简单,但是还有一个用Go编写的新时尚工具。 注意: Bettercap内部具有出色的嗅探器。arpspoof
-i eth0 -t 10.10.10.10
- Intercepter-NG(现在可以在Linux上安装)
攻击检测
- arpwatch
程序监视选定接口上的所有ARP活动。如果发现异常,例如在保存IP地址的同时更改了MAC地址,反之亦然,则会将其报告给syslog。
适用于Windows的XArp Arpwatch- 通过SNMP重新映射Arpwatch
预防攻击
- 手动ARP表
它有局限性,因为它将导致网络可扩展性方面的困难。对于无线网络而言,这是一个挑战,几乎是不可能的。
诸如Anticap和Antidote之类的修补实用程序在防止ARP欺骗方面可以发挥至关重要的作用,其中Anticap阻止使用现有的ARP缓存更新具有不同MAC的ARP缓存,这实际上可以防止ARP欺骗,但它违反了ARP协议规范,这确实是一个问题。另一方面,解毒剂可防止ARP中毒的方式略有不同。它使用现有缓存分析新收到的ARP答复。如果新的缓存与先前的缓存不同,则如果它仍然存在,它将寻找MAC地址。如果发现先前的缓存MAC地址仍然有效,则拒绝新的MAC地址,然后将攻击者的MAC地址添加到被禁止的MAC地址列表中,以防止同一目标计算机上的ARP中毒引起进一步尝试。- 在交换机上创建VLAN在交换机上创建VLAN,该VLAN仅包含交换机本身和特定的网络设备。
- 创建加密的连接,此方法也适用于公共网络,因为所有流量都被加密,并且不可能截获任何用户数据。
- 思科系统中的DAI动态ARP检查通过不将无效或免费ARP答复转发到同一VLAN中的其他端口来帮助防止中间人攻击。动态ARP检查会截获所有ARP请求以及对不受信任端口的所有答复。通过DHCP侦听,对每个截获的数据包进行有效的IP到MAC绑定验证。交换机丢弃或记录拒绝的ARP数据包以进行审核,以阻止ARP中毒攻击。不会检查受信任端口上的传入ARP数据包。
相关链接
ARP如何工作
STP(RSTP,PVSTP,MSTP)欺骗
复杂性:高
相关性:中等
描述:
生成树协议旨在检测并防止交换机之间存在冗余路径时网络中的环路。
可以模拟具有(较低)根交换机标识符的设备(通过连接具有较低优先级的新虚拟设备或使用STP数据包生成工具)的任何人,都可以部分或完全拦截虚拟网络流量。通常,攻击者没有与两个交换机的物理连接,因此描述的攻击方法几乎是不可能的。但是,在无线网络中,情况正在发生变化,因为电缆连接(办公室中的插座)和无线连接(接入点)可以在不同的交换机上结束。
攻击工具
警告:通常,这种类型的攻击会导致拒绝服务。
yersinia
–G
Yersinia具有图形界面和交互式控制台,您需要选择网络界面并发动MITM攻击。
图形界面不稳定,因此您可以使用交互式界面:yersinia –I
。ettercap
Linux的另一种工具。您需要选择接口,然后点击“ stp mangier”插件并启动它。
防御技术
- 在访问端口上禁用STP(以停止从用户接收BDPU),在所有用户端口上启用端口安全性,并限制对网络设备的物理访问。
- 保护STP的配置工具(思科)。

NDP欺骗
复杂性:中度
相关性:几乎没有
描述:
攻击工具
防御技术
VLAN跳变
复杂性:中度
相关性:无
说明:
虚拟LAN(局域网)是一个逻辑子网,可以将来自不同物理LAN的一组设备组合在一起。大型商用计算机网络通常会设置VLAN来对其网络进行重新分区,以改善流量管理。
VLAN通过将标签应用于网络帧并在网络系统中处理这些标签来工作-创建物理上位于单个网络上但看起来像在不同网络之间拆分的网络流量的外观和功能。
VLAN跳变是涉及访问VLAN的攻击的通用名称,该攻击最初(在攻击之前)对攻击者不可用。它可以通过两种方式执行:
Exploit-db doc
带有插图和视频
VLAN跳跃的指南完整指南
深入文章
攻击工具
yersinia
–G
Yersinia具有图形界面和交互式控制台,您需要选择网络界面并发动MITM攻击。
图形界面不稳定,因此您可以使用交互式界面:yersinia –I
。- Scapy
Scapy是一个Python程序,使用户能够发送,嗅探,解剖和伪造网络数据包。它可用于创建处理此攻击所需的特制框架。 dtp-spoof.py
-i eth0
使用eth0的mac地址从eth0发送DTP中继数据包DTP-spoof是用于测试交换机的动态中继协议(DTP)配置的安全工具。如果将目标交换机配置为协商端口模式,则可以将目标交换机的端口设置为Trunk模式,从而获得对其他VLAN的访问权限。
防御技术
- 主VLAN跳跃攻击(使用DTP)
仅在将接口设置为协商中继时才能执行。为了防止VLAN跳动被利用,我们可以采取以下缓解措施:- 通过禁用DTP,确保端口未设置为自动协商中继
- 请勿使用以下两种模式之一配置任何接入点:“动态所需”,“动态自动”或“中继”。
- 关闭当前未使用的所有接口。
- 双重标记
为了防止双重标记攻击,所有中继端口的本地VLAN均应与用户VLAN保持不同。
L3
SLAAC攻击
复杂度:低
相关性:高
说明
SLAAC-无状态地址自动配置。SLAAC是主机网络配置的一种方法,例如DHCPv4。SLAAC提供了IPv6主机前缀值,前缀长度和默认网关链接本地地址,而没有DHCPv6-server保持提供的地址状态(这就是为什么将其称为无状态)的原因。在仅SLAAC和SLAAC + DHCPv6无状态配置期间执行SLAAC过程。
此过程的主要问题是,攻击者可以设计流氓RA来为主机提供自己的配置(例如,成为链接上的默认路由器)。所有启用了IPv6的主机都可能容易受到SLAAC攻击。特别是在启用IPv6的情况下,默认情况下是操作系统,但组织尚未以任何形式部署IPv6。
RA中的另一个威胁来自通过RA发送DNS配置的能力,因此攻击者也可以欺骗它:RFC 6106-DNS配置的IPv6路由器广告选项。
攻击工具
- Surprisesix
这是一个脚本,用于预置安全研究人员Alec Waters在其有关SLAAC攻击的帖子中使用的工具。该脚本有些过时,并且在Ubuntu 12.04 LTS上运行良好。最好为其创建单独的VM。
用于Windows的EvilFOCA Amazing工具,用于IPv6 MITM攻击。用AC#编写的带有GUI的工具,它允许IPv6攻击,包括SLAAC攻击,伪造的DHCPv6甚至SLAAC DoS,这意味着在链路上的多个RA中宣布伪造的路由。- THC-IPv6
用C IPv6编写的攻击工具包,除其他众多选项外,它还可以对RA进行攻击。
防御技术
减轻SLAAC攻击的最简单方法是仅在网络中的所有主机上禁用IPv6。但是此解决方案仅适用于不使用IPv6堆栈且仅由于配置错误而启用的网络。供应商实施解决问题的10个基本思路
相关监视工具
有一些工具可对恶意RA检测和监视有所帮助:
- NDPMon
允许在编译之前选择以下配置选项:--enable-mac-resolv
通过MAC地址中的OUI确定供应商。--enable-countermeasures
应对攻击的功能(未描述攻击的方式和方式)。--enable-syslogfilter
将syslog保存到/var/log/ndpmon.lo。--enable-lnfq
使用libnetfilter_queue而不是PCAP(要安装一些要求和ip6tables规则)。--enable-webinterface
发布html报告(某些Web服务器需要nginx / apache)。 - Ramond
允许添加确定的合法路由器的MAC地址白名单,用于6to4的前缀和未知前缀。基于此配置,该工具会监视RA流量以查找恶意流量。 - 6MoN
允许监视网络状态,观察DAD进程和NS消息。DAD代表“重复地址发现”,它确定网络上是否存在地址重复冲突。NS代表邻居请求(ICMPv6类型135),用于确定链路上的邻居。
相关RFC
RFC 6104-恶意IPv6路由器广告问题声明
RFC 6105-IPv6路由器广告防护
RFC 3736 -IPv6的无状态动态主机配置协议(DHCP)服务
RFC 4862-IPv6的无状态地址自动配置(SLAAC)
RFC 7113-IPv6路由器的实施建议Advertisement Guard(RA-Guard)
RFC 8021-认为有害的IPv6原子片段的生成
劫持HSRP(VRRP,CARP)
复杂性:高
相关性:高
描述:
攻击工具 Scapy是创建PoC和劫持活动节点状态的最简单方法:
对于HSRP:
#!/usr/bin/env python from scapy.all import * if __name__ == "__main__": ip = IP(src="10.0.0.100", dst="224.0.0.2") udp = UDP(sport=1985, dport=1985) hsrp = HSRP(group=1, priority=150, virtualIP="10.0.0.1", auth="cisco") send(ip/udp/hsrp, iface="eth1", inter=3, loop=1)
对于VRRP:
#!/usr/bin/env python from scapy.all import * if __name__ == "__main__": ip = IP(src="10.0.0.100", dst="224.0.0.2") udp = UDP() vrrp = VRRP(vrid=1, priority=150, addrlist=["10.0.0.7", "10.0.0.8"], ipcount=2, auth1='cisco') send(ip/udp/vrrp, iface="eth1", inter=3, loop=1)
动态路由协议欺骗(BGP)
复杂性:高
相关性:高
条件:
描述:
攻击工具
https://github.com/fredericopissarra/t50
RIPv2路由表中毒
复杂性:中
相关性:中
条件:已
实施RIP;
正在使用RIPv1;
RIPv2身份验证已禁用。
说明:
RIP有3个版本:
- RIPv1:RFC 1058中描述的第一个版本;
- RIPv2:主要通过添加认证机制版本进行改进,如RFC 2453中所述;
- RIPv3或RIPng(下一代):支持IPv6,如RFC 2080中所述。
实施最广泛的协议是RIPv2。RIPv1根本不安全,因为它不支持消息身份验证。这是一个很好的写了上通过注入假的路由RIPv1的开发。
根据RFC 2453中的规定,RIPv2路由器必须每30秒交换一次路由信息。攻击的想法是发送伪造的RIP响应消息,其中包含攻击者需要注入的路由。虽然,RIPv2路由器有一个特殊的多播-224.0.0.9,但是也可以接受以单播形式发送的响应。与多播伪造路由传播的情况相比,这可以例如增强对攻击的检测。关于使用Scapy使用示例的无RIPv2身份验证的RIPv2网络扩展,写得很好。
攻击工具
- t50-一种用于注入流量和网络渗透测试的多协议工具。在许多其他协议中,它支持RIP。
防御技术
如果未将路由器配置为对RIPv2消息进行身份验证,它将接受RIPv1和RIPv2未经身份验证的消息。用这种方式最安全的配置是设置RIPv2身份验证,以便路由器不应该接受RIPv1和v2未经身份验证的消息,从而使未经身份验证的路由器无法注入路由。RFC 2082-RIP-2 MD5身份验证中描述了此机制,但是它描述了MD5的用法,该方法被认为是弱哈希函数。更好的一种,这意味着在RFC 4822-RIPv2加密身份验证中描述了SHA-1的使用。
不幸的是,RIPv2仅支持纯文本和MD5身份验证。第一个在嗅探网络的情况下是没有用的,而在被动攻击者的情况下,MD5 Auth更好地拦截数据包,因为它不以纯文本形式传输密码。
RIPv2身份验证指南的配置介绍了如何在Cisco设备上设置此功能。
设置MD5认证为导向的MikroTik存在这里。此处提供了在Juniper设备上设置MD5身份验证的指南。
另外,passive-interface
应在与终端设备进行通信的访问接口上使用功能。
Mikrotik有关设置passive interface
功能的文档。
思科有关设置passive interface
功能的文档。
Juniper有关设置passive-interface
功能的文档。
相关RFC:
携带附加信息的RFC 1388-RIP版本2
RFC 4822-RIPv2密码认证
RFC 2453-RIP版本2
RFC 2080-RIPng for IPv6。
OSPF路由表中毒
复杂性:高
相关性:高
条件:
描述:
攻击工具
防御技术
EIGRP路由表中毒
复杂度:中
相关性:中
条件:在网络上实现的EIGRP协议;没有EIGRP消息身份验证设置
说明:
EIGRP代表增强型内部网关路由协议。它是思科专有的距离矢量路由协议,依赖于扩散更新算法-DUAL。该协议的主要目的是动态更新路由表,并将路由传播到其他路由器。
如果在“更新”消息中欺骗数据,例如注入非合法路由,则可能存在主要的安全问题。在这种情况下,路由器的路由表将被更改,以使其通过攻击者控制的设备通过流量,因此会出现MitM攻击。
攻击工具
- Eigrp Tools
一个Perl脚本,允许编写EIGRP数据包并将其发送到网络上。它甚至允许设置K1-K4度量,EIGRP数据包的所有标志和字段。该脚本需要libnet-rawip-perl
和libnetpacket-perl
要安装包。一些用法示例:./eigrp.pl --sniff --iface eth0
在eth0接口上执行嗅探以./eigrp.pl --file2ip update.dat --source 192.168.7.8
重播来自文件./eigrp.pl --update --external --as 65534 --source 192.168.7.8
发送和更新消息的流量 - EIGRP安全工具
python脚本,它允许制作和发送不同的EIGRP数据包。问题在于,由于缺少未找到的scapy_eigrp模块,因此尝试启动脚本的尝试失败。同样,即使在研究说明中,作者也没有为该工具编写任何文档 。 - t50-一种用于注入流量和网络渗透测试的多协议工具。在许多其他协议中,它支持EIGRP流量操纵。
防御技术
为了保护网络免受不受信任的路由传播的影响,EIGRP提供了一种对路由器更新进行身份验证的机制。它使用MD5键摘要来对每个数据包进行签名,以防止未经授权的设备将更新发送到网络。它可以保护合法路由器免受非法路由器更新和路由器欺骗的侵害。密钥只是一个定义的字符串,必须在其他合法的设备上进行设置。有关EIGRP MD5身份验证设置的详细指南,可在此处找到
不幸的是,由于哈希冲突,MD5被认为是一种弱哈希算法。思科设备还支持hmac-sha-256
EIGRP更新身份验证。SHA-256上的哈希冲突攻击比MD5复杂得多。EIGRP HMAC-SHA-256身份验证指南可在此处找到。
可以设置存根EIGRP路由区域,因为它可以确定存根路由器应接收或不接收查询的路由类型。有关EIGRP存根路由的更多信息,请参见此处。
减少网络中不必要的流量的另一种最佳做法是设置被动接口。passive-interface
应该在访问接口上设置功能,访问接口不与网络设备通信,而与终端设备通信。passive-interface
有关EIGRP设置的说明以及其工作原理的说明,请参阅Cisco的文档页面。
ICMP重定向
复杂性:中
相关性:中
说明:
ICMP协议的目的之一是动态更改最终网络系统的路由表。动态远程管理路由的最初构想是防止可能的将消息发送到非最佳路由,以及提高整个网络的容错能力。假定该网段可以通过多个路由器(而不是通常通过一个路由器)连接到Internet。在这种情况下,我们可以通过任何最近的路由器访问外部网络。例如,为了some_host.site的最短路线穿过“路由器A”和到another.site -通过“路由器B”。
如果其中一个路由器发生故障,则可以通过另一个路由器与外界通信。作为“ ICMP重发攻击”,我们在节点A(受害者)的路由表中将路由更改为某个站点(DNS名称),以便从节点A到某个站点的流量通过黑客PC
成功条件:
- 新路由器的IP地址必须与被攻击主机本身位于同一子网中。
- 无法为与主机本身位于同一子网中的IP地址添加新路由。
- 操作系统必须支持和处理ICMP重定向数据包。默认情况下,在Windows(HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parameters \ EnableICMPRedirect)
和某些Linux发行版(cat / proc / sys / net / ipv4 / conf / all / accept_redirects)中启用ICMP重定向
攻击工具
防御技术
- 禁用icmp重定向(示例)
L4 +
NetBIOS(LLMNR)欺骗
复杂性:低
相关性:高
说明:
如果Windows客户端无法使用DNS解析主机名,它将使用“链接本地多播名称解析(LLMNR)”协议询问相邻计算机。LLMNR可用于解析IPv4和IPv6地址。
如果失败,将使用NetBios名称服务(NBNS)。NBNS是与LLMNR相似的协议,具有相同的目的。两者之间的主要区别是NBNS仅在IPv4上运行。
这个很酷的事情的问题是,当使用LLMNR或NBNS来解析请求时,网络上任何知道所请求主机IP的主机都可以答复。即使主机以不正确的信息回复了这些请求之一,它仍将被视为合法。
攻击者可能会要求受害者提供NTLM身份验证,这将使受害者的设备发送NTLM哈希,然后将其用于暴力攻击。也有机会执行WPAD欺骗。
快速教程,可获取明文凭证,
Microsoft Windows的名称解析服务如何工作以及如何被滥用
攻击工具
- 响应者
它可以响应LLMNR和NBNS查询,给出自己的IP地址作为请求的任何主机名的目的地。响应者支持中毒WPAD请求并提供有效的wpad.dat PAC文件。
- Mitm6
mitm6是用于WPAD欺骗和凭据中继的渗透测试工具。 - Inveigh
Inveigh是PowerShell ADIDNS / LLMNR / NBNS / mDNS / DNS欺骗程序和中间人工具,旨在帮助发现自己仅限于Windows系统的渗透测试人员/红色团队使用。 Import-Module。\ Inveigh.psd1 调用-Inveigh – NBNS Y – mDNS Y – FileOutput Y – ConsoleOutput Y – SMB Y - Metasploit模块
辅助/欺骗/ llmnr / llmnr_response,
辅助/欺骗/ nbns / nbns_response
防御技术
DHCP欺骗
复杂性:中等
相关性:中等
描述:
此攻击的目的是使用攻击者的主机或设备作为默认网关,并强制客户端使用配置的错误域名服务(DNS)和Windows Internet名称服务(WINS服务器)由攻击者。攻击者的任务是在网络上配置伪造的DHCP服务器,以向客户端提供DHCP地址,并用尽其他合法DHCP服务器的IP地址池(DHCP饥饿攻击)。
成功条件:
- 客户端从Rogue DHCP服务器接收IP地址的速度比从合法DHCP服务器接收IP地址的速度更快。
- 合法服务器用尽了要发布的地址池(DHCP饥饿攻击)。
DHCP饥饿攻击:
- 攻击者从DHCP服务器请求IP地址并接收它
- 攻击者的MAC地址发生变化,它请求下一个不同的IP地址,作为新客户端屏蔽
- 重复这些操作,直到服务器上的整个IP地址池用尽。
DHCP饥饿的攻击工具
DHCP欺骗攻击工具
防御技术
- 启用DHCP监听
这是旨在防止DHCP攻击的L2交换机功能。例如,DHCP欺骗攻击或DHCP饥饿攻击。
在思科交换机上:
- Switch(config)#ip dhcp snooping vlan 10-为vlan10启用DHCP侦听
- Switch(config)#interface fa 0/1-转到特定接口的设置
- Switch(config-if)#ip dhcp snooping trust-在接口上设置可信端口(默认情况下,所有端口都不可靠,不应将DHCP服务器连接到它们)。
- Switch(config)#ip dhcp-server 10.84.168.253-指定受信任的DHCP服务器的地址,该地址可通过受信任的端口访问。
重要。默认情况下,启用DHCP侦听后,将启用该交换机以检查MAC地址是否匹配。交换机检查DHCP请求中的MAC地址是否与客户端的MAC地址匹配。如果它们不匹配,则交换机将丢弃该数据包。
恶意DHCP(DHCPv6)
复杂性:低
相关性:高
说明:
Ipv6客户端向All_DHCP_Relay_Agents_and_Servers地址发送一个Solicit消息以查找可用的DHCP服务器。任何可以满足客户要求的服务器都将以广告消息进行响应。然后,客户端选择其中一台服务器,然后向服务器发送请求消息,以请求确认的地址分配和其他配置信息。服务器以包含确认的地址和配置的Reply消息进行响应。
此架构与DHCPv4相似,因此攻击者的主要目标是使用伪造的DHCPv6服务器将受害者的流量重定向到他自己。
攻击者可以捕获客户端DHCP请求消息并可以进行实际答复,假装他是DHCPv6服务器并分配凭据(例如DNS地址)供受害者使用。
攻击工具
防御技术
- 在Cisco设备中启用dhcpv6保护策略(示例)
- 如果不使用Ipv6,请禁用它
无线
业力攻击(Wi-Fi)
复杂性:低
相关性:高
描述:
KARMA攻击利用发送请求的客户端的特殊性来确定附近有哪些无线网络。
Wi-Fi接入点定期发送信标请求,该信标请求指示标识Wi-Fi网络的网络SSID。当客户端收到带有记住的SSID的信标帧时,可以将其与无线网络关联。易受攻击的客户端设备会广播“首选网络列表”(PNL),其中包含它们先前已连接到并愿意在无需用户干预的情况下自动重新连接的接入点的SSID。范围内的任何WiFi接入点都可以接收这些广播。KARMA攻击包括一个访问点,该访问点接收此列表,然后从PNL为其提供一个SSID,从而成为客户端已经信任的访问点的邪恶双胞胎。
结果,客户端连接到与用户期望的网络不同的网络。现在,攻击者可以在客户端系统上执行MITM或其他攻击。
但是,如今,大多数现代网络管理员已通过切换到被动扫描来针对KARMA攻击采取对策。现在,网络管理员不再等待发送探测请求帧,而是在与无线网络关联之前等待接收具有熟悉的ESSID的信标帧。尽管此对策阻碍了KARMA攻击的有效性,但几乎每个现代操作系统都保留了KARMA利用的第二个功能,即使站点能够自动加入以前连接的网络的自动连接标志。
可以猜测受害设备的“首选网络列表”中的SSID的攻击者将能够广播相应的信标帧,并使该设备自动与攻击者控制的访问点关联。在更复杂的攻击中,攻击者可能使用受害者过去可能已连接的常见SSID的“词典”。
攻击工具
- Wifiphisher
流氓接入点框架 - hostapd-mana hostapd-mana
是一个功能强大的恶意wifi接入点工具。它可以用于跟踪和取消匿名设备(又称史努比),从尝试进行EAP的设备(又称WPE)收集公司凭据或吸引尽可能多的设备进行MitM攻击的多种用途。 - WIFI
PINAPPLE恶意接入点和WiFi渗透测试工具包。
如何在此处使用Dogma PineAP模块加强MK5 Karma攻击。 - FruityWIFI
FruityWiFi是用于审核无线网络的开源工具。它允许用户直接使用Web界面或向其发送消息来部署高级攻击。
最初,该应用程序是为与Raspberry-Pi一起使用而创建的,但可以安装在任何基于Debian的系统上。
防御技术
- 注意您的设备连接到的Wi-Fi网络
- 请勿在公共区域使用开放式wifi或非常谨慎地使用它
- 创建加密的连接(VPN等)
流氓BTS(GSM)
攻击技术
数据嗅探
攻击工具:
数据注入
HTML中的恶意JS
HTA
资料修改
sus
DNS劫持
黑客笔记
技术堆栈之间的差异(或为什么笔记本电脑无法进行大多数攻击)
感谢@serjepatoff的解释:
网络设备具有相同的通用CPU。适用于基本SOHO路由器的MIPS或ARM,更严重的情况下为多核x86。具有多个硬件队列的NIC和NIC <->软件通信的特殊方法(显式环形缓冲,大量使用DMA)才有所作为。
因此,您不仅可以连接到网络并打开欺骗功能,还可以立即关闭网络。您的小型笔记本计算机网络适配器根本无法应付大数据流,并且将开始丢弃它们。您需要选择可以同时欺骗的最佳主机数量(〜<4)。
攻击装置
可能的候选人:MikroTik hAP AC
SSLStrip,SSLStrip +,HSTS
SSLStrip是一种将安全(HTTPS)连接替换为开放(HTTP)连接的技术。这种攻击也称为HTTP降级
它拦截了HTTP流量,每当它发现重定向或使用HTTPS链接到站点时,就会透明地将其删除。
而不是受害者直接连接到网站;受害者连接到攻击者,然后攻击者启动了与网站的连接。拦截器以HTTPS形式将加密的连接返回到Web服务器,并以未加密的方式将流量提供给网站访问者
但是随着HSTS的出现,它不再起作用了。更确切地说,在启用HSTS的地方不起作用。
HTTP严格传输安全性(HSTS)是一种Web安全策略机制,可帮助保护网站免受协议降级攻击(SSL剥离)。它允许Web服务器声明Web浏览器应仅使用安全的HTTPS连接与其进行交互,而不应通过不安全的HTTP协议进行交互。HSTS是IETF标准的跟踪协议,在RFC 6797中指定。
HSTS由服务器工作,并以特殊的标头Strict-Transport-Security进行响应,该标头包含一个响应,该响应告诉客户端每当他们重新连接到站点时就必须使用HTTPS。该响应包含一个“最大年龄”字段,该字段定义此规则自上次被看到以来应持续的时间。
还具有includeSubDomains
(可选)。如果指定了此可选参数,则此规则也适用于站点的所有子域。
但是并非所有人都以相同的方式设置HSTS。
这就是SSLstrip ++产生的方式。
该工具可以透明地劫持网络上的HTTP流量,监视HTTPS链接和重定向,然后将这些链接映射到外观相似的HTTP链接或同形异义的HTTPS链接。
HSTS的缺点之一是,它需要以前的连接才能知道始终安全地连接到特定站点。当访问者首次连接到网站时,他们不会收到告诉他们始终使用HTTPS的HSTS规则。仅在后续连接上,访问者的浏览器才能知道要求他们通过HTTPS连接的HSTS规则。
HSTS Preload Lists是解决这些问题的一种潜在解决方案,它们通过对需要仅使用HTTPS进行连接的网站列表进行硬编码来有效地工作。
在Google Chrome浏览器的源代码中,有一个文件,其中包含一个硬编码文件,该文件列出了“预加载列表”中所有域的HSTS属性。每个条目均以JSON格式设置。
攻击工具
- sslstrip
sslstrip是一种实现Moxie Marlinspike的SSL剥离攻击的MITM工具。 - sslstrip2
这是[Moxie的SSLstrip](http://www.thoughtcrime.org/software/sslstrip/)的新版本,具有避免HTTP严格传输安全性(HSTS)保护机制的新功能。