Wireshark駭客發現之旅(4)——暴力破解

wyzsk發表於2020-08-19
作者: 聚鋒實驗室 · 2015/08/10 10:33

作者:Mr.Right、K0r4dji

申明:文中提到的攻擊方式僅為曝光、打擊惡意網路攻擊行為,切勿模仿,否則後果自負。

一、個人觀點


暴力破解,即用暴力窮舉的方式大量嘗試性地猜破密碼。猜破密碼一般有3種方式:

1、排列組合式:首先列出密碼組合的可能性,如數字、大寫字母、小寫字母、特殊字元等;按密碼長度從1位、2位……逐漸猜試。當然這種方法需要高效能的破解演算法和CPU/GPU做支援。

2、字典破解:大多攻擊者並沒有高效能的破解演算法和CPU/GPU,為節省時間和提高效率,利用社會工程學或其它方式建立破譯字典,用字典中存在的使用者名稱、密碼進行猜破。

3、排列組合+字典破解相結合。 理論上,只要擁有效能足夠強的計算機和足夠長的時間,大多密碼均可以破解出來。

暴力破解一般有兩種應用場景:

1、攻擊之前,嘗試破解一下使用者是否存在弱口令或有規律的口令;如果有,那麼對整個攻擊將起到事半功倍的作用。

2、大量攻擊之後,實在找不出使用者網路系統中的漏洞或薄弱環節,那麼只有上暴力破解,期待得到弱口令或有規律的口令。 所以,使用者特別是管理員設定弱密碼或有規律的密碼是非常危險的,有可能成為駭客攻擊的“敲門磚”或“最後一根救命稻草”。

暴力破解應用範圍非常廣,可以說只要需要登入的入口均可以採用暴力破解進行攻擊。應用層面如:網頁、郵件、FTP服務、Telnet服務等,協議層面如:HTTP、HTTPS、POP3、POP3S、IMAP、IMAPS、SMTP、SMTPS、FTP、TELNET、RDP、QQ、MSN等等。本文僅列舉部分常見協議,其它協議情況類似。

二、正常登入狀態


要從通訊資料層面識別暴力破解攻擊,首先我們得清楚各種協議正常登入的資料格式。下面我們來認識一下POP3/SMTP/IMAP/HTTP/HTTPS/RDP協議認證過程的常見資料格式,根據伺服器型別的不同格式略微不同。(說明:本章使用伺服器環境為Exchange2003和WampServer)

1、POP3協議

enter image description here

+OK Microsoft Exchange Server 2003 POP3 .......... 6.5.6944.0 (a-ba21a05129e24.test.org) ........   //伺服器準備就緒
CAPA   //用於取得此伺服器的功能選項清單
+OK Capability list follows
TOP
USER
PIPELINING
EXPIRE NEVER
UIDL
.
USER [email protected]    //與 POP3 Server 送出帳戶名
+OK
PASS [email protected]    //與 POP3 Server 送出密碼
+OK User successfully logged on.   //認證成功
STAT
+OK 14 21568
QUIT
+OK Microsoft Exchange Server 2003 POP3 .......... 6.5.6944.0 ..........

2、SMTP協議

enter image description here

220 a-ba21a05129e24.test.org Microsoft ESMTP MAIL Service, Version: 6.0.3790.3959 ready at  Thu, 6 Aug 2015 11:10:17 +0800  //服務就緒
EHLO Mr.RightPC //主機名
250-a-ba21a05129e24.test.org Hello [192.1.14.228]
……
250 OK
AUTH LOGIN  //認證開始
334 VXNlcm5hbWU6  // Username:
anVmZW5nMDAxQHRlc3Qub3Jn  //輸入使用者名稱的base64編碼
334 UGFzc3dvcmQ6  // Password:
MXFhekBXU1g=   //輸入密碼的base64編碼
235 2.7.0 Authentication successful.    //認證成功

3、IMAP協議

enter image description here

* OK Microsoft Exchange Server 2003 IMAP4rev1 .......... 6.5.6944.0 (a-ba21a05129e24.test.org) ........     //IMAP服務就緒
bf8p CAPABILITY
* CAPABILITY IMAP4 IMAP4rev1 IDLE LOGIN-REFERRALS MAILBOX-REFERRALS NAMESPACE LITERAL+ UIDPLUS CHILDREN
bf8p OK CAPABILITY completed.
s3yg LOGIN "jufeng002" "[email protected]"        //輸入使用者名稱:jufeng002,密碼:[email protected]
s3yg OK LOGIN completed.     //認證成功

4、HTTP協議

HTTP協議認證格式較多,這裡僅列一種作為參考。

enter image description here

Referer: http://192.1.14.199:8080/login.html     //登入地址
uname=jufeng001&upass=1qaz%40WSXHTTP/1.1 200 OK
…
<script>alert('OK')</script>
//輸入使用者名稱jufeng001,密碼1qaz%40WSX,Web伺服器返回HTTP/1.1 200和彈出對話方塊“OK”表示認證成功。

5、HTTPS協議

HTTPS協議為加密協議,從資料很難判斷認證是否成功,只能根據資料頭部結合社會工程學才能判斷。如認證後有無檢視網頁、郵件的步驟,如有,就會產生加密資料。

enter image description here

從資料中可看出HTTPS頭部有認證協商的過程,認證後有大量加密資料,基本可判斷認證成功。SSL認證過程見下圖:

enter image description here

6、RDP協議

