自動化滲透測試方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及滲透測試,旨在提供自動化滲透測試方法及系統(tǒng)。該自動化滲透測試方法,包括步驟:配置系統(tǒng)參數(shù)信息,建立管理員用戶和普通用戶并登錄后設定需要滲透的目標工程,使用目標工程中配置的掃描方式,利用掃描工具進行目標工程漏洞掃描、識別及歸類,再進行目標工程滲透測試,最后滲透測試結果輸出;該自動化滲透測試系統(tǒng)包括系統(tǒng)管理模塊、工程管理模塊、漏洞掃描模塊、滲透測試模塊、結果展示模塊。本發(fā)明能根據(jù)配置信息,將任何滲透測試過程中用到的技術手段,包括信息收集、漏洞掃描、漏洞利用,以及漏洞利用之后的權限控制手段,全部集成、后臺處理,實現(xiàn)更高效、準確的全部自動化滲透技術。
【專利說明】自動化滲透測試方法及系統(tǒng)
【技術領域】
[0001]本發(fā)明是關于滲透防御映射對照技術、漏洞滲透智能邏輯控制技術和信息轉化翻譯【技術領域】,特別涉及自動化滲透測試方法及系統(tǒng)。
【背景技術】
[0002]隨著互聯(lián)網(wǎng)各種應用的快速發(fā)展(網(wǎng)上銀行、電子商務、個人空間、微博、大數(shù)據(jù)、云存儲等)不斷深入人們的生活,如果這些承載著大量信息的互聯(lián)網(wǎng)應用存在不安全隱患,被攻擊者惡意利用,那么個人信息、甚至是整個應用系統(tǒng)都會面臨安全風險。
[0003]隨著承載著紛雜多樣且海量數(shù)據(jù)信息的互聯(lián)網(wǎng)應用的蓬勃發(fā)展,大家也越來越關注互聯(lián)網(wǎng)應用信息安全。對于通常的互聯(lián)網(wǎng)應用管理員來說,基于安全的管理占用大量的工作時間且需要熟知攻防技術知識并不斷研究新的方法和技術。目前公知的各種漏洞安全工具入門門檻高,這對于管理員來講挑戰(zhàn)是很大的,且從漏洞發(fā)現(xiàn)到漏洞利用等測試需要花費很大的人工成本。
[0004]綜上,在現(xiàn)有技術中滲透測試的方法都是基于半工具、半人工。而且從漏洞發(fā)掘到漏洞利用等測試需要耗費大量的時間,多次運行,還需要人工輸入命令和使用不同工具的一步一步配置環(huán)境來進行滲透測試。
【發(fā)明內容】
[0005]本發(fā)明的主要目的在于克服現(xiàn)有技術中的不足,提供一種將任何滲透測試過程中用到的技術手段,包括信息收集、漏洞掃描、漏洞利用、滲透測試結果報告生成之后的權限控制手段,全部自動化的一種更高效、準確的滲透技術。為解決上述技術問題,本發(fā)明的解決方案是:
[0006]提供自動化滲透測試方法,具體包括下述步驟:
[0007]步驟一:配置系統(tǒng)參數(shù)信息,并保存在數(shù)據(jù)庫內;參數(shù)信息包括:系統(tǒng)操作日志、字典、更新記錄;
[0008]步驟二:建立管理員用戶和普通用戶用于登錄后,使用管理員用戶或普通用戶登錄,設定需要滲透的目標工程,進行目標工程的創(chuàng)建,設定目標工程采用的測試掃描方式,并將配置信息保存在數(shù)據(jù)庫內;配置信息包括:工程名稱、掃描地址、掃描方式、策略選擇和聞級參數(shù);
[0009]所述掃描方式包括全自動滲透、web掃描(web掃描是指利用web應用弱點掃描器webscan,配置web漏洞掃描策略進行滲透)、弱口令掃描(弱口令掃描是指利用暴力密碼破解工具,口令字典進行滲透)和主機掃描(主機掃描是指利用緩沖區(qū)溢出工具,主機溢出策略進行滲透);全自動滲透包含web掃描、弱口令掃描、主機掃描;
[0010]所述策略選擇包括自動識別策略、自定義策略;策略是指預先定義每種漏洞類型中每個指定漏洞攻擊的有效負載(payload),并保存在數(shù)據(jù)庫中;
[0011]所述高級參數(shù)包括掃描超時設置、掃描發(fā)包時間間隔設置、掃描ids繞過設置、指定cookie設置、sql注入替換設置和http認證信息設置;
[0012]步驟三:使用目標工程中配置的掃描方式,利用掃描工具進行目標工程漏洞掃描、識別及歸類;
[0013]步驟四:使用目標工程中配置的策略,利用步驟三中識別的漏洞,進行目標工程滲透測試,滲透測試方法包括sql注入、緩沖區(qū)溢出、暴力破解、主機信息探測與收集;
[0014]步驟五:將步驟三、步驟四中獲得的滲透測試結果,通過結果展示模塊輸出。
[0015]在本發(fā)明中,所述數(shù)據(jù)庫采用MYSQL數(shù)據(jù)庫。
[0016]在本發(fā)明中,所述掃描工具包括:主機掃描工具、弱口令掃描工具、web應用弱點掃描工具webscan、緩沖區(qū)溢出工具和暴力破解工具。
[0017]在本發(fā)明中,所述自動化滲透測試系統(tǒng)默認初始用戶超級管理員,具備最高權限。
[0018]在本發(fā)明中,所述步驟四中的滲透測試類型包括人工滲透測試和自動滲透測試;人工滲透測試是指利用滲透攻擊工具,根據(jù)漏洞掃描模塊掃描的漏洞進行關聯(lián)分析,根據(jù)分析的結果進行sql注入、溢出、暴力破解的滲透測試;自動滲透測試是指系統(tǒng)根據(jù)策略自動嘗試滲透攻擊測試,攻擊方式包括暴力破解、sql注入、溢出。
[0019]提供基于所述的自動化滲透測試方法的自動化滲透測試系統(tǒng),包括系統(tǒng)管理模塊、工程管理模塊、漏洞掃描模塊、滲透測試模塊、結果展示模塊;
[0020]所述系統(tǒng)管理模塊用于管理自動化滲透測試系統(tǒng)中的登錄用戶、系統(tǒng)更新和系統(tǒng)基本設置,通過超級管理員登陸,進行用戶賬號的添加、刪除和修改,以及系統(tǒng)設置;
[0021]所述工程管理模塊用于管理目標工程的信息,包括對目標工程進行創(chuàng)建,配置信息并保存在數(shù)據(jù)庫里;配置信息包括:工程名稱、掃描地址、地址說明、掃描方式、策略選擇和聞級參數(shù);
[0022]所述漏洞掃描模塊用于在啟動目標工程掃描后,執(zhí)行目標工程漏洞掃描、識別及歸類(工程目標掃描地址在系統(tǒng)后臺進行信息收集與分析后進入漏洞掃描模塊,在漏洞掃描模塊中使用漏洞庫中的腳本檢查目標工程掃描地址是否存在漏洞;漏洞掃描模塊是集成第三方工具實現(xiàn));
[0023]所述滲透測試模塊用于在啟動目標工程滲透測試后,利用漏洞掃描模塊獲得的漏洞信息,采用所選策略進行滲透測試;
[0024]所述結果展示模塊用于在滲透測試完成后,根據(jù)滲透測試結果,對滲透測試結果進行格式化信息處理,將格式轉換為用戶可視的格式。
[0025]在本發(fā)明中,所述用戶分為超級管理員、管理員、普通用戶;超級管理員登陸能進行用戶賬號的添加、刪除和修改,以及系統(tǒng)設置;普通用戶登陸能進行基本設置,包括修改密碼。
[0026]在本發(fā)明中,所述格式化信息處理是指將滲透測試獲取的信息,包括漏洞類型、漏洞等級、漏洞分布及漏洞利用結果,進行歸納和整理后輸出為(worcUpdf等)文本形式的文檔。
[0027]本發(fā)明的工作原理:自動化滲透測試系統(tǒng)支持傳統(tǒng)互聯(lián)網(wǎng)所有層面的滲透測試,包括:主機操作系統(tǒng)層、網(wǎng)絡層、數(shù)據(jù)庫層面、WebApp應用層等高精準、全自動、可擴展的深層滲透。其自動化滲透是指目標工程配置完成后,啟動任務自動完成信息收集、自動加載漏洞探測、自動加載漏洞利用、自動進行弱點/漏洞信息關聯(lián)分析;深層滲透包括但不限于:支持系統(tǒng)層漏洞、支持網(wǎng)絡設備滲透、支持Web應用層、支持數(shù)據(jù)庫層、支持社會工程學滲透(口令猜測、路徑推理、郵件欺騙、郵件釣魚);高精準滲透包括不限于:全面支持CVE漏洞編號匹配滲透、支持先發(fā)現(xiàn)漏洞,在手工探測漏洞、精準分析滲透目標,識別環(huán)境;可擴展?jié)B透包括不限于:可自定義攻擊腳本、可自定義字典、端口等、可自定義權限控制方式:命令行控制(反彈控制、主動連接)、webshell控制、圖形化管理協(xié)議(RDP等)。
[0028]與現(xiàn)有技術相比,本發(fā)明的有益效果是:
[0029]能根據(jù)配置信息,將任何滲透測試過程中用到的技術手段,包括信息收集、漏洞掃描、漏洞利用,以及漏洞利用之后的權限控制手段,全部集成、后臺處理,實現(xiàn)更高效、準確的全部自動化滲透技術。
【專利附圖】
【附圖說明】
[0030]圖1為自動化滲透測試方法的流程示意圖。
[0031]圖2為自動化滲透測試系統(tǒng)的各個模塊示意圖。
[0032]圖3為實施例中滲透測試流程示意圖。
【具體實施方式】
[0033]首先需要說明的是,本發(fā)明涉及信息安全攻防自動化技術,是計算機技術在信息安全領域的一種應用。在本發(fā)明的實現(xiàn)過程中,會涉及到多個軟件功能模塊的應用。 申請人:認為,如在仔細閱讀申請文件、準確理解本發(fā)明的實現(xiàn)原理和發(fā)明目的以后,在結合現(xiàn)有公知技術的情況下,本領域技術人員完全可以運用其掌握的軟件編程技能實現(xiàn)本發(fā)明。前述軟件功能模塊包括但不限于:系統(tǒng)管理模塊、工程管理模塊、漏洞掃描模塊、滲透測試模塊、結果展示模塊等,凡本發(fā)明申請文件提及的均屬此范疇, 申請人:不再一一列舉。
[0034]下面結合附圖與【具體實施方式】對本發(fā)明作進一步詳細描述:
[0035]如圖1所示是自動化滲透測試方法及系統(tǒng)的流程示意圖,具體步驟如下:
[0036]步驟一,設置好參數(shù)信息,并把配置參數(shù)信息保存在數(shù)據(jù)庫內;所述數(shù)據(jù)庫為MYSQL數(shù)據(jù)庫,所述數(shù)據(jù)庫的類型并不受限于本發(fā)明的技術方案,故在本發(fā)明方案實施例中不限制。參數(shù)信息包括:系統(tǒng)操作日志、字典、更新記錄。本領域技術人員清楚地明白應該如何設置參數(shù)。
[0037]步驟二,使用管理員用戶或普通用戶登錄,進行如下操作:設定需要滲透的目標工程,進行目標工程的添加、刪除、修改。配置需要滲透測試的目標需要滲透的測試的掃描方式,并將配置信息保存在數(shù)據(jù)庫內;配置信息包括:工程名稱、掃描地址、掃描方式、策略選擇。
[0038]步驟三,使用目標工程中配置的掃描方式進行目標工程漏洞掃描,掃描方式包括:全自動滲透、web掃描、弱口令掃描、主機掃描。
[0039]所述掃描方式集成權威的掃描工具包括不限于:主機掃描工具、弱口令掃描工具、web應用弱點掃描工具webscan。
[0040]步驟四,使用目標工程配置的策略進行目標工程滲透測試,利用步驟三中識別的漏洞。
[0041]策略選擇包括:自動別、自定義。策略是指預先定義每種漏洞類型中每個指定漏洞攻擊的有效負載(payload),其保存在指定數(shù)據(jù)庫。
[0042]滲透測試包括人工滲透,全自動滲透。所述全自動滲透是指系統(tǒng)根據(jù)策略自動嘗試滲透攻擊測試,攻擊方式包括暴力破解、sql注入、溢出。人工滲透利用滲透攻擊工具,根據(jù)漏洞掃描模塊掃描的漏洞進行關聯(lián)分析,根據(jù)分析的結果進行sql注入、溢出、暴力破解的滲透測試。
[0043]步驟五,結果展不t旲塊作為輸出。
[0044]如圖2所示,對自動化滲透測試系統(tǒng)的各個模塊進行詳細介紹:
[0045]1、系統(tǒng)管理模塊
[0046]使用java開發(fā),能在不同的操作系統(tǒng)平臺上使用。用于管理滲透系統(tǒng)中的登錄用戶與系統(tǒng)的基本設置。用戶可以用超級管理員登陸到用戶管理部分可以進行用戶賬號添力口,刪除,修改。超級管理員用戶可以進行用戶賬號添加,刪除,修改,系統(tǒng)設置。用戶分為超級管理員、管理員、普通用戶。使用普通用戶登陸時用戶只能進行基本設置,只包括修改密碼等。
[0047]2、工程管理模塊
[0048]此模塊主要是管理目標工程的信息。對目標工程進行創(chuàng)建等。用戶已普通用戶進入系統(tǒng)后,配置需要滲透測試的目標工程,掃描方式,掃描策略,并將配置信息保存在數(shù)據(jù)庫里。配置信息包括:工程名稱,掃描地址,地址說明,掃描方式,策略選擇。
[0049]3、漏洞掃描模塊
[0050]用戶以普通用戶進入系統(tǒng)后,啟動目標工程掃描。此處是后臺默認執(zhí)行。
[0051]4、滲透測試模塊
[0052]用戶已普通用戶進入系統(tǒng)后,啟動目標工程在漏洞掃描模塊進行掃描漏洞信息識別后,利用漏洞信息采用所選策略進行滲透測試。滲透測試分為自動滲透和人工滲透兩種。自動滲透是后臺默認執(zhí)行,人工滲透是利用漏洞信息進行關聯(lián)分析進行手工滲透。
[0053]5、結果展示模塊
[0054]自動滲透測試完成后,根據(jù)滲透測試結果,對滲透測試結果進行格式化信息處理,并將格式轉換為用戶可視的格式。格式化的目標是將滲透測試獲取的信息,一般為漏洞類型、漏洞等級、漏洞分布及漏洞利用結果一個簡短說明,將此類信息歸納和整理后輸出為word、pdf等文本形式的文檔,以便信息安全工程師查看。
[0055]圖3為本發(fā)明的一個實施例中滲透測試流程的示意圖,步驟包括:
[0056]I)用戶登錄到系統(tǒng),新建目標工程并保存在指定數(shù)據(jù)庫內,啟動工程掃描;
[0057]2)使用目標工程中配置的掃描方式掃描所述目標工程地址中的漏洞,調用對應的端滲透引擎,掃描出目標工程漏洞;
[0058]3)掃描完成后,采用目標工程所選策略,進行漏洞利用從而完成滲透測試;
[0059]4)自動滲透測試完成后,根據(jù)滲透測試結果,對結果進行格式化信息處理,并將格式轉換為用戶可視的格式。
[0060]最后,需要注意的是,以上列舉的僅是本發(fā)明的具體實施例。顯然,本發(fā)明不限于以上實施例,還可以有很多變形。本領域的普通技術人員能從本發(fā)明公開的內容中直接導出或聯(lián)想到的所有變形,均應認為是本發(fā)明的保護范圍。
【權利要求】
1.自動化滲透測試方法,其特征在于,具體包括下述步驟: 步驟一:配置系統(tǒng)參數(shù)信息,并保存在數(shù)據(jù)庫內;參數(shù)信息包括:系統(tǒng)操作日志、字典、更新記錄; 步驟二:建立管理員用戶和普通用戶用于登錄后,使用管理員用戶或普通用戶登錄,設定需要滲透的目標工程,進行目標工程的創(chuàng)建,設定目標工程采用的測試掃描方式,并將配置信息保存在數(shù)據(jù)庫內;配置信息包括:工程名稱、掃描地址、掃描方式、策略選擇和高級參數(shù); 所述掃描方式包括全自動滲透、Web掃描、弱口令掃描和主機掃描;全自動滲透包含web掃描、弱口令掃描、主機掃描; 所述策略選擇包括自動識別策略、自定義策略;策略是指預先定義每種漏洞類型中每個指定漏洞攻擊的有效負載,并保存在數(shù)據(jù)庫中; 所述高級參數(shù)包括掃描超時設置、掃描發(fā)包時間間隔設置、掃描ids繞過設置、指定cookie設置、sql注入替換設置和http認證信息設置; 步驟三:使用目標工程中配置的掃描方式,利用掃描工具進行目標工程漏洞掃描、識別及歸類; 步驟四:使用目標工程中配置的策略,利用步驟三中識別的漏洞,進行目標工程滲透測試,滲透測試方法包括sql注入、緩沖區(qū)溢出、暴力破解、主機信息探測與收集; 步驟五:將步驟三、步驟四中獲得的滲透測試結果,通過結果展示模塊輸出。
2.根據(jù)權利要求1所述的自動化滲透測試方法,其特征在于,所述數(shù)據(jù)庫采用MYSQL數(shù)據(jù)庫。
3.根據(jù)權利要求1所述的自動化滲透測試方法,其特征在于,所述掃描工具包括:主機掃描工具、弱口令掃描工具、web應用弱點掃描工具webscan、緩沖區(qū)溢出工具和暴力破解工具。
4.根據(jù)權利要求1所述的自動化滲透測試方法,其特征在于,所述自動化滲透測試系統(tǒng)默認初始用戶超級管理員,具備最高權限。
5.根據(jù)權利要求1所述的自動化滲透測試方法,其特征在于,所述步驟四中的滲透測試類型包括人工滲透測試和自動滲透測試;人工滲透測試是指利用滲透攻擊工具,根據(jù)漏洞掃描模塊掃描的漏洞進行關聯(lián)分析,根據(jù)分析的結果進行sql注入、溢出、暴力破解的滲透測試;自動滲透測試是指系統(tǒng)根據(jù)策略自動嘗試滲透攻擊測試,攻擊方式包括暴力破解、sql注入、溢出。
6.基于權利要求1所述的自動化滲透測試方法的自動化滲透測試系統(tǒng),其特征在于,包括系統(tǒng)管理模塊、工程管理模塊、漏洞掃描模塊、滲透測試模塊、結果展示模塊; 所述系統(tǒng)管理模塊用于管理自動化滲透測試系統(tǒng)中的登錄用戶、系統(tǒng)更新和系統(tǒng)基本設置,通過超級管理員登陸,進行用戶賬號的添加、刪除和修改,以及系統(tǒng)設置; 所述工程管理模塊用于管理目標工程的信息,包括對目標工程進行創(chuàng)建,配置信息并保存在數(shù)據(jù)庫里;配置信息包括:工程名稱、掃描地址、地址說明、掃描方式、策略選擇和高級參數(shù); 所述漏洞掃描模塊用于在啟動目標工程掃描后,執(zhí)行目標工程漏洞掃描、識別及歸類; 所述滲透測試模塊用于在啟動目標工程滲透測試后,利用漏洞掃描模塊獲得的漏洞信息,采用所選策略進行滲透測試; 所述結果展示模塊用于在滲透測試完成后,根據(jù)滲透測試結果,對滲透測試結果進行格式化信息處理,將格式轉換為用戶可視的格式。
7.根據(jù)權利要求6所述的自動化滲透測試系統(tǒng),其特征在于,所述用戶分為超級管理員、管理員、普通用戶;超級管理員登陸能進行用戶賬號的添加、刪除和修改,以及系統(tǒng)設置;普通用戶登陸能進行基本設置,包括修改密碼。
8.根據(jù)權利要求6所述的自動化滲透測試系統(tǒng),其特征在于,所述格式化信息處理是指將滲透測試獲取的信息,包括漏洞類型、漏洞等級、漏洞分布及漏洞利用結果,進行歸納和整理后輸出為文本形式的文檔。
【文檔編號】G06F21/57GK104200167SQ201410381582
【公開日】2014年12月10日 申請日期:2014年8月5日 優(yōu)先權日:2014年8月5日
【發(fā)明者】張月明, 范淵 申請人:杭州安恒信息技術有限公司