本發(fā)明涉及網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,具體地說是一種面向web攻擊測試的收集被測系統(tǒng)基本信息的自動化方法。
背景技術(shù):
在網(wǎng)絡(luò)安全領(lǐng)域,web攻擊測試往往要組合使用大量的面向不同測試內(nèi)容的工具。對用到的這些工具的輸出的匯總整理及交叉分析,一般都要手動完成;并且測試過程要來回切換圖形界面或鍵入命令行命令。也有一些商用軟件提供了自動化執(zhí)行的功能,并且使用了gui層、邏輯層和數(shù)據(jù)庫層的分層架構(gòu)。確實(shí)給攻擊測試人員帶來了很大的便利;但也帶來了擴(kuò)展較困難的問題,例如對不斷推出的新工具的及時支持上。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種面向web攻擊測試的收集被測系統(tǒng)基本信息的自動化方法,降低了對資深安全測評人員的智力資源占用,提高了攻擊測試的效率,還實(shí)現(xiàn)了攻擊過程的無人值守。
本發(fā)明解決其技術(shù)問題所采取的技術(shù)方案是:一種面向web攻擊測試的收集被測系統(tǒng)基本信息的自動化方法,其特征是,具體包括以下步驟:
1)、采用shell粘合不同測試內(nèi)容的工具,主shell腳本調(diào)用不同工具的shell腳本;
2)、分別自動生成不同工具輸出文件和日志文件;
3)、根據(jù)輸出文件和日志文件提取工具輸出中的關(guān)注點(diǎn)信息或基于工具輸出生成關(guān)注點(diǎn)信息;
4)、根據(jù)關(guān)注點(diǎn)信息自動生成綜合報告;
5)、以所測產(chǎn)品的名稱為參數(shù)調(diào)用主shell腳本。
進(jìn)一步地,步驟1)操作的具體實(shí)現(xiàn)過程包括:
11)、將不同測試內(nèi)容的工具封裝成shell腳本;
12)、在主shell腳本中將公共的輸出文件目錄設(shè)置為環(huán)境變量;
13)、依次調(diào)用封裝工具的shell腳本;
14)、通過命令行命令傳入?yún)?shù)。
進(jìn)一步地,不同測試內(nèi)容的工具包括同一工具的不同命令行選項組合和不同的工具。
進(jìn)一步地,步驟12)操作中公共的輸出文件目錄設(shè)置為環(huán)境變量的方法具體包括:
121)、在主shell腳本定義out_path變量,保證目錄確實(shí)存在;
122)、將out_path設(shè)置為環(huán)境變量;
123)、在包含linux命令行界面下啟動工具的命令行命令的shell文件中使用out_oath作為輸出目錄的一部分,從而達(dá)到共享輸出目錄的目的。
進(jìn)一步地,步驟13)操作中調(diào)用封裝工具的shell腳本采用sh命令。
進(jìn)一步地,步驟2)操作中輸出文件記錄每個工具的輸出;日志文件記錄所有工具的執(zhí)行過程。
進(jìn)一步地,步驟3)操作中關(guān)注點(diǎn)信息為匹配到的帶關(guān)鍵字的行;
關(guān)注點(diǎn)信息的提取方法為:通過grep關(guān)鍵字,匹配到安全測試工具的輸出關(guān)鍵字。
本發(fā)明的有益效果是:
本發(fā)明采用shell腳本語言粘合面向不同測試內(nèi)容的工具,并記錄腳本執(zhí)行過程及腳本的輸出結(jié)果,通過shell命令提取工具輸出中的關(guān)注點(diǎn)信息或基于工具輸出生成關(guān)注點(diǎn)信息,最后將關(guān)注點(diǎn)信息梳理成綜合報告。
通過shell腳本構(gòu)建自動化執(zhí)行和報告流程,能夠顯著減少安全測評人員在測試中間過程上的時間消耗,增加投入到結(jié)果分析和后續(xù)策略上的精力。同時也積累下了安全測評的知識庫建設(shè)經(jīng)驗(yàn)。
本發(fā)明采用shell腳本粘合不同測試內(nèi)容的工具,能夠減少測試過程的時間浪費(fèi),提高報告分析的時間占比,從而改善智力資源分配方式并提高效率。與商用的自動化軟件相比,功能增強(qiáng)更容易,新工具支持更快捷。
附圖說明
圖1為本發(fā)明的方法流程圖。
具體實(shí)施方式
為能清楚說明本方案的技術(shù)特點(diǎn),下面通過具體實(shí)施方式,并結(jié)合其附圖,對本發(fā)明進(jìn)行詳細(xì)闡述。下文的公開提供了許多不同的實(shí)施例或例子用來實(shí)現(xiàn)本發(fā)明的不同結(jié)構(gòu)。為了簡化本發(fā)明的公開,下文中對特定例子的部件和設(shè)置進(jìn)行描述。此外,本發(fā)明可以在不同例子中重復(fù)參考數(shù)字和/或字母。這種重復(fù)是為了簡化和清楚的目的,其本身不指示所討論各種實(shí)施例和/或設(shè)置之間的關(guān)系。應(yīng)當(dāng)注意,在附圖中所圖示的部件不一定按比例繪制。本發(fā)明省略了對公知組件和處理技術(shù)及工藝的描述以避免不必要地限制本發(fā)明。
如圖1所示,一種面向web攻擊測試的收集被測系統(tǒng)基本信息的自動化方法,將在linux命令行界面下啟動不同工具的命令行命令(含參數(shù))分別寫入不同的shell文件中,然后將執(zhí)行這些shell文件的命令行命令依次寫入另一個shell文件(主控文件)中。這樣,可以保證不同的工具按設(shè)計的次序依次被啟動和執(zhí)行。
具體包括以下步驟:
1)、采用shell粘合不同測試內(nèi)容的工具,主shell腳本調(diào)用不同工具的shell腳本;
2)、分別自動生成不同工具輸出文件和日志文件;
3)、根據(jù)輸出文件和日志文件提取工具輸出中的關(guān)注點(diǎn)信息或基于工具輸出生成關(guān)注點(diǎn)信息;
4)、根據(jù)關(guān)注點(diǎn)信息自動生成綜合報告;
5)、以所測產(chǎn)品的名稱為參數(shù)調(diào)用主shell腳本。
在linux命令行界面上以“sh–xxxx.shp1p2…”的形式執(zhí)行主控shell腳本。
步驟1)操作的具體實(shí)現(xiàn)過程包括:
11)、將不同測試內(nèi)容的工具封裝成shell腳本;
12)、在主shell腳本中將公共的輸出文件目錄設(shè)置為環(huán)境變量;
13)、依次調(diào)用封裝工具的shell腳本;
14)、通過命令行命令傳入?yún)?shù)。
不同的工具需要傳入不同的參數(shù),如傳入ip地址為:
sh-xnmap.sh100.2.92.117中的100.2.92.117
sh-xwhatweb.shhttps://100.2.92.117:8443中的https://100.2.92.117:8443。
不同測試內(nèi)容的工具包括同一工具的不同命令行選項組合和不同的工具。
步驟12)操作中公共的輸出文件目錄設(shè)置為環(huán)境變量的方法具體包括:
121)、在主shell腳本定義out_path變量,保證目錄確實(shí)存在;
122)、將out_path設(shè)置為環(huán)境變量;
123)、在包含linux命令行界面下啟動工具的命令行命令的shell文件中使用out_oath作為輸出目錄的一部分,從而達(dá)到共享輸出目錄的目的。
具體的程序腳本可以為:
out_path="${base_dir}/${datetime}/${product_line}/"
mkdir-p${out_path}
exportout_path
#/bin/sh
targetip=$1
nmap-n-pn-a-p1-65535-on${out_path}_${targetip}.txt${targetip}
步驟13)操作中調(diào)用封裝工具的shell腳本采用sh命令。
如調(diào)用nmap工具和whatweb工具為:
sh-xnmap.sh100.2.92.117>nmap.log2>&1
sh-xwhatweb.shhttps://100.2.92.117:8443>whatweb.log2>&1
步驟2)操作中輸出文件記錄每個工具的輸出;日志文件記錄所有工具的執(zhí)行過程。
步驟3)操作中關(guān)注點(diǎn)信息為匹配到的帶關(guān)鍵字的行;
關(guān)注點(diǎn)信息的提取方法為:通過grep關(guān)鍵字,匹配到安全測試工具的輸出關(guān)鍵字。如:grep'summary'whatweb*.txt。
本發(fā)明的工具及其版本可以包括nmap7.01、whatweb0.4.8-dev、sslscan1.10.5-static/openssl1.0.2e-dev、ipmitool、snmpwalk5.7.2.1、rpcinfo、showmount1.2.8、smbclient4.2.10-debian。
以上所述只是本發(fā)明的優(yōu)選實(shí)施方式,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也被視為本發(fā)明的保護(hù)范圍。