歡迎光臨
每天分享高質量文章

駭客你好,請使用Python編寫一個滲透測試探測器

本篇將會涉及:

  • 資源探測

  • 一個有用的字典資源

  • 第一個暴力探測器

資源探測

在滲透測試中,資源探測屬於一個非常必要的階段,其主要功能包括資源對映和收集資訊等,通常來講會有三種主要型別:

  • 字典攻擊

  • 暴力破解

  • 模糊測試

字典攻擊是指駭客在工作過程中,透過預先設定好的字典檔案來進行密碼或者金鑰的破解工作,這個過程通常不是漫無目的的,而是需要針對性的對於字典檔案裡的一切可能組合進行嘗試。

暴力破解也即所謂窮舉法,透過預先設定的好的組合方式,依次進行列舉,將所有可能的密碼挨個嘗試,直到發現可用的口令位置。

模糊測試與前兩項有較大差別,並非為了密碼或口令的破解工作,通常情況下是透過某些規則之外的輸入來迫使標的程式發生異常來找到標的系統漏洞的方法。

資源探測的作用

透過資源探測,我們可以在標的系統中發現檔案、目錄、活動、服務還有相關的引數,為下一步的行動提供資訊參考。

一個開源的模糊測試資料庫

https://github.com/fuzzdb-project/fuzzdb 是一個開源的漏洞註入和資源發現的原語字典。其提供了攻擊、資源發現和響應分析的資源。

 

第一個暴力探測器

接下來,我們需要把上面介紹的資料庫現在下來以便後續使用,你可以自行選擇下載方式:

這個資料庫將會在我們之後的工作中擔任“字典”的工作,來輔助我們完成對網站的探測。現在我們需要新建一個 .py 檔案,在這個檔案中編寫探測器。

首先,引入相關的模組:

  • requests用於請求標的站點;

  • threading用於啟用多執行緒;

  • sys用於解析命令列引數;

  • getopt用於處理命令列引數;

然後,定義一個程式的橫幅:

這個橫幅用於在程式啟動的時候顯示出來,除了讓程式個性一點之外,也沒啥用。

再定義一個函式,用來顯示程式的用法:

我們的程式因為是在命令列下執行的,所以需要設定一些引數,在這裡,我們用:

  • -w來指定網址

  • -t 來指定執行緒數

  • -f來指定字典檔案

這三個引數缺一不可。

這兩個函式建立好後,執行程式便會出現如下介面:

看上去是不是有那麼點意思。

接著,我們建立一個繼承於Thread的類request_performer(),用於建立執行緒並向標的站點發起請求以及獲取響應:

在request_performer()類的run()方法裡面,我們利用requests對URL進行請求並將響應的狀態碼打印出來。而這,就是我們這個探測器的最主要功能了。

再建立一個啟動request_performer()類的函式launcher_thread(),用於遍歷字典檔案中的關鍵字組合成URL並生成新的執行緒。

繼續建立一個函式start(),用於接收命令列中的引數將其傳遞給launcher_thread()函式:

最後,當然是在主程式中運行了:

這個程式到底有什麼用呢?

在這裡,我們不得不再提一下上面提及過的FUZZDB資料庫。fuzzdb是一個用於模糊測試的資料庫,類似於一個龐大的字典。而這些字典的內容呢,都是安全大神們維護的、在實踐中發現很有可能會是攻擊點的目錄或路徑。

我們可以開啟資料庫中的一個txt檔案看看:

這是一個針對wordpress部落格系統外掛的一個字典,這裡面都是外掛的路徑和目錄。

 

測試暴力探測器

還記得在滲透測試環境搭建那篇文章介紹的虛擬機器環境嗎?

裡面有一個充滿漏洞的Web應用http://www.scruffybank.com/,我們可以使用我們剛剛編寫好的暴力探測器對這個網站進行一下探測。

字典檔案我們先採用一個簡單的字典:

我們在命令列執行命令:

得到結果:

common.txt字典中有三個是成功的響應,我們開啟其中一個http://www.scruffybank.com/robots.txt看看:

包含了三個禁止搜尋引擎爬取的連結,看字面意思,其中一個還是後臺地址admin,但是在結果頁我們知道/admin是404錯誤,但是有一個/Admin,我們開啟看看:

彈出了認證登入框,但是我們沒有使用者名稱和密碼,目前來說只能作罷。

我們再使用FUZZDB資料庫裡的字典測試一下。選擇fuzzdb-master/discovery/predictable-filepaths/php目錄下的PHP.fuzz.txt:

同樣在終端命令列執行命令:

得到結果:

雖然有很多404,但是我們還是發現了一些成功的響應:
比如info.php,開啟原來是PHP的info介面:

login.php為登入頁面:

phpmyadmin是mysql資料庫的web管理入口:

在資料探測收集階段,我們透過我們自己編寫的暴力探測器,獲得了這些頁面的資訊,對分析伺服器和web應用的漏洞併進行針對性的滲透有很大的幫助。

作者:州的先生

來源:http://zmister.com/archives/180.html



————近期開班————

馬哥教育2018年Python自動化運維開發實戰面授班2018年3月5號開班,馬哥聯合BAT、豆瓣等一線網際網路Python開發達人,根據目前企業需求的Python開發人才進行了深度定製,加入了大量一線網際網路公司:大眾點評、餓了麼、騰訊等生產環境真是專案,課程由淺入深,從Python基礎到Python高階,讓你融匯貫通Python基礎理論,手把手教學讓你具備Python自動化開發需要的前端介面開發、Web框架、大監控系統、CMDB系統、認證堡壘機、自動化流程平臺六大實戰能力,讓你從0開始蛻變成Hold住年薪20萬的Python自動化開發人才

10期面授班:2018年03月05號(北京)

09期網路班:騰訊課堂隨到隨學網路

掃描二維碼領取學習資料

更多Python好文請點選【閱讀原文】哦

↓↓↓

贊(0)

分享創造快樂

© 2022 知識星球   網站地圖