1.實驗內容
1.1實驗內容簡述
本實踐的目標為理解常用網路欺詐背後的原理,以提高防範意識,並提出具體防範方法。
(1)簡單應用SET工具建立冒名網站
(2)ettercap DNS spoof
(3)結合應用兩種技術,用DNS spoof引導特定訪問到冒名網站。
(4)提出具體防範方法
1.2近期學習內容
(1)Web安全基礎
各種語言、框架,前端有HTML、JavaScript、CSS、Web前端框架,後端有C、Java、PHP、資料庫語言等
(2)Web安全攻防
SQL隱碼攻擊、XSS跨站指令碼攻擊、跨站請求偽造、防範
(3)Burpsuite工具
針對Web應用的安全測試平臺,可重放、掃描等
2.實驗過程
2.1 簡單應用SET工具建立冒名網站
(1)在root許可權下,使用命令setoolkit
開啟SET工具
進入後有一個選單介面,下面是對其的翻譯和解釋:
- Social-Engineering Attacks(社會工程學攻擊)
執行各種社會工程學攻擊,如網路釣魚、網站克隆等,以欺騙目標使用者洩露敏感資訊。 - Penetration Testing (Fast-Track)(滲透測試(快速通道))
提供了一個簡化的滲透測試流程,旨在快速評估目標系統的安全性。 - Third Party Modules(第三方模組)
訪問和使用SET中包含的第三方模組,這些模組可能提供了額外的功能或工具。 - Update the Social-Engineer Toolkit(更新社會工程學工具包)
更新SET到最新版本,以確保你擁有最新的功能和安全修復。 - Update SET configuration(更新SET配置)
更新或修改SET的配置設定,以適應你的特定需求或環境。 - Help, Credits, and About(幫助、致謝和關於)
獲取SET的使用幫助、檢視開發者致謝資訊以及瞭解SET的詳細資訊。 - Exit the Social-Engineer Toolkit(退出社會工程學工具包)
退出SET程式,返回到你的作業系統桌面或命令列介面。
(2)選擇第一個選項,Social-Engineering Attacks(社會工程學攻擊)
選擇第一個選項後,有一個選單介面,下面是對其的翻譯和解釋:
- Spear-Phishing Attack Vectors(定向釣魚攻擊向量)
解釋:這種攻擊是針對特定目標或組織的高度定製的釣魚攻擊。攻擊者會傳送看似來自可信來源的惡意郵件或訊息,誘使目標點選惡意連結或下載惡意附件。 - Website Attack Vectors(網站攻擊向量)
解釋:這些攻擊涉及利用網站漏洞或欺騙使用者訪問惡意網站,以竊取資訊、安裝惡意軟體或執行其他惡意行為。 - Infectious Media Generator(感染媒體生成器)
解釋:這個工具可以生成包含惡意程式碼的媒體檔案(如PDF、Word文件、圖片等),當目標開啟這些檔案時,惡意程式碼就會被執行。 - Create a Payload and Listener(建立有效載荷和監聽器)
解釋:有效載荷是攻擊者希望在目標系統上執行的惡意程式碼或命令,而監聽器則是用於接收來自目標系統的資料或命令響應的工具。 - Mass Mailer Attack(大規模郵件攻擊)
解釋:這種攻擊涉及向大量電子郵件地址傳送惡意郵件,以傳播惡意軟體、進行網路釣魚或執行其他惡意活動。 - Arduino-Based Attack Vector(基於Arduino的攻擊向量)
解釋:Arduino是一種流行的開源微控制器平臺,這個選項使用Arduino裝置來執行物理攻擊或與其他系統互動以執行惡意行為。 - Wireless Access Point Attack Vector(無線接入點攻擊向量)
解釋:這種攻擊涉及設定惡意的無線接入點(也稱為“邪惡孿生”),以誘騙使用者連線到它,從而竊取資訊或執行其他惡意行為。 - QRCode Generator Attack Vector(二維碼生成器攻擊向量)
解釋:這個工具可以生成包含惡意連結的二維碼,當目標掃描這些二維碼時,他們可能會被重定向到惡意網站或下載惡意軟體。 - Powershell Attack Vectors(Powershell攻擊向量)
解釋:Powershell是Windows作業系統上的一種強大指令碼語言,這個選項使用Powershell指令碼來執行惡意行為,如資訊竊取、系統控制等。 - Third Party Modules(第三方模組)
解釋:這個選項訪問和使用來自其他開發者或組織的額外模組或工具,這些模組可能提供了額外的功能或攻擊向量。 - Return back to the main menu.(返回主選單)
解釋:這個選項返回到上一級選單,以便選擇其他功能或退出程式。
(3)選擇第二個選項,Website Attack Vectors(網站攻擊向量)
選擇第二個選項後,有一個選單介面,下面是對其的翻譯和解釋:
- Java Applet 攻擊方法:
此方法透過偽造Java證書並傳遞一個基於Metasploit(一種滲透測試框架)的有效載荷來工作。
使用Thomas Werth建立的自定義Java小程式來傳遞有效載荷。 - Metasploit 瀏覽器漏洞利用方法:
透過iframe使用特定的Metasploit瀏覽器漏洞,並傳遞一個Metasploit有效載荷。 - 憑證收集攻擊方法:
透過克隆包含使用者名稱和密碼欄位的網站來收集釋出到該網站的所有資訊。 - TabNabbing 攻擊方法:
當使用者切換到不同的瀏覽器標籤時,此方法會重新整理當前頁面,將其替換為不同的內容。 - Web-Jacking 攻擊方法:
由white_sheep和emgent引入,此方法利用iframe替換,使高亮顯示的URL連結看起來合法,但點選後會彈出一個視窗,隨後被惡意連結替換。
可以在set_config中編輯連結替換設定,以調整其速度。 - 多攻擊方法:
透過Web攻擊選單組合多種攻擊。例如,可以同時使用Java Applet、Metasploit Browser、Credential Harvester/Tabnabbing來檢視哪種攻擊成功。 - HTA 攻擊方法:
允許克隆一個網站,並透過HTA(HTML應用程式)檔案執行PowerShell注入,這可以用於透過瀏覽器進行基於Windows的PowerShell利用。 - 返回主選單:
提供一個選項以返回到主選單。
(4)選擇第三個選項,Credential Harvester Attack Method(憑證收集攻擊方法)
選擇第三個選項後,有一個選單介面,下面是對其的翻譯和解釋:
- Web Templates(網頁模板):
透過這個選項,SET 可以匯入一系列預定義的網頁應用程式模板。這些模板通常是為了模擬真實網站而設計的,以便在攻擊中使用。攻擊者可以選擇一個與目標網站相似的模板,然後在其上部署惡意程式碼或釣魚頁面。 - Site Cloner(網站克隆器):
這個選項允許使用者完全克隆他們選擇的任何網站。克隆的網站將包含與目標網站相同的佈局、樣式和功能,但可以在攻擊者的控制下執行。透過克隆網站,攻擊者可以利用與目標網站相同的介面和功能來欺騙使用者,收集敏感資訊或執行其他惡意操作。 - Custom Import(自定義匯入):
透過這個選項,使用者可以匯入他們自己的網站或網頁。但是,需要注意的是,當使用匯入網站功能時,通常建議只提供一個 index.html 檔案作為網站的入口頁面。這允許攻擊者使用他們自己的設計或特定的釣魚頁面來執行攻擊。 - Return to Webattack Menu(返回Web攻擊選單):
這個選項允許使用者返回到 SET 的 Web 攻擊主選單,以便選擇其他攻擊方法或功能。
(5)選擇第二個選項,Site Cloner(網站克隆器)
- 先關閉其他Web服務,避免干擾之後克隆的網站
- 在
IP address for the POST back in Harvester/Tabnabbing [192.168.150.192]:
輸入回車,使用預設IP - 在
Enter the url to clone:
輸入http://tykd.com/User/login/
,以克隆天翼快遞的登入介面
- 在區域網內輸入預設IP
192.168.150.192
即可訪問克隆的網站
- 訪問該克隆網站的受害者輸入登入資訊後便可以在setoolkit中捕獲到
可以從圖中看到受害者輸入的登入郵箱和密碼
綜上,已經成功簡單應用SET工具建立冒名網站並測試攻擊成功
2.2 ettercap DNS spoof
(1)把kali的網路卡改為混雜模式,以便接收網路上所有資料包
使用ifconfig eth0 promisc
(2)編輯ettercap的DNS表,將域名和攻擊機的IP做對映
使用vi /etc/ettercap/etter.dns
進入,然後新增*.baidu.com A 192.168.150.192
和www.bilibili.com A 192.168.150.192
(3)檢視閘道器
使用route -n
,可知閘道器為192.168.150.2
(4)啟動並使用ettercap
-
ettercap -G
啟動
-
點選上圖右上角的√,然後點選下圖左上角的兩個圖示,以掃描並開啟主機列表
-
將靶機windows10
192.168.150.150
加入Target 1
,將閘道器192.168.150.2
加入Target 2
-
點選右上角的地球圖示開啟
MITM
,點選ARP poisoning
,再點選ok
。
-
點選右上角的圖示開啟
Ettercap
,選擇Plugins
中的manage Plugins
,雙擊開啟dns_spoof
。
(5)驗證 DNS 欺騙攻擊是否成功
- 靶機 windows10 中 ping 百度、文心一言(也是百度的)、嗶哩嗶哩的域名
- 由上圖可知,驗證成功,www.baidu.com、yiyan.baidu.com、www.bilibili.com均轉為攻擊機的IP
192.168.150.192
2.3 結合應用兩種技術,用DNS spoof引導特定訪問到冒名網站
-
編輯ettercap的DNS表,將域名和攻擊機的IP做對映
使用vi /etc/ettercap/etter.dns
進入,新增www.tykd.com A 192.168.150.192
和tykd.com A 192.168.150.192
-
按照2.2,進行相同的(1)(3)(4)設定,這裡不再重複展示
-
按照2.1,為
192.168.150.192
克隆網頁http://tykd.com/User/login/
-
驗證
- 靶機windows10開啟
http://www.tykd.com
,但其實靶機開啟的是攻擊機克隆的登入網頁,但顯示出了域名而非2.1中的IP地址
- 獲取靶機的登入資訊
經過多次嘗試,我終於獲取了登入的資訊,如下圖,之前可能是因為setoolkit自身出錯導致CSS等出了錯導致抓不到
- 靶機windows10開啟
2.4 提出具體防範方法
從以上實驗,可知攻擊的方法用到了Web欺騙、ARP欺騙、DNS欺騙
相應的防範方法如下:
(1)謹慎連入公共場所的網路,否則就有可能受ARP欺騙、DNS欺騙。
(2)設定靜態ARP。最直接防止ARP欺騙的方式。
(3)加強防範意識,不要點選不明連結,就算點了也不要輕易相信其中的頁面,要仔細檢查域名。
(4)儘量使用https,並檢查證書是否正確。如果瀏覽器提示不安全或證書錯誤就最好退出該網頁。攻擊者能模仿網頁,甚至證書,但模仿不了證書相應的私鑰。
(5)定期或在懷疑受攻擊時,檢測自身是否受DNS欺騙。具體比如,可透過訪問一個不存在的網頁來檢測,因為攻擊者為了速度一般不會驗證網址的真實性,並且在本次實驗中我為ettercap的DNS表新增了*.baidu.com A 192.168.150.192
,若使用者訪問了一個*不存在的網址卻能開啟,那就能確定受到了攻擊。
(6)設定安全策略:為網路裝置上設定安全策略,禁止未經授權的ARP和DNS資訊。
3.問題及解決方案
- 問題1:應用SET工具建立冒名網站時,當完成設定點回車後卻回到了之前的選單
- 問題1解決方案:經過多次重複嘗試還是不行,但我能確定沒做錯。可能是系統的問題,重啟後就正常啟用了冒名網站了。之後我還遇到了這個問題,但多等一會後就行了。我猜測是因為SET工具的程序或執行緒沒有取消掉導致後續再啟動一個SET工具的程序或執行緒時無法使用80埠,因其自身又只檢測並應對apache等其他軟體是否佔用80埠而沒檢測應對自己佔用的情況,所以當埠被自己之前的程序或執行緒佔用就只能退出了。
- 問題2:結合應用兩種技術,用DNS spoof引導特定訪問到冒名網站時無法獲取到靶機的登入資訊,一直顯示CSS、JS的404
- 問題2解決方案:多次重複嘗試,還嘗試了改為用老版的IE訪問,結果最後還是透過edge訪問得到了靶機的登入資訊。我還是覺得是所使用的工具本身的問題,因為多次嘗試經過了較長時間後就能成功了。
4.學習感悟、思考等
在這次實驗中,我深刻體會到了網路欺詐的隱蔽性和危害性。透過親自操作SET工具和ettercap進行ARP欺騙和DNS欺騙,我意識到這些攻擊手段在技術上並不複雜,但一旦成功實施,就能讓受害者毫無察覺地陷入危險之中。
同時,這次實驗也讓我更加明白了網路安全的重要性。透過幾個學期的學習和實踐,我知道了一些實用的防範知識和防範方法,如謹慎連線公共場所的網路、設定靜態ARP、使用https協議等。這些知識和方法能提高我在網路世界中的自我保護能力。
參考資料
- 實驗七 網路欺詐與防範