王 凱,李志超,王榮昌,高文清,王微雅,王 炅
(閩江學院 計算機與控制工程學院,福建 福州 350121)
隨著科學技術的飛速發展,21世紀人們己經生活在信息時代。20世紀人類兩大科學技術成果——計算機技術和網絡技術,均己深入到人類社會的各個領域。網絡已經成為社會和經濟發展的強大動力,其地位越來越重要。但是,在方便享用信息的同時,也帶來了安全方面的問題。
據統計,在Internet上有超過95%的黑客會攻擊那些因為不常更新系統的主機,這些主機往往存在許多安全漏洞,而大多數互聯網的黑客其實只是通過一些簡單的掃描程序尋找存在安全漏洞的主機,破解并登錄這些主機后再以這些主機為跳板繼續攻擊更多的主機。因此,只要找到安全漏洞,打上相應的安全補丁或者修改相應的配置,就可以杜絕大部分的攻擊。網絡安全漏洞掃描系統就是源于黑客在入侵網絡系統時采用的工具。為了更好地讓用戶了解到計算機系統漏洞的危害,本文著重進行了基于Nmap和Nessus的漏洞掃描方法研究。
Nessus漏洞掃描工具會根據已知的安全漏洞集合(這些安全漏洞集合也正是導致系統遭受破壞的主要因素),對系統進行全面的測試,并對測試結果進行分析,從而對系統安全性給出總體的評價,最后對系統存在的漏洞給出修補建議。可見,漏洞掃描工具可以有效地提高網絡的安全性。
Nmap常用的功能有主機發現、端口掃描、版本偵測、操作系統偵測、防火墻/IDS規避、NSE腳本引擎,它是網絡安全工作者必備的工具之一。而在本實驗中,會用到它的主機發現功能、端口掃描功能、版本探測功能[1]。
Nessus是一款系統漏洞掃描與分析軟件,是一種基于客戶端/服務器結構的網絡掃描系統。Nessus采用的是插件技術,系統首先制定策略,之后再根據掃描策略來調用不同的插件,也就是子程序,最后通過比對漏洞數據庫和掃描結果來確定系統漏洞。
使用VMware虛擬機可以搭建各種仿真環境,配置足夠的情況下可開啟多臺靶機進行攻擊實驗。本文只進行一臺靶機和一臺攻擊機的實驗[2]。
環境配置如表1所示,為了實驗能夠順利進行選擇了未打補丁的Window 7企業版操作系統,攻擊機選擇預裝了許多滲透測試軟件的Kali Linux系統。其中攻擊機上的所需軟件Nmap與Metasploit已經預裝,但是Nessus需要自己到官方網站中去下載安裝。
用VMware虛擬機搭建掃描環境后,應當對其進行聯通測試,確保實驗能夠正常進行。如果環境搭建沒有問題,那么兩臺虛擬機之間應該是能夠Ping通的,打開Kali Linux系統的終端,輸入Ping命令[3]。操作命令如下:
root@kali:~# ping 10.10.10.137
進行端口掃描能夠探測主機的端口是否開放,版本服務信息的獲取有助于掃描者推斷出可能存在漏洞的類別,通過系統偵測能夠獲取目標主機上操作系統的版本信息,提前獲知被攻擊者的主機信息,有利于攻擊者進行推斷掃描。操作命令如下:

表1 環境配置表
root@kali:~# nmap -sS -sV -O 10.10.10.0/
在使用Nmap確定靶機的IP地址和開放服務后可以初步確定攻擊方案,然后對靶機進行Nessus漏洞掃描。添加任務,這一步需要填寫任務名、被掃描的靶機IP信息[4],如圖1所示。

圖1 Nessus漏洞掃描圖
使用Nessus對靶機進行漏洞掃描完成之后,還需要對漏洞掃描報告進行分析,然后才能確定最終的漏洞利用方案。詳細掃描報告包括漏洞描述、解決辦法等如下截取部分所示。
MS17-010:Security Update for Microsoft Windows SMB Server (4013389) (ETERNALBLUE) (ETERNALCHAMPION) (ETERNALROMANCE) (ETERNALSYNERGY) (WannaCry) (EternalRocks) (Petya) (uncredentialed check)
Description
The remote Windows host is affected by the following vulnerabilities :
- Multiple remote code execution vulnerabilities exist in Microsoft Server Message Block 1.0 (SMBv1) due to improper handling of certain requests. An unauthenticated, remote attacker can exploit these vulnerabilities, via a specially crafted packet, to execute arbitrary code. (CVE-2017-0143, CVE-2017-0144, CVE-2017-0145, CVE-2017-0146, CVE-2017-0148)
Solution
For unsupported Windows operating systems, e.g. Windows XP, Microsoft recommends that users discontinue the use of SMBv1. SMBv1 lacks security features that were included in later SMB versions. SMBv1 can be disabled by following the vendor instructions provided in Microsoft KB2696547. Additionally, US-CERT recommends that users block SMB directly by blocking TCP port 445 on all network boundary devices. For SMB over the NetBIOS API, block TCP ports 137 / 139 and UDP ports 137 / 138 on all network boundary devices.
步驟1:尋找攻擊模塊,將漏洞分析報告中的漏洞編號記錄下來,并在Kali Linux系統中打開終端進入msfconsole模式,在該模式下搜尋漏洞利用模塊[5]。操作命令如下:
msf> search ms17_010
步驟2:加載需要利用的攻擊模塊,這里使用能Get Shell的攻擊模塊。操作命令如下:
msf> use exploit/windows/smb/ms17_010_eternalblue
步驟3:設置攻擊參數,例如靶機IP地址,確定攻擊的目標。操作命令如下:
msf exploit(windows/smb/ms17_010_eternalblue) > set RHOST 10.10.10.137
步驟4:運行攻擊模塊,攻擊靶機獲得靶機的shell。操作命令如下:
msf exploit(windows/smb/ms17_010_eternalblue) > exploit
本文設計并實現了基于Nessus的漏洞掃描,挖掘出漏洞并利用。實驗使用VMware虛擬機搭建實驗環境,既能降低項目的成本,又能培養學生的動手能力。經過主機探測、漏洞掃描、漏洞利用的實驗流程,能夠很好地模擬現實中存在的攻擊過程,使學生對攻擊原理以及漏洞的原理有進一步的了解。此外,實驗的攻擊結果能夠使學生深刻的認識到系統漏洞的危害,進而衍生出其漏洞防護的重視,值得推廣。