成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

專業 WiFi 滲透測試工具

安全 應用安全
越來越多的設備通過無線傳輸的方式連接到互聯網,以及,大范圍可用的 WiFi 接入點為攻擊者攻擊用戶提供了很多機會。

了解一款用于對 WiFi 接入點安全進行滲透測試的工具。

[[258171]]

-- André Esser

越來越多的設備通過無線傳輸的方式連接到互聯網,以及,大范圍可用的 WiFi 接入點為攻擊者攻擊用戶提供了很多機會。通過欺騙用戶連接到 虛假的 WiFi 接入點 ,攻擊者可以完全控制用戶的網絡連接,這將使得攻擊者可以嗅探和篡改用戶的數據包,將用戶的連接重定向到一個惡意的網站,并通過網絡發起其他的攻擊。

為了保護用戶并告訴他們如何避免線上的危險操作,安全審計人員和安全研究員必須評估用戶的安全實踐能力,用戶常常在沒有確認該 WiFi 接入點為安全的情況下就連接上了該網絡,安全審計人員和研究員需要去了解這背后的原因。有很多工具都可以對 WiFi 的安全性進行審計,但是沒有一款工具可以測試大量不同的攻擊場景,也沒有能和其他工具集成得很好的工具。

Evil-Twin Framework(ETF)用于解決 WiFi 審計過程中的這些問題。審計者能夠使用 ETF 來集成多種工具并測試該 WiFi 在不同場景下的安全性。本文會介紹 ETF 的框架和功能,然后會提供一些案例來說明該如何使用這款工具。

ETF 的架構

ETF 的框架是用 Python 寫的,因為這門開發語言的代碼非常易讀,也方便其他開發者向這個項目貢獻代碼。除此之外,很多 ETF 的庫,比如 Scapy ,都是為 Python 開發的,很容易就能將它們用于 ETF。

ETF 的架構(圖 1)分為不同的彼此交互的模塊。該框架的設置都寫在一個單獨的配置文件里。用戶可以通過 ConfigurationManager 類里的用戶界面來驗證并修改這些配置。其他模塊只能讀取這些設置并根據這些設置進行運行。

圖 1:Evil-Twin 的框架架構

ETF 支持多種與框架交互的用戶界面,當前的默認界面是一個交互式控制臺界面,類似于 Metasploit 那種。正在開發用于桌面/瀏覽器使用的圖形用戶界面(GUI)和命令行界面(CLI),移動端界面也是未來的一個備選項。用戶可以使用交互式控制臺界面來修改配置文件里的設置(最終會使用 GUI)。用戶界面可以與存在于這個框架里的每個模塊進行交互。

WiFi 模塊(AirCommunicator)用于支持多種 WiFi 功能和攻擊類型。該框架確定了 Wi-Fi 通信的三個基本支柱:數據包嗅探、自定義數據包注入和創建接入點。三個主要的 WiFi 通信模塊 AirScanner、AirInjector,和 AirHost,分別用于數據包嗅探、數據包注入,和接入點創建。這三個類被封裝在主 WiFi 模塊 AirCommunicator 中,AirCommunicator 在啟動這些服務之前會先讀取這些服務的配置文件。使用這些核心功能的一個或多個就可以構造任意類型的 WiFi 攻擊。

要使用中間人(MITM)攻擊(這是一種攻擊 WiFi 客戶端的常見手法),ETF 有一個叫做 ETFITM(Evil-Twin Framework-in-the-Middle)的集成模塊,這個模塊用于創建一個 web 代理,來攔截和修改經過的 HTTP/HTTPS 數據包。

許多其他的工具也可以利用 ETF 創建的 MITM。通過它的可擴展性,ETF 能夠支持它們,而不必單獨地調用它們,你可以通過擴展 Spawner 類來將這些工具添加到框架里。這使得開發者和安全審計人員可以使用框架里預先配置好的參數字符來調用程序。