RDP為Windows遠端控制協議,採用TCP3389埠。本版本採用的加密演算法為:128-bit RC4;紅線內為登陸認證過程,後為登陸成功的運算元據。

enter image description here

三、識別暴力破解


從暴力破解的原理可知,攻擊中會產生大量猜試錯誤的口令。一般攻擊者在爆破前會透過其他途徑蒐集或猜測使用者的一些使用者名稱,相關的字典和爆破演算法,以提高效率。

1、POP3爆破

enter image description here

從圖中可發現,攻擊者不斷輸入使用者名稱jufeng001,不同的密碼進行嘗試,伺服器也大量報錯:-ERR Logon failure: unknown user name or bad password。Follow TCPStream可以看得更清楚。

enter image description here

提取所有資訊,就可以知道攻擊者猜破了哪些使用者名稱、哪些口令。

2、SMTP爆破

SMTP協議往往是使用者郵件安全管理的一個缺口,所以多被駭客利用。

enter image description here

從圖中可發現,攻擊者不斷輸入使用者名稱jufeng001,不同的密碼進行嘗試,伺服器也大量報錯:535 5.7.3 Authentication unsuccessful。Follow TCPStream:

enter image description here

3、IMAP爆破

從下面兩張圖可以看出,IMAP爆破會不斷重複LOGIN "使用者名稱" "密碼",以及登入失敗的報錯:NO Logon failure: unknown user name or bad password

enter image description here

enter image description here

4.HTTP爆破

由於大量Web伺服器的存在,針對HTTP的爆破行為也可以說是最多的,研究爆破方法和繞過機制的人也比較多。這裡僅用最簡單的Web實驗環境做介紹。

首先開啟資料可以看到,短時間內出現大量登入頁面的請求包。

enter image description here

提取Follow TCPStream可以看見輸入使用者名稱、密碼情況,伺服器返回值不再是登入成功的“OK”,而是登入錯誤的“…………”。

enter image description here

以上的“…………”並不是返回無內容,這是由於Wireshark無法識別該中文的編碼的原因,我們可以點選Hex Dump看一下十六進位制編碼的內容。

enter image description here

將提取Follow TCPStream的資訊另存為1.html,用瀏覽器開啟。

enter image description here

5.HTTPS爆破

HTTPS包括其它SSL協議的爆破從通訊層面監控有一定的難度,因為認證過程加密了,無法知道攻擊者使用的使用者名稱、密碼以及是否認證成功。但從爆破的原理可知,爆破會出現大量的登入過程,且基本沒有認證成功,更不會有登入成功的操作過程。

如圖:爆破過程中,不斷出現認證過程:“Client Hello”、“Server Hello”等,並未出現登入成功後操作的大量加密資料。

enter image description here

點選Info可發現,在不到2秒的時間就出現16次認證,基本可以判斷為暴力破解。

enter image description here

6.RDP爆破

RDP爆破在駭客攻擊中應用非常多,一旦破解出登入密碼,基本可以控制這臺機器。由於RDP協議資料也加密了,對於爆破的識別也有一定的困難,下面介紹另外一種方法快速識別,這種方法同樣適用其它協議的爆破。

首先我們統計一下正常登入RDP協議的TCP埠等資訊,可以看出正常登入的話,在一定時間內是一組“源埠和目的埠”。

enter image description here

再來看一下爆破RDP協議的TCP埠等資訊,可以看出短時間內出現大量不同的“源埠和目的埠”,且包數和位元組長度基本相同。這就表明出現大量動作基本相同的“短通訊”,再結合資料格式就可以確定為暴力破解行為。

enter image description here

7.多使用者同時爆破

為提供命中率,攻擊者往往會蒐集大量的使用者名稱作為字典同時開展爆破,希望達到“東方不亮西方亮”的效果。這種爆破方法同樣很好識別,它的通訊原理為:同一個攻擊IP同時登入大量不同的使用者名稱、嘗試不同的口令、大量的登入失敗的報錯。

下圖為同時對jufeng001、jufeng002、jufeng003、jufeng004等使用者開展爆破的截圖。

enter image description here

enter image description here

8、如何識別爆破成功

當然,發現爆破攻擊行為僅僅是工作的一部分,更重要的是要清楚攻擊者到底爆破是否成功,如果成功了會對我們造成什麼影響。下面就基於Wireshark來介紹如何發現爆破成功。

(1)首先我們要清楚攻擊者爆破的協議,以及該協議登入成功伺服器返回值。如下圖,為POP3的爆破,從前面的介紹我們知道如果登入成功伺服器返回:“+OK User successfully logged on”。

enter image description here

2)在資料中搜尋“+OK User successfully logged on”。

enter image description here

(3)透過搜尋發現確實存在伺服器返回的成功登入資訊。

enter image description here

(4)Follow TCPStream發現攻擊者在嘗試了大量錯誤口令後,終於爆破成功:使用者名稱jufeng001,[email protected]

enter image description here

四、總結

1、無論是使用者還是管理員,我們都要重視弱口令或有規律的口令這個安全問題,不要讓安全防範輸於細節。

2、驗證碼機制防範暴力破解僅適用於HTTP/HTTPS協議,無法防範其它協議。

3、理解了暴力破解的通訊原理,從通訊層面進行監控和阻止就可以實現。

4、重要管理系統的登入許可權受到爆破攻擊行為較多,登入許可權最好繫結管理員常用的IP地址或增加認證機制,不給駭客爆破的機會。

本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!

相關文章