網路入侵方法與一般步驟2 (轉)

amyz發表於2007-11-25
網路入侵方法與一般步驟2 (轉)[@more@] 

的一般步驟及例項

 攻擊的準備階段

   首先需要說明的是,者的來源有兩種,一種是內部人員利用自己的工作機會和來獲取不應該獲取的許可權而進行的攻擊。另一種是外部人員入侵,包括入侵、網路節點接入入侵等。本節主要討論遠端攻擊。

   進行網路攻擊是一件性很強的工作,其主要工作流程是:收集情報,遠端攻擊,遠端登入,取得普通的許可權,取得超級使用者的許可權,留下,清除日誌。主要內容包括目標分析,文件獲取,破碼,日誌清除等技術,下面分別介紹。

 1. 確定攻擊的目的

   攻擊者在進行一次完整的攻擊之前首先要確定攻擊要達到什麼樣的目的,即給對方造成什麼樣的後果。常見的攻擊目的有破壞型和入侵型兩種。破壞型攻擊指的只是破壞攻擊目標,使其不能正常工作,而不能隨意控制目標的系統的執行。要達到破壞型攻擊的目的,主要的手段是拒絕服務攻擊(Denial Of Service)。另一類常見的攻擊目的是入侵攻擊目標,這種攻擊是要獲得一定的許可權來達到控制攻擊目標的目的。應該說這種攻擊比破壞型攻擊更為普遍,威脅性也更大。因為一旦獲取攻擊目標的管理員許可權就可以對此做任意動作,包括破壞性的攻擊。此類攻擊一般也是利用伺服器、應用或者網路存在的進行的。當然還有另一種造成此種攻擊的原因就是密碼洩露,攻擊者靠猜測或者窮舉法來得到伺服器使用者的密碼,然後就可以用和真正的管理員一樣對伺服器進行訪問。

 2. 資訊收集

  除了確定攻擊目的之外,攻擊前的最主要工作就是收集儘量多的關於攻擊目標的資訊。這些資訊主要包括目標的作業系統型別及版本,目標提供哪些服務,各伺服器的型別與版本以及相關的社會資訊。

  要攻擊一臺機器,首先要確定它上面正在執行的作業系統是什麼,因為對於不同型別的作業系統,其上的系統漏洞有很大區別,所以攻擊的方法也完全不同,甚至同一種作業系統的不同版本的系統漏洞也是不一樣的。要確定一臺伺服器的作業系統一般是靠,有些伺服器的某些服務顯示資訊會洩露其作業系統。例如當我們透過連上一臺機器時,如果顯示

  (r) System V Release 4.0

  login:

  那麼根據經驗就可以確定這個機器上執行的作業系統為SUN 5.5或5.5.l。但這樣

