─ Şefik Efe Altınoluk 開發的物聯網整合全自動無線網路釣魚系統─
請勿在您沒有合法許可的使用者/系統上嘗試此軟體。未經雙方事先同意,使用Wi-Phi
攻擊目標是非法的。最終使用者有責任遵守所有適用的地方、州和聯邦法律。對於本軟體、文件和此儲存庫中的任何內容造成的任何誤用或損壞,我不承擔任何責任,也不承擔任何責任。
(參見 #4)因為Wi-Phi
可能被惡意使用,所以我不分享大部分原始碼。如果您需要完整的工作代碼,請透過 LinkedIn 聯絡我以了解任何商業/學術/教育案例。
該專案已獲得 Gnu 通用公共授權 3.0 版許可
有關更多詳細信息,請參閱許可證。
Wi-Phi
是一種完全整合到無線IoT
(物聯網)板的自動網路phishing
system
。
它可以被認為是一個先進的、功能豐富的Wifi Pineapple
。
Wi-Phi
能夠對至少運行以下軟體之一的使用者進行網路釣魚:
Wi-Phi
的主要組件有:
MicroPython
韌體的 IoT 板。我使用基於ESP32
Deneyap Kart
。esp32-20220117-v1.18.bin
取得 ESP32 IoT 設備。
將 ESP32 連接到電腦並取得 ESP32 連接的串列埠。
COMx
/dev/ttyUSBx
或/dev/tty/USBx
然後針對 GNU/Linux 執行以下命令。
[efe@lhost ~] $ git clone https://github.com/f4T1H21/Wi-Phi.git && cd Wi-Phi
[efe@lhost Wi-Phi] $ pip3 install -r requirements.txt
[efe@lhost Wi-Phi] $ sudo ./setup.sh < serial_port >
現在,該軟體應該可以運行,檢查您是否看到名為Google Free Wi-Fi
Wi-Fi 網路。
每當您將 ESP32 插入電源時,該專案都會在啟動階段後自動運作。
別的都無所謂。
所有軟體均在MicroPython上實現,並在ESP32上運行。
ESP32 成為無線 AP(接入點);並執行三 (3) 個獨立套接字(在 OSI 第 4 層上):
53/UDP
用於DNS
伺服器80/TCP
用於HTTP
伺服器2121/TCP
用於Credential Store
伺服器所有綁定均在網關 (AP) IP 位址上完成,即210.210.210.1
我之所以選擇這樣的 IP 類別,是因為出於某種原因,三星設備不將短 IP 位址視為強制入口網站。這對我來說是個問題。
主要想法是在 HTTP 伺服器上提供靜態網路釣魚網站,並使其成為透過 Wi-Fi 連接的任何供應商的設備(站)的captive portal
。
Static site
DNS
、 HTTP
和CS
伺服器TCP
和UDP
套接字Gateway
LAN
Wireless AP
、 Wi-Fi
下面展示了Wi-Phi
工作時精心設計的場景。
這也是我給自己佈置的案例研究。那麼讓我們深入了解這個案例......
大多數裝置供應商會向其特定於供應商的強制入口網站偵測伺服器的某些端點傳送 HTTP 請求,並期望特定的 HTTP 回應來了解 Wi-Fi 網路是否具有強制入口網站。
下表顯示了不同設備供應商應做出的回應,以使設備假設 Wi-Fi 網路中存在強制門戶。
注意:Mozilla 是「設備供應商」的例外。 Firefox(作為瀏覽器)能夠根據其自己的強制門戶檢測伺服器自行做出此決定。
具有302 Found
狀態碼的回應也需要有一個Location:
標頭,以便正確重定向瀏覽器(客戶端)。
設備供應商 | 端點 | 狀態碼 | 響應體 |
---|---|---|---|
微軟(Windows) | www.msftconnecttest.com/ncsi.txt | 200 OK | Microsoft NCSI |
微軟(Windows) | www.msftconnecttest.com/connecttest.txt | 200 OK | Microsoft Connect Test |
微軟(Windows) | www.msftconnecttest.com/redirect | 302 Found | |
谷歌(安卓) | connectivitycheck.gstatic.com/gen_204 | 302 Found | |
谷歌(安卓) | connectivitycheck.gstatic.com/generate_204 | 302 Found | |
谷歌(安卓) | clients3.google.com/generate_204 | 302 Found | |
小米 | connect.rom.miui.com/gen_204 | 302 Found | |
小米 | connect.rom.miui.com/generate_204 | 302 Found | |
蘋果(IOS/MacOS) | captive.apple.com/hotspot-detect.html | 302 Found | |
火狐(火狐) | detectportal.firefox.com/canonical.html | 302 Found | |
火狐(火狐) | detectportal.firefox.com/success.txt | 302 Found |
為了能夠回應對上述端點執行的 http 請求,這些請求應傳送到 ESP32 的 HTTP 伺服器。為了實現這一點,ESP32 應該將特定的網域查找應答到它自己的 IP 位址。
google.com
的 IP 位址應變為210.210.210.1
因此需要有一個運行在 ESP32 上的網域名稱系統伺服器。從這個角度來看,這一幕與 DNS 劫持攻擊類似。
我認為Google是全球最受歡迎和最值得信賴的科技公司。所以我準備了一個靜態的釣魚頁面,看起來和 Gmail 的舊登入頁面幾乎一樣。並將Wi-Fi網路命名為Google Free Wi-Fi
。
隨著場景的繼續,將瀏覽器(客戶端)重定向到靜態登入頁面後,使用者打算輸入他/她的憑證並按下一步按鈕。並且憑證儲存在本機檔案中。然後使用者的 IP 會被禁止,直到 ESP32 下次重新啟動。否則,本地資料庫可能會因虛擬/錯誤的憑證而混亂。所有這些之後,客戶端被重定向到靜態網站的/
目錄。
每當 IP 禁止的用戶端嘗試存取 HTTP 伺服器上的任何資源時,無論 HTTP 請求的方法、頭部、主體等為何,都會提供相同的 html 檔案hacklendin.html
另一方面,可以透過連接到2121/tcp
並在連接到 Wi-Fi 時使用硬編碼密碼進行身份驗證來遠端查看本機憑證儲存。
Wi-Phi
是一個功能豐富的系統。可以即時查看Wi-Fi
、 HTTP
和DNS
服務建立的詳細日誌。這些日誌不會儲存在本機以節省儲存空間。
為了能夠查看詳細日誌,
boot.py
的內容複製到名為main.py
本機檔案。boot.py
main.py
您可以使用ampy
工具在 ESP32 上進行檔案操作和運行軟體。
讓我們來看看這樣的情況:我們有多個來自不同供應商的獨立設備同時連接到我們的Google Free Wi-Fi
。
當 IOS 設備遇到強制入口網站時,它們會自動啟動強制入口網頁,而不提示用戶,很好!
三星裝置僅顯示通知。因此,用戶在這裡需要點擊Sign in to the network
或螢幕頂部的通知。
小米設備也會顯示通知。他們有時也會自動開啟強制入口網頁,而不會再次提示使用者!
在 Firefox 中,應用程式視窗頂部會出現提示。點擊Open network login page
後,它將在新分頁中開啟強制入口網頁。
還有一個甚至不讓用戶決定的人(例如 IOS)。始終自動開啟強制入口網頁。
正如我之前所解釋的,
整個學習過程,將我學到的知識應用到現實生活中,修復錯誤和編寫本文檔對我來說非常有趣!我希望您將這些知識用於道德!如有其他問題和商業/學術/教育案例,請與我聯絡。
嘰嘰喳喳
領英
駭客一號
破解盒子
─由 Şefik Efe Altınoluk 撰寫─