|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2004-08-28, 04:49 AM | #1 |
榮譽會員
|
新安全時代裡如何突破各種防火牆的防護
現在隨著人們的安全意識加強,防火牆一般都被公司企業採用來保障網路的安全,一般的攻擊者在有防火牆的情況下,一般是很*請注意您的言語*侵的。下面談談有防火牆環境下的攻擊和檢測。
一 防火牆基本原理 首先,我們需要瞭解一些基本的防火牆實現原理。防火牆目前主要分包過濾,和狀態檢測的包過濾,套用層代理防火牆。但是他們的基本實現都是類似的。 │ │---路由器-----網路卡│防火牆│網路卡│----------內部網路│ │ 防火牆一般有兩個以上的網路卡,一個連到外部(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–I–vl loki客戶程序則如下啟動: loki–d172.29.11.191(攻擊目標主機)-p–I–v1–t3 這樣,lokid和loki就聯合提供了一個穿透防火牆系統訪問目標系統的一個後門。 2 利用FTP-pasv繞過防火牆認證的攻擊 FTP-pasv攻擊是針對防火牆實施入侵的重要手段之一。目前很多防火牆不能過濾這種攻擊手段。如CheckPoint的Firewall-1,在監視FTP伺服器傳送給客戶端的包的程序中,它在每個包中尋找"227"這個字元串。如果發現這種包,將從中提取目標位址和連接阜,並對目標位址加以驗證,通過後,將允許建立到該位址的TCP連接。 攻擊者通過這個特性,可以設法連接受防火牆保護的伺服器和服務。詳細的描述可見:http://www.checkpoint.com/techsupport/alerts/pasvftp.html。 3 反彈木馬攻擊 反彈木馬是對付這種防火牆的最有效的方法。攻擊者在內部網路的反彈木馬定時地連接外部攻擊者控制的主機,由於連接是從內部發起的,防火牆(任何的防火牆)都認為是一個合法的連接,因此基本上防火牆的盲區就是這裡了。防火牆不能區分木馬的連接和合法的連接。 但是這種攻擊的局限是:必須首先安裝這個木馬!!!所有的木馬的第一步都是關鍵!!! 四 攻擊代理 代理是執行在套用層的防火牆,他實質是啟動兩個連接,一個是客戶到代理,另一個是代理到目的伺服器。 實現上比較簡單,和前面的一樣也是根據規則過濾。由於執行在套用層速度比較慢/1 攻擊代理的方法很多。 這裡就以wingate為例,簡單說說了。(太累了) WinGate是目前套用非常廣泛的一種Windows95/NT代理防火牆軟體,內部用戶可以通過一台安裝有WinGate的主機訪問外部網路,但是它也存在著幾個安全脆弱點。 黑客經常利用這些安全漏洞獲得WinGate的非授權Web、Socks和Telnet的訪問,從而偽裝成WinGate主機的身份對下一個攻擊目標發動攻擊。因此,這種攻擊非常難於被跟蹤和記錄。 導致WinGate安全漏洞的原因大多數是管理員沒有根據網路的實際情況對WinGate代理防火牆軟體進行合理的設定,只是簡單地從預設設定安裝完畢後就讓軟體執行,這就給攻擊者可乘之機。 1 非授權Web訪問 某些WinGate版本(如執行在NT系統下的2.1d版本)在誤配置情況下,允許外部主機完全匿名地訪問英特網。因此,外部攻擊者就可以利用WinGate主機來對Web伺服器發動各種Web攻擊( 如CGI的漏洞攻擊等),同時由於Web攻擊的所有報文都是從80號Tcp連接阜穿過的,因此,很難追蹤到攻擊者的來源。 檢測 檢測WinGate主機是否有這種安全漏洞的方法如下: 1) 以一個不會被過濾掉的連接(譬如說撥號連接)連線到英特網上。 2) 把瀏覽器的代理伺服器位址指向待測試的WinGate主機。 如果瀏覽器能訪問到英特網,則WinGate主機存在著非授權Web訪問漏洞。 2 非授權Socks訪問 在WinGate的預設配置中,Socks代理(1080號Tcp連接阜)同樣是存在安全漏洞。與開啟的Web代理(80號Tcp連接阜)一樣,外部攻擊者可以利用Socks代理訪問英特網。 防範 要防止攻擊WinGate的這個安全脆弱點,管理員可以限制特定服務的元件服務。在多宿主(multi homed)系統上,執行以下步驟以限定如何提供代理服務。 1選項Socks或WWWProxyServer內容。 2選項Bindings標籤。 3按下ConnectionsWillBeAcceptedOnTheFollowingInterfaceOnly按鈕,並指定本WinGate伺服器的內部接頭。 非授權Telnet訪問 它是WinGate最具威脅的安全漏洞。通過連線到一個誤配置的WinGate伺服器的Telnet服務,攻擊者可以使用別人的主機隱藏自己的蹤跡,隨意地發動攻擊。 檢測 檢測WinGate主機是否有這種安全漏洞的方法如下: 1使用telnet嘗試連線到一台WinGate伺服器。 [root@happy/tmp]#telnet172.29.11.191 Trying172.29.11.191…. Connectedto172.29.11.191. Escapecharacteris『^]』. Wingate>10.50.21.5 2如果接受到如上的回應文本,那就輸入待連線到的網站。 3如果看到了該新系統的登入提示號,那麼該伺服器是脆弱的。 Connectedtohost10.50.21.5…Connected SunOS5.6 Login: 對策 防止這種安全脆弱點的方法和防止非授權Socks訪問的方法類似。在WinGate中簡單地限制特定服務的元件服務就可以解決這個問題。一般來說,在多宿主(multihomed)系統管理員可以通過執行以下步驟來完成: 1選項TelnetSever內容。 2選項Bindings標籤。 3按下ConnectionsWillBeAcceptedOnTheFollowingInterfaceOnly按鈕,並指定本WinGate伺服器的內部接頭。 五 後話 有防火牆的攻擊不單是上面的一點,我有什麼寫的不對的,大家指正。 一直以來,黑客都在研究攻擊防火牆的技術和手段,攻擊的手法和技術越來越智能化和多樣化。但是就黑客攻擊防火牆的程序上看,大概可以分為三類攻擊。 第一類攻擊防火牆的方法是探測在目標網路上安裝的是何種防火牆系統並且找出此防火牆系統允許哪些服務。我們叫它為對防火牆的探測攻擊。 第二類攻擊防火牆的方法是採取位址欺騙、TCP序號攻擊等手法繞過防火牆的認證機制,從而 對防火牆和內部網路破壞。 第三類攻擊防火牆的方法是尋找、利用防火牆系統實現和設計上的安全漏洞,從而有針對性地發動攻擊。這種攻擊難度比較大,可是破壞性很大。 |
送花文章: 3,
|