2017-2018-2 20155314《網絡對抗技術》Exp7 網絡欺詐防範

2017-2018-2 20155314《網絡對抗技術》Exp7 網絡欺詐防範

目錄

返回目錄php

實驗目標

理解經常使用網絡欺詐背後的原理,以提升防範意識,並提出具體防範方法。html

返回目錄java

實驗內容

  1. 簡單應用SET工具創建冒名網站 (1分)python

  2. ettercap DNS spoof (1分)nginx

  3. 結合應用兩種技術,用DNS spoof引導特定訪問到冒名網站。(1.5分)web

返回目錄shell

實驗環境

  • macOS本機
  • macOS下Parallels Desktop虛擬機中(網絡源均設置爲共享網絡模式):
    • Kali Linux - 64bit(攻擊機,IP爲10.211.55.10
    • Windows 7 - 64bit(靶機,IP爲10.211.55.14

返回目錄數據庫

基礎問題回答

  1. 一般在什麼場景下容易受到DNS spoof攻擊?
    • 在同一局域網下比較容易受到DNS spoof攻擊,攻擊者能夠冒充域名服務器,來發送僞造的數據包,從而修改目標主機的DNS緩存表,達到DNS欺騙的目的
    • 連公共場合的免費WiFi也容易受到攻擊,尤爲是那種不須要輸入密碼直接就能夠鏈接的更加可疑
  2. 在平常生活工做中如何防範以上兩攻擊方法?
    • 能夠將IP地址和MAC地址進行綁定,不少時候DNS欺騙攻擊是以ARP欺騙爲開端的,因此將網關的IP地址和MAC地址靜態綁定在一塊兒,能夠防範ARP欺騙,進而放止DNS spoof攻擊
    • 直接使用IP登陸網站,這種是最安全的,可是實際操做起來太麻煩,沒有人會去記一個網站的IP地址
    • 對於冒名網站,要作到不隨便點來路不明的連接,或者在點以前能夠先觀察一下域名,查看其是否存在異常

返回目錄瀏覽器

預備知識

  • DNS緩存

    DNS即Domain Name System,域名系統以分佈數據庫的形式將域名和IP地址相互轉換。DNS協議即域名解析協議,是用來解析域名的。有了DNS咱們就不用再記住煩人的IP地址,用相對好記的域名就能夠對服務器進行訪問,即便服務器更換地址,咱們依舊能夠經過域名訪問該服務器,這樣可以時候咱們更方便的訪問互聯網。

  • DNS spoof(DNS欺騙)
    • 原理:

    DNS欺騙是一種中間人攻擊形式,它是攻擊者冒充域名服務器的一種欺騙行爲。

    DNS spoof主要用於向主機提供錯誤DNS信息。當用戶嘗試瀏覽網頁,例如IP地址爲XXX.XX.XX.XX,網址爲www.bankofamerica.com,而實際上登陸的確實IP地址YYY.YY.YY.YY上的www.bankofamerica.com,用戶上網就只能看到攻擊者的主頁,而不是用戶想要取得的網站的主頁了,這個網址是攻擊者用以竊取網上銀行登陸證書以及賬號信息的假冒網址,DNS欺騙其實並非真的「黑掉」了對方的網站,而是冒名頂替、招搖撞騙罷了。

    • 緣由:

    儘管DNS在互聯網中扮演如此重要的角色,可是在設計DNS協議時設計者沒有考慮到一些安全問題,致使了DNS的安全隱患與缺陷。

    DNS欺騙就是利用DNS協議設計時的一個很是重要的安全缺陷。首先欺騙者向目標機器發送構造的APR應答包,ARP欺騙成功後,嗅探到對方發出的DNS請求數據包,分析數據包取得ID和端口號後,向目標發送本身構造後的一個DNS返回包,對方收到DNS應答包,發現ID和端口號所有正確,即把返回數據包中的額域名和對應的IP地址保存近DNS緩存表中,然後來當真實的DNS應答包返回時則被丟棄。

    • 防範:

    DNS欺騙攻擊是很難防護的,由於這種攻擊大多數本質都是被動的。一般狀況下,除非發生欺騙攻擊,不然你不可能知道你的DNS已經被欺騙,只是你打開的網頁與你想要看到的網頁有所不一樣。在不少針對性的攻擊中,用戶都沒法知道本身已經將網上銀行賬號信息輸入到錯誤的網址,直到接到銀行的電話告知其賬號已購買某某高價商品時用戶纔會知道。這就是說,在抵禦這種類型攻擊方面仍是有跡可循:

    • 保護內部設備: 像這樣的攻擊大多數都是從網絡內部執行攻擊的,若是你的網絡設備很安全,那麼那些感染的主機就很難向你的設備發動欺騙攻擊。
    • 不要依賴DNS:在高度敏感和安全的系統,你一般不會在這些系統上瀏覽網頁,最後不要使用DNS。若是你有軟件依賴於主機名來運行,那麼能夠在設備主機文件裏手動指定。
    • 使用入侵檢測系統: 只要正確部署和配置,使用入侵檢測系統就能夠檢測出大部分形式的ARP緩存中毒攻擊和DNS欺騙攻擊。
    • 使用DNSSEC: DNSSEC是替代DNS的更好選擇,它使用的是數字前面DNS記錄來確保查詢響應的有效性,DNSSEC如今尚未普遍運用,可是已被公認爲是DNS的將來方向,也正是如此,美國國防部已經要求全部MIL和GOV域名都必須開始使用DNSSEC。

返回目錄

實驗步驟

1 利用setoolkit創建冒名網站

SET(Social-Engineer Toolkit)是一款python開發的社會工程學工具包。

  • 打開Kali攻擊機,終端中輸入setoolkit命令啓動SET工具,而後輸入y,出現歡迎頁面(跟msfconsole都是一個德行):

    往下拉會出現幾個選項,分別是:

    • Social-Engineering Attacks:社會工程學攻擊
    • Fast-Track Penetration Testing:快速追蹤滲透測試
    • Third Party Modules:第三方模塊
    • Update the Social-Engineer Toolkit:更新軟件
    • Update SET configuration:升級配置
    • Help, Credits, and About:關於
    • Exit the Social-Engineer Toolkit:退出
  • setoolkit最經常使用的功能是社會工程學攻擊,所以咱們選擇第一個選項1


    又出現一個歡迎頁面,以後有幾個選項:

    • Spear-Phishing Attack Vectors:魚叉式釣魚攻擊向量(也稱針對性釣魚攻擊)
    • Website Attack Vectors:釣魚網站攻擊向量
    • Infectious Media Generator:媒介感染生成器
    • Create a Payload and Listener:生成一個payload和監聽
    • Mass Mailer Attack:大規模郵件釣魚
    • Arduino-Based Attack Vector:基於Arduino的攻擊向量(相似於單片機)
    • Wireless Access Point Attack Vector:無線接入點攻擊向量
    • QRCode Generator Attack Vector:二維碼攻擊向量
    • Powershell Attack Vectors:powershell攻擊向量
    • SMS Spoofing Attack Vectors:SMS欺騙攻擊向量
    • Third Party Modules:第三方模塊
    • Return back to the main menu.返回主菜單
  • 這裏咱們選擇釣魚網站攻擊向量2:



    選完又蹦出來幾個選項,好在有相應介紹:
    • Java Applet Attack Method:Java程序攻擊(這裏會欺騙用戶進行Java升級,內含payload,可能太老,win7實測無效)
    • Metasploit Browser Exploit Method:基於Metasploit的瀏覽器攻擊
    • Credential Harvester Attack Method:認證獲取攻擊(搭建web、克隆登錄網頁、獲取認證信息)
    • Tabnabbing Attack Method:標籤劫持攻擊
    • Web Jacking Attack Method:網頁劫持攻擊
    • Multi-Attack Web Method:綜合攻擊
    • Full Screen Attack Method:全屏攻擊
    • HTA Attack Method:HTA攻擊(當用戶訪問設計好的網頁時,會提示選擇keep/discard(保留/放棄))
    • Return to Main Menu:返回主菜單
  • 這裏咱們選擇認證獲取攻擊3截取登陸密碼:

    出現3個功能選項,分別是:
    • Web Templates:網頁模板(只有google,facebook,twitter,yahoo,java required這幾個選項,能夠本身添加)
    • Site Cloner:站點克隆(有些網頁克隆會出現問題,只能克隆一些簡單的網頁)
    • Custom Import:自定義輸入
    • Return to Webattack Menu:返回Web攻擊菜單
  • 這裏咱們選擇站點克隆2進行網站的克隆:
    • 輸入要克隆的url,這裏以學校圖書館在線預定系統爲例(打碼了!):
    • 這裏提示端口80被佔用,輸入y殺死佔用該端口的進程Apache和nginx服務,開啓Harvester服務:

      等待「魚兒」上鉤!
  • win7靶機打開IE瀏覽器,輸入Kali攻擊機的IP:

    靶機上鉤了!Kali捕獲到靶機的HTTP請求!誒等等?!貌似有404???

    可惡啊靶機這邊顯示的網頁也不正常>_ <看來是釣魚網站製做失敗了> _<
  • 換成教務網試試?別急,我們這回先在本機瞅瞅釣魚網站作得咋樣!瀏覽器中輸入本身的IP:

    奈斯!如出一轍啊嘻嘻(陰臉)
  • 可是,像學長的博客中說的那樣,爲了可以更好的迷惑別人,咱們不能直接將IP地址發給對方,須要先對其進行必定的假裝!這裏咱們找一個短網址生成器,將攻擊機的IP地址變成一串短網址:
  • 將獲得的假裝地址http://short.php5developer.com/dst在靶機的IE瀏覽器中打開,出現一個跳轉提示(和廣告):

    往下拉,它告訴咱們等待10秒後會自動跳轉到釣魚網站的IP:
    10s後跳轉——出來吧釣魚網站!!!

    Kali這邊的setoolkit會記錄下靶機的IP以及生成一個以時間爲名的文件:
  • 而後模擬不知情的受害用戶在釣魚網站上輸入用戶名、密碼(甚至還有驗證碼),接着就會被setoolkit工具記錄下來:

    其中submit對應html中的提交當前表單中的所有信息,包括username和password。能夠看到釣魚網站攻擊成功,成功竊取用戶的身份信息(雖然這回是假的,不過仍不得不讓人細思極恐啊)!!!

返回目錄

2 ettercap DNS spoof

ettercap是一個很好用來演示ARP欺騙攻擊的工具,包含一個DNS插件,很是容易使用。

  • 輸入命令ifconfig eth0 promisc將Kali攻擊機的網卡改成混雜模式:
  • 輸入命令vi /etc/ettercap/etter.dns對ettercap的DNS緩存表進行修改:

    在對應的位置添加對應的標識和IP地址(*表明全部域名),後邊就是你要欺騙成的IP地址。如圖所示,我添加了一條對博客園網站的DNS記錄,並欺騙成Kali攻擊機的IP。
  • 輸入命令ettercap -G啓動ettercap可視化界面,一下彈出一個帶有蜘蛛的界面把我嚇了一跳(蜘蛛恐懼症傷不起啊>_<):
  • 依次選擇上方工具欄中的Sniff->Unified sniffing...打開配置界面,選擇網卡eth0(默認):

  • 依次選擇工具欄中的Hosts->Scan for hosts掃描存活主機:
  • 再選擇同目錄下的Hosts list查看掃描結果,而後開啓中間人監聽模式,將要監聽的兩端(網關IP和win7靶機IP)分別添加到Target一、Target2,如圖:
  • 選擇工具欄Mitm—>Arp poisoning,勾選Sniff remote connections.(嗅探並保持原鏈接狀態),肯定,而後選擇工具欄Start->Start sniffing開始實行arp欺騙:
  • 在靶機中發現已經被arp欺騙成功(欺騙靶機10.211.55.14,讓它誤覺得Kali攻擊機10.211.55.10是網關10.211.55.1):
  • 依次選擇工具欄View->Connections查看和被監聽靶機之間的全部鏈接信息:
  • 依次選擇工具欄Plugins—>Manage the plugins,選擇DNS_spoof插件,*表示被選中:

  • 選擇工具欄Start->Start sniffing開始嗅探:
  • 此時在靶機中的cmd輸入命令ping www.cnblogs.com會發現解析的地址是Kali的IP:
  • 在Kali上能夠看到,在DNS已經成功欺騙時,全部會話被轉移到了攻擊者的主機,而不是真正的博客園服務器!!

  • 本次DNS欺騙攻擊還能夠用ettercap的命令行版本完成(感受這回用命令行要比界面操做簡單的多得多啊)!在配置完etter.dns以後,只需輸入以下命令便可完成欺騙:

    ettercap -T -q -i eth0 -P dns_spoof -M arp // //

    各參數及其含義以下:

    • -P:使用插件(這裏咱們使用的是dns_spoof)
    • -T:使用基於文本界面
    • -q:啓動安靜模式(不回顯的意思)
    • -M:啓動ARP欺騙攻擊
    • // //:表明欺騙整個子網網絡
    • -i eth0:使用特定的接口eth0執行dns欺騙攻擊

返回目錄

3 利用DNS spoof引導特定訪問到冒名網站

  • 結合應用以上兩種技術,下面咱們用DNS spoof引導特定訪問釣魚網站。
  • 爲了利用DNS spoof將靶機引導到咱們的釣魚網站,這裏假設咱們的釣魚網站是學校教務信息網的登陸頁面,先利用第一個實驗中的步驟先克隆一個登陸頁面,而後再經過第二個實驗實施DNS spoof,接着在靶機上輸入博客園的網址www.cnblogs.com,就能夠發現成功登陸了釣魚網站同時記錄下用戶名和密碼:

返回目錄

實驗總結與體會

  DNS欺騙是一種很是危險的攻擊,由於攻擊者能夠利用ettercap的dns_spoof插件和其餘工具執行攻擊,最終,攻擊者可使用一個社會工程工具包(如SET)來執行攻擊去控制受害者的主機。想象一下這是多容易,經過社會工程工具包和DNS欺騙技術你所須要作的僅僅就是配置你的社會工程工具包和你的IP清單,製做像百度同樣的網站欺騙域名到你的IP地址上。當受害者打開www.baidu.com,你的攻擊將使它訪問你的IP,以後創建一個遠程的會話。
  怎麼說呢,仍是那句話,遇事多留心、常疑問,提升防騙意識,才能立於不(bei)敗(pian)之地!

返回目錄

參考資料

返回目錄

相關文章
相關標籤/搜索