X黑手网
X黑手网
X黑手网

kali-nethunter-MITM 框架总体指南

前言

中间人 (MITM) 攻击是一种网络攻击,攻击者拦截并可能修改两个设备之间的通信,以访问敏感数据并控制连接。

通过使用开源 MITM 框架 (MITMf),攻击者可以通过自动化 MITM 攻击来轻松拦截和篡改网络流量。MITMf 不再维护且过时,但它仍然是 NetHunter 的一部分。在这篇博文中,我们将从攻击者和受害者的角度来看待 MITM 攻击。我将介绍攻击者可能采用的几种方法来拦截和更改网络通信的方法,以及他们如何使用 MITM 框架执行 MITM 攻击来执行 ARP 中毒、HTTP 和 HTTPS 流量拦截以及 DNS 欺骗。在下面的视频中,演示了如何使用 SSLstrip 和 DNS 更改来拦截 HTTPS 和 HSTS 绕过。

此外,我们将研究受害者的观点以及他们如何成为这些威胁的目标。最后,我们将介绍预防和防御 MITM 攻击的几种策略。
免责声明:本博客文章中提供的信息仅用于教育和信息目的。它无意鼓励或促进任何非法或不道德的活动,包括黑客攻击、网络攻击或任何形式的未经授权访问计算机系统、网络或数据。

MITM 框架 (MITMf)

MITMf 由 byt3bl33d3r 开发,作为中间人和网络攻击的一站式商店,同时更新和改进现有的攻击和技术。但是,它不再维护,正如@byt3bl33d3r所建议的那样,您应该使用 Bettercap,在撰写本文时,它已得到维护并提供更多功能。

尽管 MITMf 是 NetHunter 应用程序菜单的一部分,但由于某种原因,它未安装在 NetHunter 的 2022.03 和 2022.04 版本中。我尝试手动安装它,但在安装过程中出现的依赖错误很少,因为它是为 python2 开发的,而且该项目最后一次维护是在 2015 年。即使我能够成功安装它,它也有可能在执行某些攻击时无法正常工作。更糟糕的是,如果您想复制安装过程,则有一个选项可能会导致 MITMf 或其某些依赖项出现另一个问题。

但是,我找到了一个快速但肮脏的解决方案如何使用 MITMf,但您必须将 NetHunter 降级到 2022.1 版本。它很快,因为它会部分工作并且很脏,因为使用旧版本,您将直接从 NetHutner 应用程序丢失 WPS 和本机蓝牙 hci0 访问权限。但是,它们仍然可以从 NetHunter 终端访问。

MITMf 修复错误

从 NetHunter 版本 2022.1 运行 MITMf 将导致缺少 bdfactory 和 capstone 模块,如图 1 所示。

图片[1]-kali-nethunter-MITM 框架总体指南-X黑手网

图 1.缺少 bdfactory 模块

缺少 bdfactory 和 capstone 需要通过以下命令手动下载:

