Kali Linux 无线渗透测试入门指南 第八章 攻击企业级 WPA 和 RADIUS

简介: 第八章 攻击企业级 WPA 和 RADIUS 作者:Vivek Ramachandran, Cameron Buchanan 译者:飞龙 协议:CC BY-NC-SA 4.0简介 个头越大,摔得越惨。

第八章 攻击企业级 WPA 和 RADIUS

作者:Vivek Ramachandran, Cameron Buchanan

译者:飞龙

协议:CC BY-NC-SA 4.0

简介

个头越大,摔得越惨。

– 谚语

企业级 WPA 总是自带不可攻破的光环。多数网络管理员认为它对于无线安全问题是个银弹。在这一章中,我们会看到这个真理不再正确了。

这一章中,我们会了解如何使用多种 Kali 包含的工具和技巧,来攻击企业级 WPA。

8.1 配置 FreeRADIUS-WPE

我们需要 RADIUS 服务器来实施企业级 WPA 攻击。最广泛使用的开源 RADIUS 服务器时 FreeRADIUS。但是,它难于配置,并且为每次攻击而配置它十分无聊。

Joshua Wright 是一个知名的安全研究员,他写了一个 FreeRADIUS 的补丁使其易于配置和执行攻击。这个补丁以 FreeRADIUS-WPE 发布。Kali 没有自带 FreeRADIUS-WPE ,所以我们需要执行下列步骤来配置。

  1. 访问https://github.com/brad-anton/freeradius-wpe并且你会找到下载连接:https://github.com/brad-anton/ freeradius-wpe/raw/master/freeradius-server-wpe_2.1.12-1_i386. deb

  2. 下载完成之后,在ldconfig之后使用dpkg –i freeradius-server-wpe_2.1.12-1_ i386.deb来安装:

    我们现在需要快速在 Kali 上配置 Radius 服务器。

实战时间 – 使用 FreeRADIUS-WPE 建立 AP

  1. 将接入点的 LAN 端口之一连接到你的 Kali 主机的以太网端口。我们这里的接口是eth0。启动这个接口并通过运行 DHCP 获得 IP 地址,像这样:

  2. 登录接入点,将安全模式设为 WPA/WPA2-Enterprise,将Version设为 WPA2,将Encryption设为 AES。之后,在EAP (802.1x)部分下面,输入 Radius 服务器 IP 地址,就是你的 Kali 的 IP 地址。 Radius Passwordtest,像这样:

  3. 让我们现在打开新的终端,访问目录/usr/local/etc/raddb。这是所有 FreeRADIUS-WPE 配置文件存放的地方。

  4. 让我们打开eap.conf。你会发现default_eap_type设为了 MD5,让我们将它改为peap

  5. 让我们打开clients.conf。这就是我们定义客户端白名单的地方,它们能够连接到我们的 Radius 服务器。有趣的是,如果你浏览到下面,忽略设置示例,范围192.168.0.0/16secret默认设为test,这就是我们步骤 2 中所使用的。

  6. 我们现在使用radiusd –s –X命令启动 RADIUS 服务器。

  7. 一旦启动完毕,你会在屏幕上看到一堆调试信息,但是最后服务器会安顿下来并监听端口。太棒了!我们现在可以开始这一章的实验了。

刚刚发生了什么?

我们成功配置了 FreeRADIUS-WPE。我们会在这一章的实验的剩余部分使用它。

试一试 – 玩转 RADIUS

FreeRADIUS-WPE 拥有大量选项。使你自己熟悉它们是个好的主意。花费时间来查看不同的配置文件,以及它们如何协同工作非常重要。

8.2 攻击 PEAP

受保护的可扩展的身份验证协议(PEAP)是 EAP 的最广泛使用的版本。这是 Windows 原生自带的 EAP 机制。

PEAP 拥有两个版本:

  • 使用 EAP-MSCHAPv2 的 PEAPv0(最流行的版本,因为 Windows 原生支持)。
  • 使用 EAP-GTC 的 PEAPv1。

PEAP 使用服务端的证书来验证 RADIUS 服务器。几乎所有 PEAP 的攻击都会利用证书验证的不当配置。

下一个实验中,我们会看一看如何在客户端关闭证书验证的时候破解 PEAP。

实战时间 – 破解 PEAP

遵循以下指南来开始:

  1. 再次检查eap.conf文件来确保开启了 PEAP:

  2. 之后重启 RADIUS 服务器,使用radiusd –s –X

  3. 监控由 FreeRADIUS-WPE 创建的日志文件:

  4. Windows 原生支持 PEAP。让我们确保关闭了证书验证:

  5. 我们需要点击Configure标签页,它在Secured password的旁边,并告诉 Windows 不要自动使用我们的 Windows 登录名称和密码:

  6. 我们也需要在Advanced Settings对话框中选择User authentication

  7. 一旦客户端连接到了接入点,客户端会提示输入用户名和密码。我们使用Monster作为用户名,abcdefghi作为密码:

  8. 一旦我们完成了,我们就能在日志文件中看到 MSCHAP-v2 challenge 响应。

  9. 我们现在使用asleap来破解它,使用包含abcdefghi的密码列表文件,我们能够破解它。(出于演示目的,我们只创建了单行的文件,叫做list,其中包含列表。)

