GitHub是個(gè)敏感數(shù)據(jù)寶庫 可以從中收割數(shù)據(jù)
就算不是程序員,也一定知曉GitHub的大名。如果真不熟,那可以將此文看做入門指南。
GitHub是采用git協(xié)議的大型云軟件庫。任何人都可以很容易地創(chuàng)建GitHub賬戶,不僅免費(fèi),甚至不用提供真實(shí)的電子郵件地址。
登錄GitHub,你便可以自由發(fā)布代碼,而世界上任何人都能看到你的代碼,下載它,或者以它為藍(lán)本形成新的分支。
GitHub模式非常強(qiáng)大,使得軟件開發(fā)能夠輕松寫意地協(xié)作完成。但正如事物都有兩面性,方便的同時(shí)有那么幾個(gè)安全問題也就不足為奇了。
GitHub對用戶提交的內(nèi)容不做任何過濾。因?yàn)閷ι蟼鞯膬?nèi)容沒有任何限制,人們常將之用作個(gè)人存儲和備份空間。而因?yàn)楸挥米髁藗€(gè)人存儲和備份空間,只要找到正確的打開方式,這里簡直就是敏感數(shù)據(jù)的寶庫。甚至,還準(zhǔn)備好了寶礦探測的大法寶——搜索。
與谷歌的Dorks非常相像,GitHub也有一定數(shù)量的關(guān)鍵字可以用于精煉搜索結(jié)果。其中一些就是“filename(文件名)”、“extension(后綴)”和“path(路徑)”。
顧名思義,“文件名”和“后綴”可用于檢索特定文件名或文件后綴。“路徑”這個(gè)關(guān)鍵字就比較有意思了,可以搜索文件路徑中的特定目錄。比如,你可以用檢索項(xiàng)“path:etc”來查找“etc”文件夾下的文件。
如果想玩過界,嘗試一下檢索項(xiàng)的邪惡用法,你可以將這些關(guān)鍵字串聯(lián)起來使用,檢索結(jié)果會相當(dāng)有趣。比如說,使用“filename:shadow path:etc”這個(gè)復(fù)合檢索項(xiàng)。
成就此文時(shí),用這個(gè)檢索項(xiàng)可以找出736條Unix系統(tǒng)的shadow文件。對Unix稍有涉獵的人都知道,/etc/shadow文件包含了系統(tǒng)中所有用戶密碼的哈希值。
GitHub上暴露的/etc/shadow文件
GitHub上能看到的Unix密碼哈希值
利用John或Hashcat之類廣為流傳的密碼破解器,根據(jù)密碼復(fù)雜度的不同,這些哈希值可在數(shù)秒到幾年之間被破解出來。去年10月中旬檢索出來的所有/etc/shadow文件哈希中,僅僅3天時(shí)間,就被破解出了60%。
Unix系統(tǒng)的shadow文件還僅僅只是個(gè)開始。在GitHub上,WordPress配置文件、SFTP服務(wù)器配置文件、RSA私鑰、SQL轉(zhuǎn)儲文件等等,應(yīng)有盡有。
很多人都已經(jīng)開始意識到GitHub上的數(shù)據(jù)根本就是任君采擷,而且越多的人意識到他們自己或其他人可能無意中把敏感數(shù)據(jù)放到了GitHub上,也就意味著更多的人有機(jī)會去搜一下看看,并幫助將這些敏感數(shù)據(jù)撤下來。而一些威脅情報(bào)公司早已把GitHub當(dāng)成一個(gè)重要的數(shù)據(jù)收集源。
那么問題來了:這么多數(shù)據(jù)擺在你面前,你該怎么做呢?收割啊!
GitHarvester就是這樣一款輔助你從GitHub上收割數(shù)據(jù)的自動化工具。它可以利用GitHub檢索字符串,拉出檢索結(jié)果,然后應(yīng)用正則表達(dá)式匹配結(jié)果數(shù)據(jù),從中找出敏感文件及其中特定數(shù)據(jù)。
舉個(gè)例子,如果你想查找含有root用戶密碼哈希的shadow文件,就可以使用GitHarvester達(dá)成目的。
為什么要寫這么個(gè)能讓壞人更容易地染指別家系統(tǒng)的工具呢?原因太多了,“因?yàn)檫@是開始一個(gè)新編程項(xiàng)目的借口啊”、“只是想看看GitHub上到底有多少數(shù)據(jù)啊”等等等等。不過,主要原因,還是在于要揭露這個(gè)安全缺口。
***,神器奉上:
https://github.com/metac0rtex/GitHarvester