git clone https://github.com/secretsquirrel/the-backdoor-factory backdoor
mkdir /usr/share/mitmf/bdfactory
cd backdoor
cp -r ./* /usr/share/mitmf/bdfactory/
cd /usr/share/mitmf/bdfactory
pip install capstone

图片[2]-kali-nethunter-MITM 框架总体指南-X黑手网

图 2.BDWery 和 Capstone 模块安装

您的 iptables 也可能会出现错误。因此,可能需要根据我在 NetHunter 的 Gitlab 上找到的 yesimxev(NetHunter 开发人员)解决方案降级到 iptables v1.6.2。您可以使用以下命令降级:

wget http://old.kali.org/kali/pool/main/i/iptables/iptables_1.6.2-1.1_arm64.deb
wget http://old.kali.org/kali/pool/main/i/iptables/libip4tc0_1.6.2-1.1_arm64.deb
wget http://old.kali.org/kali/pool/main/i/iptables/libip6tc0_1.6.2-1.1_arm64.deb
wget http://old.kali.org/kali/pool/main/i/iptables/libiptc0_1.6.2-1.1_arm64.deb
wget http://old.kali.org/kali/pool/main/i/iptables/libxtables12_1.6.2-1.1_arm64.deb

dpkg -i *.deb

apt-mark hold iptables
apt-mark hold libip4tc0
apt-mark hold libip6tc0
apt-mark hold libiptc0
apt-mark hold libxtables12

MITMf 现在应该可以正确执行。

图片[3]-kali-nethunter-MITM 框架总体指南-X黑手网

图 3.从 NetHunter 终端运行的 MITMf

MITMf 使用情况

当我们修复了上一节中的所有错误后,我们可以在 Github 上找到最常见的使用命令。在后面的部分中,我将重点介绍其中的几个问题,例如 ARP 中毒、HTTP 和 HTTPS 流量拦截以及 DNS 欺骗。

ARP 缓存中毒

MITMf 基于 ARP 欺骗,这是一种中间人 (MITM) 攻击,允许攻击者通过毒害目标设备上的 ARP 缓存来拦截和修改网络流量。ARP 或地址解析协议是一种用于将 IP 地址映射到本地网络上的物理地址(MAC 地址)的协议。在 ARP 欺骗攻击中,攻击者向目标设备发送虚假的 ARP 消息,将自己的 MAC 地址与网络上合法设备的 IP 地址相关联。这允许攻击者拦截和修改发往合法设备的网络流量。

ARP 欺骗攻击通常与其他类型的攻击结合使用,例如 DNS 欺骗、SSL 剥离等。这些攻击可用于窃取敏感信息、发起网络钓鱼攻击并破坏网络安全。
为了简单地在两台移动设备上进行测试,我们将验证攻击者使用 MITMf 开始投毒前后的 ARP 缓存,如下图所示。

图片[4]-kali-nethunter-MITM 框架总体指南-X黑手网

图 4.攻击者的 wlan0 MAC 地址(左)和受害者的 ARP 表(右)

图片[5]-kali-nethunter-MITM 框架总体指南-X黑手网

图 5.攻击者发起的 ARP 毒化(左)和受害者的 ARP 表更改(右)

当我们在受害者设备上毒害 ARP 缓存表后,该设备认为网关(在我们的例子中是家用路由器)是攻击者的智能手机(网关的 MAC 地址更改为攻击者设备的 wlan0 接口)。这意味着受害者发出的请求首先通过攻击者,然后转发到实际的网关和互联网。因此,攻击者可以拦截和窥探受害者的流量,但有一些限制,我们将在后面解释。

现在,如果我们了解了它的工作原理的基本知识,我们就可以继续进行实际攻击。

流量拦截

MITMf 可以使用 MITM 框架从 NetHunter 应用程序的菜单中直观地使用。您可以在每个选项卡中看到最常见的选项。要在目标设备上拦截 HTTP 协议的网络流量,我们必须移动到 Spoof Settings 选项卡并启用欺骗插件,使用 ARP 重定向,并填写您的网关(路由器 IP 地址)和目标的 IP 地址,如图 6 所示。点击右上角的三个点,开始 MITMf 攻击。

图片[6]-kali-nethunter-MITM 框架总体指南-X黑手网

图 6.MITMf 的欺骗设置

Kali NetHunter Terminal 将使用您设置的预定义参数打开 MITMf,如图 7 所示。

图片[7]-kali-nethunter-MITM 框架总体指南-X黑手网

图 7.针对目标设备发起的 ARP 欺骗攻击

在我们的目标设备上,我们将使用一个测试网站,该网站已实施使用 HTTP 协议的登录功能。使用我们的虚拟凭证,我们尝试登录。由于攻击者设备毒害了受害者的 ARP 缓存表,受害者智能手机认为攻击者设备是网关,因此,我们的登录信息首先发送到攻击者设备,如图 8 和图 9 所示。

图片[8]-kali-nethunter-MITM 框架总体指南-X黑手网

图 8.攻击者设备监控 HTTP 流量(左)受害者设备尝试登录(右)

图片[9]-kali-nethunter-MITM 框架总体指南-X黑手网

图 9.攻击者设备拦截的受害者凭据

HTTPS 流量拦截

在前面的示例中,我们成功拦截了 HTTP 协议以监控设备网络通信。出于此原因和其他安全原因,引入了使用端到端加密的 HTTPS 协议,因此同一网络上的攻击者无法看到流量。当引入 SSLStrip 时,也绕过了此尝试,该 SSLStrip 能够将 SSL 从 HTTPS 通信剥离到 HTTP。因此,引入了 HTTP 严格传输安全 (HSTS),这是一种安全协议,通过强制浏览器通过 HTTPS 而不是 HTTP 与网站通信来帮助防止 MITM 攻击。似乎是一条死胡同。

但是,有一个部分解决方案可以通过使用 SSLStrip+ 绕过 HSTS 并更改 DNS。使用这两种方法,您可以通过在未注册的子域前添加来剥离 SSL 并更改请求的域的名称。由于此子域不存在,服务器不会请求浏览器使用 HSTS。可以利用此漏洞来拦截 HTTPS 通信,但仅适用于某些网站。例如,https://www.yahoo.com 将被剥离为 http://www.yahoo.com 域,子域将被修改为 http://wwww.yahoo.com 或 http://weblogin.yahoo.com。yahoo.com 未定义 wwww 或 weblogin 子域。因此,yahoo.com 域没有理由响应浏览器以包含 HSTS。

要启用 HTTPS 拦截,请转到 General Settings 选项卡并检查 SSLStrip+,该命令将包含 –hsts 参数,如图 10 所示。在 Spoof Settings (欺骗设置) 中,我们将使用与上一个场景相同的设置。

图片[10]-kali-nethunter-MITM 框架总体指南-X黑手网

图 10.MITMf 命令拦截 HTTPS 流量

在图 11 中,您可以看到请求的 yahoo.com 没有使用 HTTPS,并且 URL 栏中的域名更改为 wwww.yahoo.com。

图片[11]-kali-nethunter-MITM 框架总体指南-X黑手网

图 11.HTTPS 流量拦截

即使 MITMf 显示许多错误和异常,它仍然可以继续攻击。当我们尝试登录我们的帐户时,在 yahoo 登录表单中输入的数据将未加密地发送到我们的设备,如图 12 所示。

图片[12]-kali-nethunter-MITM 框架总体指南-X黑手网

图 12.拦截用户登录数据

请务必注意,这种攻击并不适用于每个网站。潜在受害者可以通过在 URL 栏中看到请求的不同域名(例如 weblogin.yahoo.com)、缺少绿锁 (SSL/TLS) 来识别攻击,在我的测试中,这些网站的加载速度要慢得多,有时所有图像都没有正确加载,这使得网站多次无法使用。

DNS 欺骗

在 DNS 欺骗攻击中,攻击者修改域名系统 (DNS) 以将用户的请求重定向到恶意网站。这种类型的攻击通常是通过配置设备上运行的内部 DNS 系统来执行的,该系统将更改 DNS 记录并将流量重定向到攻击者设置的服务器,而不会更改地址栏中显示的 URL。

通过保持与以前相同的设置,我们需要添加的只是我们的 DNS 代理服务器。在 MITMf 配置选项卡中向下滚动,直到看到 [[DNS]] 部分。在该部分中,我们可以配置我们的内部 DNS 服务器。在该部分中,向下滚动,直到找到 [[[A]]] 记录。在这里,您可以添加任何要重定向到自定义 IP 地址的域名记录。我们将包含一个 *.facebook.com 域名的记录,该域名将为其分配我们的本地 IP,如图 13 所示。在该 IP 上,我们正在运行虚拟的 Facebook 登录网站,然后点击 UPDATE 以保存配置文件。

图片[13]-kali-nethunter-MITM 框架总体指南-X黑手网

图 13.更改内部 DNS 服务器中的 DNS A 记录

现在我们需要为 MITMf 添加一个参数以使用我们的内部 DNS 服务器。从 Spoof Settings 中似乎无法同时启用 ARP 和 DNS。因此,我们将选择 ARP 并启动 MITMf 攻击。现在添加 –dns 的最简单方法是使用 Ctrl + C 终止 mitmf 进程,点击向上箭头以选择上次使用的命令并附加 –dns 参数,如图 14 所示。

图片[14]-kali-nethunter-MITM 框架总体指南-X黑手网

图 14.已启用 DNS 欺骗

例如,如果我们尝试访问目标设备上的 m.facebook.com,则将显示在我们的服务器上运行的自定义登录网站。

图片[15]-kali-nethunter-MITM 框架总体指南-X黑手网

图 15.Facebook DNS 欺骗攻击

该攻击对 Android 设备效果很好,但在对 Window 的 10 个 Chrome、Firefox 和 Brave 浏览器进行测试时并未成功。

图片[16]-kali-nethunter-MITM 框架总体指南-X黑手网

图 16.针对 Windows 10 Chrome 的 DNS 欺骗失败

插件

MITMf 具有一系列插件,可用于动态操作和更改流量,以及执行各种其他与 MITM 相关的活动。以下是可用插件的列表:

  • HTA Drive-By :注入虚假更新通知并提示客户端下载 HTA 应用程序
  • SMBTrap:利用已连接客户端上的“SMB 陷阱”漏洞
  • ScreenShotter :使用 HTML5 Canvas 呈现客户端浏览器的准确屏幕截图
  • 响应者 : LLMNR、NBT-NS、WPAD 和 MDNS 毒化者
  • SSLstrip+:部分绕过 HSTS
  • 欺骗 : 使用 ARP、ICMP、DHCP 或 DNS 欺骗重定向流量
  • BeEFAutorun:根据客户端的操作系统或浏览器类型自动运行 BeEF 模块
  • AppCachePoison:执行 HTML5 App-Cache 中毒攻击
    Ferret-NG : 透明地劫持客户端会话
  • BrowserProfiler :尝试枚举已连接客户端的所有浏览器插件
  • FilePwn : 使用 Backdoor Factory 和 BDFProxy 通过 HTTP 发送的后门可执行文件
  • Inject :将任意内容注入 HTML 内容
  • BrowserSniper : 对浏览器插件过期的客户端执行路过式攻击
  • JSkeylogger :将 Javascript 键盘记录器注入客户端的网页
  • 替换 : 替换 HTML 内容中的任意内容
  • SMBAuth : 唤起 SMB 质询-响应身份验证尝试
  • Upsidedownternet : 将图像翻转 180 度

不幸的是,我没能成功运行其中的大部分。我主要对使用 Ferret-NG、JavaScript 或 html 代码注入、注入键盘记录器甚至 upsidedownternet 的会话劫持感兴趣,因为它们会导致 ProxyPlugins 模块中的 Python 代码出现异常。
要充分利用 MITMf,我建议从命令行使用它。对于如图 17 所示的完整选项列表,您可以运行 mitmf –help。

图片[17]-kali-nethunter-MITM 框架总体指南-X黑手网

图 17.MITMf 可用选项的完整列表

识别攻击

所有提到的攻击都是基于 ARP 毒化和欺骗的。识别这些攻击并不是很困难。有两种方法可以识别它们:自动使用滞留工具或手动识别它们。从自动检测开始,对计算机和网络上的此类攻击进行分类的最简单方法是拥有一个可以检测 ARP 中毒并阻止它的桌面安全软件(图 18)。

图片[18]-kali-nethunter-MITM 框架总体指南-X黑手网

图 18.安全软件检测到并阻止 ARP 毒化攻击

在 Android 上,您可以安装 Google Play 商店中提供的免费 ARP Guard 应用程序。应用程序 ARP 检测效果很好。它在后台运行,如果检测到 ARP 中毒,那么它会立即通过通知通知您,如图 19 所示。

图片[19]-kali-nethunter-MITM 框架总体指南-X黑手网

图 19.使用 ARP Guard 应用程序检测到 ARP 欺骗

在桌面和 Android 设备上,可以通过命令行或终端使用 arp -a 命令进行手动分析。在图 20 中。您可以看到 ARP 中毒开始之前和之后的命令结果。从输出中可以看出,两个相同的 MAC 地址代表网络上的两个不同 IP 地址,这是可能正在进行的 ARP 中毒攻击的强烈信号。

图片[20]-kali-nethunter-MITM 框架总体指南-X黑手网

图 20.ARP 中毒前后的 APR 表项

现在,您应该更好地了解如何保护您的网络和设备免受可能导致 MITM 攻击的 ARP 攻击。

防止攻击

请务必记住,MITM 攻击可能难以检测和预防,因此请务必始终保持警惕并采取措施保护您的设备和个人信息。以下是一些提示,可帮助您预防和防范社交工程和 MITM 攻击场景:

  1. 使用安全软件,并保持更新。这将有助于保护您的设备免受恶意软件、修改的网络配置和其他恶意软件的侵害。
  2. 使用防火墙:防火墙可以帮助阻止未经授权的连接,并有助于防止攻击者能够执行 MITM 攻击。
  3. 使用双重身份验证 (2FA):双重身份验证除了密码之外,还需要第二种形式的验证,从而为您的登录过程增加了一层额外的安全保护。这有助于防止攻击者访问您的账户,即使他们拥有您的登录凭证。
  4. 使用 VPN(虚拟专用网络)加密您的互联网连接并在使用公共 Wi-Fi 时保护您的数据。
  5. 使用 HTTPS:使用 HTTPS 的网站会加密用户设备与网站之间的连接,使攻击者难以拦截通信并执行 MITM 攻击。
  6. 使用公共 Wi-Fi 时要小心,避免连接到您不信任的网络。
  7. 教育您自己和您的员工了解社会工程和 MITM 攻击的危险,并确保每个人都了解这些迹象以及如何防范它们。

结论

总之,中间人 (MITM) 攻击对在线通信的安全构成严重风险,因为它们使攻击者能够拦截和更改双方之间的通信。借助 MITM 框架,攻击者可以轻松拦截和控制网络流量,MITM 框架是自动执行 MITM 攻击的有效工具。通过了解攻击者如何使用 MITM 框架以及他们可能采用的不同方法来拦截和修改网络通信,我们可以学会保护自己免受这些类型威胁的受害者。

我们还可以通过了解攻击者使用的策略和策略来学习识别和避免 MITM 尝试。重要的是要记住 MITM 攻击可以影响任何人,因此最好主动出击并采取预防措施,通过采用安全的通信协议、加密和定期网络流量监控来保护自己。

机器翻译自
https://www.mobile-hacker.com/2024/02/13/nethunter-hacker-xiii-overall-guide-to-mitm-framework/

© 版权声明
THE END
喜欢就支持一下吧
点赞37赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容