擴展 ETF 的另一種方法就是通過插件。有兩類插件:WiFi 插件和 MITM 插件。MITM 插件是在 MITM 代理運行時可以執行的腳本。代理會將 HTTP(s) 請求和響應傳遞給可以記錄和處理它們的插件。WiFi 插件遵循一個更加復雜的執行流程,但仍然會給想參與開發并且使用自己插件的貢獻者提供一個相對簡單的 API。WiFi 插件還可以進一步地劃分為三類,其中每個對應一個核心 WiFi 通信模塊。

每個核心模塊都有一些特定事件能觸發響應的插件的執行。舉個例子,AirScanner 有三個已定義的事件,可以對其響應進行編程處理。事件通常對應于服務開始運行之前的設置階段、服務正在運行時的中間執行階段、服務完成后的卸載或清理階段。因為 Python 允許多重繼承,所以一個插件可以繼承多個插件類。

上面的圖 1 是框架架構的摘要。從 ConfigurationManager 指出的箭頭意味著模塊會從中讀取信息,指向它的箭頭意味著模塊會寫入/修改配置。

使用 ETF 的例子

ETF 可以通過多種方式對 WiFi 的網絡安全或者終端用戶的 WiFi 安全意識進行滲透測試。下面的例子描述了這個框架的一些滲透測試功能,例如接入點和客戶端檢測、對使用 WPA 和 WEP 類型協議的接入點進行攻擊,和創建 evil twin 接入點。

這些例子是使用 ETF 和允許進行 WiFi 數據捕獲的 WiFi 卡設計的。它們也在 ETF 設置命令中使用了下面這些縮寫:

  • APS Access Point SSID
  • APB Access Point BSSID
  • APC Access Point Channel
  • CM Client MAC address

在實際的測試場景中,確保你使用了正確的信息來替換這些縮寫。

在解除認證攻擊后捕獲 WPA 四次握手的數據包。

這個場景(圖 2)做了兩個方面的考慮: 解除認證攻擊(de-authentication attack)和捕獲 WPA 四次握手數據包的可能性。這個場景從一個啟用了 WPA/WPA2 的接入點開始,這個接入點有一個已經連上的客戶端設備(在本例中是一臺智能手機)。目的是通過常規的解除認證攻擊(LCTT 譯注:類似于 DoS 攻擊)來讓客戶端斷開和 WiFi 的網絡,然后在客戶端嘗試重連的時候捕獲 WPA 的握手包。重連會在斷開連接后馬上手動完成。

圖 2:在解除認證攻擊后捕獲 WPA 握手包的場景

在這個例子中需要考慮的是 ETF 的可靠性。目的是確認工具是否一直都能捕獲 WPA 的握手數據包。每個工具都會用來多次復現這個場景,以此來檢查它們在捕獲 WPA 握手數據包時的可靠性。

使用 ETF 來捕獲 WPA 握手數據包的方法不止一種。一種方法是使用 AirScanner 和 AirInjector 兩個模塊的組合;另一種方法是只使用 AirInjector。下面這個場景是使用了兩個模塊的組合。

ETF 啟用了 AirScanner 模塊并分析 IEEE 802.11 數據幀來發現 WPA 握手包。然后 AirInjecto 就可以使用解除認證攻擊來強制客戶端斷開連接,以進行重連。必須在 ETF 上執行下面這些步驟才能完成上面的目標:

  1. 進入 AirScanner 配置模式:config airscanner
  2. 設置 AirScanner 不跳信道:config airscanner
  3. 設置信道以嗅探經過 WiFi 接入點信道的數據(APC):set fixed_sniffing_channel = <APC>
  4. 使用 CredentialSniffer 插件來啟動 AirScanner 模塊:start airscanner with credentialsniffer
  5. 從已嗅探的接入點列表中添加目標接入點的 BSSID(APS):add aps where ssid = <APS>
  6. 啟用 AirInjector 模塊,在默認情況下,它會啟用解除認證攻擊:start airinjector

