本發(fā)明涉及計(jì)算機(jī)軟件信息技術(shù),特別涉及網(wǎng)絡(luò)安全中的弱口令爆破分析。
背景技術(shù):
隨著網(wǎng)絡(luò)和計(jì)算機(jī)軟件信息技術(shù)的發(fā)展,網(wǎng)絡(luò)安全越來(lái)越受到大家的重視和關(guān)注,相關(guān)的安全測(cè)試也越來(lái)越必不可少。
在安全測(cè)試中,弱口令爆破都會(huì)做為一個(gè)使用頻繁的常用安全測(cè)試方法,測(cè)試人員可以通過(guò)該方法模擬黑客進(jìn)行攻擊,驗(yàn)證被測(cè)網(wǎng)址是否存在弱密碼,提高被測(cè)網(wǎng)站的安全等級(jí);但是弱口令爆破的成功率高低取決于密碼字典的內(nèi)容,且現(xiàn)在常用的密碼字典都不具備自動(dòng)更新的能力。目前的弱口令爆破字典,要么是提供了簡(jiǎn)單的賬戶(hù)密碼,只能爆破一些默認(rèn)口令,要么只是提供了一些基于字母和數(shù)字的隨機(jī)組合,這些組合很多根本用不到,且增加了密碼字典文件的大小,以現(xiàn)在比較流行的28G密碼字典為例,在弱口令爆破測(cè)試工具加載后,弱口令爆破的時(shí)間往往持續(xù)24小時(shí)以上,且遍歷了很多不常用的口令,不但使弱口令爆破工作時(shí)間非常長(zhǎng),而且影響測(cè)試工作效率,基于這種情況,測(cè)試人員在進(jìn)行弱口令爆破測(cè)試中往往僅進(jìn)行默認(rèn)口令的測(cè)試,或是定期手動(dòng)在密碼字典里面添加一些通過(guò)社會(huì)工程學(xué)獲取到的賬戶(hù)密碼,這導(dǎo)致了滲透測(cè)試中的弱口令爆破存在局限性,也給安全測(cè)試工作帶來(lái)了很多的不便。因此需要一個(gè)能使弱口令爆破密碼字典自動(dòng)進(jìn)行有意義更新的手段,以實(shí)現(xiàn)在安全測(cè)試工作中更簡(jiǎn)單、更快捷、更有效地對(duì)目標(biāo)網(wǎng)站進(jìn)行弱口令爆破測(cè)試的需求。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問(wèn)題,就是提供一種具有自動(dòng)學(xué)習(xí)功能的密碼特征庫(kù)系統(tǒng)及其學(xué)習(xí)方法以實(shí)現(xiàn)高效、快捷及準(zhǔn)確的安全測(cè)試。
本發(fā)明解決所述技術(shù)問(wèn)題,采用的技術(shù)方案是,具有自動(dòng)學(xué)習(xí)功能的密碼特征庫(kù)系統(tǒng),包括客戶(hù)端及服務(wù)器端,客戶(hù)端及服務(wù)器端之間建立連接,所述客戶(hù)端包含了網(wǎng)絡(luò)監(jiān)聽(tīng)模塊、信息識(shí)別模塊、信息收集模塊和信息發(fā)送模塊;
所述網(wǎng)絡(luò)監(jiān)聽(tīng)模塊,用于對(duì)待測(cè)目標(biāo)的網(wǎng)絡(luò)狀態(tài)進(jìn)行數(shù)據(jù)流程監(jiān)視,對(duì)網(wǎng)絡(luò)上信息傳輸進(jìn)行管理,判斷并抓取數(shù)據(jù)流信息;
所述信息識(shí)別模塊,用于判斷抓取的數(shù)據(jù)流信息中的報(bào)文請(qǐng)求是否屬于弱口令爆破的行為,若屬于弱口令爆破行為則將該數(shù)據(jù)流信息傳遞給信息收集模塊,否則不動(dòng)作;
所述信息收集模塊,用于獲取數(shù)據(jù)流信息中特定參數(shù)信息,所述特定參數(shù)信息至少包括賬戶(hù)信息及密碼信息;
所述信息發(fā)送模塊,用于將獲取到特定參數(shù)信息上傳至服務(wù)器端;
服務(wù)器端包括信息接收模塊、信息檢索模塊及自動(dòng)學(xué)習(xí)模塊;
所述信息接收模塊,用于接收從客戶(hù)端傳遞來(lái)的特定參數(shù)信息;
所述信息檢索模塊,用于根據(jù)特定參數(shù)信息進(jìn)行密碼字典文件的檢索,若密碼字典文件中存在該特定參數(shù)信息則不動(dòng)作,否則信息檢索模塊將該特定參數(shù)信息傳輸至自動(dòng)學(xué)習(xí)模塊;
所述自動(dòng)學(xué)習(xí)模塊,用于根據(jù)接收到的特定參數(shù)信息更新密碼字典文件。
具體的,所述客戶(hù)端至少為一個(gè)。
具體的,所述客戶(hù)端以SDK的形式安裝或集成在待測(cè)目標(biāo)上。
具體的,所述待測(cè)目標(biāo)至少包括網(wǎng)站、服務(wù)器、終端設(shè)備及應(yīng)用軟件。
用于上述具有自動(dòng)學(xué)習(xí)功能的密碼特征庫(kù)系統(tǒng)的學(xué)習(xí)方法,包括以下步驟:
步驟1、系統(tǒng)將客戶(hù)端及服務(wù)器端之間建立連接;
步驟2、客戶(hù)端對(duì)待測(cè)目標(biāo)的網(wǎng)絡(luò)狀態(tài)進(jìn)行數(shù)據(jù)流程監(jiān)視,對(duì)網(wǎng)絡(luò)上信息傳輸進(jìn)行管理,判斷并抓取數(shù)據(jù)流信息;并判斷抓取的數(shù)據(jù)流信息中的報(bào)文請(qǐng)求是否屬于弱口令爆破的行為,是則進(jìn)入步驟3,否則不動(dòng)作;
步驟3、系統(tǒng)獲取數(shù)據(jù)流信息中特定參數(shù)信息,并將獲取到特定參數(shù)信息上傳至服務(wù)器端;所述特定參數(shù)信息至少包括賬戶(hù)信息及密碼信息;
步驟4、服務(wù)器端接收從客戶(hù)端傳遞來(lái)的特定參數(shù)信息,根據(jù)特定參數(shù)信息進(jìn)行密碼字典文件的檢索,若密碼字典文件中存在該特定參數(shù)信息則不動(dòng)作,否則進(jìn)入步驟5;
步驟5、系統(tǒng)根據(jù)接收到的特定參數(shù)信息更新密碼字典文件。
具體的,所述步驟1中,客戶(hù)端至少為一個(gè)。
具體的,所述步驟2中,待測(cè)目標(biāo)至少包括網(wǎng)站、服務(wù)器、終端設(shè)備及應(yīng)用軟件。
具體的,所述步驟2中,客戶(hù)端以SDK的形式安裝或集成在待測(cè)目標(biāo)上。
本發(fā)明的有益效果是:采用本發(fā)明對(duì)被測(cè)目標(biāo)進(jìn)行弱口令爆破的監(jiān)測(cè)和陌生賬戶(hù)及密碼的自動(dòng)學(xué)習(xí),在滲透測(cè)試的弱口令爆破測(cè)試中,可以快速且自動(dòng)的搜集最新的密碼字典,省去了人工進(jìn)行社會(huì)工程學(xué)信息的收集,實(shí)現(xiàn)了安全測(cè)試的高效性,快捷性和準(zhǔn)確性。
附圖說(shuō)明
圖1為本發(fā)明具有自動(dòng)學(xué)習(xí)功能的密碼特征庫(kù)系統(tǒng)及其學(xué)習(xí)方法實(shí)施例的系統(tǒng)結(jié)構(gòu)圖。
以下結(jié)合實(shí)施例的具體實(shí)施方式,對(duì)本發(fā)明的上述內(nèi)容再作進(jìn)一步的詳細(xì)說(shuō)明。但不應(yīng)將此理解為本發(fā)明上述主題的范圍僅限于以下的實(shí)例。在不脫離本發(fā)明上述技術(shù)思想情況下,根據(jù)本領(lǐng)域普通技術(shù)知識(shí)和慣用手段做出的各種替換或變更,均應(yīng)包括在本發(fā)明的范圍內(nèi)。
具體實(shí)施方式
下面結(jié)合附圖及實(shí)施例詳細(xì)描述本發(fā)明的技術(shù)方案:
本發(fā)明針對(duì)現(xiàn)有技術(shù)中弱口令爆破的成功率高低取決于密碼字典的內(nèi)容,且現(xiàn)在常用的密碼字典都不具備自動(dòng)更新的能力的問(wèn)題,提供一種具有自動(dòng)學(xué)習(xí)功能的密碼特征庫(kù)系統(tǒng),包括客戶(hù)端及服務(wù)器端,客戶(hù)端及服務(wù)器端之間建立連接,所述客戶(hù)端包含了網(wǎng)絡(luò)監(jiān)聽(tīng)模塊、信息識(shí)別模塊、信息收集模塊和信息發(fā)送模塊;所述網(wǎng)絡(luò)監(jiān)聽(tīng)模塊,用于對(duì)待測(cè)目標(biāo)的網(wǎng)絡(luò)狀態(tài)進(jìn)行數(shù)據(jù)流程監(jiān)視,對(duì)網(wǎng)絡(luò)上信息傳輸進(jìn)行管理,判斷并抓取數(shù)據(jù)流信息;所述信息識(shí)別模塊,用于判斷抓取的數(shù)據(jù)流信息中的報(bào)文請(qǐng)求是否屬于弱口令爆破的行為,若屬于弱口令爆破行為則將該數(shù)據(jù)流信息傳遞給信息收集模塊,否則不動(dòng)作;所述信息收集模塊,用于獲取數(shù)據(jù)流信息中特定參數(shù)信息,所述特定參數(shù)信息至少包括賬戶(hù)信息及密碼信息;所述信息發(fā)送模塊,用于將獲取到特定參數(shù)信息上傳至服務(wù)器端;服務(wù)器端包括信息接收模塊、信息檢索模塊及自動(dòng)學(xué)習(xí)模塊;所述信息接收模塊,用于接收從客戶(hù)端傳遞來(lái)的特定參數(shù)信息;所述信息檢索模塊,用于根據(jù)特定參數(shù)信息進(jìn)行密碼字典文件的檢索,若密碼字典文件中存在該特定參數(shù)信息則不動(dòng)作,否則信息檢索模塊將該特定參數(shù)信息傳輸至自動(dòng)學(xué)習(xí)模塊;所述自動(dòng)學(xué)習(xí)模塊,用于根據(jù)接收到的特定參數(shù)信息更新密碼字典文件。用于上述具有自動(dòng)學(xué)習(xí)功能的密碼特征庫(kù)系統(tǒng)的學(xué)習(xí)方法,首先,系統(tǒng)將客戶(hù)端及服務(wù)器端之間建立連接;其次,客戶(hù)端對(duì)待測(cè)目標(biāo)的網(wǎng)絡(luò)狀態(tài)進(jìn)行數(shù)據(jù)流程監(jiān)視,對(duì)網(wǎng)絡(luò)上信息傳輸進(jìn)行管理,判斷并抓取數(shù)據(jù)流信息;并判斷抓取的數(shù)據(jù)流信息中的報(bào)文請(qǐng)求是否屬于弱口令爆破的行為,是則系統(tǒng)獲取數(shù)據(jù)流信息中特定參數(shù)信息,并將獲取到特定參數(shù)信息上傳至服務(wù)器端;所述特定參數(shù)信息至少包括賬戶(hù)信息及密碼信息,否則不動(dòng)作;然后,服務(wù)器端接收從客戶(hù)端傳遞來(lái)的特定參數(shù)信息,根據(jù)特定參數(shù)信息進(jìn)行密碼字典文件的檢索,若密碼字典文件中存在該特定參數(shù)信息則不動(dòng)作,否則系統(tǒng)根據(jù)接收到的特定參數(shù)信息更新密碼字典文件。采用本發(fā)明對(duì)被測(cè)目標(biāo)進(jìn)行弱口令爆破的監(jiān)測(cè)和陌生賬戶(hù)及密碼的自動(dòng)學(xué)習(xí),在滲透測(cè)試的弱口令爆破測(cè)試中,可以快速且自動(dòng)的搜集最新的密碼字典,省去了人工進(jìn)行社會(huì)工程學(xué)信息的收集,實(shí)現(xiàn)了安全測(cè)試的高效性,快捷性和準(zhǔn)確性。
實(shí)施例
本例旨在克服現(xiàn)有技術(shù)中的不足,提供一種操作簡(jiǎn)單、方便快捷且有效的進(jìn)行弱口令爆破分析并對(duì)該攻擊中使用到的密碼字典中的陌生賬戶(hù)和密碼進(jìn)行自動(dòng)學(xué)習(xí)的密碼特征庫(kù)系統(tǒng)。
本例的具有自動(dòng)學(xué)習(xí)功能的密碼特征庫(kù)系統(tǒng),如圖1所示,包括客戶(hù)端及服務(wù)器端,客戶(hù)端及服務(wù)器端之間建立連接。為了保證同時(shí)對(duì)多個(gè)待測(cè)目標(biāo)進(jìn)行密碼字典文件的更新,本例中,客戶(hù)端可以是多個(gè),也可以是一個(gè),具體數(shù)量根據(jù)待測(cè)目標(biāo)而定。本例中客戶(hù)端以SDK的形式安裝或集成在待測(cè)目標(biāo)上,但在實(shí)際應(yīng)用中可以以其他方式進(jìn)行安裝或集成,此處不再贅述。所述待測(cè)目標(biāo)至少包括網(wǎng)站、服務(wù)器、終端設(shè)備及應(yīng)用軟件。
其中,客戶(hù)端包含了網(wǎng)絡(luò)監(jiān)聽(tīng)模塊、信息識(shí)別模塊、信息收集模塊和信息發(fā)送模塊;
所述網(wǎng)絡(luò)監(jiān)聽(tīng)模塊,用于對(duì)待測(cè)目標(biāo)的網(wǎng)絡(luò)狀態(tài)進(jìn)行數(shù)據(jù)流程監(jiān)視,對(duì)網(wǎng)絡(luò)上信息傳輸進(jìn)行管理,判斷并抓取數(shù)據(jù)流信息;所述信息識(shí)別模塊,用于判斷抓取的數(shù)據(jù)流信息中的報(bào)文請(qǐng)求是否屬于弱口令爆破的行為,若屬于弱口令爆破行為則將該數(shù)據(jù)流信息傳遞給信息收集模塊,否則不動(dòng)作;所述信息收集模塊,用于獲取數(shù)據(jù)流信息中特定參數(shù)信息,所述特定參數(shù)信息至少包括賬戶(hù)信息及密碼信息;所述信息發(fā)送模塊,用于將獲取到特定參數(shù)信息上傳至服務(wù)器端。其中,弱口令爆破的請(qǐng)求報(bào)文包括所有類(lèi)型的網(wǎng)站訪(fǎng)問(wèn)請(qǐng)求,如POST、GET等。
服務(wù)器端包括信息接收模塊、信息檢索模塊及自動(dòng)學(xué)習(xí)模塊;
所述信息接收模塊,用于接收從客戶(hù)端傳遞來(lái)的特定參數(shù)信息;所述信息檢索模塊,用于根據(jù)特定參數(shù)信息進(jìn)行密碼字典文件的檢索,若密碼字典文件中存在該特定參數(shù)信息則不動(dòng)作,否則信息檢索模塊將該特定參數(shù)信息傳輸至自動(dòng)學(xué)習(xí)模塊;所述自動(dòng)學(xué)習(xí)模塊,用于根據(jù)接收到的特定參數(shù)信息更新密碼字典文件。
通過(guò)對(duì)待測(cè)目標(biāo)的數(shù)據(jù)流進(jìn)行抓取分析,當(dāng)發(fā)現(xiàn)其為弱口令爆破行為時(shí),則對(duì)數(shù)據(jù)流中的特定參數(shù)信息,例如:賬號(hào)信息及密碼信息,進(jìn)行采集。并根據(jù)采集到的賬號(hào)信息及密碼信息對(duì)原有的密碼字典文件進(jìn)行遍歷檢索,當(dāng)發(fā)現(xiàn)密碼字典文件中不存在同樣的賬號(hào)信息及密碼信息時(shí),系統(tǒng)對(duì)密碼字典文件進(jìn)行更新,加入新的賬號(hào)信息及密碼信息。以此,來(lái)實(shí)現(xiàn)密碼字典的自動(dòng)更新,提高了網(wǎng)站的安全性。
上述系統(tǒng)在使用時(shí),其中密碼字典的自動(dòng)更新方法,具體如下:
步驟1、系統(tǒng)將客戶(hù)端及服務(wù)器端之間建立連接,客戶(hù)端至少為一個(gè);
步驟2、客戶(hù)端以SDK的形式安裝或集成在待測(cè)目標(biāo)上,客戶(hù)端對(duì)待測(cè)目標(biāo)的網(wǎng)絡(luò)狀態(tài)進(jìn)行數(shù)據(jù)流程監(jiān)視,對(duì)網(wǎng)絡(luò)上信息傳輸進(jìn)行管理,判斷并抓取數(shù)據(jù)流信息;并判斷抓取的數(shù)據(jù)流信息中的報(bào)文請(qǐng)求是否屬于弱口令爆破的行為,是則進(jìn)入步驟3,否則不動(dòng)作;待測(cè)目標(biāo)至少包括網(wǎng)站、服務(wù)器、終端設(shè)備及應(yīng)用軟件;
步驟3、系統(tǒng)獲取數(shù)據(jù)流信息中特定參數(shù)信息,并將獲取到特定參數(shù)信息上傳至服務(wù)器端;所述特定參數(shù)信息至少包括賬戶(hù)信息及密碼信息;
步驟4、服務(wù)器端接收從客戶(hù)端傳遞來(lái)的特定參數(shù)信息,根據(jù)特定參數(shù)信息進(jìn)行密碼字典文件的檢索,若密碼字典文件中存在該特定參數(shù)信息則不動(dòng)作,否則進(jìn)入步驟5;
步驟5、系統(tǒng)根據(jù)接收到的特定參數(shù)信息更新密碼字典文件。
綜上所述,本發(fā)明的具有自動(dòng)學(xué)習(xí)功能的密碼特征庫(kù)系統(tǒng)即系學(xué)習(xí)方法,實(shí)現(xiàn)方法原理簡(jiǎn)單、投入成本低,利用該技術(shù),完成了一種便捷的對(duì)指定部署網(wǎng)站進(jìn)行弱口令爆破分析,并對(duì)該攻擊中使用到的密碼字典文件中的賬戶(hù)和密碼進(jìn)行自動(dòng)學(xué)習(xí),能讓安全測(cè)試人員通過(guò)該技術(shù)功能,自動(dòng)收集陌生賬戶(hù)和密碼,并生成新的有效密碼字典文件,省去了人工進(jìn)行社會(huì)工程學(xué)信息的收集,優(yōu)化了后續(xù)的安全測(cè)試工作,從而提高了工作效率,實(shí)現(xiàn)了安全測(cè)試的高效性,快捷性和準(zhǔn)確性。