廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 2321 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
upside 手機 葫蘆墩家族
個人頭像
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎 社區建設獎 優秀管理員勳章
頭銜:反病毒 反詐騙 反虐犬   反病毒 反詐騙 反虐犬  
版主
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[資訊教學] 駭客入侵方式演示(圖解)
駭客入侵方式演示(圖解)
FREE:
  一、簡單的"駭客"入侵
  TCP/IP協議順序號預測攻擊是最簡單的"駭客"入侵,也是系統安全的最大威脅。在網路上,每台電腦有惟一的IP地址,電腦把目標IP地址和一個惟一的順序號加載於傳輸的每一個數據包上。在一個TCP連接中,接收機隻收到具有正確IP地址和順序號的那個包裹。許多安全設備,如路由器,隻允許有一定IP地址的電腦收發傳送。TCP/IP 順序號預測入侵將使用網路給電腦賦址的方式和包裹交換的順序來企圖訪問網路。一般來說,"駭客"進行TCP/IP 順序號預測攻擊分兩步:
  第一,得到伺服器的IP地址。駭客一般透過網上報文嗅探,順序測試號碼,由WEB瀏覽器連接到結點上並在狀態列中尋找結點的IP地址。因為駭客知道其他電腦有一個與伺服器IP地址部分公用的IP地址,他便盡力模擬一個能讓其透過路由器和作為網路用戶訪問系統的IP號碼。例如,如果系統的IP地址為192.0.0.15,駭客便知有近256台電腦可以連入一個C級網,並猜出所有最後位在序列中出現過的地址號碼。IP地址指示了一個網路連接的電腦數,同時上述地址的高位元組中兩個最重要的位設定指出了該網為C級網,圖1顯示了駭客是怎祥預測C級網的IP號碼的。

  "駭客"用伺服器的IP地址來猜測其他網路地址
  第二,駭客在試過網上IP地址之後,便開始監視網下傳送包的序列號,然後,駭客將試圖推測伺服器能產生的下一個序列號,再將自己有效地插入伺服器和用戶之間。因為駭客有伺服器的IP地址,就能產生有正確IP地址和順序碼的包裹以截穫用戶的傳遞,圖2指明了怎樣模倣IP地址及包裹序列號以愚弄伺服器,使之信任駭客為合法網路用戶。

  駭客模擬一個TCP/IP通訊愚弄伺服器 
  駭客透過順序號預測取得系統訪問之後,便可訪問通訊系統傳給伺服器的任何資訊,包括密鑰文件、日誌名、機密數據,或在網上傳送的任何資訊。典型地,駭客將利用順序號預測作為一個實際入侵伺服器的準備,或者說人為入侵網上相關伺服器提供一個基礎。
  技術指導:防衛順序號預測入侵
  對您的系統來說,防衛順序號預測入侵的最簡單有效的方法是確保您的路由器、_blank">防火牆、您系統上的每個伺服器擁有全面的審計跟蹤保護。利用審計跟蹤功能,在一個"駭客"企圖透過路由器和_blank">防火牆來訪問伺服器時,您便能發現它。您的審計跟蹤系統可顯示下面的詞條順序,當然這要根據您的作業系統而定:
  access denied. IP address unknown
  當駭客循環不斷地測試可能的順序號時,訪問被拒絕詞條將一個接一個地出現。運用您作業系統上可利用的一些設備,您可以讓它在審計系統出示一定數量的訪問拒絕詞條後指揮事件日誌向您自動報警。
