不卡AV在线|网页在线观看无码高清|亚洲国产亚洲国产|国产伦精品一区二区三区免费视频

學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 網(wǎng)絡(luò)知識(shí) > 局域網(wǎng)知識(shí) > 局域網(wǎng)DNS劫持實(shí)戰(zhàn)

局域網(wǎng)DNS劫持實(shí)戰(zhàn)

時(shí)間: 光寧1217 分享

局域網(wǎng)DNS劫持實(shí)戰(zhàn)

  局域網(wǎng)(Local Area Network,LAN)是指在某一區(qū)域內(nèi)由多臺(tái)計(jì)算機(jī)互聯(lián)成的計(jì)算機(jī)組。一般是方圓幾千米以內(nèi)。局域網(wǎng)可以實(shí)現(xiàn)文件管理、應(yīng)用軟件共享、打印機(jī)共享、工作組內(nèi)的日程安排、電子郵件和傳真通信服務(wù)等功能。局域網(wǎng)是封閉型的,可以由辦公室內(nèi)的兩臺(tái)計(jì)算機(jī)組成,也可以由一個(gè)公司內(nèi)的上千臺(tái)計(jì)算機(jī)組成。下面是小編收集整理的局域網(wǎng)DNS劫持實(shí)戰(zhàn)范文,歡迎借鑒參考。

  局域網(wǎng)DNS劫持實(shí)戰(zhàn)(一)

  DNS決定的是我們的域名將解析到哪一個(gè)IP地址的記錄,是基于UDP協(xié)議的一種應(yīng)用層協(xié)議

  這個(gè)攻擊的前提是攻擊者掌控了你的網(wǎng)關(guān)(可以是路由器,交換機(jī),或者運(yùn)營(yíng)商),一般來(lái)說(shuō),在一個(gè)WLAN下面,使用ARP劫持就可以達(dá)到此效果。

  你在訪問(wèn)一個(gè)網(wǎng)站的過(guò)程中,經(jīng)歷了如下幾個(gè)階段:

  以訪問(wèn)freebuf的主頁(yè)為例:

  1、地址欄輸入freebuf.com

  2、訪問(wèn)本機(jī)的hosts文件,查找 freebuf.com 所對(duì)應(yīng)的 IP,若找到,則訪問(wèn)該IP

  3、若未找到,則進(jìn)行這一步,去(遠(yuǎn)程的)DNS服務(wù)器上面找freebuf.com 的IP,訪問(wèn)該IP

  可以通過(guò)Wireshark抓包來(lái)看一下這個(gè)過(guò)程

  這是一個(gè)發(fā)向baidu.com的DNS請(qǐng)求

  中間人劫持就發(fā)生在第三步:由于惡意攻擊者控制了你的網(wǎng)關(guān),當(dāng)你發(fā)送了一個(gè)查找freebuf.com的IP的請(qǐng)求的時(shí)候,中間人攔截住,并返回給你一個(gè)惡意網(wǎng)址的IP,你的瀏覽器就會(huì)把這個(gè)IP當(dāng)做你想要訪問(wèn)的域名的IP!!這個(gè)IP是攻擊者搭建的一個(gè)模仿了目標(biāo)網(wǎng)站前端界面的界面,當(dāng)你在該界面輸入用戶名密碼或者付款操作的時(shí)候,就會(huì)中招。

  由于DNS劫持導(dǎo)向的界面的URL是完全正確的,因此

  這類攻擊一般極難分辨!

  攻擊者可以將網(wǎng)頁(yè)的前端做的極為完善!幾乎和原網(wǎng)頁(yè)一模一樣,各種鏈接,也都指向正確的地方,只有這個(gè)登陸框是有問(wèn)題的,一旦輸入用戶名密碼就會(huì)被攻擊者所接受到。

  2、防范

  一般來(lái)說(shuō),這種攻擊的防范是很難的!因?yàn)閁RL和頁(yè)面都是正常的,不是對(duì)web技術(shù)有很深了解的人根本無(wú)從下手(如果攻擊者的頁(yè)面復(fù)原的足夠真實(shí)的話,但是我們還是有一些方法來(lái)進(jìn)行防范的

  1、使用SSL(HTTPS)進(jìn)行登錄,攻擊者可以得到公鑰,但是并不能夠得到服務(wù)器的私鑰

  2、當(dāng)瀏覽器提示出現(xiàn)證書(shū)問(wèn)題的時(shí)候,謹(jǐn)慎,再謹(jǐn)慎!確定你所在的網(wǎng)絡(luò)環(huán)境是安全的,該網(wǎng)站是可信的再去訪問(wèn)。

  3、不在連接公共wifi的時(shí)候隨意進(jìn)行登陸操作

  一般來(lái)說(shuō),只有一些公司和學(xué)校的內(nèi)網(wǎng),一些個(gè)人站,和(12306) ,會(huì)遭遇證書(shū)配置的問(wèn)題。其他的正常大型站點(diǎn),尤其是我們經(jīng)常使用的一些網(wǎng)站,不會(huì)出現(xiàn)此類問(wèn)題,而需要登錄的,經(jīng)常遭遇釣魚(yú)的,正是這些站點(diǎn)。因此,遭遇這種情況的時(shí)候,一定不要輕易的填寫(xiě)用戶名和密碼。

  這種攻擊的影響的范圍一般是很小的,只局限魚(yú)一個(gè)內(nèi)網(wǎng)的范圍,總體來(lái)說(shuō)還是不必?fù)?dān)心過(guò)多,當(dāng)然,如果是運(yùn)營(yíng)商劫持,那就另當(dāng)別論,不過(guò)運(yùn)營(yíng)商劫持一般也只是插入廣告,不會(huì)大膽的直接用這種方式進(jìn)行釣魚(yú)攻擊。

  3、攻擊者的目的

  釣魚(yú)攻擊盜取密碼

  誘導(dǎo)用戶進(jìn)行填寫(xiě)登錄表單的操作,將POST的地址改為自己的服務(wù)器地址,以獲取受害者的用戶名和密碼

  特別注意:

  有一種這樣的情況,用戶在填入表單之后,用戶猶豫了,并未點(diǎn)擊提交/登錄 之類的按鈕以發(fā)送提交表單,但是此時(shí),輸入的內(nèi)容已經(jīng)通過(guò)ajax的方式發(fā)送了出去。

  一般來(lái)說(shuō),這樣的submit函數(shù)應(yīng)該是在按鈕被點(diǎn)擊之后執(zhí)行,但是攻擊者可以可以在用戶每一次輸入的動(dòng)作之后使用on事件來(lái)執(zhí)行這個(gè)函數(shù),可以使得用戶不點(diǎn)擊就發(fā)送。

  釣魚(yú)攻擊劫持支付

  在支付的界面進(jìn)行劫持使得用戶的支付寶,或者銀行卡支付,使得支付到攻擊者的賬戶中。

  植入廣告

  這種方式的DNS劫持一般是運(yùn)營(yíng)商所為的,大面積的劫持

  4、攻擊復(fù)現(xiàn)

  我們可以對(duì)這種攻擊方式進(jìn)行復(fù)現(xiàn),

  在一個(gè)路由器下面的多臺(tái)機(jī)器,使用一臺(tái)進(jìn)行劫持,另一臺(tái)進(jìn)行模擬受害者進(jìn)行測(cè)試

  準(zhǔn)備工作

  進(jìn)行劫持的機(jī)器:

  最好使用 kali linux

  在本地或者遠(yuǎn)程撘一個(gè)HTTP服務(wù)器,作為釣魚(yú)網(wǎng)站,用于偽裝目標(biāo)網(wǎng)站

  最好安裝一個(gè)大功率的無(wú)線網(wǎng)卡

  安裝劫持工具ettercap (kali自帶)

  測(cè)試機(jī)器安裝瀏覽器(廢話,是臺(tái)電腦都有,純命令行l(wèi)inux用lynx也可以)

  兩臺(tái)電腦接入同一個(gè)無(wú)線路由器或者集線器(最好不要使用交換機(jī),因?yàn)楸仨氁〉媒粨Q機(jī)本身的控制才可以進(jìn)行,而路由器只需要進(jìn)行欺騙就可以)

  操作指南

  首先,在ettercap的配置文件里面配置你要進(jìn)行劫持的DNS

  有關(guān)于ettercap dnS的配置文件的木庫(kù)在 /etc/ettercap/etter.dns

  打開(kāi)這個(gè)文件,我們可以看到,作者已經(jīng)內(nèi)置了一些例子

  局域網(wǎng)DNS劫持實(shí)戰(zhàn)(二)

  01

  Ettercap是什么?

  我們?cè)趯?duì)WEB安全檢測(cè)的時(shí)候都會(huì)用到Cain和netfuke這兩款工具,功能相信用過(guò)的朋友多多少少都知道,但這兩款工具是在windows下運(yùn)行的。

  而ettercap是在linux下運(yùn)行的 。其實(shí)功能都是差不多的,我稱呼它為嗅探工具,ARP欺騙,DNS,劫持,中間人攻擊等等。總之這是一款強(qiáng)大的安全測(cè)試工具。

  02

  DNS是什么?

  1、DNS是什么:Domain Name System (域名系統(tǒng) 簡(jiǎn)稱:DNS)

  2、DNS欺騙是什么:攻擊者(黑客)冒充域名服務(wù)器進(jìn)行欺騙的一種行為 。

  3、DNS原理原理:如果可以冒充域名服務(wù)器,然后把查詢的IP地址設(shè)為攻擊者的IP地址,這樣的話,用戶上網(wǎng)就只能看到攻擊者的主頁(yè),而不是用戶想要取得的網(wǎng)站的主頁(yè)了,這就是DNS欺騙的基本原理。DNS欺騙其實(shí)并不是真的“黑掉”了對(duì)方的網(wǎng)站,而是冒名頂替、招搖撞騙罷了。

  03

  DNS欺騙實(shí)戰(zhàn)

  【故事純屬虛構(gòu),請(qǐng)勿當(dāng)真!】:

  那是一個(gè)夜黑風(fēng)高的夜晚,又是刮風(fēng),有事閃電的,本想在擼幾盤(pán)擼啊擼,搞的我心情一點(diǎn)都不好,于是關(guān)掉電腦準(zhǔn)備睡覺(jué)了,然而突然啊的一聲!瞬間把我從困意中拉了回來(lái),在仔細(xì)一聽(tīng)~~~

  在發(fā)現(xiàn)是隔壁賓館在做愛(ài)愛(ài),尼瑪~~~搞這么大聲做什么?讓我怎么睡覺(jué)啊?尼瑪?shù)?,決定展開(kāi)一次入侵隔壁電腦。。。

  準(zhǔn)備工作:

  隔壁電腦:192.168.1.12 (賓館一般都裝有還原精靈 所以電腦是裸奔(多數(shù)沒(méi)裝防火墻) ) //受害者機(jī)器

  自帶筆記本:192.168.1.11 (kali linux系統(tǒng) 接上賓館自己那間房的網(wǎng)線) //入侵者機(jī)器

  網(wǎng)關(guān)IP:192.168.1.1

  踩點(diǎn):

  怎么知道隔壁的電腦IP地址?

  先看自己的房間號(hào),比如是5-11(假如表示5樓11間房),在來(lái)到自己房間看自己電腦的IP地址,一般是192.168.1.11

  那么隔壁的自己出門(mén)去看門(mén)牌就知道了,(假如是5-12),那么隔壁的IP地址就是192.168.1.12 最后在ping一下 通了 說(shuō)明電腦開(kāi)著,不同,說(shuō)明電腦關(guān)著,或者防火墻什么的。。。

  這個(gè)方法比較死?當(dāng)然其它方法也有,根據(jù)自己經(jīng)驗(yàn)而定。。。

  首先先打開(kāi)ettercap的DNS文件進(jìn)行編輯,在kali linux2.0下的文件路徑為/etc/ettercap/etter.dns

  在對(duì)應(yīng)的位置添加對(duì)應(yīng)的 標(biāo)識(shí)和IP地址 * 代表所有域名 后邊就是你要欺騙為的IP地址,這里是當(dāng)然是我自己的主機(jī)IP地址啦

  然后記得保存。

  再來(lái)編輯/var/www/html/index.html文件 改成你定義頁(yè)面 這里我簡(jiǎn)單的改了下,因?yàn)楹筮呂覀円獑?dòng)apache2 也就是網(wǎng)頁(yè)服務(wù)器 這是主頁(yè)文件,說(shuō)白了目的是為了DNS欺騙成功后,當(dāng)受害者(隔壁賓館兩口)訪問(wèn)域名訪問(wèn)網(wǎng)站后,打開(kāi)的頁(yè)面就是我們這里的這個(gè)主頁(yè)文件里邊的內(nèi)容。。。。編輯好了---記得保存!

  現(xiàn)在我們?cè)诘浇K端輸入命令/etc/init.d/apache2 start 來(lái)啟動(dòng)apache2 服務(wù)器 (把本機(jī)作為一個(gè)服務(wù)器) 。

  在輸入命令ettercap -G來(lái)進(jìn)入ettercap的圖形界面。我喜歡用圖形界面,也許也windows玩多的原因吧,不喜歡linux下的命令行 ps:雖然看起來(lái)很帥的樣子..... - -!

  選擇網(wǎng)卡Unfied sniffing---配置

  網(wǎng)卡選擇eth0(根據(jù)自己的計(jì)算機(jī)網(wǎng)卡而定)

  再來(lái)掃描網(wǎng)關(guān)下的所以在線的計(jì)算機(jī)主機(jī),來(lái)到hosts選項(xiàng)下的 scan for hosts

  繼續(xù)選著Hosts list 列出掃到的主機(jī)

  可以看見(jiàn)列出了所有機(jī)器,先在列表里選擇網(wǎng)關(guān)進(jìn)行添加,我這里的網(wǎng)關(guān)是192.18.1.1。點(diǎn)擊 Add to target 1

  局域網(wǎng)DNS劫持實(shí)戰(zhàn)(三)

  DNS是DomainNameSystem(域名系統(tǒng))的縮寫(xiě),簡(jiǎn)單來(lái)說(shuō)就是負(fù)責(zé)域名與IP地址之間的轉(zhuǎn)換,平時(shí)我們用到的大部分是域名轉(zhuǎn)IP,當(dāng)然也支持IP轉(zhuǎn)域名的反向解析。在方方面面都會(huì)有DNS的身影,在負(fù)載均衡方面也可以借助DNS來(lái)實(shí)現(xiàn),還有就是黑產(chǎn)們喜歡堅(jiān)持廣大用戶的DNS來(lái)獲取利益,可以說(shuō)DNS是互聯(lián)網(wǎng)最重要的協(xié)議之一。

  0×01 起因

  互聯(lián)網(wǎng)上的DNS服務(wù)器非常非常的多,有公共的DNS 也有公司自己內(nèi)部使用的DNS也有用于負(fù)載均衡的,我們公司呢也要建一個(gè) DNS服務(wù)器,搭建DNS我是不擅長(zhǎng),但是搭建完之后需要做一下壓力測(cè)試這我就比較喜歡了,畢竟這個(gè)壓力測(cè)試說(shuō)好聽(tīng)叫壓力測(cè)試,說(shuō)不好點(diǎn)那就是DOS攻擊,接下來(lái)我就說(shuō)說(shuō)我進(jìn)行壓力測(cè)試的過(guò)程吧。

  0×02 DNS協(xié)議基礎(chǔ)

  想要進(jìn)行壓力測(cè)試,至少要能模擬出正常用戶的DNS請(qǐng)求才行,所以構(gòu)造DNS請(qǐng)求報(bào)文我們需要先了解DNS協(xié)議的報(bào)文格式。

  DNS是應(yīng)用層的協(xié)議,使用TCP和UDP的53端口,不過(guò)一般情況下是使用UDP53端口的,所以呢今天我們構(gòu)造的DNS也是基于UDP的。

  DNS協(xié)議的報(bào)文首部是定長(zhǎng)的12字節(jié),分別是標(biāo)識(shí)(16bit)、標(biāo)志(16bit)、問(wèn)題記錄數(shù)(16bit)、回答記錄數(shù)(16bit)、授權(quán)記錄數(shù)(16bit)、附加信息記錄數(shù)(16bit)。

  標(biāo)識(shí)字段是用來(lái)匹配請(qǐng)求和響應(yīng)的,有點(diǎn)類似ip協(xié)議的ID字段,應(yīng)答報(bào)文的標(biāo)識(shí)字段應(yīng)該和請(qǐng)求報(bào)文的相同。

  標(biāo)志是由多個(gè)字段組成的

  QR字段長(zhǎng)度是1bit,用來(lái)表示這個(gè)DNS報(bào)文是請(qǐng)求還是響應(yīng),因?yàn)镈NS的請(qǐng)求和響應(yīng)的報(bào)文首部格式相同,0表示請(qǐng)求,1表示響應(yīng)。

  OPcode字段呢長(zhǎng)度是4bit,表示操作類型,0表示正向解析,1表示反向解析,2表示服務(wù)器狀態(tài)請(qǐng)求。

  AA字段長(zhǎng)度為1bit,是授權(quán)回答標(biāo)志位,0表示回答是非權(quán)威的,1則表示回答的服務(wù)器是授權(quán)服務(wù)器。

  TC字段長(zhǎng)度也是1bit,是截?cái)鄻?biāo)志位,1表示報(bào)文長(zhǎng)度超過(guò)了512字節(jié),并且被截?cái)喑闪?12字節(jié),不過(guò)我在抓包的時(shí)候抓到很多超過(guò)512字節(jié)的

  也并沒(méi)有被截?cái)唷?/p>

  RD字段長(zhǎng)度為1bit,表示希望遞歸的標(biāo)志,1表示請(qǐng)求服務(wù)器進(jìn)行遞歸解析,0表示希望反復(fù)查詢,但這個(gè)怎么查詢還是服務(wù)器說(shuō)了算。

  RA字段只在服務(wù)器響應(yīng)中有效,1表示服務(wù)器支持遞歸,0表示不支持遞歸。

  RA后面的是保留字段,長(zhǎng)度為3bit,必須置0。

  rCode字段是用來(lái)表示錯(cuò)誤狀態(tài)的,長(zhǎng)度為4bit,0表示沒(méi)有錯(cuò)誤,1表示格式錯(cuò)誤,2表示服務(wù)器故障,3表示查詢域名不存在,4表示不知道的解析類型,5表示管理上禁止。

  問(wèn)題記錄數(shù)的16bit表示問(wèn)題部分所包含的域名解析查詢的個(gè)數(shù),理論上最大是65535.

  回答記錄數(shù)也是16bit,相應(yīng)的也是表示響應(yīng)報(bào)文中回答記錄的個(gè)數(shù)。

  授權(quán)記錄數(shù)也是16bit,表示授權(quán)部分所包含的授權(quán)記錄的個(gè)數(shù),請(qǐng)求報(bào)文中置0。

  附加信息記錄數(shù)長(zhǎng)度是16bit,表示附加信息部分所包含的附加信息記錄的個(gè)數(shù)。

  以上的這12字節(jié)就是DNS包文的首部,我們做壓力測(cè)試的話,只需要構(gòu)造請(qǐng)求報(bào)文,所以一般情況下回答記錄數(shù)、授權(quán)記錄數(shù)、附加信息記錄數(shù)都會(huì)置0.

  接下來(lái)就是DNS的變長(zhǎng)部分了,分別是問(wèn)題部分、回答部分、授權(quán)部分、附加信息部分,我們要做只需要問(wèn)題部分就可以了。

  這其中查詢名就是我們要查詢的域名,他是變長(zhǎng)的。查詢類型和查詢類是定長(zhǎng)的,都是16bit,這兩個(gè)要寫(xiě)在整個(gè)報(bào)文的結(jié)尾。

  查詢類比較簡(jiǎn)單,1表示ip協(xié)議,符號(hào)為IN。其他協(xié)議的表示是什么其實(shí)我也不知道…

  查詢類型字段選擇就比較多了,常用的如下圖:

  查詢名就是我們常說(shuō)的域名,比如www.freebuf.com,但是在報(bào)文中不能直接這么寫(xiě),而是要改成 3www7freebuf3com0 這種形式,字段之間不再以.分割,而是以字符串前的數(shù)字表示這個(gè)字符串的長(zhǎng)度,最后以0結(jié)束。

  0×03 構(gòu)造報(bào)文

  編程語(yǔ)言:C

  運(yùn)行環(huán)境:kali/ubuntu linux

  編譯器:gcc version 6.1.1

  在linux中已經(jīng)構(gòu)造好了ip和udp的結(jié)構(gòu)體分別在ip.h和udp.h兩個(gè)頭文件中,linux中應(yīng)該也定義好了DNS協(xié)議的結(jié)構(gòu),不過(guò)我沒(méi)找到…所以咱就自己構(gòu)造一個(gè)也是一樣的。

63718