你的網絡有多安全?只須問問Kali
譯文安全是人人都需要留意的方面,也是人人需要處理的方面。雖說你可以去外頭搜集一大堆的工具和實用程序來幫助自己,但肯定有一條更省力的路子。目前有幾個Linux發行版提供了一整套工具,可以滿足你的安全要求。其中比較流行的發行版之一是Kali Linux(前身是BackTrack),還有其他的發行版,比如BackBox或Lightweight Portable Security(LPS),它們可能更適合特定的要求。你可以在可引導的DVD或USB驅動器上運行這些發行版,讓你得以對受危及的機器進行取證分析。此外,你可以將它安裝在機器上,并將它搭建在網絡上,獲得更永久性的安全解決方案。
在這篇教程中,我們將使用Kali Linux,完成一系列可行的步驟,以分析和測試本地安全。我們只能介紹Kali Linux里面所有工具中的一部分,但你會學到一些基本的技術和方法,可以用于監控系統,測試防御體系。
資源
Kali Linux:http://www.kali.org/
Metasploit:http://www.linuxuser.co.uk/tutorials/www.metasploit.com
每個應用程序在菜單中都有一個條目。如果它是基于控制臺的應用程序,它在新的終端中打開時會列出這個工具的選項。
第1步:下載和安裝
第一步是搞一份可供使用的Kali Linux。主下載頁面提供了采用幾種不同格式、面向幾種不同架構的下載程序。通常的做法是,下載一個ISO映像文件,將其刻錄到CD,或制作一個可引導的USB驅動器。
第2步:硬件檢測
Kali Linux提供的一項出色的額外特性是,能夠在啟動系統之前查看硬件情況。了解一下你想研究的硬件的大致情況,這總是個好主意。這是你在啟動Kali后的一個啟動選項。
第3步:Netdiscover
首先要做的事情之一是,查明網絡上有哪些用戶或哪些設備。Netdiscover為你提供了在網絡上掃描IP地址的工具。該工具在不使用DHCP的無線網絡上特別有用。
第4步:Tcpflow
一旦你有了一份主機列表,接下來可能想查看在進行哪種通信。Tcpflow會監測你網絡上傳送的流量,并建立會話,那樣就可以分析這些會話,看看你的網絡在用來干嘛。
第5步:Intrace
一旦你知道了你網絡上進行哪種會話,可能有興趣想查明那些會話選擇了哪些路由。Intrace可以查看網絡上傳送的TCP數據包,從而像traceroute那樣列出數據包路徑。
第6步:Zenmap
識別了網絡上的主機后,你可能想要查看主機上哪些端口是開著的,在運行什么操作系統。這方面值得依賴的應用程序是Nmap。通常用于Nmap的圖形用戶界面(GUI)前端是Zenmap。
第7步:Sqlninja
現在我們需要開始探究安全了。說到安全,微軟總是個受氣包,SQL Server也不例外。大多數企業網絡使用微軟軟件,所以你需要測試它們是如何配置的。Sqlninja是SQL Server上的出色工具,采用了類似SQL注入攻擊的測試手法。
第8步:Acccheck
可能是你系統中薄弱環節的另一項服務是SMB,即Samba文件共享。實用程序acccheck可用來對帳戶密碼執行字典式攻擊,試圖突破Windows授權機制。
第9步:取證分析模式
如果你確實發現了一臺機器覺得有可能受到了危及,你在試圖對它進行一番研究時就要小心。Kali Linux在系統引導時提供了一種取證分析模式:僅僅讓系統引導,不掛載、不觸碰所有本地驅動器。那樣一樣,你就可以在不改變系統狀態的情況下進行測試了。
第10步:密碼離線破解
你想探究的其中一個方面是,某臺機器是不是由于選擇了安全性差的密碼而受到危及。有幾個工具可用來試圖破解密碼散列。這些工具大多采用字典式攻擊來破解密碼,比如John the Ripper。
第11步:Guymager
在一些情況下,某臺可疑機器太重要了,沒法讓它處于離線狀態。這種情況下,唯一的辦法就是在重新構建之前,對驅動器制作一份映像,便于以后探究。Guymager是為此目的而制作映像的工具之一。
第12步:Chkrootkit
你在探究過程中需要查找的其中一個方面就是,rootkit有沒有被人安裝,從而為壞人提供了一條后門通道。你可以用來查找的工具之一是chkrootkit。該實用程序會尋找奪取機器控制權所用的常見rootkit的痕跡。
第13步:社會工程學
社會方面是安全領域被忽視的一個方面。要是你的用戶沒有在安全使用計算機,世界上所有的安全措施都無濟于事。Kali Linux提供了一個社會工程學工具包,可以用來進行魚叉式釣魚攻擊之類的嘗試。
第14步:漏洞數據庫
除了測試社會方面外,你還要測試機器的安全,查找任何漏洞。為此,你可以試一試已知的安全漏洞。幸好,網上有數據庫列出了眾多已知的安全漏洞。
第15步:Metasploit
通常用來測試系統的工具是Metasploit,它提供了一個完備的框架,可匯總全面的攻擊途徑。這包括:讓人可以遠程訪問受危及機器的入侵、威脅和渠道。在Kali Linux里面,有些菜單項目讓你可以啟動Metasploit服務器。萬一你遇到了問題,還有一個菜單條目可以將診斷日志轉儲出來。Metasploit在客戶機/服務器模式下運行,所以一旦你啟動了服務器,就需要連接客戶機,以便針對你負責的那些機器試試幾個漏洞,看看是否存在安全隱患。
第16步:Armitage
可供使用的圖形化界面之一是Armitage。如果你已經啟動了Metasploit,那么可以讓Armitage連接到這臺已經運行的服務器。不然,Armitage會為你啟用一臺新的Metasploit服務器供你探究。
第17步:p0f
一旦你確保了網絡的安全,那只是邁出了頭一步。你還要密切關注網絡上發生的情況。p0f工具可以被動地監測網絡,查看網絡上有哪些機器,它們又在運行什么操作系統,同時不讓它們知道你在偵聽。
第18步:硬件漏洞
Kali3提供了一套獨特的工具,能夠測試其他硬件。有些工具可以探究安卓設備、藍牙協議和Arduino系統。
第19步:DDMS
DDMS是一款調試監測工具,為你提供了低層訪問及控制安卓機器的功能。你只要把設備插入到USB端口,啟動DDMS,就可以查看設備上發生的情況。你的確需要在開始前為特定版本安裝一套軟件開發工具包(SDK)。
第20步:安卓漏洞—apktool
一旦你連接上了安卓設備,可以試著運行各種漏洞,以獲得根訪問權。這個步驟差異很大,具體要看你的安卓運行在哪一種硬件上。一種類型的漏洞可能需要apktool,以便打開和編輯安卓設備上的APK文件。
第21步:藍牙
你還存在另一種可能的安全漏洞。藍牙協議用于鼠標、鍵盤及其他硬件。但安全從來容不得有半點閃失。Kali Linux提供了幾款工具,可以查看來回傳送的藍牙信號。
第22步:安裝在ARM上
Kali開發人員還為ARM架構版本提供了支持。你可以在主下載頁面上找到。甚至還有操作說明,介紹了如何將它安裝在Galaxy Note 10.1設備上,包括一個安裝映像文件。
第23步:結束
如果你遵照了上述步驟,就可以開始了解你系統的安全要求了。不過,這僅僅是個開始。Kali Linux里面還有眾多的工具,恕本文不逐一介紹了,所以膽子放大一點,看看還有其他什么工具。