av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

Evil-Twin框架:一個用于提升WiFi安全性的工具

了解一款用于對 WiFi 接入點(diǎn)安全進(jìn)行滲透測試的工具。

創(chuàng)新互聯(lián)成立于2013年,我們提供高端網(wǎng)站建設(shè)、成都網(wǎng)站制作網(wǎng)站設(shè)計、網(wǎng)站定制、成都全網(wǎng)營銷推廣、小程序制作、微信公眾號開發(fā)、seo優(yōu)化排名服務(wù),提供專業(yè)營銷思路、內(nèi)容策劃、視覺設(shè)計、程序開發(fā)來完成項目落地,為成都廣告推廣企業(yè)提供源源不斷的流量和訂單咨詢。

越來越多的設(shè)備通過無線傳輸?shù)姆绞竭B接到互聯(lián)網(wǎng),以及,大范圍可用的 WiFi 接入點(diǎn)為攻擊者攻擊用戶提供了很多機(jī)會。通過欺騙用戶連接到虛假的 WiFi 接入點(diǎn),攻擊者可以完全控制用戶的網(wǎng)絡(luò)連接,這將使得攻擊者可以嗅探和篡改用戶的數(shù)據(jù)包,將用戶的連接重定向到一個惡意的網(wǎng)站,并通過網(wǎng)絡(luò)發(fā)起其他的攻擊。

為了保護(hù)用戶并告訴他們?nèi)绾伪苊饩€上的危險操作,安全審計人員和安全研究員必須評估用戶的安全實(shí)踐能力,用戶常常在沒有確認(rèn)該 WiFi 接入點(diǎn)為安全的情況下就連接上了該網(wǎng)絡(luò),安全審計人員和研究員需要去了解這背后的原因。有很多工具都可以對 WiFi 的安全性進(jìn)行審計,但是沒有一款工具可以測試大量不同的攻擊場景,也沒有能和其他工具集成得很好的工具。

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

ETF 的架構(gòu)

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

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

圖 1:Evil-Twin 的框架架構(gòu)

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

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

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

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

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

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

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

使用 ETF 的例子

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

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

  • APSAccess Point SSID
  • APBAccess Point BSSID
  • APCAccess Point Channel
  • CMClient MAC address

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

在解除認(rèn)證攻擊后捕獲 WPA 四次握手的數(shù)據(jù)包。

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

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

在這個例子中需要考慮的是 ETF 的可靠性。目的是確認(rèn)工具是否一直都能捕獲 WPA 的握手?jǐn)?shù)據(jù)包。每個工具都會用來多次復(fù)現(xiàn)這個場景,以此來檢查它們在捕獲 WPA 握手?jǐn)?shù)據(jù)包時的可靠性。

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

ETF 啟用了 AirScanner 模塊并分析 IEEE 802.11 數(shù)據(jù)幀來發(fā)現(xiàn) WPA 握手包。然后 AirInjecto 就可以使用解除認(rèn)證攻擊來強(qiáng)制客戶端斷開連接,以進(jìn)行重連。必須在 ETF 上執(zhí)行下面這些步驟才能完成上面的目標(biāo):

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

這些簡單的命令設(shè)置能讓 ETF 在每次測試時執(zhí)行成功且有效的解除認(rèn)證攻擊。ETF 也能在每次測試的時候捕獲 WPA 的握手?jǐn)?shù)據(jù)包。下面的代碼能讓我們看到 ETF 成功的執(zhí)行情況。

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

使用 ARP 重放攻擊并破解 WEP 無線網(wǎng)絡(luò)

下面這個場景(圖 3)將關(guān)注地址解析協(xié)議(ARP)重放攻擊的效率和捕獲包含初始化向量(IVs)的 WEP 數(shù)據(jù)包的速度。相同的網(wǎng)絡(luò)可能需要破解不同數(shù)量的捕獲的 IVs,所以這個場景的 IVs 上限是 50000。如果這個網(wǎng)絡(luò)在首次測試期間,還未捕獲到 50000 IVs 就崩潰了,那么實(shí)際捕獲到的 IVs 數(shù)量會成為這個網(wǎng)絡(luò)在接下來的測試?yán)锏男碌纳舷蕖N覀兪褂?aircrack-ng 對數(shù)據(jù)包進(jìn)行破解。

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

