背景:
最近總是能聽到同事說在GitHub上搜到某個敏感信息,然后利用該信息成功的檢測並發現某個漏洞,最后提交到對應的SRC(安全應急響應中心)換點money。頓時心里那個羡慕啊,然后就心說自己也要學會使用GitHub這個寶藏。
開始:
眾所周知,作為安全人員,學會使用google hack是最基本的一項技能。那么什么是google hack呢?google hack其實就是一系列的命令語法,這些命令語法可以用來快速的搜索敏感網站,關鍵字等信息。比如使用:inurl:XXXX;intext:XXXX;等等。看到這里估計很多人會思考,那GitHub有沒有相關的語法命令呢?其實在學習之前,我也不清楚是否存在,但是在研究以后,我發現原來GitHub也有屬於自己的命令語法可以用來快速方便的搜索敏感信息。接下來就帶大家一起學習一下相關的命令語法。
1.q+關鍵字
我們通常情況下在GitHub上搜索是這樣的形式,例如在搜索處輸入hundsun,可以成功的搜索出一些項目信息,如圖1所示。觀察一下可以看到這里的url是這樣的:
2.in:file,path
上邊是最常見的搜索方式,可是有時候我們希望在文件名和路徑中搜索包含關鍵字信息,那么這時候該如何搜索呢?此時可以使用如下url鏈接:
觀察一下可以看到,在關鍵字后邊多了in:file,path。另外,這里面的參數s用來對搜索結果進行排序。S對應的有三個值:s=,默認是以最佳匹配的方式進行排序;o=asc&s=indexed,選擇以最近更新的;o=desc&s=indexed選擇最近被索引的。
3.repo:項目名
有時候大家可能會遇到一種情況,需要在指定項目中搜索包含敏感信息的文件,那么這時候該如何進行搜索呢?此時,可以使用如下url:
https://github.com/search?o=desc&p=1&q=aliyuncs in:file,path repo:XXXXX &ref=searchresults &s=indexed&type=Code&utf8=%E2%9C%93。觀察一下,在q參數里面多了repo:xxxx字符串。這個字符串是用來指定在哪個項目中搜索包含關鍵字的信息。如下圖所示:
4.-repo:項目名
對應的使用如下鏈接可以搜索除了指定項目以外的包含敏感信息的文件:
https://github.com/search?o=desc&p=1&q=hundsun in:file,path -repo:XXXXX &ref=searchresult s &s=indexed&type=Code&utf8=%E2%9C%93。這里q參數多了-repo:xxxxx。這個用來指定排除哪些項目。
5.搜索興趣推薦項目
Github還提供了一種方式可以基於用戶的搜索興趣進行推薦,使用如下url:https://github.com/explore
6.stars:條件
在有些情況下,我們需要對搜索結果進行篩選,使用星數搜索進行搜索是一個較好的方式。使用該語法,程序會展示星數大於要求的項目。這樣帶來的好處是可以快速找到好的項目。這里面的條件可以是簡單的>或者..。1..10表示搜索項目星數介於1到10之間的。
7.高級搜索
高級搜索可以指定多個搜索選項,例如項目名,項目創建者,創建時間,星數等等。其鏈接如下:https://github.com/search/advanced
看到這里可能很多人還沒意識到有什么用,其實這里面的作用是很大的。因為你完全可以根據個人的需求去開發一些獨特的搜索腳本。比如開發一個搜索數據庫信息的python程序。例如:在正常情況下,輸入關鍵字:jdbc 3306可以快速搜索出很多包含數據庫的信息,利用前邊學到的知識,可以加上對搜索結果進行篩選提取出外網的可用的數據庫信息。
最后說點搜索技巧一類的,Github是一個大的寶庫,知道搜索語法還需要了解如何去搜。尤其是搜索關鍵字該如何去尋找。可以根據特征去搜索,比如:對於oracle的,可以搜索jdbc 1502,因為mysql默認端口是1502。對於其他的可以搜索1433,3389一類的端口。如圖所示。除此之外還可以這樣搜索:關鍵字 username passwd、ftp等等。
最后附帶我在網上搜集了幾個敏感信息收集工具,這里都列出來方便自己也方便他人。這些工具在文件末尾備注。這里對GitPrey重點說明一下,其是使用python開發的用於收集企業敏感信息的腳本工具。我下載以后嘗試輸入包含各種關鍵字的命令運行,但是返回的結果都為空。后來經過查看代碼發現在進行信息提取的時候,有個正則匹配地方,匹配的標簽出問題了。因此這個如果要使用是需要進行簡單改造的,其他工具都可以拿來使用。當然,如果感興趣的可以利用前邊介紹的知識自己構建一個專屬的敏感信息收集工具。
GitPrey(https://github.com/repoog/GitPrey)、
Nuggest(https://github.com/az0ne/Github_Nuggests)
theHarvester(https://github.com/laramies/theHarvester)