伺服器端攻擊基礎知識


在本節中,我們將進行伺服器端攻擊。首先我們將使用資訊收集,用於顯示已安裝的程式,目標的作業系統,目標上的執行服務以及與這些服務關聯的埠。從這些已安裝的服務中,我們可以嘗試進入系統,可以通過嘗試預設密碼來完成此操作。

有很多人安裝服務並錯誤組態它們,所以我們還有通過一個例子來演示。這些服務的第一個問題是,有時,許多服務旨在讓某人遠端存取該計算機,但他們顯然需要一些安全實現。人們經常錯誤組態這些服務,因此我們可以利用這些錯誤組態並獲得對這些計算機的存取許可權。這些服務的另一個問題是它們中的一些甚至可能有後門。其中一些都會有漏洞,如遠端緩衝區溢位或程式碼執行漏洞,這將使我們能夠獲得對計算機系統的完全存取許可權。

最簡單的方法是我們之間介紹的工具 - Zenmap。我們使用Zenmap和網站的IP。使用Zenmap,我們將獲得所有這些服務的列表,以檢視它們是否包含漏洞。我們之前看到Metasploitable裝置實際上是一個網站。如果我們想獲得網站的IP,我們要做的就是ping。例如,如果我們想要獲得Facebook的IP,我們必須ping facebook.com,之後可以獲得他們的IP。現在,我們將能夠針對Facebook IP執行Zenmap,並獲取Facebook上所有正在執行的服務的列表。但是,在本節中,我們將針對Metasploitable裝置執行Zenmap,它也是一台計算機裝置。

我們將以之前相同的方式執行Zenmap。要開啟Zenmap,我們將開啟終端並輸入zenmap,然後開啟執行應用程式。我們可以放置任何想要測試的IP。但是,在本節中,我們將輸入Metasploitable裝置的目標IP,在我們的範例中IP為10.0.2.4。我們將進行掃描,它將為我們提供所有已安裝應用程式的列表,如以下螢幕截圖所示:

掃描完成後,可以看到有開放埠和大量服務。現在我們將進入Nmap輸出索引標籤,逐個埠檢查,檢視服務內容,以及Google服務名稱。

例如,在下面的螢幕截圖中,我們有埠21,它是一個FTP埠。FTP是一種安裝的服務,允許人們從遠端伺服器上載和下載檔案。FTP服務通常使用使用者名和密碼,但我們可以看到此服務組態錯誤,並允許匿名FTP登入。所以在這裡,我們將能夠在不使用密碼的情況下可以登入,請注意下一個螢幕截圖:

下載一個FTP用戶端,例如FileZilla。我們在埠21上使用此IP地址進行連線。還可以使用Google一個FTP伺服器,在我們的例子中是vsftpd 2.3.4,並檢視它是否有任何問題或是否有任何錯誤組態,或者它有任何已知的程式碼執行漏洞。可以看到vsftpd 2.3.4安裝了後門。當它被釋放時,它實際上帶有一個後門。我們需要逐個谷歌服務,並檢查他們是否有任何錯誤組態或任何漏洞安裝。

現在我們來看看512埠。假設我們一個接一個地進行,我們找不到任何東西,到達了512 TCP埠,如下面的截圖所示:

現在我們來看執行在512埠上執行的服務,因為我們不知道它是什麼。在谷歌上搜尋之後,我們知道netkit-rsh是一個遠端執行程式。如果我們設法使用此登入,我們就能夠在目標計算機上執行命令。該程式使用rsh rlogin,這是Linux附帶的程式。與SSH類似,它允許我們在目標計算機上執行遠端命令。

讓我們來看看如何連線到rsh rlogin服務。可以使用netkit-rsh包,它是Ubuntu上的一個包。目標計算機在Ubuntu上執行,我們可以看到它在這裡使用rsh-client服務進行連線。因此,我們需要安裝一個rsh-client軟體包來連線到該服務。它是遠端shell連線的用戶端程式。現在,使用以下命令安裝rsh-client

apt-get將安裝它並組態好它。一旦安裝完畢,我們使用rlogin登入,因為第一頁告訴我們它使用rlogin程式來方便登入過程。我們再次進行rlogin,如果不知道如何使用此應用程式,可以使用--help命令檢視如何使用它,如以下螢幕截圖所示:

在這裡,重要的是使用者名(-l)和主機,它是目標IP。現在我們要執行rlogin,把使用者名設定為root,這是系統上具有最多許可權的使用者,我們將放置目標IP 10.0.2.4。下面是命令:

下面將登入Metasploitable機器。如果我們執行id命令來獲取ID,我們可以看到使用者是root。如果執行uname -a命令,它將列出在機器上執行的主機名和核心。可以看到具有root存取許可權的Metasploitable機器中,如下所示:

這是通過利用已安裝服務的錯誤組態來獲取對目標計算機的存取許可權的基本手動方式。rlogin服務未正確組態。我們所要做的只是谷歌那個埠附帶的東西,我們設法登入並獲得對目標計算機的存取許可權。