滲透測試的方法(什麼是滲透測試)

滲透測試,是為了證明網路防禦按照預期計劃正常執行而提供的一種機制。滲透測試是通過模擬惡意黑客的攻擊方法,來評估計算機網路系統安全的一種評估方法。這個過程包括對系統的任何弱點、技術缺陷或漏洞的主動分析,這個分析是從一個攻擊者可能存在的位置來進行的,並且從這個位置有條件主動利用安全漏洞。

什麼是滲透測試?

滲透測試是指滲透人員在不同的位置利用各種手段對某個特定網路進行測試,以期發現和挖掘系統中存在的漏洞,然後輸出滲透測試報告,並提交給網路所有者。網路所有者根據滲透人員提供的滲透測試報告,可以清晰知曉系統中存在的安全隱患和問題。

它需要得到使用者的授權,基於合法性才可以對網站進行滲透,之後根據測試結果編寫報告,然後進行網站樓的修補。 滲透測試一般分為兩種:黑盒測試和白盒測試。黑盒測試是隻根據網站的URL進行滲透分析,白盒測試是根據網站的原始碼和其他相關全面資訊進行滲透,偏於程式碼分析。

2017 年 6 月 1 日,《中華人民共和國網路安全法》正式實施,明確要求國內運營的資訊系統須實施等級保護制度,使等級保護制度成為國家基本制度並上升到法律層面。在等級保護的基本要求中,雖沒有相應的技術標準對資訊系統“抗滲透”能力做明確規定,但針對定級為第三級及以上的資訊系統,在基本要求的安全技術層面,對系統抵禦大規模惡意攻擊能力、非法入侵檢測與防禦能力、抗惡意程式碼攻擊能力、安全事件應急響應及監控等能力做了詳細要求。同時在安全管理層面,要求資訊系統須經過公正的第三方安全測試才能上線執行。

因此,在等級保護測評過程中如何及時、準確地發現系統存在的安全風險,成為非常迫切的需求。滲透測試模擬攻擊者的思維,採用手動或技術成熟的工具對被測系統的安全性進行全面評估,從而最大程度地發現系統存在的安全隱患,成為等級保護測評中一個必不可少的重要環節。

滲透測試的流程?

通常,滲透測試一般包括測試準備、資訊探測、測試實施、報告編制四個階段。各個環節相關工作內容概述如下:

1. 測試準備階段 在獲取到單位的書面授權許可後,開始滲透測試的實施。將實施範圍、方法、工具、時間、人員等具體方案與單位進行交流,溝通可能存在的測試風險,並得到單位的認可。整個測試過程都在單位的監督和控制下進行。

2. 資訊探測階段 滲透測試過程中,根據規定的測試範圍收集資訊系統相關資訊,可採用一些商業或開源的安全評估工具進行收集,如 Webinspect、Appscan、Nessus、Nmap 等,並對探測到的埠、服務、IP、DNS、OS 等資訊進行整理,為下一步測試實施階段提供支撐。

3. 測試實施階段 滲透測試人員對探測到的資訊進行分析,通過制定滲透策略、準備攻擊程式碼、研究繞過機制等步驟進行測試。實施路徑主要包括內網和外網兩種:

① 內網測試 從內網發起對資訊系統的測試工作,目的是避開防火牆等裝置的安全防護措施。此階段如能成功,可能獲得普通使用者許可權,然後通過提權等操作,獲取系統的最高許可權。以被控制的伺服器作為跳板,從而對其他目標進一步滲透測試。

② 外網測試 直接通過網際網路,對資訊系統進行滲透測試,操作流程與內網測試類似。

4.報告編制階段 實施人員分析測試結果,編寫系統滲透測試報告,主要包括具體測試結果、漏洞結果評估及整改建議等內容。

測試實施

滲透測試人員使用多種系統或工具進行資訊收集工作,包括系統掃描工具 Nmap、Openvas、Burpsuit 等,經掃描發現系統開放了 80、139、445、3389、47001 等埠。針對這些服務從系統層面和 WEB 層面進行分析,發現系統存在檔案共享、遠端接入、SQL 注入、XML 注入等漏洞,為下一步的漏洞利用提供基礎。

根據獲取的漏洞資訊,結合資訊系統的特點、異構性等方面對漏洞進行確認,並制定滲透測試策略。獲取的資訊發現高危漏洞,嘗試直接利用高危漏洞,驗證是否可用。

第一步:制定滲透測試策略: 1) 目標: 獲取被測系統伺服器的控制許可權; 2) 實施途徑: 系統漏洞掃描--> 服 務 漏 洞 --> 漏 洞 利 用 --> 獲 取 遠 程 Shell--> 建立使用者 --> 遠端桌面; 3) 說明: 如果獲取的遠端 Shell 許可權較低,則需提權後再建立使用者。

第二步:採用不同的漏掃工具對已掃描的漏洞進行確認,結果確認系統伺服器存在熟知漏洞( 掃描工具為 nmap 和 Nessus) ,編號為 MS08 - 067。該漏洞是針對檔案共享服務的,若伺服器收到特製的 RPC 請求,則該漏洞可能允許遠端執行程式碼。

第三步:漏洞確認之後,採用漏洞利用工具實施溢位,順利獲取 Shell 控制介面,執行“whoami”命令,檢視“使用者及使用者組”,顯示為“Administrator”使用者組,表明獲取的是系統管理員的許可權,即獲取系統最高控制權。

第四步:通過該 Shell 建立後門帳號,後續使用後門帳號即可遠端登入系統,至此整個過程完成( 該步驟獲得使用者許可) 。

滲透測試完成後,測試人員整理工作內容和成果。根據發現的安全漏洞和安全風險提出系統存在的問題,並有針對性的提出問題整改建議,形成《滲透測試報告》。

進行滲透測試的必要性?

藉助滲透測試,可以先於黑客發現系統安全隱患,提前部署好安全防禦措施,保證系統的每個環節在未來都能經得起黑客挑戰,進一步鞏固客戶對企業及平臺的信賴。

滲透測試,是為了證明網路防禦按照預期計劃正常執行而提供的一種機制。通過滲透測試,你的公司定期更新安全策略和程式,時時給系統打補丁,並採用了漏洞掃描器等工具,以確保所有補丁都已打上。

通過滲透測試,企業使用者可以從攻擊角度瞭解系統是否存在隱性漏洞和安全風險,特別是在進行安全專案之前進行的滲透測試,可以對資訊系統的安全性得到深刻的感性認知,有助於進一步健全安全建設體系;滲透測試完畢後,也可以幫助使用者更好地驗證經過安全保護後的網路是否真實的達到了預期安全目標、遵循了相關安全策略、符合安全合規的要求。

通過滲透測試可以獲得什麼?

1. 技術安全性的驗證

滲透測試作為獨立的安全技術服務,其主要目的就在於驗證整個目標系統的技術安全性,通過滲透測試,可在技術層面定性的分析系統的安全性。

2. 查詢安全隱患點

滲透測試是對傳統安全弱點的串聯並形成路徑,最終通過路徑式的利用而達到模擬入侵的效果。所以,在滲透測試的整個過程中,可有效的驗證每個安全隱患點的存在及其可利用程度。

3. 安全教育

滲透測試的結果可作為內部安全意識的案例,在對相關的介面人員進行安全教育時使用。

4. 安全技能的提升

一份專業的滲透測試報告不但可為使用者提供作為案例,更可作為常見安全原理的學習參考。