黃偉軍
(中國石油新疆職業(yè)技能鑒定中心,新疆 克拉瑪依 834000)
滲透測試作為信息安全等級保護(hù)和風(fēng)險評估的基礎(chǔ)性工作,通過對用戶單位安全性措施的定期嚴(yán)格評估,幫助用戶發(fā)現(xiàn)新的威脅,理解當(dāng)前的信息安全狀況,重新分配其內(nèi)部信息安全資源。信息安全風(fēng)險評估分析是通過主動滲透測試等多種方式,對信息系統(tǒng)的安全性展開的一種綜合評估分析方法。這個過程包括對系統(tǒng)的弱點、技術(shù)缺陷或漏洞進(jìn)行主動分析,發(fā)現(xiàn)和挖掘系統(tǒng)中存在的脆弱性漏洞,并利用這些風(fēng)險漏洞對信息系統(tǒng)中最具價值的核心部分進(jìn)行攻擊,以竊取核心數(shù)據(jù)及對數(shù)據(jù)庫提權(quán),從而將系統(tǒng)安全風(fēng)險最大化的暴露出來,然后據(jù)此撰寫技術(shù)脆弱性風(fēng)險報告,評估當(dāng)前信息系統(tǒng)的安全現(xiàn)狀,并提出風(fēng)險防范的解決辦法。
下面通過對某個具有后臺數(shù)據(jù)庫的信息管理系統(tǒng)進(jìn)行SQL注入攻擊 (一種利用網(wǎng)頁編程人員對用戶輸入信息的合法性不進(jìn)行必要驗證的漏洞發(fā)起的攻擊行為),通過程序返回的結(jié)果,實現(xiàn)對目標(biāo)系統(tǒng)核心數(shù)據(jù)庫提取權(quán)限的操作。SQL注入攻擊方式具有一定代表性,近年來一直困擾著眾多企業(yè),成為令企業(yè)數(shù)據(jù)泄密的最大風(fēng)險。本例中通過模擬實際的攻擊路徑演示,描述網(wǎng)站對外提供Web服務(wù)的安全風(fēng)險及風(fēng)險評估的基本過程。
利用端口或漏洞掃描工具對目標(biāo)主機(jī)所在的網(wǎng)段進(jìn)行探測。本例中使用SuperScan3.0(一款功能強(qiáng)大的免費(fèi)端口掃描軟件)對目標(biāo)主機(jī)進(jìn)行端口掃描,查看開放的服務(wù)及端口信息。

圖1 目標(biāo)主機(jī)掃描結(jié)果截圖
從圖1中可看出,目標(biāo)主機(jī)開放了 WWW、FTP和SQL Server服務(wù)。可通過密碼字典工具對開放的服務(wù),如FTP、SQL Server進(jìn)行破解,進(jìn)一步刺探上述服務(wù)的弱口令信息,或用漏洞掃描工具對目標(biāo)主機(jī)進(jìn)行滲透攻擊。
訪問目標(biāo)Web服務(wù)器網(wǎng)址,通過手工驗證注入點的方式,發(fā)現(xiàn)該管理系統(tǒng)的個人信息顯示頁面。本例中內(nèi)部網(wǎng)址http://192.168.10.45/See.asp? ID=46&titleID=36 可能有 SQL 注入漏洞。如圖2~3所示,利用旁注Web綜合檢測程序(數(shù)據(jù)庫爆破工具)對注入點進(jìn)行攻擊,嘗試破解網(wǎng)站管理員的賬戶和密碼。

圖2 數(shù)據(jù)庫爆破工具使用截圖1

圖3 數(shù)據(jù)庫爆破工具使用截圖2
破解出數(shù)據(jù)庫后臺管理帳號,進(jìn)入目標(biāo)主機(jī)的后臺管理頁面,找到并登錄網(wǎng)站的管理后臺。通常的網(wǎng)站后臺都允許上傳文件,上傳ASP木馬,通過木馬文件遠(yuǎn)程打開網(wǎng)站服務(wù)器的目錄,找到Web目錄中的conn_*.asp文件。這個文件中通常都存有SQLServer的登錄用戶名和口令,可以得到SQLServer口令。
啟動本地的SQLserver客戶端,運(yùn)行SQL命令,在目標(biāo)主機(jī)中添加賬戶,并利用得到的口令登陸目標(biāo)數(shù)據(jù)庫。具體步驟如下:
首先,在SQLserver客戶端界面上點“新建查詢”,輸入如下命令激活組件xp_cmdshell。

