“黑客”必用兵器之“密碼口令破解篇”
黑客最常用的一個(gè)攻擊方式,就是獲取目標(biāo)口令,有了對(duì)方密碼口令,就相當(dāng)于有了你家的入戶(hù)門(mén)鑰匙,那么接下來(lái)所面臨的危險(xiǎn)就可想而知了。
今天我們就了解一下常見(jiàn)的加密方式有哪些?常見(jiàn)的密碼保存方式有哪些?黑客是用什么樣的方法來(lái)獲取和破譯目標(biāo)密碼口令的?常用的密碼破解工具有哪些?。
一、用戶(hù)密碼加密方式以及常見(jiàn)的密碼保存方式有哪些?
1. 常見(jiàn)的加密方式如下:
(1) Base64加密方式(可逆)
- Base64中的可打印字符包括字母A-Z/a-z/數(shù)組0-9/ 加號(hào)’+’斜杠’/’ 這樣共有62個(gè)字符
- Base64 ios7之后加入系統(tǒng)庫(kù)
(2) MD5加密
Message Digest Algorithm MD5(中文名為消息摘要算法第五版)為計(jì)算機(jī)安全領(lǐng)域廣泛使用的一種散列函數(shù),用以提供消息的完整性保護(hù)。是計(jì)算機(jī)廣泛使用的雜湊算法之一(又譯摘要算法、哈希算法),主流編程語(yǔ)言普遍已有MD5實(shí)現(xiàn)。根據(jù)輸出值,不能得到原始的明文,即其過(guò)程不可逆
(3) 鑰匙串加密方式
iCloud鑰匙串,蘋(píng)果給我們提供的密碼保存的解決方案,iOS7之后有的存沙盒:如果手機(jī)越獄,密碼容易被竊取。當(dāng)軟件更新時(shí),沙盒里的內(nèi)容是不被刪除的。但是,如果將軟件卸載后重裝,沙盒里的數(shù)據(jù)就沒(méi)有了。每個(gè)APP的沙盒是相對(duì)獨(dú)立的,密碼無(wú)法共用。
(4) 對(duì)稱(chēng)加密算法
對(duì)稱(chēng)加密算法(DES算法,3DES算法,TDEA算法,Blowfish算法,RC5算法,IDEA算法。)是應(yīng)用較早的加密算法,技術(shù)成熟。在對(duì)稱(chēng)加密算法中,數(shù)據(jù)發(fā)信方將明文(原始數(shù)據(jù))和加密密鑰一起經(jīng)過(guò)特殊加密算法處理后,使其變成復(fù)雜的加密密文發(fā)送出去。收信方收到密文后,若想解讀原文,則需要使用加密用過(guò)的密鑰及相同算法的逆算法對(duì)密文進(jìn)行解密,才能使其恢復(fù)成可讀明文。在對(duì)稱(chēng)加密算法中,使用的密鑰只有一個(gè),發(fā)收信雙方都使用這個(gè)密鑰對(duì)數(shù)據(jù)進(jìn)行加密和解密,這就要求解密方事先必須知道加密密鑰。
(5) RSA加密(非對(duì)稱(chēng)加密算法)
- 非對(duì)稱(chēng)加密算法需要兩個(gè)密鑰:公開(kāi)密鑰(publickey)和私有密鑰(privatekey)
- 非對(duì)稱(chēng)加密中使用的主要算法有:RSA、Elgamal、背包算法、Rabin、D-H、ECC(橢圓曲線(xiàn)加密算法)等。
公開(kāi)密鑰與私有密鑰是一對(duì),如果用公開(kāi)密鑰對(duì)數(shù)據(jù)進(jìn)行加密,只有用對(duì)應(yīng)的私有密鑰才能解密;如果用私有密鑰對(duì)數(shù)據(jù)進(jìn)行加密,那么只有用對(duì)應(yīng)的公開(kāi)密鑰才能解密
2. 幾種常見(jiàn)的用戶(hù)密碼口令保存方式:
(1) 直接明文保存,比如用戶(hù)設(shè)置的密碼是“123456”,直接將“123456”保存在數(shù)據(jù)庫(kù)中,這種是最簡(jiǎn)單的保存方式,也是最不安全的方式。但實(shí)際上不少互聯(lián)網(wǎng)公司,都可能采取的是這種方式。
(2) 使用對(duì)稱(chēng)加密算法來(lái)保存,比如3DES、AES等算法,使用這種方式加密是可以通過(guò)解密來(lái)還原出原始密碼的,當(dāng)然前提條件是需要獲取到密鑰。不過(guò)既然大量的用戶(hù)信息已經(jīng)泄露了,密鑰很可能也會(huì)泄露,當(dāng)然可以將一般數(shù)據(jù)和密鑰分開(kāi)存儲(chǔ)、分開(kāi)管理,但要完全保護(hù)好密鑰也是一件非常復(fù)雜的事情,所以這種方式并不是很好的方式。
(3) 使用MD5、SHA1等單向HASH算法保護(hù)密碼,使用這些算法后,無(wú)法通過(guò)計(jì)算還原出原始密碼,而且實(shí)現(xiàn)比較簡(jiǎn)單,因此很多互聯(lián)網(wǎng)公司都采用這種方式保存用戶(hù)密碼,曾經(jīng)這種方式也是比較安全的方式,但隨著彩虹表技術(shù)的興起,可以建立彩虹表進(jìn)行查表破解,目前這種方式已經(jīng)很不安全了。
(4) 特殊的單向HASH算法,由于單向HASH算法在保護(hù)密碼方面不再安全,于是有些公司在單向HASH算法基礎(chǔ)上進(jìn)行了加鹽、多次HASH等擴(kuò)展,這些方式可以在一定程度上增加破解難度,對(duì)于加了“固定鹽”的HASH算法,需要保護(hù)“鹽”不能泄露,這就會(huì)遇到“保護(hù)對(duì)稱(chēng)密鑰”一樣的問(wèn)題,一旦“鹽”泄露,根據(jù)“鹽”重新建立彩虹表可以進(jìn)行破解,對(duì)于多次HASH,也只是增加了破解的時(shí)間,并沒(méi)有本質(zhì)上的提升。
(5) PBKDF2算法,該算法原理大致相當(dāng)于在HASH算法基礎(chǔ)上增加隨機(jī)鹽,并進(jìn)行多次HASH運(yùn)算,隨機(jī)鹽使得彩虹表的建表難度大幅增加,而多次HASH也使得建表和破解的難度都大幅增加。使用PBKDF2算法時(shí),HASH算法一般選用sha1或者sha256,隨機(jī)鹽的長(zhǎng)度一般不能少于8字節(jié),HASH次數(shù)至少也要1000次,這樣安全性才足夠高。一次密碼驗(yàn)證過(guò)程進(jìn)行1000次HASH運(yùn)算,對(duì)服務(wù)器來(lái)說(shuō)可能只需要1ms,但對(duì)于破解者來(lái)說(shuō)計(jì)算成本增加了1000倍,而至少8字節(jié)隨機(jī)鹽,更是把建表難度提升了N個(gè)數(shù)量級(jí),使得大批量的破解密碼幾乎不可行,該算法也是美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究院推薦使用的算法。
(6) bcrypt、scrypt等算法,這兩種算法也可以有效抵御彩虹表,使用這兩種算法時(shí)也需要指定相應(yīng)的參數(shù),使破解難度增加。
二、 破解獲取密碼口令的常用方法有哪些?
1. 簡(jiǎn)單口令破解方法:
- 猜解簡(jiǎn)單口令:很多人使用自己或家人的生日、電話(huà)號(hào)碼、房間號(hào)碼、簡(jiǎn)單數(shù)字或者身份證號(hào)碼中的幾位;也有的人使用自己、孩子、配偶或?qū)櫸锏拿?還有的系統(tǒng)管理員使用"password",甚至不設(shè)密碼,這樣黑客可以很容易通過(guò)猜想得到密碼。
- 字典攻擊:如果猜解簡(jiǎn)單口令攻擊失敗后,黑客開(kāi)始試圖字典攻擊,即利用程序嘗試字典中的單詞的每種可能。字典攻擊可以利用重復(fù)的登錄或者收集加密的口令,并且試圖同加密后的字典中的單詞匹配。黑客通常利用一個(gè)英語(yǔ)詞典或其他語(yǔ)言的詞典。他們也使用附加的各類(lèi)字典數(shù)據(jù)庫(kù),比如名字和常用的口令。
- 暴力窮舉:密碼破解技術(shù)中最基本的就是暴力破解,也叫密碼窮舉。如果黑客事先知道了賬戶(hù)號(hào)碼,如郵件帳號(hào)、QQ用戶(hù)帳號(hào)、網(wǎng)上銀行賬號(hào)等,而用戶(hù)的密碼又設(shè)置的十分簡(jiǎn)單,比如用簡(jiǎn)單的數(shù)字組合,黑客使用暴力破解工具很快就可以破解出密碼來(lái)。因此用戶(hù)要盡量將密碼設(shè)置的復(fù)雜一些。
2. 強(qiáng)度較高的密碼或者多重密碼口令認(rèn)證的方式如何破解?
- 遍歷攻擊:對(duì)于以上所有步驟都無(wú)法破解的密碼,就只能采取遍歷破解的方法了。使用單個(gè)CPU可能會(huì)非常慢,但如果使用僵尸網(wǎng)絡(luò),ASIC,高速GPU陣列等方式將破解速度提升1000倍以上。采用遍歷攻擊的暴力破解方式也要運(yùn)用策略,比如某網(wǎng)站要求密碼長(zhǎng)度必須大于8位,我們應(yīng)盡量只使用8個(gè)字符進(jìn)行破解以節(jié)省時(shí)間;或者網(wǎng)站要求密碼必須以大寫(xiě)字母開(kāi)頭,我們可以在規(guī)則中強(qiáng)制指定字符集
- 擊鍵記錄:如果用戶(hù)密碼較為復(fù)雜,那么就難以使用暴力窮舉的方式破解,這時(shí)黑客往往通過(guò)給用戶(hù)安裝木馬病毒,設(shè)計(jì)"擊鍵記錄"程序,記錄和監(jiān)聽(tīng)用戶(hù)的擊鍵操作,然后通過(guò)各種方式將記錄下來(lái)的用戶(hù)擊鍵內(nèi)容傳送給黑客,這樣,黑客通過(guò)分析用戶(hù)擊鍵信息即可破解出用戶(hù)的密碼。
- 屏幕記錄:為了防止擊鍵記錄工具,產(chǎn)生了使用鼠標(biāo)和圖片錄入密碼的方式,這時(shí)黑客可以通過(guò)木馬程序?qū)⒂脩?hù)屏幕截屏下來(lái)然后記錄鼠標(biāo)點(diǎn)擊的位置,通過(guò)記錄鼠標(biāo)位置對(duì)比截屏的圖片,從而破解這類(lèi)方法的用戶(hù)密碼。
- 網(wǎng)絡(luò)嗅探器:在局域網(wǎng)上,黑客要想迅速獲得大量的賬號(hào)(包括用戶(hù)名和密碼),當(dāng)信息以明文的形式在網(wǎng)絡(luò)上傳輸時(shí),便可以使用網(wǎng)絡(luò)監(jiān)聽(tīng)的方式竊取網(wǎng)上的傳送的數(shù)據(jù)包。將網(wǎng)絡(luò)接口設(shè)置在監(jiān)聽(tīng)模式,便可以將網(wǎng)上傳輸?shù)脑丛床粩嗟男畔⒔孬@。任何直接通過(guò)HTTP、FTP、POP、SMTP、TELNET協(xié)議傳輸?shù)臄?shù)據(jù)包都會(huì)被網(wǎng)絡(luò)監(jiān)聽(tīng)程序監(jiān)聽(tīng)。
- 網(wǎng)絡(luò)釣魚(yú):"網(wǎng)絡(luò)釣魚(yú)"攻擊利用欺騙性的電子郵件和偽造的網(wǎng)站登陸站點(diǎn)來(lái)進(jìn)行詐騙活動(dòng),受騙者往往會(huì)泄露自己的敏感信息(如用戶(hù)名、口令、帳號(hào)、PIN碼或信用卡詳細(xì)信息),網(wǎng)絡(luò)釣魚(yú)主要通過(guò)發(fā)送電子郵件引誘用戶(hù)登錄假冒的網(wǎng)上銀行、網(wǎng)上證券網(wǎng)站,騙取用戶(hù)帳號(hào)密碼實(shí)施盜竊。
- 遠(yuǎn)程控制:使用遠(yuǎn)程控制木馬監(jiān)視用戶(hù)本地電腦的所有操作,用戶(hù)的任何鍵盤(pán)和鼠標(biāo)操作都會(huì)被遠(yuǎn)程的黑客所截取。
三、黑客常用的密碼破解工具有哪些?
1. Wfuzz
這款破解工具是一個(gè)web應(yīng)用密碼暴力破解工具,它不僅可以用來(lái)破解密碼還可以用來(lái)查找隱藏的資源,由于現(xiàn)在很多人為了防止自己的網(wǎng)站被人篡改,就會(huì)將目錄頁(yè)和腳本代碼進(jìn)行隱藏,有了這個(gè)工具,找到這些那都不是問(wèn)題。
除了可以查找隱藏資源和破解密碼,它更能識(shí)別web應(yīng)用中不同的注入內(nèi)容,比如說(shuō)SQL注入、LDAP注入等等,還有很多類(lèi)型了。
2. Brutus
最早發(fā)布于2000年的Brutus是目前最流行的遠(yuǎn)程在線(xiàn)密碼破解工具,號(hào)稱(chēng)是當(dāng)今最快最靈活的密碼破解工具。目前該工具免費(fèi),但只有windows版本。Brutus支持HTTP、POP3、FTP、SMB、Telnet、IMAP、NNTP、NetBus等各種網(wǎng)絡(luò)協(xié)議,而且支持多步認(rèn)證引擎,可以并發(fā)攻擊60個(gè)目標(biāo)。
3. RainbowCrack
RainbowCrack是一個(gè)哈希破解工具,使用大規(guī)模時(shí)空折中(Time-memory trade off)處理技術(shù)加快密碼破解,因此比傳統(tǒng)暴力破解工具要快。用戶(hù)無(wú)需自己生成彩虹表,RainbowCrack的開(kāi)發(fā)者已經(jīng)準(zhǔn)備好了LM彩虹表、NTLM彩虹表和MD5彩虹表,而且都是免費(fèi)的。
4. OphC++rack
它是Windows平臺(tái)上的一個(gè)免費(fèi)的彩虹表密碼破解工具,它可以應(yīng)用于Linux和Mac系統(tǒng),同時(shí)了,它也是目前最為流行的密碼破解工具。
5. Aircrack-NG
Aircrack-NG是一個(gè)WiFi密碼破解工具, 這款工具能夠破解WEP或是WPA密碼,還能通過(guò)分析無(wú)線(xiàn)加密包然后通過(guò)運(yùn)算法破譯密碼,并使用FMS攻擊等技術(shù),運(yùn)用好了,這也是一門(mén)技術(shù)。
6. Cain and Abel
這是一款多任務(wù)的密碼破解工具,但它只能運(yùn)行于Windows平臺(tái)。可以利用字典攻擊破解加密密碼,從而記錄volp對(duì)話(huà),亂序密碼以及恢復(fù)緩存密碼等等,總的一句話(huà)就是,它的用途廣泛,功能多多。
7. John the Ripper
John the Ripper是一款知名的開(kāi)源密碼破解工具,可以運(yùn)行在Linux、Unix和Mac OSX上,當(dāng)然Windows版本也有。該工具可以偵測(cè)弱密碼,專(zhuān)業(yè)版功能更加強(qiáng)大。
8. THC Hydra
THC Hydra是速度極快的網(wǎng)絡(luò)登錄密碼破解工具,目前支持Windows、Linux、Free BSD、Solaris和OSX等操作系統(tǒng),以及各種網(wǎng)絡(luò)協(xié)議,包括:Asterisk, AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP, HTTP-FORM-GET, HTTP-FORM-POST, HTTP-GET, HTTP-HEAD, HTTP-PROXY, HTTPS-FORM-GET, HTTPS-FORM-POST, HTTPS-GET, HTTPS-HEAD, HTTP-Proxy, ICQ, IMAP, IRC, LDAP, MS-SQL, MYSQL, NCP, NNTP, Oracle Listener, Oracle SID, Oracle, PC-Anywhere, PCNFS, POP3, POSTGRES, RDP, Rexec, Rlogin, Rsh, SAP/R3, SIP, SMB, SMTP, SMTP Enum, SNMP, SOCKS5, SSH (v1 and v2), Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC 和 XMPP。
9. Medusa
Medusa是與THC Hydra類(lèi)似的密碼破解工具,號(hào)稱(chēng)能夠進(jìn)行快速的并行處理,模塊化的暴力登錄破解工具。Medusa是一個(gè)命令行工具,使用前需要學(xué)習(xí)命令集,該工具的效率取決于網(wǎng)絡(luò)速度,在本地網(wǎng)絡(luò)每分鐘可測(cè)試2000個(gè)密碼。





























