駭客突破防火牆常用的幾種技術_漏洞研究

來源:互聯網
上載者:User
首先,我們需要瞭解一些基本的防火牆實現原理。防火牆目前主要分包過濾,和狀態檢測的包過濾,應用程式層代理防火牆。但是他們的基本實現都是類似的。 

  │ │---路由器-----網卡│防火牆│網卡│----------內部網路│ │ 

  防火牆一般有兩個以上的網路卡,一個連到外部(router),另一個是連到內部網路。當開啟主機網路轉寄功能時,兩個網卡間的網路通訊能直接通過。當有防火牆時,他好比插在網卡之間,對所有的網路通訊進行控制。 

  說到存取控制,這是防火牆的核心了:),防火牆主要通過一個存取控制表來判斷的,他的形式一般是一連串的如下規則: 

  1 accept from+ 源地址,連接埠 to+ 目的地址,連接埠+ 採取的動作 

  2 deny ...........(deny就是拒絕。。) 

  3 nat ............(nat是地址轉換。後面說) 

  防火牆在網路層(包括以下的煉路層)接受到網路資料包後,就從上面的規則連表一條一條地匹配,如果符合就執行預先安排的動作了!如丟棄包。。。。 

  但是,不同的防火牆,在判斷攻擊行為時,有實現上的差別。下面結合實現原理說說可能的攻擊。 

  二、攻擊包過濾防火牆 

  包過濾防火牆是最簡單的一種了,它在網路層截獲網路資料包,根據防火牆的規則表,來檢測攻擊行為。他根據資料包的源IP地址;目的IP地址;TCP/UDP源連接埠;TCP/UDP目的連接埠來過濾!!很容易受到如下攻擊: 

  1 ip 欺騙攻擊: 

  這種攻擊,主要是修改資料包的源,目的地址和連接埠,模仿一些合法的資料包來騙過防火牆的檢測。如:外部攻擊者,將他的資料報源地址改為內部網路地址,防火牆看到是合法地址就允許存取了:)。可是,如果防火牆能結合介面,地址來匹配,這種攻擊就不能成功了:( 

  2 d.o.s拒絕服務的攻擊 

  簡單的包過濾防火牆不能跟蹤 tcp的狀態,很容易受到拒絕服務的攻擊,一旦防火牆受到d.o.s攻擊,他可能會忙於處理,而忘記了他自己的過濾功能。:)你就可以饒過了,不過這樣攻擊還很少的。! 

  3 分區攻擊 

  這種攻擊的原理是:在IP的分區包中,所有的分區包用一個分區位移欄位標誌分區包的順序,但是,只有第一個分區包含有TCP連接埠號碼的資訊。當IP分區包通過分組過濾防火牆時,防火牆只根據第一個分區包的Tcp資訊判斷是否允許通過,而其他後續的分區不作防火牆檢測,直接讓它們通過。 

  這樣,攻擊者就可以通過先發送第一個合法的IP分區,騙過防火牆的檢測,接著封裝了惡意資料的後續分區包就可以直接穿透防火牆,直接到達內部網路主機,從而威脅網路和主機的安全。 

  4 木馬攻擊 

  對於包過濾防火牆最有效攻擊就是木馬了,一但你在內部網路安裝了木馬,防火牆基本上是無能為力的。 

  原因是:包過濾防火牆一般只過濾低連接埠(1-1024),而高連接埠他不可能過濾的(因為,一些服務要用到高連接埠,因此防火牆不能關閉高連接埠的),所以很多的木馬都在高連接埠開啟等待,如冰河,subseven等。。。 

  但是木馬攻擊的前提是必須先上傳,運行木馬,對於簡單的包過濾防火牆來說,是容易做的。這裡不寫這個了。大概就是利用內部網路主機開放的服務漏洞。 

  早期的防火牆都是這種簡單的包過濾型的,到現在已很少了,不過也有。現在的包過濾採用的是狀態檢測技術,下面談談狀態檢測的包過濾防火牆。

