无线安全工具

不止Kali 和 Aircrack-ng 无线渗透工具合集

aircrack-ng

http://www.aircrack-ng.org/

aircrack-ng是一组工具,只不过这个攻击套件以最重要的aircrack-ng密码破解工具命名,套件大概包括如下:

  • airmon-ng
  • airodump-ng
  • aireplay-ng
  • aircrack-ng
  • airbase-ng
  • airolib-ng
  • airdecap-ng
  • airserv-ng
  • airtun-ng
  • besside-ng

所以尤其注意,aircrack-ng通常指一组工具,这个攻击套件在kali上默认集成,虽然也可以运行在其他平台上,但是稳定性与兼容性不是非常完美,并且有网友指出,在Mac上的aireplay-ng是无法运行的(笔者没有尝试),所以为了避免配置各种环境的麻烦,还是选择kali作为渗透的平台最为便捷。这些工具套件通常是协同工作的,这里分开介绍每个工具的基本用途,工具之间的使用关联,在之后的攻击情景中会详细介绍。

airmon-ng

用来检查网卡驱动,开启和停止无线侦听,省去了用iw配置无线网卡的繁琐命令

检查无线网卡

  • 检查无线网卡: airmon-ng
root@kali:~ airmon-ng

PHY	Interface	Driver		Chipset

phy7	wlan0		ath9k_htc	Atheros Communications, Inc. AR9271 802.11n

检查进程冲突

  • 检查进程冲突: airmon-ng check
  • 杀掉所有进程冲突: airmon-ng check kill

在kali中我们可以用UI界面中的网络管理器来管理网络,这个是通过network-manager这个服务进行的,有时这个服务以及一些其他控制无线网络的进程,会影响我们的aircrack-ng工作,所以这时我们需要停掉这些服务,杀掉这些进程。我们可以手杀:service network-manager stop,但是airmon-ng已经实现检查冲突进程并停掉的这个流程。

root@kali:~ airmon-ng check

Found 3 processes that could cause trouble.
If airodump-ng, aireplay-ng or airtun-ng stops working after
a short period of time, you may want to run 'airmon-ng check kill'

  PID Name
 1597 wpa_supplicant
11657 NetworkManager
12722 dhclient

root@kali:~ airmon-ng check kill

但这个步骤并不是必须的,这里如果我们停掉network-manager这个服务,意味着kali的网络服务被停掉了,其他应用会处于断网状态。而且在笔者进行测试的过程中,不停掉这个服务,后续的侦听以及重放都没有受到任何影响。所以如果你没有停掉这些冲突进程,并且在后续的测试过程中出现各种问题,请尝试这个步骤。

更改网卡模式

  • 将wlan0置入监听模式:airmon-ng start wlan0
root@kali:~ airmon-ng start wlan0

Found 3 processes that could cause trouble.
If airodump-ng, aireplay-ng or airtun-ng stops working after
a short period of time, you may want to run 'airmon-ng check kill'

  PID Name
 1597 wpa_supplicant
11657 NetworkManager
12722 dhclient

PHY	Interface	Driver		Chipset

phy7	wlan0		ath9k_htc	Atheros Communications, Inc. AR9271 802.11n

		(mac80211 monitor mode vif enabled for [phy7]wlan0 on [phy7]wlan0mon)
		(mac80211 station mode vif disabled for [phy7]wlan0)
  • 停掉wlan0mon监听接口:airmon-ng stop wlan0mon && ifconfig wlan0 up
root@kali:~ airmon-ng stop wlan0mon && ifconfig wlan0 up

PHY	Interface	Driver		Chipset

phy7	wlan0mon	ath9k_htc	Atheros Communications, Inc. AR9271 802.11n

		(mac80211 station mode vif enabled on [phy7]wlan0)

		(mac80211 monitor mode vif disabled for [phy7]wlan0mon)

airodump-ng

用来嗅探抓包的工具,获得实时的附近无线的详细信息,可以保存所有嗅探到的无线流量,在攻击时通常一直处于运行状态。并且可以自动检测和提取出关键数据,如WPA的握手包的发现,采用WEP保护方案的无线热点在与AP建立连接时的秘钥流等。airodump-ng运行将一直被执行,命令行中将不断刷新监听到的无线网络信息,直到按下control+c停止。

开始嗅探

root@kali:~ airodump-ng wlan0mon

指定信道(-c)