接著,繼續(xù)輸入命令,添加一個管理員賬號。

然后,開啟目標(biāo)服務(wù)器的遠(yuǎn)程桌面連接。

最后,利用新加入的賬戶和密碼通過遠(yuǎn)程桌面的方式登錄到目標(biāo)服務(wù)器,完成滲透測試攻擊過程。
通過對上述滲透測試過程的簡單分析,可以看出Web服務(wù)器網(wǎng)站一般存在以下幾個風(fēng)險點:
(1)用戶可以進(jìn)行登陸或查詢功能的頁面;
(2)對外提供服務(wù)的端口有弱口令存在;
(3)數(shù)據(jù)庫內(nèi)容沒有加密,登陸口令過于簡單;
(4)服務(wù)器沒有進(jìn)行最小化安裝,存在多余的存儲過程或組件;
(5)重要文件系統(tǒng)沒有進(jìn)行加密保存。
根據(jù)發(fā)現(xiàn)的風(fēng)險源,可有針對性地制定信息系統(tǒng)安全風(fēng)險防范的一般過程。首先,加固用戶網(wǎng)站代碼。本例的網(wǎng)站代碼中有顯性的注入點,如各種輸入表單;也有隱性的注入點,可通過專業(yè)工具來進(jìn)行挖掘。在客戶端和服務(wù)端,都需對SQL注入點的關(guān)鍵字和特殊字符通過函數(shù)進(jìn)行過濾,并對用戶輸入從多方面檢驗其合法性。當(dāng)SQL語句執(zhí)行出錯時,采用自己定制錯誤頁面的方式防止直接將數(shù)據(jù)庫返回的錯誤信息顯示給用戶,以規(guī)范代碼安全性,完成代碼的安全加固。比如本案例中,頁面返回的錯誤信息沒有規(guī)范處理,也沒有對用戶輸入界面進(jìn)行數(shù)據(jù)過濾,使?jié)B透測試攻擊者找到了SQL注入點。
其次,準(zhǔn)確設(shè)置數(shù)據(jù)庫管理系統(tǒng)安全配置項。數(shù)據(jù)庫管理系統(tǒng)常常提供一些安全方面的配置項,比如在SQLServer數(shù)據(jù)庫中,新建一個(而且只建一個)與SA一樣權(quán)限的超級用戶來管理數(shù)據(jù)庫,并使用復(fù)雜的密碼,同時養(yǎng)成定期修改密碼的好習(xí)慣。使用Windows身份驗證模式,可以使數(shù)據(jù)庫免受大部分Internet工具的侵害。系統(tǒng)自帶的一些存儲過程很容易被黑客用來攻擊或破壞系統(tǒng),如果不需要,就可以將其刪除或禁用,如本例中xp_cmdshell存儲過程就需要禁用。
最后,要配置好操作系統(tǒng)的安全功能。Windows操作系統(tǒng)在硬盤分區(qū)時就應(yīng)該選擇NTFS作為文件系統(tǒng)的格式,因為NTFS文件系統(tǒng)在性能、安全、可靠性方面提供了很多高級功能,通過它可以實現(xiàn)任意文件或文件夾的加密和權(quán)限設(shè)置,以及磁盤配額和壓縮等高級功能。數(shù)據(jù)庫文件和應(yīng)用系統(tǒng)文件是攻擊的重要目標(biāo),需要重點保護(hù)。我們可以利用操作系統(tǒng)提供的文件權(quán)限設(shè)置和加密功能來保護(hù)數(shù)據(jù)庫文件。本例中目標(biāo)服務(wù)器中的數(shù)據(jù)庫等重要文件沒有加密處理,攻擊者通過木馬程序得到上述文件后可輕易實現(xiàn)數(shù)據(jù)庫的破解。
基于漏洞的滲透測試是當(dāng)前信息安全評估的主要技術(shù)手段。漏洞的攻擊途徑除操作系統(tǒng)的漏洞外,其他各種中間件軟件,如tomcat、websphere的弱口令,以及各種長期沒有進(jìn)行更新的應(yīng)用系統(tǒng)軟件,也是攻擊的主要目標(biāo)源。信息系統(tǒng)的安全性取決于信息系統(tǒng)最薄弱的環(huán)節(jié),所以構(gòu)建立體的、縱深防御的信息安全體系,是信息安全風(fēng)險評估的最終目標(biāo),也是我們信息化安全管理人員不懈努力的方向。