這些簡單的命令設置能讓 ETF 在每次測試時執行成功且有效的解除認證攻擊。ETF 也能在每次測試的時候捕獲 WPA 的握手數據包。下面的代碼能讓我們看到 ETF 成功的執行情況。

  1. ███████╗████████╗███████╗ 
  2. ██╔════╝╚══██╔══╝██╔════╝ 
  3. █████╗ ██║ █████╗ 
  4. ██╔══╝ ██║ ██╔══╝ 
  5. ███████╗ ██║ ██║ 
  6. ╚══════╝ ╚═╝ ╚═╝ 
  7. [+] Do you want to load an older session? [Y/n]: n 
  8. [+] Creating new temporary session on 02/08/2018 
  9. [+] Enter the desired session name
  10. ETF[etf/aircommunicator/]::> config airscanner 
  11. ETF[etf/aircommunicator/airscanner]::> listargs 
  12. sniffing_interface = wlan1; (var) 
  13. probes = True; (var) 
  14. beacons = True; (var) 
  15. hop_channels = false; (var) 
  16. fixed_sniffing_channel = 11; (var) 
  17. ETF[etf/aircommunicator/airscanner]::> start airscanner with 
  18. arpreplayer caffelatte credentialsniffer packetlogger selfishwifi 
  19. ETF[etf/aircommunicator/airscanner]::> start airscanner with credentialsniffer 
  20. [+] Successfully added credentialsniffer plugin. 
  21. [+] Starting packet sniffer on interface 'wlan1' 
  22. [+] Set fixed channel to 11 
  23. ETF[etf/aircommunicator/airscanner]::> add aps where ssid = CrackWPA 
  24. ETF[etf/aircommunicator/airscanner]::> start airinjector 
  25. ETF[etf/aircommunicator/airscanner]::> [+] Starting deauthentication attack 
  26. - 1000 bursts of 1 packets 
  27. - 1 different packets 
  28. [+] Injection attacks finished executing. 
  29. [+] Starting post injection methods 
  30. [+] Post injection methods finished 
  31. [+] WPA Handshake found for client '70:3e:ac:bb:78:64' and network 'CrackWPA' 

使用 ARP 重放攻擊并破解 WEP 無線網絡

下面這個場景(圖 3)將關注 地址解析協議 (ARP)重放攻擊的效率和捕獲包含初始化向量(IVs)的 WEP 數據包的速度。相同的網絡可能需要破解不同數量的捕獲的 IVs,所以這個場景的 IVs 上限是 50000。如果這個網絡在首次測試期間,還未捕獲到 50000 IVs 就崩潰了,那么實際捕獲到的 IVs 數量會成為這個網絡在接下來的測試里的新的上限。我們使用 aircrack-ng 對數據包進行破解。

測試場景從一個使用 WEP 協議進行加密的 WiFi 接入點和一臺知道其密鑰的離線客戶端設備開始 —— 為了測試方便,密鑰使用了 12345,但它可以是更長且更復雜的密鑰。一旦客戶端連接到了 WEP 接入點,它會發送一個不必要的 ARP 數據包;這是要捕獲和重放的數據包。一旦被捕獲的包含 IVs 的數據包數量達到了設置的上限,測試就結束了。

圖 3:在進行解除認證攻擊后捕獲 WPA 握手包的場景

ETF 使用 Python 的 Scapy 庫來進行包嗅探和包注入。為了最大限度地解決 Scapy 里的已知的性能問題,ETF 微調了一些低級庫,來大大加快包注入的速度。對于這個特定的場景,ETF 為了更有效率地嗅探,使用了 tcpdump 作為后臺進程而不是 Scapy,Scapy 用于識別加密的 ARP 數據包。

