全球专业中文经管百科,由121,994位网友共同编写而成,共计436,047个条目

會話劫持

用手机看条目

出自 MBA智库百科(https://wiki.mbalib.com/)

會話劫持(Session Hijack)

目錄

什麼是會話劫持

  會話劫持是一種結合了嗅探以及欺騙技術在內的攻擊手段。廣義上說,會話劫持就是在一次正常的通信過程中,攻擊者作為第三方參與到其中,或者是在數據裡加入其他信息,甚至將雙方的通信模式暗中改變,即從直接聯繫變成有攻擊者參與的聯繫。簡單地說,就是攻擊者把自己插入到受害者和目標機器之間,並設法讓受害者和目標機器之間的數據通道變為受害者和目標機器之間存在一個看起來像“中轉站”的代理機器(攻擊者的機器)的數據通道,從而干涉兩台機器之間的數據傳輸,例如監聽敏感數據、替換數據等。由於攻擊者已經介入其中,他能輕易知道雙方傳輸的數據內容,還能根據自己的意願去左右它。這個“中轉站”可以是邏輯上的,也可以是物理上的,關鍵在於它能否獲取到通信雙方的數據。

會話劫持的攻擊分類

  按會話劫持攻擊類型劃分:

  1、中間人攻擊(Man In The Middle,簡稱MITM),

  2、註射式攻擊(Injection);

  按會話劫持攻擊主被動劃分為:

  (1)被動劫持,

  (2)主動劫持;

  被動劫持實際上就是在後臺監視雙方會話的數據流,從中獲得敏感數據;而主動劫持則是將會話當中的某一臺主機“踢”下線,然後由攻擊者取代並接管會話,這種攻擊方法危害非常大,攻擊者可以做很多事情,比如“cat etc/master.passwd”(FreeBSD下的Shadow文件)。

會話劫持的原理結構

  會話劫持利用了TCP/IP工作原理來設計攻擊。TCP使用端到端的連接,即TCP用(源IP,源TCP埠號,目的IP,目的TCP端號)來唯一標識每一條已經建立連接的TCP鏈路。另外,TCP在進行數據傳輸時,TCP報文首部的兩個欄位序號(seq)和確認序號(ackseq)非常重要。序號(seq)和確認序號(ackseq)是與所攜帶TCP數據凈荷(payload)的多少有數值上的關係:序號欄位(seq)指出了本報文中傳送的數據在發送主機所要傳送的整個數據流中的順序號,而確認序號欄位(ackseq)指出了發送本報文的主機希望接收的對方主機中下一個八位組的順序號。因此,對於一臺主機來說,其收發的兩個相臨TCP報文之間的序號和確認序號的關係為:它所要發出的報文中的seq值應等於它所剛收到的報文中的ackseq的值,而它所要發送報文中ackseq的值應為它所收到報文中seq的值加上該報文中所發送的TCP凈荷的長度。

  TCP會話劫持的攻擊方式可以對基於TCP的任何應用發起攻擊,如HTTP、FTP、Telnet等。對於攻擊者來說,所必須要做的就是窺探到正在進行TCP通信的兩台主機之間傳送的報文,這樣攻擊者就可以得知該報文的源IP、源TCP埠號、目的IP、目的TCP端號,從而可以得知其中一臺主機對將要收到的下一個TCP報文段中seq和ackseq值的要求。這樣,在該合法主機收到另一臺合法主機發送的TCP報文前,攻擊者根據所截獲的信息向該主機發出一個帶有凈荷的TCP報文,如果該主機先收到攻擊報文,就可以把合法的TCP會話建立在攻擊主機與被攻擊主機之間。帶有凈荷的攻擊報文能夠使被攻擊主機對下一個要收到的TCP報文中的確認序號的值的要求發生變化,從而使另一臺合法的主機向被攻擊主機發出的報文被被攻擊主機拒絕。TCP會話劫持攻擊方式的好處在於使攻擊者避開了被攻擊主機對訪問者的身份驗證和安全認證,從而使攻擊者直接進入對被攻擊主機的的訪問狀態,因此對系統安全構成的威脅比較嚴重。

會話劫持的步驟

  找到一個活動的會話

  會話劫持的第一步要求攻擊者找到一個活動的會話。這要求攻擊者嗅探在子網上的通訊。攻擊者將尋找諸如FTP之類的一個已經建立起來的TCP會話。如果這個子網使用一個集線器,查找這種會話是很容易的。一個交換網路需要攻擊者破壞地址解析協議

  猜測正確的序列號碼

  下一步,攻擊者必須能夠猜測正確的序列號碼。請記住,一個基本的TCP協議設計是傳輸的數據的每一個位元組必須要有一個序列號碼。這個序列號用來保持跟蹤數據和提供可靠性。最初的序列號碼是在TCP協議握手的第一步生成的。目的地系統使用這個值確認發出的位元組。這個序列號欄位長度有32個位元組。這就意味著可能有大約4,294,967,295個序列號。一旦這個序列號一致,這個賬戶就會隨著數據的每一個位元組逐步增加。

  把合法的用戶斷開

  一旦確定了序列號,攻擊者就能夠把合法的用戶斷開。這個技術包括拒絕服務、源路由或者向用戶發送一個重置命令。無論使用哪一種技術,這個目的都是要讓用戶離開通訊路徑並且讓伺服器相信攻擊者就是合法的客戶機。

  如果這些步驟取得成功,攻擊者現在就可以控制這個會話。只要這個會話能夠保持下去,攻擊者就能夠通過身份驗證進行訪問。這種訪問能夠用來在本地執行命令以便進一步利用攻擊者的地位。

  會話劫持的預防和檢測

  處理會話劫持問題有兩種機制:預防和檢測。預防措施包括限制入網的連接和設置你的網路拒絕假冒本地地址從互聯網上發來的數據包

  加密也是有幫助的。如果你必須要允許來自可信賴的主機的外部連接,你可以使用Kerberos或者IPsec工具。使用更安全的協議,FTP和Telnet協議是最容易受到攻擊的。SSH是一種很好的替代方法。SSH在本地和遠程主機之間建立一個加密的頻道。通過使用IDS或者IPS系統能夠改善檢測。交換機、SSH等協議和更隨機的初始序列號的使用會讓會話劫持更加困難。此外,網路管理員不應該麻痹大意,有一種安全感。雖然會話劫持不像以前那樣容易了,但是,會話劫持仍是一種潛在的威脅。允許某人以經過身份識別的身份連接到你的一個系統網路攻擊需要認真對付的。

相關條目

本條目對我有幫助3
MBA智库APP

扫一扫,下载MBA智库APP

分享到:
  如果您認為本條目還有待完善,需要補充新內容或修改錯誤內容,請編輯條目投訴舉報

本条目由以下用户参与贡献

Tracy,Mis铭,nonameh.

評論(共0條)

提示:評論內容為網友針對條目"會話劫持"展開的討論,與本站觀點立場無關。

發表評論請文明上網,理性發言並遵守有關規定。

打开APP

以上内容根据网友推荐自动排序生成

官方社群
下载APP

闽公网安备 35020302032707号