<span id="7ztzv"></span>
<sub id="7ztzv"></sub>

<span id="7ztzv"></span><form id="7ztzv"></form>

<span id="7ztzv"></span>

        <address id="7ztzv"></address>

            原文地址:http://drops.wooyun.org/tips/7779

            作者: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地址或增加認證機制,不給黑客爆破的機會。

            <span id="7ztzv"></span>
            <sub id="7ztzv"></sub>

            <span id="7ztzv"></span><form id="7ztzv"></form>

            <span id="7ztzv"></span>

                  <address id="7ztzv"></address>

                      亚洲欧美在线