圖 3:在進(jìn)行解除認(rèn)證攻擊后捕獲 WPA 握手包的場景

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

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

  1. 進(jìn)入 AirScanner 設(shè)置模式:config airscanner
  2. 設(shè)置 AirScanner 不跳信道:set hop_channels = false
  3. 設(shè)置信道以嗅探經(jīng)過接入點(diǎn)信道的數(shù)據(jù)(APC):set fixed_sniffing_channel =
  4. 進(jìn)入 ARPReplayer 插件設(shè)置模式:config arpreplayer
  5. 設(shè)置 WEP 網(wǎng)絡(luò)目標(biāo)接入點(diǎn)的 BSSID(APB):set target_ap_bssid
  6. 使用 ARPReplayer 插件啟動 AirScanner 模塊:start airscanner with arpreplayer

在執(zhí)行完這些命令后,ETF 會正確地識別加密的 ARP 數(shù)據(jù)包,然后成功執(zhí)行 ARP 重放攻擊,以此破壞這個網(wǎng)絡(luò)。

使用一款全能型蜜罐

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

圖 4:在解除認(rèn)證攻擊后捕獲 WPA 握手包數(shù)據(jù)。

使用 ETF,可以去設(shè)置 hostapd 配置文件,然后在后臺啟動該程序。hostapd 支持在一張無線網(wǎng)卡上通過設(shè)置虛擬接口開啟多個接入點(diǎn),并且因?yàn)樗С炙蓄愋偷陌踩O(shè)置,因此可以設(shè)置完整的全能蜜罐。對于使用 WEP 和 WPA(2)-PSK 的網(wǎng)絡(luò),使用默認(rèn)密碼,和對于使用 WPA(2)-EAP 的網(wǎng)絡(luò),配置“全部接受”策略。

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

  1. 進(jìn)入 APLauncher 設(shè)置模式:config aplauncher
  2. 設(shè)置目標(biāo)接入點(diǎn)的 SSID(APS):set ssid =
  3. 設(shè)置 APLauncher 為全部接收的蜜罐:set catch_all_honeypot = true
  4. 啟動 AirHost 模塊:start airhost

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

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

結(jié)論和以后的工作

這些場景使用常見和眾所周知的攻擊方式來幫助驗(yàn)證 ETF 測試 WIFI 網(wǎng)絡(luò)和客戶端的能力。這個結(jié)果同樣證明了該框架的架構(gòu)能在平臺現(xiàn)有功能的優(yōu)勢上開發(fā)新的攻擊向量和功能。這會加快新的 WiFi 滲透測試工具的開發(fā),因?yàn)楹芏嗟拇a已經(jīng)寫好了。除此之外,將 WiFi 技術(shù)相關(guān)的東西都集成到一個單獨(dú)的工具里,會使 WiFi 滲透測試更加簡單高效。

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

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

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

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

另一個有價值的貢獻(xiàn)是擴(kuò)展該框架來促進(jìn) WiFi 模糊測試。IEEE 802.11 協(xié)議非常的復(fù)雜,考慮到它在客戶端和接入點(diǎn)兩方面都會有多種實(shí)現(xiàn)方式??梢约僭O(shè)這些實(shí)現(xiàn)都包含 bug 甚至是安全漏洞。這些 bug 可以通過對 IEEE 802.11 協(xié)議的數(shù)據(jù)幀進(jìn)行模糊測試來進(jìn)行發(fā)現(xiàn)。因?yàn)?Scapy 允許自定義的數(shù)據(jù)包創(chuàng)建和數(shù)據(jù)包注入,可以通過它實(shí)現(xiàn)一個模糊測試器。


分享標(biāo)題:Evil-Twin框架:一個用于提升WiFi安全性的工具
路徑分享:http://uogjgqi.cn/article/djcspos.html
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流