三、攻擊狀態檢測的包過濾 

  狀態檢測技術最早是checkpoint提出的,在國內的許多防火牆都聲稱實現了狀態檢測技術。 

  可是:)很多是沒有實現的。到底什麼是狀態檢測? 

  一句話,狀態檢測就是從tcp串連的建立到終止都跟蹤檢測的技術。 

  原先的包過濾,是拿一個一個單獨的資料包來匹配規則的。可是我們知道,同一個tcp串連,他的資料包是前後關聯的,先是syn包,-》資料包=》fin包。資料包的前後序號是相關的。 

  如果割裂這些關係,單獨的過濾資料包,很容易被精心夠造的攻擊資料包欺騙!!!如nmap的攻擊掃描,就有利用syn包,fin包,reset包來探測防火牆後面的網路。! 

  相反,一個完全的狀態檢測防火牆,他在發起串連就判斷,如果符合規則,就在記憶體登記了這個串連的狀態資訊(地址,port,選項。。),後續的屬於同一個串連的資料包,就不需要在檢測了。直接通過。而一些精心夠造的攻擊資料包由於沒有在記憶體登記相應的狀態資訊,都被丟棄了。這樣這些攻擊資料包,就不能饒過防火牆了。 

  說狀態檢測必須提到動態規則技術。在狀態檢測裡,採用動態規則技術,原先高連接埠的問題就可以解決了。實現原理是:平時,防火牆可以過濾內部網路的所有連接埠(1-65535),外部攻擊者難於發現入侵的切入點,可是為了不影響正常的服務,防火牆一但檢測到服務必須開放高連接埠時,如(ftp協議,irc等),防火牆在記憶體就可以動態地天加一條規則開啟相關的高連接埠。等服務完成後,這條規則就又被防火牆刪除。這樣,既保障了安全,又不影響正常服務,速度也快。! 

  一般來說,完全實現了狀態檢測技術防火牆,智能性都比較高,一些掃描攻擊還能自動的反應,因此,攻擊者要很小心才不會被發現。 

  但是,也有不少的攻擊手段對付這種防火牆的。 

  1 協議隧道攻擊 

  協議隧道的攻擊思想類似與VPN的實現原理,攻擊者將一些惡意的攻擊資料包隱藏在一些協議分組的頭部,從而穿透防火牆系統對內部網路進行攻擊。 

  例如,許多簡單地允許ICMP回射請求、ICMP回射應答和UDP分組通過的防火牆就容易受到ICMP和UDP協議隧道的攻擊。Loki和lokid(攻擊的用戶端和服務端)是實施這種攻擊的有效工具。在實際攻擊中,攻擊者首先必須設法在內部網路的一個系統上安裝上lokid服務端,而後攻擊者就可以通過loki用戶端將希望遠程執行的攻擊命令(對應IP分組)嵌入在ICMP或UDP包頭部,再發送給內部網路服務端lokid,由它執行其中的命令,並以同樣的方式返回結果。由 

  於許多防火牆允許ICMP和UDP分組自由出入,因此攻擊者的惡意資料就能附帶在正常的分組,繞過防火牆的認證,順利地到達攻擊目標主機下面的命令是用於啟動lokid伺服器程式: 

  lokid-p CI Cvl 

  loki客戶程式則如下啟動: 

  loki Cd172.29.11.191(攻擊目標主機)-p CI Cv1 Ct3 

  這樣,lokid和loki就聯合提供了一個穿透防火牆系統訪問目標系統的一個後門。 

  2 利用FTP-pasv繞過防火牆認證的攻擊 

  FTP-pasv攻擊是針對防火牆實施入侵的重要手段之一。目前很多防火牆不能過濾這種攻擊手段。如CheckPoint的Firewall-1,在監視FTP伺服器發送給用戶端的包的過程中,它在每個包中尋找"227"這個字串。如果發現這種包,將從中提取目標地址和連接埠,並對目標地址加以驗證,通過後,將允許建立到該地址的TCP串連。 

  攻擊者通過這個特性,可以設法串連受防火牆保護的伺服器和服務。

  3 反彈木馬攻擊 

  反彈木馬是對付這種防火牆的最有效方法。攻擊者在內部網路的反彈木馬定時地串連外部攻擊者控制的主機,由於串連是從內部發起的,防火牆(任何的防火牆)都認為是一個合法的串連,因此基本上防火牆的盲區就是這裡了。防火牆不能區分木馬的串連和合法的串連。 

  但是這種攻擊的局限是:必須首先安裝這個木馬!!!所有的木馬的第一步都是關鍵!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.