返回目錄php
理解經常使用網絡欺詐背後的原理,以提升防範意識,並提出具體防範方法。html
返回目錄java
簡單應用SET工具創建冒名網站 (1分)python
ettercap DNS spoof (1分)nginx
結合應用兩種技術,用DNS spoof引導特定訪問到冒名網站。(1.5分)web
返回目錄shell
10.211.55.10
)10.211.55.14
)返回目錄數據庫
返回目錄瀏覽器
DNS緩存
DNS即Domain Name System,域名系統以分佈數據庫的形式將域名和IP地址相互轉換。DNS協議即域名解析協議,是用來解析域名的。有了DNS咱們就不用再記住煩人的IP地址,用相對好記的域名就能夠對服務器進行訪問,即便服務器更換地址,咱們依舊能夠經過域名訪問該服務器,這樣可以時候咱們更方便的訪問互聯網。
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。
SET(Social-Engineer Toolkit)是一款python開發的社會工程學工具包。
打開Kali攻擊機,終端中輸入setoolkit
命令啓動SET工具,而後輸入y
,出現歡迎頁面(跟msfconsole都是一個德行):
往下拉會出現幾個選項,分別是:
setoolkit最經常使用的功能是社會工程學攻擊,所以咱們選擇第一個選項1
:
又出現一個歡迎頁面,以後有幾個選項:
2
:3
截取登陸密碼:2
進行網站的克隆:
y
殺死佔用該端口的進程Apache和nginx服務,開啓Harvester服務:http://short.php5developer.com/dst
在靶機的IE瀏覽器中打開,出現一個跳轉提示(和廣告):而後模擬不知情的受害用戶在釣魚網站上輸入用戶名、密碼(甚至還有驗證碼),接着就會被setoolkit工具記錄下來:
其中submit對應html中的提交當前表單中的所有信息,包括username和password。能夠看到釣魚網站攻擊成功,成功竊取用戶的身份信息(雖然這回是假的,不過仍不得不讓人細思極恐啊)!!!
ettercap是一個很好用來演示ARP欺騙攻擊的工具,包含一個DNS插件,很是容易使用。
ifconfig eth0 promisc
將Kali攻擊機的網卡改成混雜模式:vi /etc/ettercap/etter.dns
對ettercap的DNS緩存表進行修改: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欺騙:10.211.55.14
,讓它誤覺得Kali攻擊機10.211.55.10
是網關10.211.55.1
):View
->Connections
查看和被監聽靶機之間的全部鏈接信息:Plugins
—>Manage the plugins
,選擇DNS_spoof插件,*
表示被選中:Start
->Start sniffing
開始嗅探: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欺騙攻擊www.cnblogs.com
,就能夠發現成功登陸了釣魚網站同時記錄下用戶名和密碼: DNS欺騙是一種很是危險的攻擊,由於攻擊者能夠利用ettercap的dns_spoof插件和其餘工具執行攻擊,最終,攻擊者可使用一個社會工程工具包(如SET)來執行攻擊去控制受害者的主機。想象一下這是多容易,經過社會工程工具包和DNS欺騙技術你所須要作的僅僅就是配置你的社會工程工具包和你的IP清單,製做像百度同樣的網站欺騙域名到你的IP地址上。當受害者打開www.baidu.com
,你的攻擊將使它訪問你的IP,以後創建一個遠程的會話。
怎麼說呢,仍是那句話,遇事多留心、常疑問,提升防騙意識,才能立於不(bei)敗(pian)之地!