在我们用airmon-ng网卡开启监听模式时,会将网卡的工作信道设置为默认(笔者这里是10信道),但是如果在airodump-ng中不指明信道去工作时,网卡会在13个信道中不断嗅探,此时网卡的工作信道就是来回跳跃的。由于在后面的aireplay-ng这个工具的使用过程中,网卡必须工作在一个指明的信道中。所以在我们确定目标后,我们要根据目标热点的信道,指明网卡的工作信道,利用airodump-ng的-c参数就可以动态修改网卡的工作信道。

root@kali:~ airodump-ng wlan0mon -c 8

指定AP(–bssid)

指定目标AP的MAC地址,这样就只显示目标热点的信息了

root@kali:~ airodump-ng wlan0mon -c 8 --bssid 00:11:22:33:44::55

保存数据(-w)

如果没有这个参数,所有捕获的流量不被保存,关键信息仅仅被打印。通过这个参数可以将所有嗅探下来的数据保存为一组文件,比较重要的就是流量报文,存储后缀为cap,如果捕获到WEP中的秘钥流则会以xor为后缀进行存储

root@kali:~ airodump-ng wlan0mon -c 8 --bssid 00:11:22:33:44::55 -w test

aireplay-ng

这个工具用来向网络中注入包,已达到伪造验证,重放,强制重新验证等功能,是整个aircrack-ng套件中使用起来最复杂的一个工具,其使用说明可以通过–help来查看。

选项说明

这个工具有五类选项,其中重要的三类选项:

  • Filter options
  • Replay options
  • Attack modes

其中过滤选项和重放选项中,存在一些相同的参数,比如目标以及源mac地址,目标的essid。但区别是Filter选项中指明的参数,用于过滤捕获的数据包。而Replay选项中指明的参数,是将被注入进无线网络中的数据包中相应的字段值。

但其实这些参数并不是可以随意组合的。因为工具最重要的选项是Attack modes,支持10种攻击方式,而其实每种方式的常规使用方法中,所需的Filter选项参数以及Replay选项参数是固定的。所以其实记住每种攻击下的固定选项写法即可。

测试模式(-9)

通过选项-9,来测试当前的网卡是否可以完成无线数据包的注入:

root@kali:~ aireplay-ng -9 wlan0mon
12:31:12  Trying broadcast probe requests...
12:31:12  Injection is working!
12:31:14  Found 6 APs

12:31:14  Trying directed probe requests...
12:31:14  08:86:3B:D2:8F:83 - channel: 8 - 'belkin.3f86'
12:31:15  Ping (min/avg/max): 2.144ms/25.373ms/63.867ms Power: -43.63
12:31:15  30/30: 100%

其余9种攻击模式是针对不同的攻击场景几乎是定制的,使用方法在后续的攻击情景部分中详细介绍

aircrack-ng

终于到了这个为整个套件命名的攻击组件,aircrack-ng使用方法异常简单,这个工具是用来破解以WEP/WPA/WPA2安全方式保护的无线热点的密码。

破解WEP用法

当收集到足够多的iv值时:

root@kali:~ aircrack-ng test-01.cap

直接后面跟数据包文件即可算出共享秘钥

破解WPA/WPA2用法

此时用-w参数需要指明字典文件

root@kali:~ aircrack-ng test-01.cap -w passwd.txt

airbase-ng

伪造AP

root@kali:~ airbase-ng -a 00:11:22:33:44:55 --essid xuanxuan -c 1 wlan0mon

airdecap-ng

可以解密WEP/WPA/WPA2捕获文件,此外,它还可用于从未加密的无线捕获中剥离无线头

去除802.11包头

root@kali:~ airdecap-ng -b 00:11:22:33:44:55 xxx.pcap

解密WEP

必须有与AP建立关联关系的数据包

root@kali:~ airdecap-ng -b 00:11:22:33:44:55 xxx.pcap

解密WPA

必须有四步握手信息

root@kali:~ airdecap-ng -e xuanxuan -p xuanxunanihao -b 00:11:22:33:44:55 xxx.pcap

airserv-ng

通过网络提供无线网卡服务,即可以在本地使用异地的无线网卡,通过airodump-ng抓的数据包会被保存到本地。

服务端

服务端利用将airserv-ng的-p参数,可以网卡服务开启在一个端口上,注意配置服务端的防火墙规则

root@kali:~ airserv-ng -p 2333 -d wlan0mon

客户端

通过airdump-ng后面直接输入ip+port来访问已经开启的无线网卡服务即可使用

root@kali:~ airodump-ng 192.168.1.1 2333

airtun-ng

Airtun-ng可以创建一个虚拟隧道接口,有两个基本功能:

  • 允许对无线入侵检测系统(wIDS)目的的所有加密流量进行监控
  • 将任意流量注入网络

用于wIDS