刚刚发生了什么?

我们使用 FreeRADIUS-WPE 建立了蜜罐。企业客户端配置不当,没有使用 PEAP 证书验证。这允许我们将我们的伪造证书展示给客户端,它被乐意接受了。一旦它发生了,内部验证协议 MSCHAP-v2 开始生效。由于客户端使用我们的伪造证书来解密数据,我们能够轻易读取用户名、challenge 和响应元组。

MSCHAP-v2 易于受到字典攻击。我们使用asleap来破解 challenge 和响应偶对,因为它看起来基于字典中的单词。

试一试 – 攻击 PEAP 的变体

PEAP 可以以多种方式不当配置。即使打开了证书验证,如果管理员没有在连接到服务器列表中提到验证服务器,攻击者可以从任何列出的签证机构获得其他域的真实证书。这仍旧会被客户端接受。这个攻击的其他变体也是可能的。

我们推荐你探索这一章的不同可能性。

EAP-TTLS

我们推荐你尝试攻击 EAP-TTLS,它类似于这一章我们对 PEAP 所做的事情。

企业安全最佳实践

我们意见看到了大量的对 WPA/WPA2 的攻击,有个人也有企业。基于我们的经验,我们推荐下列事情:

  • 对于 SOHO 和中型公司,使用强密码的 WPA2,你总共能输入 63 个字符,好好利用它们。

  • 对于大型企业,使用带有 EAP-TLS 的企业级 WPA2。这会同时在客户端和服务器使用证书来验证,目前没办法攻破。

  • 如果你需要带有 PEAP 或者 EAP-TTLS 的 WPA2,确保你的证书验证打开,选择了正确的签发机构,RADIUS 服务器开启了授权,最后,关闭任何允许用户接受新的 RADIUS 服务器、证书或者签发机构的配置。

小测验 – 攻击企业级 WPA 和 RADIUS

Q1 FreeRADIUS-WPE 是什么?

  1. 从头开始编写的 RADIUS 服务器。
  2. FreeRADIUS 服务器的补丁。
  3. 所有 Linux 默认自带的版本。
  4. 以上都不是。

Q2 下列哪个可以用于攻击 PEAP?

  1. 伪造验证信息
  2. 伪造证书
  3. 使用 WPA-PSK
  4. 以上全部

Q3 EAP-TLS 使用了什么?

  1. 客户端证书
  2. 服务端证书
  3. 1 或者 2
  4. 1 和 2

Q4 EAP-TTLS 使用了什么?

  1. 只有客户端证书
  2. 服务端证书
  3. 基于密码的验证
  4. LEAP

总结

这一章中,我们看到了如何攻破运行 PEAP 或者 EAP-TTLS 的企业级 WPA。它们是两个用于企业的最常见的验证机制。

下一章中,我们会看一看如何把我们学到的所有东西用于真实的渗透测试。

相关文章
|
2月前
|
安全 Linux 虚拟化
|
3月前
|
测试技术 持续交付 开发者
探索自动化测试的无限可能:从入门到精通
在软件开发领域,确保产品质量是至关重要的。自动化测试作为一种高效、可靠的测试方法,正逐渐成为行业标准。本文将带你深入了解自动化测试的世界,从基础概念到实践技巧,帮助你掌握这一强大的工具。无论你是初学者还是有经验的开发者,都能从中获得宝贵的知识和启发。
|
3月前
|
Java 测试技术 开发者
初学者入门:掌握单元测试的基础与实践
【10月更文挑战第14天】单元测试是一种软件测试方法,它验证软件中的最小可测试单元——通常是单独的函数或类——是否按预期工作。单元测试的目标是确保每个模块在其自身范围内正确无误地运行。这些测试应该独立于其他模块,并且应该能够反复执行而不受外部环境的影响。
75 2
|
23天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
55 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
29天前
|
安全 Ubuntu Linux
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
45 9
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
|
2月前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
127 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
2月前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
46 4
|
2月前
|
Java 测试技术 Android开发
探索自动化测试的奥秘:从入门到精通
【10月更文挑战第37天】本文将带你进入自动化测试的世界,从基础知识到实战案例,逐步揭示自动化测试的神秘面纱。我们将一起探讨如何利用代码来简化测试过程,提高效率,并确保软件质量。无论你是初学者还是有经验的开发者,这篇文章都能为你提供有价值的见解和技巧。让我们一起踏上这段探索之旅吧!
|
2月前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
190 1
|
2月前
|
Unix Linux Shell
linux入门!
本文档介绍了Linux系统入门的基础知识,包括操作系统概述、CentOS系统的安装与远程连接、文件操作、目录结构、用户和用户组管理、权限管理、Shell基础、输入输出、压缩打包、文件传输、软件安装、文件查找、进程管理、定时任务和服务管理等内容。重点讲解了常见的命令和操作技巧,帮助初学者快速掌握Linux系统的基本使用方法。
81 3

热门文章

最新文章