二、TCP協議劫持入侵
  也許對連接於Internet的伺服器的最大威脅是TCP劫持入侵(即我們所知的主功嗅探),儘管順序號預測法入侵和TCP劫持法有許多相似之處,但TCP劫持之不同在於駭客將強迫網路接受其IP地址為一個可信網址來穫得訪問,而不是不停地猜IP地址直至正確。TCP劫持法的基本思想是,駭客控制了一台連接於入侵目標網的電腦,然後從網上斷開以讓網路伺服器誤以為駭客是實際的用戶端。圖3顯示了一個駭客怎樣操作一個TCP劫持入侵。
  駭客透過斷開和模倣實際用戶端的連接來實施TCP劫持入侵
  成功地劫持了可信任電腦之後,駭客將用自己的IP地址更換入侵目標機的每一個包的IP地址,並模倣其順序號。安全專家稱順序號偽裝為"IP模倣",駭客用IP模倣在自己機器上模擬一個可信系統的IP地址,駭客模倣了目標電腦之後,便用靈巧的順序號模倣法成為一個伺服器的目標。
  駭客實施一個TCP劫持入侵後更易於實施一個IP模倣入侵,而且TCP劫持讓駭客透過一個一次性密碼請求響應系統(如共享密碼系統),再讓一個擁有更高安全性的主機妥協。透過密碼系統也讓駭客穿過一個作業系統而不是駭客自己的系統。
  最後,TCP劫持入侵比IP模倣更具危害性,因為駭客一般在成功的TCP劫持入侵後比成功的IP模倣入侵後有更大的訪問能力。駭客因為截取的是正在進行中的事務而有更大訪問權限,而不是模擬成一台電腦再發起一個事務。

三、嗅探入侵
  利用嗅探者的被動入侵已在Internet上頻繁出現,如被動嗅探入侵是一個駭客實施一次實際劫持或IP模倣入侵的第一步。要開始一個嗅探入侵,駭客要擁有用戶IP和合法用戶的密碼,而用一個用戶的資訊註冊於一個分散式網路上。進入網之後,駭客嗅探傳送的包並試圖盡可能多地穫取網上資料。
  駭客如何實施一個被劫嗅探入侵
  為了防止分散式網路上的嗅探入侵,系統管理員一般用一次性密碼系統或票據認證系統(如 Kerberos)等識別方案。例如,一些一次性密碼系統向用戶提供在每次退出登錄後的下次登錄密碼。儘管一次性密碼系統和Kerberos方案能讓駭客對密碼的嗅探在不安全的網路上變得更加困難,但如果它們既未加密又未指明數據流時仍將面臨實際的被入侵風險。圖4顯示了駭客如何實施被動的嗅探入侵。
  下面描述駭客將TCP流定向到自己機器上的針對TCP的實際入侵。在駭客重新定向了TCP流之後,駭客能透過無論是一次性密碼系統或票據認證系統提供的保護安全線,這樣TCP連接對任何一個在連接路徑上擁有TCP包嗅探器和TCP包發生器的人來說都變得非常脆弱。在後面,您將了解到一個TCP包在到達目的系統之前要經過許多系統,換句話說,隻要擁有一個放置好了的嗅探器和發生器,駭客能訪問任何包--它們可能包括您在Internet上傳送的包。
  在後面一部分裏,我們詳述了一些您可以用來偵測實際入侵的方案和一些您可以用來防衛入侵的方法。駭客能用這一章節中所述的最簡單的方法來侵入Internet主機系統,而且,駭客可以實施一次和被動嗅探所需資源一樣少的主動非同步攻擊。

  四、主動的非同步入侵
  
  TCP連接需要同步數據包交換,實際上,如果由於某種原因,包的順序號不是接收機所期望的,接收機將遺棄它,而去等待順序號正確的數據包。駭客可以探明TCP協議對順序號的要求以截取連接。
  
  下面將詳述非同步入侵來攻擊系統,駭客或騙取或迫使雙方中止TCP連接並進入一個非同步狀態,以使得兩個系統再也不能交換任何數據。駭客再用第三方主機(換句括說,另一個連接於物理媒介並運送TCP包的電腦)來截取實際中的數據包和為最初連接的兩台計算創建可接受的替代包。第三方產生數據以模倣連接中的系統本應交換的數據包。
  
  1﹒非同步後劫持入侵
  
  假設,此刻駭客可以竊聽兩個系統交換的用以形成TCP連接的任何數據包,而且,在截取數據包之後,駭客可以偽造其想要的任何IP包來取代原包。駭客的偽包能讓駭客冒充用戶機或伺服器(甚至偽包可以讓駭客既冒充用戶機又冒充伺服器)。如果駭客可以讓這些假設變成現實,那麼實際上駭客能迫使在用戶機和伺服器間傳送的消息改變走向,即從用戶機到駭客,從伺服器到駭客。
  
  您將在下一部分了解到駭客可以用一些技術使一個TCP連接非同步。此時,假設駭客已成功地非同步了TCP部分,且駭客發送了一個包頭中包含以下代碼的包:
  
  SEG_SEQ = CLT_SEQ
  SEG_ACK = CLT_ACK
  
  包頭域中和第一行,SEG_SEQ = CLT_SEQ,指明了包的順序號是用戶機系列的下一個順序號(SEG代表數據段);第二行,SEG_ACK = CLT_ACK,把數據包的確認值賦給下一個確認值。因為駭客非同步了TCP 連接,用戶機的包順序號(CLT_SEQ)與前面期望順序號不相等,伺服器不接收數據且將包放棄,駭客拷貝伺服器放棄的包(如圖5)。

  駭客拷貝伺服器放棄的包
  在伺服器放棄包之後短暫延遲時間,駭客將與用戶機一樣發送同樣的包,隻是改變SEG_SEQ 和SEG_ACK命令(和包的記數值),以使包頭域詞條變成下面代碼:
  
  SEG_SEQ = SVR_ACK
  SEG_ACK = SVR_SEQ
  
  因為包頭域的順序號是正確的(SVR_ACK等於SEG_SEQ),伺服器接受包頭域部分詞條同時接受包且處理數據,另外,依據用戶機傳送但伺服器放棄的包的數目,原用戶機仍會不斷傳送包。
  
  如果您定義變量CLT_TO_SVR_OFFSET等於SVR_ACK減CLT_SEQ之結果(即伺服器期待的順序號和用戶機的實際的順序號是相異數),SVR_TO_CLT_OFSET等於CLF_ACK減去SVR_SEQ,駭客一定會重寫用戶機送給伺服器的TCP包,以讓包代表SEG_SEQ和SEG_ACK之值(如圖6)。