這個場景需要在 ETF 上執行下面這些命令和操作:

  1. 進入 AirScanner 設置模式:config airscanner
  2. 設置 AirScanner 不跳信道:set hop_channels = false
  3. 設置信道以嗅探經過接入點信道的數據(APC):set fixed_sniffing_channel = <APC>
  4. 進入 ARPReplayer 插件設置模式:config arpreplayer
  5. 設置 WEP 網絡目標接入點的 BSSID(APB):set target_ap_bssid <APB>
  6. 使用 ARPReplayer 插件啟動 AirScanner 模塊:start airscanner with arpreplayer

在執行完這些命令后,ETF 會正確地識別加密的 ARP 數據包,然后成功執行 ARP 重放攻擊,以此破壞這個網絡。

使用一款全能型蜜罐

圖 4 中的場景使用相同的 SSID 創建了多個接入點,對于那些可以探測到但是無法接入的 WiFi 網絡,這個技術可以發現網絡的加密類型。通過啟動具有所有安全設置的多個接入點,客戶端會自動連接和本地緩存的接入點信息相匹配的接入點。

圖 4:在解除認證攻擊后捕獲 WPA 握手包數據。

使用 ETF,可以去設置 hostapd 配置文件,然后在后臺啟動該程序。hostapd 支持在一張無線網卡上通過設置虛擬接口開啟多個接入點,并且因為它支持所有類型的安全設置,因此可以設置完整的全能蜜罐。對于使用 WEP 和 WPA(2)-PSK 的網絡,使用默認密碼,和對于使用 WPA(2)-EAP 的網絡,配置“全部接受”策略。

對于這個場景,必須在 ETF 上執行下面的命令和操作:

  1. 進入 APLauncher 設置模式:config aplauncher
  2. 設置目標接入點的 SSID(APS):set ssid = <APS>
  3. 設置 APLauncher 為全部接收的蜜罐:set catch_all_honeypot = true
  4. 啟動 AirHost 模塊:start airhost

使用這些命令,ETF 可以啟動一個包含所有類型安全配置的完整全能蜜罐。ETF 同樣能自動啟動 DHCP 和 DNS 服務器,從而讓客戶端能與互聯網保持連接。ETF 提供了一個更好、更快、更完整的解決方案來創建全能蜜罐。下面的代碼能夠看到 ETF 的成功執行。

  1. ███████╗████████╗███████╗ 
  2. ██╔════╝╚══██╔══╝██╔════╝ 
  3. █████╗ ██║ █████╗ 
  4. ██╔══╝ ██║ ██╔══╝ 
  5. ███████╗ ██║ ██║ 
  6. ╚══════╝ ╚═╝ ╚═╝ 
  7. [+] Do you want to load an older session? [Y/n]: n 
  8. [+] Creating ne´,cxzw temporary session on 03/08/2018 
  9. [+] Enter the desired session name
  10. ETF[etf/aircommunicator/]::> config aplauncher 
  11. ETF[etf/aircommunicator/airhost/aplauncher]::> setconf ssid CatchMe 
  12. ssid = CatchMe 
  13. ETF[etf/aircommunicator/airhost/aplauncher]::> setconf catch_all_honeypot true 
  14. catch_all_honeypot = true 
  15. ETF[etf/aircommunicator/airhost/aplauncher]::> start airhost 
  16. [+] Killing already started processes and restarting network services 
  17. [+] Stopping dnsmasq and hostapd services 
  18. [+] Access Point stopped... 
  19. [+] Running airhost plugins pre_start 
  20. [+] Starting hostapd background process 
  21. [+] Starting dnsmasq service 
  22. [+] Running airhost plugins post_start 
  23. [+] Access Point launched successfully 
  24. [+] Starting dnsmasq service 

結論和以后的工作

