如何隱藏服務和版本信息 減少攻擊線索
大家都知道,在黑客對某個目標發動攻擊前,要花大量的時間和精力來收集有關目標的各種信息。這些信息從最基本的企業IT人員姓名(潛在的社交工程攻擊)到企業服務器或Web站點可以采用何種類型的攻擊方式。
從文本寫作的目的出發,我們假設此時黑客打算直接入侵企業服務器,而不是采用其他社交工程手段,或者拒絕服務攻擊。
有很多地方會暴露企業IT架構方面的信息,其中最嚴重也是最常見的就是企業網站的ContactUs和Staff部分,以及通過Whois獲得的查詢記錄,而要了解服務器相關信息,就需要使用系統掃描工具了。一些網絡掃描工具,比如Nmap和Ncat(下面會提到)可以提供大量有關服務器操作系統和服務器上運行何種服務的信息。大多數情況下,這種掃描行為并不違法,但是在很多國家,擁有和傳播這類掃描工具確實是違法的。因此,如果你要使用這類工具,一定要確保符合當地的法律規定。
如果黑客知道了你企業的服務器所采用的操作系統,他就里成功近了一步,知道系統上運行了哪些服務,會更近一步。黑客每多了解一點有關目標服務器的信息,就會離成功更近一點。這就好像銀行卡盜用,Pin碼只有四位數,犯罪分子只知道密碼的第一位,和知道密碼的前三位,成功率相差很大。只知道第一位密碼,需要很長時間去嘗試不同的密碼,犯罪分子一般都會放棄,或者卡片直接被ATM機吞掉,而如果知道了前三位密碼,通過猜測進入用戶賬戶就容易多了。而本文中所謂的密碼前三位,就是服務器的操作系統,所運行的服務名稱和服務版本。
如果你也認同這個觀點,認為將服務器信息泄漏出去會給系統安全帶來隱患,那么我們接下來就要看看如何知道自己的服務器正在泄漏關鍵信息,以及該如何消除這種隱患。
下面我們來看看用Ncat掃描到的服務信息:
正如大家看到的,只要簡單的使用Ncat輸入目標服務器的IP地址和端口,就能得到該端口運行的服務的精確版本信息。現在,如果黑客查詢漏洞數據庫,或者簡單的用Google搜索一下這個版本的服務程序的漏洞,就可以發現很多信息,其中甚至可能直接發現明確的漏洞信息以及相關的攻擊工具。而接下去發生的情況肯定是所有企業的IT管理員都不愿意看到的。當然,黑客的智商也各不相同,如果沒有發現與服務程序版本相對應的攻擊工具,有些黑客就會放棄攻擊,但是如果你的服務程序中存在漏洞,就算沒有現成的攻擊工具,有些聰明的黑客還是會利用漏洞發動進攻的。因此,我們要盡量避免將服務器系統上的各種服務信息透露給任何潛在的攻擊者。
減少威脅
下面我們就來看看最常被利用和攻擊的服務:簡單郵件傳輸協議SMTP。
我們所使用的掃描工具是Ncat,以前叫做Netcat。這個工具由于具有強大的掃描功能而被認為是TCP/IP掃描方面的瑞士軍刀。Ncat在Netcat的基礎上實現了多平臺支持,可運行在Linux,Windows,以及MacOS系統上。雖然擁有類似功能的掃描工具還有不少,但是能夠支持多平臺的并不多。
那么,我們接下來就要用Ncat的最基本的掃描功能來掃描測試用服務器的SMTP端口,看看能返回什么信息。我們可以從服務器本身來運行這個掃描工具,掃描本地IP地址,也可以在內網或外網主機運行Ncat。這里我再次提醒一下,使用這類工具在某些國家和地區屬于違法行為。另外,根據你所處的位置不同,以及掃描對象的防護技術不同(比如是否有防火墻),你可能也需要改變掃描技術。Ncat的命令格式很簡單:
nc或ncat<目標IP地址><目標端口號>
上圖的例子里,我們掃描了測試服務器的SMTP端口(25)。從返回的結果中我們能看到,這個SMTPMail服務版本號為5.0.2172.1。如果掃描后沒有返回任何結果,可以嘗試使用以下命令格式-vv(vv參數表示獲取詳細信息,如nc-vvx.x.x.x25)
正如我們前面所提到的,有了服務版本信息,黑客可以很快對你的服務器漏洞進行評估。那么我們該怎么消除服務版本信息呢?
注意:下面我將使用Meta Edit來去除windows服務器中的服務版本信息。這個工具是針對Windows Server 2000/2003的,不過Windows Server 2008也能用。類似的工具和去除服務版本信息的方案還有很多,由于篇幅限制,本文只介紹這一種方案。在你對自己的服務器進行掃描后,可以根據掃描結果查看是否存在安全漏洞,在為服務器上的各種漏洞打好補丁后,可以嘗試消除服務版本信息,不給黑客留下任何可趁之機。
下面我們來去除SMTP服務的版本信息。首先是下載Meta Edit(可以從微軟官方下載)并進行安裝。安裝后,只需要啟動MetaEdit,然后展開LM文件夾,接下來展開SMTP,展開1并點擊1。我們可以在這個位置輸入一個新的版本號,比如我們可以在右上方輸入36907,在下方數據區域輸入希望顯示給掃描軟件的版本信息,本例中我們輸入“This is a new banner for port 25”。之后點擊OK,并退出Meta Edit。現在我們重啟SMTP服務,并使用Ncat重新掃描端口25,看看這次會有什么結果。
如上圖所示,新的版本信息已經代替了真正的SMTP服務版本信息,這使得攻擊者無法通過這種掃描方式獲取確切的SMTP服務版本,從而降低了被攻擊的潛在風險。
IIS可以通過IIS lockdown工具實現這種功能,IIS6.0版本以下的用戶可以免費下載這個工具,而且之后版本的IIS已經集成了IIS lockdown功能。
每個企業的服務器上可能都在運行多種服務,我們也不可能讓每個服務的版本信息都隱藏起來,但是對一些關鍵服務的信息進行必要的隱藏是應該的。通過評估系統反饋的服務版本信息,你可以更好的考察每個服務是否存在明顯的安全漏洞,并且這個工作能夠幫助你更清晰的認識到該如何保護你的系統安全。

