確定作業系統型別是不準確的,因為有些網站管理員為了迷惑攻擊者會故意更改顯示資訊,造成假象。

   還有一種不是很有效的方法,諸如查詢的主機資訊(不是很可靠)來看登記域名時的申請機器型別和作業系統型別,或者使用社會工程學的方法來獲得,以及利用某些主機開放的SNMP的公共組來查詢。

   另外一種相對比較準確的方法是利用網路作業系統裡的堆疊作為特殊的“指紋”來確定系統的真正身份。因為不同的作業系統在網路底層協議的各種實現細節上略有不同。可以透過遠端向目標傳送特殊的包,然後透過返回的包來確定作業系統型別。例如透過向目標機傳送一個FIN的包(或者是任何沒有ACK或SYN標記的包)到目標主機的一個開放的埠然後等待回應。許多系統如、 I、 、 HP/UX和 IRIX會返回一個RESET。透過傳送一個SYN包,它含有沒有定義的TCP標記的TCP頭。那麼在系統的回應包就會包含這個沒有定義的標記,而在一些別的系統則會在收到SYN+BOGU包之後關閉連線。或是利用尋找初始化序列長度模板與特定的作業系統相匹配的方法。利用它可以對許多系統分類,如較早的Unix系統是64K長度,一些新的Unix系統的長度則是隨機增長。還有就是檢查返回包裡包含的視窗長度,這項技術根據各個作業系統的不同的初始化視窗大小來唯一確定它們。利用這種技術實現的工具很多,比較著名的有NMAP、CHECKOS、QUESO等。

   獲知目標提供哪些服務及各服務daemon的型別、版本同樣非常重要,因為已知的漏洞一般都是對某一服務的。這裡說的提供服務就是指通常我們提到的喘口,例如一般TELNET在23埠,在對21埠,WWW在80埠或8080埠,這只是一般情況,網站管理完全可以按自己的意願修改服務所的埠號。在不同伺服器上提供同一種服務的軟體也可以是不同,我們管這種軟體叫做daemon,例如同樣是提供FTP服務,可以使用wuftp、proftp,ncftp等許多不同種類的daemon。確定daemon的型別版本也有助於駭客利用系統漏洞攻破網站。

   另外需要獲得的關於系統的資訊就是一些與本身沒有關係的社會資訊,例如網站所屬公司的名稱、規模,員的生活習慣、電話號碼等。這些資訊看起來與攻擊一個網站沒有關係,實際上很多駭客都是利用了這類資訊攻破網站的。例如有些網站管理員用自己的電話號碼做系統密碼,如果掌握了該電話號碼,就等於掌握了管理員許可權進行資訊收集可以用手工進行,也可以利用工具來完成,完成資訊收集的工具叫做掃描器。用掃描器收集資訊的優點是速度快,可以一次對多個目標進行掃描。

 攻擊的實施階段

 1. 獲得許可權

   當收集到足夠的資訊之後,攻擊者就要開始實施攻擊行動了。作為破壞性攻擊,只需利用工具發動攻擊即可。而作為入侵性攻擊,往往要利用收集到的資訊,找到其系統漏洞,然後利用該漏洞獲取一定的許可權。有時獲得了一般使用者的許可權就足以達到修改主頁等目的了,但作為一次完整的攻擊是要獲得系統最高許可權的,這不僅是為了達到一定的目的,更重要的是證明攻擊者的能力,這也符合駭客的追求。

   能夠被攻擊者所利用的漏洞不僅包括系統軟體設計上的漏洞,也包括由於管理不當而造成的漏洞。前不久,因特網上應用最普及的著名www伺服器提供商的主頁被駭客攻破,其主頁面上的 Powered by Apache圖樣(羽毛狀的圖畫)被改成了Powered by  Back的圖樣,那個攻擊者就是利用了管理員對server用的一些不當配置而成功取得最高許可權的。

   當然大多數攻擊成功的範例還是利用了系統軟體本身的漏洞。造成軟體漏洞的主要原因在於編制該軟體的程式設計師缺乏安全意識。當攻擊者對軟體進行非正常的請求時造成緩衝區或者對的訪問。其中利用緩衝區溢位進行的攻擊最為普遍,據統計80%以上成功的攻擊都是利用了緩衝區溢位漏洞來獲得非法許可權的。關於緩衝區溢位在後面用專門章節來作詳細解釋。

   無論作為一個駭客還是一個網路管理員,都需要掌握儘量多的系統漏洞。駭客需要用它來完成攻擊,而管理員需要根據不同的漏洞來進行不同的措施。瞭解最新最多的漏洞資訊,可以到諸如(.com)、Packetstorm(packetstorm.securify.com)、Securityfocus(www.securityfocus.com)等網站去查詢。

 2. 許可權的擴大

   系統漏洞分為遠端漏洞和本地漏洞兩種,遠端漏洞是指駭客可以在別的機器上直接利用該漏洞進行攻擊並獲取一定的許可權。這種漏洞的威脅性相當大,駭客的攻擊一般都是從遠端漏洞開始的。但是利用遠端漏洞獲取的不一定是最高許可權,而往往只是一個普通使用者的許可權,這樣常常沒有辦法做駭客們想要做的事。這時就需要配合本地漏洞來把獲得的許可權進行擴大,常常是擴大至系統的管理員許可權。

   只有獲得了最高的管理員許可權之後,才可以做諸如網路監聽、打掃痕跡之類的事情。要完成許可權的擴大,不但可以利用已獲得的許可權在系統上利用本地漏洞的程式,還可以放一些之類的欺騙程式來套取管理員密碼,這種木馬是放在本地套取最高許可權用的,而不能進行遠端控制。例如一個駭客已經在一臺機器上獲得了一個普通使用者的賬號和登入許可權,那麼他就可以在這臺機器上放置一個假的su程式。一旦駭客放置了假su程式,當真正的合法使用者登入時,執行了su,並輸入了密碼,這時root密碼就會被記錄下來,下次駭客再登入時就可以使用su變成root了。

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-984570/,如需轉載,請註明出處,否則將追究法律責任。

相關文章