特黄特色三级在线观看免费,看黄色片子免费,色综合久,欧美在线视频看看,高潮胡言乱语对白刺激国产,伊人网成人,中文字幕亚洲一碰就硬老熟妇

學(xué)習(xí)啦>學(xué)習(xí)電腦>電腦安全>網(wǎng)絡(luò)安全知識(shí)>

IP地址欺騙與盜用原理

時(shí)間: 權(quán)威724 分享

  如今互聯(lián)網(wǎng)的重要性越來(lái)越大,很多人也對(duì)一些知識(shí)很感興趣,那么你知道IP地址欺騙與盜用原理嗎?下面是學(xué)習(xí)啦小編整理的一些關(guān)于IP地址欺騙與盜用原理的相關(guān)資料,供你參考。

  IP地址欺騙與盜用原理:

  IP欺騙的技術(shù)比較復(fù)雜,不是簡(jiǎn)單地照貓畫(huà)老虎就能掌握,但作為常規(guī)攻擊手段,有必要理解其原理,至少有利于自己的安全防范,易守難守嘛。

  假設(shè)B上的客戶(hù)運(yùn)行rlogin與A上的rlogind通信:

  1. B發(fā)送帶有SYN標(biāo)志的數(shù)據(jù)段通知A需要建立TCP連接。并將TCP報(bào)頭中的sequence number設(shè)置成自己本次連接的初始值ISN。

  2. A回傳給B一個(gè)帶有SYS+ACK標(biāo)志的數(shù)據(jù)段,告之自己的ISN,并確認(rèn)B發(fā)送來(lái)的第一個(gè)數(shù)據(jù)段,將acknowledge number設(shè)置成B的ISN+1。

  3. B確認(rèn)收到的A的數(shù)據(jù)段,將acknowledge number設(shè)置成A的ISN+1。

  B ---- SYN ----> A

  B <---- SYN+ACK ---- A

  B ---- ACK ----> A

  TCP使用的sequence number是一個(gè)32位的計(jì)數(shù)器,從0-4294967295。 TCP為每一個(gè)連接選

  擇一個(gè)初始序號(hào)ISN,為了防止因?yàn)檠舆t、重傳等擾亂三次握手,ISN不能隨便選取,不同系統(tǒng)有不同算法。理解TCP如何分配ISN以及ISN隨時(shí)間變化的規(guī)律,對(duì)于成功地進(jìn)行IP欺騙攻擊很重要。

  基于遠(yuǎn)程過(guò)程調(diào)用RPC的命令,比如rlogin、rcp、rsh等等,根據(jù)據(jù)/etc/hosts.equiv以及$HOME/.rhosts文件進(jìn)行安全校驗(yàn),其實(shí)質(zhì)是僅僅根據(jù)信源IP地址進(jìn)行用戶(hù)身份確認(rèn),以便允許或拒絕用戶(hù)RPC。

  IP欺騙攻擊的描述:

  1. 假設(shè)Z企圖攻擊A,而A信任B,所謂信任指/etc/hosts.equiv和$HOME/.rhosts中有相關(guān)設(shè)置。注意,如何才能知道A信任B呢?沒(méi)有什么確切的辦法。我的建議就是平時(shí)注意搜集蛛絲馬跡,厚積薄發(fā)。

  一次成功的攻擊其實(shí)主要不是因?yàn)榧夹g(shù)上的高明,而是因?yàn)樾畔⑺鸭膹V泛翔實(shí)。動(dòng)用了自以為很有成就感的技術(shù),卻不比人家酒桌上的巧妙提問(wèn),攻擊只以成功為終極目標(biāo),不在乎手段。

  2. 假設(shè)Z已經(jīng)知道了被信任的B,應(yīng)該想辦法使B的網(wǎng)絡(luò)功能暫時(shí)癱瘓,以免對(duì)攻擊造成干擾。

  著名的SYN flood常常是一次IP欺騙攻擊的前奏。請(qǐng)看一個(gè)并發(fā)服務(wù)器的框架:

  int initsockid, newsockid;

  if ((initsockid = socket(...)) < 0) {

  error("can't create socket");

  }

  if (bind(initsockid, ...) < 0) {

  error("bind error");

  }

  if (listen(initsockid, 5) < 0) {

  error("listen error");

  }

  for (;{

  newsockid = acc ept(initsockid, ...); /* 阻塞 */

  if (newsockid < 0) {

  error("accept error");

  }

  if (fork() == 0) { /* 子進(jìn)程 */

  close(initsockid);

  do(newsockid); /* 處理客戶(hù)方請(qǐng)求 */

  exit(0);

  }

  close(newsockid);

  }

  listen函數(shù)中第二個(gè)參數(shù)是5,意思是在initsockid上允許的最大連接請(qǐng)求數(shù)目。如果某個(gè)時(shí)刻initsockid上的連接請(qǐng)求數(shù)目已經(jīng)達(dá)到5,后續(xù)到達(dá)initsockid的連接請(qǐng)求將被TCP丟棄。注意一旦連接通過(guò)三次握手建立完成,accept調(diào)用已經(jīng)處理這個(gè)連接,則TCP連接請(qǐng)求隊(duì)列空出一個(gè)位置。所以這個(gè)5不是指initsockid上只能接受5個(gè)連接請(qǐng)求。SYN flood正是一種 Denial of Service,導(dǎo)致B的網(wǎng)絡(luò)功能暫時(shí)中斷

  Z向B發(fā)送多個(gè)帶有SYN標(biāo)志的數(shù)據(jù)段請(qǐng)求連接,注意將信源IP 地址換成一個(gè)不存在的主機(jī)X;B向子虛烏有的X發(fā)送SYN+ACK數(shù)據(jù)段,但沒(méi)有任何來(lái)自X的ACK出現(xiàn)。B的IP層會(huì)報(bào)告B的TCP層,X不可達(dá),但B的TCP層對(duì)此不予理睬,認(rèn)為只是暫時(shí)的。于是B在這個(gè)initsockid上再也不能接

  收正常的連接請(qǐng)求。

  Z(X) ---- SYN ----> B

  Z(X) ---- SYN ----> B

  Z(X) ---- SYN ----> B

  Z(X) ---- SYN ----> B

  Z(X) ---- SYN ----> B

  ......

  X <---- SYN+ACK ---- B

  X <---- SYN+ACK ---- B

  X <---- SYN+ACK ---- B

  X <---- SYN+ACK ---- B

  X <---- SYN+ACK ---- B

  ......

  我認(rèn)為這樣就使得B網(wǎng)絡(luò)功能暫時(shí)癱瘓,可我總覺(jué)得好象不對(duì)頭。

  因?yàn)锽雖然在initsockid上無(wú)法接收TCP連接請(qǐng)求,但可以在another initsockid上接收,這種SYN flood應(yīng)該只對(duì)特定的服務(wù)(端口),不應(yīng)該影響到全局。當(dāng)然如果不斷地發(fā)送連接請(qǐng)求,就和用ping發(fā)洪水包一個(gè)道理,使得B的TCP/IP忙于處理負(fù)載增大。至于SYN flood,回頭有機(jī)會(huì)我單獨(dú)灌一瓢有關(guān)DoS的。如何使B的網(wǎng)絡(luò)功能暫 碧被居 很多辦法,根據(jù)具體情況而定,不再贅述。

  3. Z必須確定A當(dāng)前的ISN。首先連向25端口(SMTP是沒(méi)有安全校驗(yàn)機(jī)制的),與1中類(lèi)似,不過(guò)這次需要記錄A的ISN,以及Z到A的大致的RTT(round trip time)。這個(gè)步驟要重復(fù)多次以便求出RTT的平均值?,F(xiàn)在Z知道了A的ISN基值和增加規(guī)律(比如每秒增 加128000,每次連接增加64000),也知道了從Z到A需要RTT/2 的時(shí)間。必須立即進(jìn)攻擊,否則在這之間有其他主機(jī)與A連接, ISN將比預(yù)料的多出64000。

  4. Z向A發(fā)送帶有SYN標(biāo)志的數(shù)據(jù)段請(qǐng)求連接,只是信源IP改成了B,注意是針對(duì)TCP513端口(rlogin)。A向B回送SYN+ACK數(shù)據(jù)段,B已經(jīng)無(wú)法響應(yīng),B的TCP層只是簡(jiǎn)單地丟棄A的回送數(shù)據(jù)段。

  5. Z暫停一小會(huì)兒,讓A有足夠時(shí)間發(fā)送SYN+ACK,因?yàn)閆看不到這個(gè)包。然后Z再次偽裝成B向A發(fā)送ACK,此時(shí)發(fā)送的數(shù)據(jù)段帶有Z預(yù)測(cè)的A的ISN+1。如果預(yù)測(cè)準(zhǔn)確,連接建立,數(shù)據(jù)傳送開(kāi)始。問(wèn)題在于即使連接建立,A仍然會(huì)向B發(fā)送數(shù)據(jù),而不是Z,Z 仍然無(wú)法看到A發(fā)往B的數(shù)據(jù)段,Z必須蒙著頭按照rlogin協(xié)議標(biāo)準(zhǔn)假冒B向A發(fā)送類(lèi)似 "cat + + >> ~/.rhosts" 這樣的命令,于是攻擊完成。如果預(yù)測(cè)不準(zhǔn)確,A將發(fā)送一個(gè)帶有RST標(biāo)志的數(shù)據(jù)段異常終止連接,Z只有從頭再來(lái)。

  Z(B) ---- SYN ----> A

  B <---- SYN+ACK ---- A

  Z(B) ---- ACK ----> A

  Z(B) ---- PSH ----> A

  ......

  6. IP欺騙攻擊利用了RPC服務(wù)器僅僅依賴(lài)于信源IP地址進(jìn)行安全校驗(yàn)的特性,建議閱讀rlogind的源代碼。攻擊最困難的地方在于預(yù)測(cè)A的ISN。我認(rèn)為攻擊難度雖然大,但成功的可能性也很大,不是很理解,似乎有點(diǎn)矛盾??紤]這種情況,入侵 者控制了一臺(tái)由A到B之間的路由器,假設(shè)Z就是這臺(tái)路由器,那么A回送到B的數(shù)據(jù)段,現(xiàn)在Z是可以看到的,顯然攻擊難度驟然下降了許多。否則Z必須精確地預(yù)見(jiàn)可能從A發(fā)往B的信息,以及A期待來(lái)自B的什么應(yīng)答信息,這要求攻擊者對(duì)協(xié)議本身相當(dāng)熟悉。同時(shí)需要明白,這種攻擊根本不可能在交互狀態(tài)下完成,必須寫(xiě)程序完成。當(dāng)然在準(zhǔn)備階段可以用netxray之類(lèi)的工具進(jìn)行協(xié)議分析。

  7. 如果Z不是路由器,能否考慮組合使用ICMP重定向以及ARP欺騙等技術(shù)?沒(méi)有仔細(xì)分析過(guò),只是隨便猜測(cè)而已。并且與A、B、Z之間具體的網(wǎng)絡(luò)拓?fù)溆忻芮嘘P(guān)系,在某些情況下顯然大幅度降低了攻擊難度。注意IP欺騙攻擊理論上是從廣域網(wǎng)上發(fā)起的,不局限于局域網(wǎng),這也正是這種攻擊的魅力所在。利用IP欺騙攻擊得到一個(gè)A上的shell,對(duì)于許多高級(jí)入侵者,得到目標(biāo)主機(jī)的shell,離root權(quán)限就不遠(yuǎn)了,最容易想到的當(dāng)然是接下來(lái)進(jìn)行buffer overflow攻擊。

  8. 也許有人要問(wèn),為什么Z不能直接把自己的IP設(shè)置成B的?這個(gè)問(wèn)題很不好回答,要具體分析網(wǎng)絡(luò)拓?fù)?,?dāng)然也存在A(yíng)RP沖突、出不了網(wǎng)關(guān)等問(wèn)題。那么在IP欺騙攻擊過(guò)程中是否存在A(yíng)RP沖突問(wèn)題。回想我前面貼過(guò)的ARP欺騙攻擊,如果B的ARP Cache沒(méi)有受到影響,就不會(huì)出現(xiàn)ARP沖突。如果Z向A發(fā)送數(shù)據(jù)段時(shí),企圖解析A的MAC地址或者路由器的MAC地址,必然會(huì)發(fā)送ARP請(qǐng)求包,但這個(gè)ARP請(qǐng)求包中源IP以及源MAC都是Z的,自然不會(huì)引起ARP沖突。而ARP Cache只會(huì)被ARP包改變,不受IP包的影響,所以可以肯定地說(shuō),IP欺騙攻擊過(guò)程中不存在A(yíng)RP沖突。相反,如果Z修改了自己的IP,這種ARP沖突就有可能出現(xiàn),示具體情況而言。攻擊中連帶B一起攻擊了,其目的無(wú)非是防止B干擾了攻擊過(guò)程, 如果B本身已經(jīng)down掉,那是再好不過(guò)。

  9. fakeip曾經(jīng)沸沸揚(yáng)揚(yáng)了一下,我對(duì)之進(jìn)行端口掃描,發(fā)現(xiàn)其tcp端口113是接收入連接的。和IP欺騙等沒(méi)有直接聯(lián)系,和安全校驗(yàn)是有關(guān)系的。當(dāng)然,這個(gè)東西并不如其名所暗示,對(duì)IP層沒(méi)有任何動(dòng)作。

  10. 關(guān)于預(yù)測(cè)ISN,我想到另一個(gè)問(wèn)題。就是如何以第三方身份切斷 A與B之間的TCP連接,實(shí)際上也是預(yù)測(cè)sequence number的問(wèn)題。嘗試過(guò),也很困難。如果Z是A與B之間的路由器,就不用說(shuō)了; 或者Z動(dòng)用了別的技術(shù)可以監(jiān)聽(tīng)到A與B之間的通信,也容易些; 否則預(yù)測(cè)太難。作者在3中提到連接A的25端口,可我想不明白的 是513端口的ISN和25端口有什么關(guān)系?看來(lái)需要看看TCP/IP內(nèi)部實(shí)現(xiàn)的源代碼。

  看過(guò)文章“IP地址欺騙與盜用原理”的人還看了:

  1.自動(dòng)或手動(dòng)設(shè)置IP地址圖解教程

  2.怎樣查看自己的ip地址

  3.怎樣快速找回被改IP地址

  4.子網(wǎng)掩碼與IP地址有什么關(guān)系

  5.迅捷(FAST)路由器獲取IP地址的方法

  6.查找路由器非默認(rèn)IP地址的方法

  7.教你輕松解決Win7系統(tǒng)經(jīng)常獲取不到IP地址問(wèn)題

  8.如何給電腦設(shè)置ip地址

  9.IP地址沖突原因分析及解決方案

  10.如何劃分ip地址

567950