有线网络的IDS实现中,通常将所有交换机的所有端口的数据包,镜像到一个连接着IDS服务的端口以完成流量的检查。在无线网络中我们是有能力的监听到网络中的所有数据包的,并不需要从AP将流量转发出来。但是这些无线的数据包时经过加密的,想要获取到明文信息必须有握手时的数据包,无线的名字以及共享秘钥方可解密。

airtun-ng就可以利用这些信息实时的将一个流经目标AP的所有数据包解密并转发的到一个虚拟的隧道接口的工具,通过抓包工具监听这个接口,就可以获得已经解密的数据流量了。

WEP
  • 通过airtun-ng的-w参数后接密码,之指明目标AP为WEP加密机制的
root@kali:~ airtun-ng -a 00:11:22:33:44:55 -w xuanxuannihao wlan0mon
  • 运行完上述命令后会出现一个at0的网卡接口,我们需要手动打开这个接口
root@kali:~ ifconfig at0 up
  • 利用wireshark,dsniff,driftnet等工具监听即可
root@kali:~ dsniff -i at0
root@kali:~ driftnet -i at0
WPA
  • 通过airtun-ng的-p参数后接密码,之指明目标AP为WPA加密机制,-e参数后加AP的essid(需要抓取到四步握手信息才可以顺利解密)
airtun-ng -a 00:11:22:33:44:55 -p xuanxuannihao -e xuanxuan wlan0mon
  • 运行完上述命令后会出现一个at0的网卡接口,我们需要手动打开这个接口
root@kali:~ ifconfig at0 up
  • 利用wireshark,dsniff,driftnet等工具监听即可
root@kali:~ dsniff -i at0
root@kali:~ driftnet -i at0

中继

中继,两块网卡均进入monitor模式

root@kali:~ airtun-ng -a 00:11:22:33:44:55 --repeat --bssid 00:11:22:33:44:55 -i wlan0mon wlan1mon

重放

root@kali:~ airtun-ng -a 00:11:22:33:44:55 -r x.cap wlan0mon

wifite2

项目地址:(https://github.com/derv82/wifite2)[https://github.com/derv82/wifite2]

wifite是一个自动的wifi密码破解工具,原理是仍然是基于aircrack-ng套件,将破解流程一键化。新版本对破解功能有提速,支持python3,支持5g

安装

git clone https://github.com/derv82/wifite2.git
cd wifite2
./Wifite.py

用法

WPS

image

WEP

image

WPA

image

fern wifi cracker

kali中自带图形化的wifi密码破解工具,比wifite还要傻瓜,使用前不要对网卡进行任何操作,保持wlan0即可

image

  1. 选择网卡
  2. 开启扫描
  3. 攻击WPA
  4. 选择目标
  5. 攻击方式
  6. 选择字典
  7. 开始攻击

Wifi-pumpkin

项目地址:https://github.com/P0cL4bs/WiFi-Pumpkin

3vilTwinattacker的升级项目,可以运行在kali以及ubuntu上,主要功能是构造一个恶意的AP,进而完成流量的劫持,DNS欺骗,重定向到钓鱼页面,js注入等后续渗透工作

WiFi-Pumpkin无线渗透测试框架实战教程

安装

官方给的安装步骤:

git clone https://github.com/P0cL4bs/WiFi-Pumpkin.git
cd WiFi-Pumpkin
chmod +x installer.sh
sudo ./installer.sh --install

实际这里会依赖很多的python的库,在安装脚本中会自动执行

pip install -r requirements.txt

其中requirements.txt的内容是:

Twisted
scapy
bs4
netaddr
config
dnspython
isc_dhcp_leases
netifaces
pcapy
configparser==3.3.0r1
NetfilterQueue
configobj
libarchive-c==2.1
python-magic==0.4.6
pefile
capstone
hyperframe
h2
scapy_http
service_identity

其中NetfilterQueue这个库是怎么也安不上,提示缺少什么头文件,以为是文件丢失,自己下了一堆h丢到/usr/include又提示我们有链接库,于是去了这个库的官方说明看了一下:https://pypi.org/project/NetfilterQueue/

原来要先安装一堆依赖:

apt-get install build-essential python-dev libnetfilter-queue-dev

然后便可以正常安装NetfilterQueue,命令行直接启动wifi-pumpkin即可

wifi-pumpkin

使用

image

  • home查看当前已经连接的设备
  • setting可以配置钓鱼wifi的基本配置
  • plugins以及proxy完成更多的钓鱼欺骗功能
  • images-cap捕获图片
  • activity-monitor捕获应用数据
  • stations查看设备连接历史