被截穫的連接
  SEG_SEG =(SEG_SEQ+CLT_TO_SVR_OFFSET)
  SEG_ACP =(SEG_ACK_SVR_TO_CLT_OFFSET)
  
  因為所有的傳送都經過駭客,它便可以在傳送流中加任何數據或刪任何數據。例如,如果連接是一個遠端登錄使用的 Telnet,駭客能代表用戶添加任何命令(Unix命令 echo jamsa.com,它將產生一個所有連接於jamsa.com伺服器的網路的主機清單,就是一個駭客發出命令的范例(如圖7)。

駭客往傳送包中加命令
  在伺服器接收到包之後,伺服器對駭客請求的數據和用戶端請求的數據予以響應。在伺服器對用戶端響應之前,駭客可以漏掉或刪除伺服器對駭客命令的響應,如此,用戶便不再覺察到任何駭客入侵(如圖8)。

  駭客從伺服器的傳送包中刪除其請求的資訊
  以下部分您將了解 TCP ACK風暴,它在駭客繼續偽裝時,在非同步後劫持入侵中將發作。
  
  2﹒TCP ACK風暴
  
  前面部分詳述的後期非同步劫持入侵有一個基本的不足,即它將大量地產生 TCP ACK包,網路專家稱這些大量的 ACK包為 TCP ACK風暴。當一個主機(無論用戶機或伺服器)收到一個不能接受的包時,主機將向產生的主機發送期待的順序號來認證這個不能接收的包。在以前詳述的主動的 TCP入侵的情況下,第一個 TCP ACK包將包含伺服器的順序號,用戶機因為沒有送出請求修改的包,所以將不接受這個認證包。因此,用戶機產生自己的認證包,它反過來迫使伺服器產生另一個認證包,這些反覆循環,理論上對傳送每個數據包是一個無止盡循環(如圖9)。

  入侵產生的風暴循環
  因為認證包不傳送數據,如果接收者丟失了這個包,ACK包的發送者將不再傳遞。換句話說,如果一個機器在ACK風暴循環中丟掉一個包,循環便終止。幸運的是,正如您以前所知,TCP將IP用在不可靠的網路層上,以一個非空的包損失,網路設計者將迅速結束循環。而且,網上丟掉的包越多,ACK風暴持續期越短。再加之,ACK循環是自規的--換句話說,駭客產生的循環越多,用戶機和伺服器接到的交通數量也越多,它反過來增加擁擠度。這樣便丟掉包,有更多的循環結束。
  
  TCP 連接在每次用戶機或伺服器發送數據時創建一個循環。如果既不是用戶機又不是伺服器發送數據,TCP連接便產生不了循環。如果用戶機和伺服器都未發送數據也沒有駭客認證數據,發送者將再傳這個數據。在再傳之後,TCP連接將為每一個再傳送創建一個風暴,最後連接的雙方放棄連接,因為用戶機和伺服器都未發送ACK包。如果駭客認證了數據傳送,TCP連接將僅產生一個風暴。實際上,由於網上的負荷,駭客經常錯過數據包,因此駭客將認證再傳送的第一個包--意味著每次在駭客傳輸時入侵將至少產生一個ACK風暴。
  在伺服器接收到包之後,伺服器對駭客請求的數據和用戶端請求的數據予以響應。在伺服器對用戶端響應之前,駭客可以漏掉或刪除伺服器對駭客命令的響應,如此,用戶便不再覺察到任何駭客入侵。
  駭客從伺服器的傳送包中刪除其請求的資訊
  以下部分您將了解 TCP ACK風暴,它在駭客繼續偽裝時,在非同步後劫持入侵中將發作。
  3﹒前期非同步入侵
  在前面,您了解到非同步後TCP劫持入侵(即在用戶機和伺服器連接之後發生的入侵)。不像非同步後劫持入侵,前期非同步入侵在用戶機和伺服器的早期連接建立時破壞其連接,而不是在連接已設立或完成之後。前期非同步入侵在伺服器端破壞連接,在破壞連接之後,駭客創建一個具有不同順序號的新連接,前期非同步的入侵工作如下。
  (1)在連接創建階段2,駭客竊聽伺服器發送到用戶機SYN/ACK包(如圖10)。
 伺服器給用戶機發送一個ACK包

  (2)當駭客偵測到SYN/ACK包時,駭客發送一個RST復位請求包,接著發送一個與伺服器的SYN/ACK包有相同參數SYN包。然而,駭客的請求帶著一個不同的順序號。您可以把這個看作入侵者確認包(ATK_ACK_0)(如圖11)。

 駭客發送兩個數據包給伺服器
  (3)伺服器將收到RST包時關閉第一個連接,且將在同一端重開一個新的連接,但當收到SYN包時,便具有不同順序號,伺服器將向原用戶回送一個SYN/ACK包。
  (4)駭客截取SYN/ACK包,向伺服器發送它自己的ACK包,伺服器開關擲向同步連接以創建狀態(如圖12)。

  駭客截穫包並建立同步
  當用戶端從伺服器收第一個SYN/ACK包時便把開關擲向ESTABLISHED(已創建)狀態,駭客的成功依賴於為CLT_TO_SVR_OFFSET造取了正確的數值,選取錯誤的數值將使用戶端的包和駭客的包不能被接受,而且這樣可能產生意想不到的結果,包括連接的終止。
  4﹒空數據非同步入侵
  在前面部分裏,您已了解了駭客如何利用在連接的早期階段截穫一個TCP連接來實施一次前期非同步入侵,非同步一個TCP連接後,駭客能實施一次空數據非同步入侵。空數據指不會影晌伺服器的任何東西,不會改變TCP 認證號,駭客透過同時向伺服器和用戶端發送大量數據來實施一次空數據入侵。
  駭客發送的數據對用戶端來說是不可見的。相反,空數據迫使TCP會話中連接的兩台電腦切換到非同步狀態,因為純粹的空數據幹預到了電腦維護TCP連接的能力。
 5﹒Telnet會話入侵
  前面部分已詳述了駭客能在一個已存在的或新運行的TCP連接上實施的各種入侵。然而,駭客也可以幹預到幾乎任何網路通訊。例如,駭客可以用TELNET會話實施以下截穫方案:
  (1)在入侵之前,駭客通常先觀察網上的傳送,而不進行任何幹預。
  (2)適當時候,駭客向伺服器發送一大批空數據。在被截穫的TELNET會話上,駭客發送一個含擴展字號IAC NOP LAC NOP 的ATK_SVR_OFFSET字。TELNET協議將NOP命令定義為"空操作",換句話說,不做任何操作且忽視這一對中的字。由於此空操作,伺服器的TELNET的後台駐留程式將把每個字都解釋為空數值,因為這一點,後台駐留程式將數據流中的每個對刪掉。然而,伺服器對擴展空傳送的接收將擾亂正進行工作的TELNET會話,在此步之後,伺服器接收以下命令:
SVR_ACK = CLT_SEQ+ATK_SVR_OFFSET
  (3)伺服器對駭客命令的接收將創建一個非同步TELNET的連接。
  (4)為了迫使用戶機轉換到非同步狀態,駭客向用戶端實施一個與伺服器相同的步驟(如圖13)。

 駭客如何向用戶端和服務發送空數據
  (5)為完成TELNET會話入侵,駭客實施前面詳述的步驟,直到駭客成為TELNET會話連接的中間人(如圖14)。

  如果Telnet 會話可以傳送空數據的話,駭客隻能利用前面詳述的五個步驟的TELNET截穫方式。縱使如此,駭客對於選擇合適時間發送空數據仍有困難。如果時間不正確,入侵將很容易破壞Telnet會話,或者會引起會話幹擾,而不能讓駭客控制會話。當您參與TELNET會話,預料不到的結果將表明駭客正在截穫會話。
  6﹒對ACK風暴的了解
  在TCP連接內,幾乎所有含ACK設定標識而不帶數據的包都是未接收包的確認資訊。在任何網上,特別是在INTERNET通訊中,將發生大量的轉送。在一個遭受了前面詳述的各種入侵的網上,會發生更多的轉送。轉送的號碼將依據網上的負荷和引起風暴的駭客主機而定,一個伺服器登錄能包含多達300多個空包。特別地,在一個實際入侵中傳送的數據包可能產生10至30個ACK空包。
  7﹒偵測及其副作用
  您可以利用ACK入侵的各種缺陷來偵測入侵,這部分將描述三種偵測方式,但記住仍有其他方法。
  非同步狀態偵測。您可以利用TCP包來觀察連接雙方的順序號。根據順序號。您可以判斷出連接是否處於非同步狀態。然而,僅當假定您在連接上傳送順序號時沒有駭客改變它,您才可以在連接的雙方閱讀包--這是一個一般的安全假定。
  ACK風暴偵測:些局域以太網的TCP交通在入侵前的統計表明,總的TELNET包的無數據包率為三分之一,而當一個駭客入侵時,為1/300。
  包百分率記數:您可以透過對包的百分率記數來監視連接的狀態。透過對有入侵時的包百分率和普通數據包百分率的對比,可以提醒您存在非同步入侵。表1顯示了通常連接中數據包和ACK包每分鐘的數目。
          表1 普通傳送中,ACK包每分鐘傳送的數目
           包的類型 本地 以太網傳輸
           Total TCPs 80-100 1400
           Total ACK 25-75 500
           Total Telnet 10-20 1400
           Total Telnet ACK 5-10 45
  TCP包和 ACK包的數目在本地以太網上變化很大。一個常規連接上的ACK TELNET包的百分率一般穩定在45%左右,Telnet會話是一種互動式會話,伺服器必須對用戶敲入的每一個字母進行響應和認證。事實上這正是Telnet包計數穩定性的原因所在。在TELNET會話中,基於降低包丟失率的考慮,每個包通常僅含一個字母或一行正文,所以數據交換量較小。正如TELNET數據流,流向遠端以太網的數據與其是一致的。因為它的高數據負荷,接收主機可能丟失一些包。
  相對地,當駭客入侵時,真正的包與ACK包的比值會發生改變。表2顯示了駭客入侵時包的計數。
           表2 遭入侵時,ACK包的計數情況
           包的類型 本地連接
           Total Telnet 80-400
           Total Telnet ACK 75-400
  在表2中,本地連接是指只有少數來自用戶端的IP跳躍的一個主機的通訊會話。通訊會話的往返延遲(RTD)大約在3毫秒。例如,通訊會話可能跨越用戶機與主機間的4個局域伺服器。正如您所知,在駭客入侵時包計數器的改變很明顯。就算它變化較為輕微,ACK計數與總包計數幾乎是一致的,則交通量基本都是指認證包,意味著幾乎不包括數據包


 五、另一種嗅探--冒充入侵 
  您已了解到實際的嗅探入侵的基礎,包括一些組成部分。本部分詳述的冒充入侵中,駭客用用戶機IP地址作為源址向伺服器發送一個SYN包以初始化通話。駭客傳送的地址必須是冒充成可信任主機地址。伺服器將用一個SYN/ACK包來確認SYN包,它包含以下行:
  SEG_SEQ = SVR_SEQ_O
  駭客因此可以用自己的包來確認伺服器的SYN/ACK包。駭客數據包中包含了駭客所猜的SVR_SEQ_O的值即順序號。如果成功,那麼駭客不必嗅探用戶包,因為駭客能預測SVR_SEQ_O且確認它。
  1﹒冒充入侵的兩個主要缺點
  (1)駭客冒充的用戶機將收到來自伺服器的SYN/ACK包,而向伺服器回發一個RST(復位)包,因為在用戶機看來,通話不存在。而駭客可能阻止用戶機的復位包產生,或當用戶機未按入網路時入侵,或使用戶機的TCP佇列溢出,如此,用戶機將在往伺服器上發送數據中丟失包。
  (2)駭客不能從伺服器上得到數據,然而駭客可以發送一些足以危害主機的數據。
  2﹒冒充入侵和非同步後劫持入侵的不同點
  冒充入侵和您以前了解到的非同步後劫持入侵的四個不同之處在於:
  (1)非同步後劫持入侵讓駭客實行並控制連接的鑒別階段,而冒充入侵依靠於可信任主機的鑒別方案。
  (2)非同步後劫持入侵讓駭客對於TCP流有很大的訪問權。換句話說,駭客可以同時收發數據,而不是像冒充入侵那樣僅能發送數據。
  (3)非同步後劫持入侵利用以太網嗅探來預測或得到SVR-SEQ-O。
  (4)駭客可以用非同步後劫持入侵法攻擊任何類型主機。因為冒充入侵時要倚賴於UNIX可信任主機的模式,所以它僅能對UNIX主機進行攻擊。
  然而,如果用戶機脫線了或是不能收發RST復位包,駭客可以用冒充入侵來與伺服器建立一個全面的TCP連結。駭客將可代表用戶機發送數據。當然,駭客必須透過認證障礙。如果系統採用的是基於可信任主機的認證,那麼駭客將對主機的服務有全權訪問。
  儘管當駭客進行非同步後劫持入侵進攻區域網路時,系統分析員易於核查到入侵,但在遠端低帶寬和低延遲網上進行非同步持劫持入侵是很有效果的。而且,正如您所知,駭客可使用與進行被動嗅探入侵(它經常發生在INTERNET)時相同的資源來實施非同步後劫持入侵。兩種入侵對駭客來說其優點在於它對用戶都是不可的。用戶不可見很重要,INTERNET上入侵主機越來越頻繁,網路安全變得令人關注,駭客的秘密行動是駭客入侵的一個重要因素。



爸爸 你一路好走
獻花 x0 回到頂端 [樓 主] From:台灣 | Posted:2006-12-17 14:57 |

首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.016616 second(s),query:15 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言