這些場景使用常見和眾所周知的攻擊方式來幫助驗證 ETF 測試 WIFI 網絡和客戶端的能力。這個結果同樣證明了該框架的架構能在平臺現有功能的優勢上開發新的攻擊向量和功能。這會加快新的 WiFi 滲透測試工具的開發,因為很多的代碼已經寫好了。除此之外,將 WiFi 技術相關的東西都集成到一個單獨的工具里,會使 WiFi 滲透測試更加簡單高效。

ETF 的目標不是取代現有的工具,而是為它們提供補充,并為安全審計人員在進行 WiFi 滲透測試和提升用戶安全意識時,提供一個更好的選擇。

ETF 是 GitHub 上的一個開源項目,歡迎社區為它的開發做出貢獻。下面是一些您可以提供幫助的方法。

當前 WiFi 滲透測試的一個限制是無法在測試期間記錄重要的事件。這使得報告已經識別到的漏洞更加困難且準確性更低。這個框架可以實現一個記錄器,每個類都可以來訪問它并創建一個滲透測試會話報告。

ETF 工具的功能涵蓋了 WiFi 滲透測試的方方面面。一方面,它讓 WiFi 目標偵察、漏洞挖掘和攻擊這些階段變得更加容易。另一方面,它沒有提供一個便于提交報告的功能。增加了會話的概念和會話報告的功能,比如在一個會話期間記錄重要的事件,會極大地增加這個工具對于真實滲透測試場景的價值。

另一個有價值的貢獻是擴展該框架來促進 WiFi 模糊測試。IEEE 802.11 協議非常的復雜,考慮到它在客戶端和接入點兩方面都會有多種實現方式。可以假設這些實現都包含 bug 甚至是安全漏洞。這些 bug 可以通過對 IEEE 802.11 協議的數據幀進行模糊測試來進行發現。因為 Scapy 允許自定義的數據包創建和數據包注入,可以通過它實現一個模糊測試器。

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2019-06-13 05:20:17

2022-08-03 00:03:10

工具操作系統Kali

2014-07-01 10:09:01

2012-01-13 15:55:51

2014-11-12 09:24:00

2019-04-03 14:39:28

2017-09-26 08:51:25

2021-12-24 11:50:57

滲透測試工具安全工具 防御系統

2016-02-16 13:27:20

2011-06-16 09:38:33

2015-07-15 09:30:07

2014-11-13 13:15:17

2020-09-27 16:37:13

滲透測試工具安全

2013-08-29 17:09:21

2023-07-29 00:10:48

2021-01-21 09:25:22

網絡安全滲透測試工具

2025-04-02 09:17:08

2019-01-30 13:55:47

2012-01-13 12:18:06

2020-03-08 11:31:15

滲透測試網絡攻擊安全工具
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 福利视频一区二区 | 亚洲品质自拍视频 | 欧美日韩精品久久久免费观看 | se婷婷| 久久久久国产视频 | 久久久91精品国产一区二区精品 | 中文字幕精品视频在线观看 | 国产精品综合色区在线观看 | 91黄在线观看 | 日韩欧美操 | 久草网站| 欧美激情精品久久久久久 | 自拍偷拍av| 色狠狠一区 | 国产成人在线播放 | 欧美一级片a | 日韩视频精品在线 | 亚洲专区在线 | 欧美精品第三页 | 国产精品a一区二区三区网址 | 国产免费高清 | 欧美激情va永久在线播放 | 亚洲精品日韩综合观看成人91 | 亚洲成人av在线播放 | 国产xxxx岁13xxxxhd | 午夜私人影院在线观看 | 亚洲不卡在线观看 | 成人激情视频免费在线观看 | ririsao久久精品一区 | 国产精品视频一区二区三区, | 国产三级日本三级 | 91av视频在线| 精品九九九 | 久久大陆 | 久久大陆 | 一级毛片视频 | 欧美性大战久久久久久久蜜臀 | 日韩精品一区二区三区中文在线 | 久久中文字幕一区 | 日韩在线免费视频 | 久久中文字幕视频 |