讓暴力破解者吃蜂蜜吧(干貨分享)

小雞啄米2014 2020-08-28 15:41:49

近日有朋友問到如何防止md5密碼暴力破解,我把我多年前設計的一個蜜罐密碼設計公布出來,分享給大家,當時覺得這不值一提,現在看來還是有人困擾,所以就在本號首發了,希望能拋磚引玉


MD5是我們常用的一種Hash算法,經常用在密碼保護上,目前真對MD5的攻擊方法非常多,比較復雜的的有MD5碰撞攻擊,但是對于常見的應用層攻擊,更多的是通過應用層漏洞,如SQL注入等獲取數據庫訪問權限,然后進行“拖庫”操作,下載目標網站記錄用戶密碼的數據,比較有名的前一段的“車庫工”事件,有人大量獲取了一些著名網站及論壇的用戶密碼庫,在暗網出售,那么問題來了,既然密碼都加密存儲了,那么黑客是如何獲取并破解的下載后的加密數據呢?


攻擊方法介紹


其實,方法比我們想象的簡單,對于這種成熟的算法加密的數據,最有效的方法就是暴力破解,這里牽涉到“密碼心理學”,當然這牽涉到另一種學問,以后探討。


密碼是人設置的,是人就有缺陷,首先我們來看看最常見的密碼心理學設置:

1、大部分人喜歡采用6~8位密碼,因為這容易記憶

2、用戶喜歡使用生日正序或者倒序設置密碼,或手機后6~8位

3、2%的用戶喜歡使用 6位 完全一樣的數字

4、“123456” “12345678” “654321”這些連數是最長見得弱密碼

5、外國用戶喜歡用名字+123,中國用戶喜歡用姓名簡稱或全稱+數字等作為密碼

6、在中國“張 王 李 趙 張”“偉 玲 兵 鵬 麗”等名字的組合 占了絕大多數


有了這些數據,通過程序你可以很輕易構造一個暴力破解密碼比對表,當然你也可以去網上下載并合并你做的密碼對比表,我所了解到的目前有20G大小左右的密碼表,基本上可以覆蓋目前80%的密碼(增加了常見符號組合!@#¥等),有了這些密碼后面比較簡單了,對這些密碼進行MD運算,就形成了一個MD5對比密碼表,關于MD5 hash算法有很多介紹,這里不再復述


有了MD5對比表和MD5加密后的密碼庫,你只需要進行簡單的對比運算,跑個幾天的程序就能解開絕大多數用戶的密碼,不要小看了黑客的耐心,這是一項有錢賺的地下生意,很多人愿意讓程序跑上幾個月獲取“成果”


如何簡單的防止呢


你只有了解到破解的方法,才能低成本的加以防御,攻擊者從來不會從你的“門”進入的,我們必須要有足夠的逆向思維和“舍得”的精神才能在成本和抗攻擊上取得平衡。


很早一前,我曾經負責設計一個用戶系統,由于時間有限,很多地方采用了外包,由于不是自己的御用隊伍寫代碼,對代碼進行審核的成本很高,根本無法仔細檢查,所以我默認為應用層可能遭受SQL注入和拖庫,我采用了一個簡單方法僅用一天就讓這部分高枕無憂了,具體的方法今天分享給大家


其主要原理就是 簡單密碼變換+蜜罐思想


1、很多人瞧不起簡單密碼變換,那要看你怎么用,我們可以移位或者替代法對用戶輸入的密碼先進行簡單變換,比如倒序(文末擴展閱讀有介紹)

比如:把123456變換成654321

然后對簡單變換后的密碼再進行MD5運算存儲


2、蜜罐思想,這點很重要,這其實也是攻擊對抗的心理學范疇,如果攻擊者取得不了成果,那么他會反思自己哪里錯了,進而采取更復雜的方法,為了給攻擊者“獎勵”,我設置了一個常見密碼表,主要覆蓋2%左右的常見弱密碼,對于這部分密碼,不采取密碼變換,直接進行MD5運算存儲


最后我寫了個新的函數 ?fx()=mymd5(password)

(然后我就打游戲去了,呵呵)


該函數的作用就是對用戶輸入的密碼進行以上操作 md5變換 ,當然這個函數需要一個定義好的弱密碼庫才能工作(大約100條記錄)


這個函數編譯后,發給開發人員,讓他們替代他們用的md5函數這個過程就完成了


下面我們看看這個一天工作的成果是如何讓攻擊者掉到坑里的,由于外包的開發代碼不可控,默認為用戶密碼表泄露了,攻擊者打開表一看密碼密文,有經驗的人一看就知道是MD5hash運算結果,于是以為遇到了菜鳥開發人員,然后啟動了MD5字典暴力破解,根據幾率,他們果真解開了符合弱密碼規律的密碼,當然這是我故意放水的部分,攻擊者是不會懷疑我采用密碼變換和其他加密方法的,根據經驗他們會認為,我們的系統用戶有很強的長密碼設置意識,是不會懷疑他們的方法的,這就是蜜罐思想的核心


這只是時間有限、成本有限的情況下應急措施,犧牲了部分弱密碼用戶保護了全局,如果可能還是應該從應用層到體系構建完善的安全系統


后記:當然,在那個項目里,我還故意插入了大約1%的假用戶名和弱密碼,讓其只能登陸沒有其他權限,一年后還真發現有人用這些用戶登陸,驗證了我當初的考慮
關于本文

這只是一些奇技淫巧,作為周末娛樂開開腦洞,您可以轉發到群和朋友圈中讓更多人了解,您的支持和鼓勵是我最大的動力,喜歡就關注區塊鏈大師吧


長按關注,永不放棄




延伸閱讀

常見的簡單密碼變換






發表評論
用戶反饋
客戶端