1. 程式人生 > >SMB協議利用之ms17-010-永恒之藍漏洞抓包分析SMB協議

SMB協議利用之ms17-010-永恒之藍漏洞抓包分析SMB協議

剛才 我的博客 接受 進程 pro 服務器 持久 實驗 postgresq

SMB協議利用之ms17-010-永恒之藍漏洞抓包分析SMB協議

實驗環境:

Kali msf以及wireshark

Win7開啟網絡共享(SMB協議)

實驗步驟:

1、查看本機數據庫是否開啟,發現數據庫是關閉的,需要開啟

  技術分享圖片

2、 打開本機數據庫

  技術分享圖片

3、再次查看postgresql數據庫狀態,發現postgresql數據庫已經開啟

  技術分享圖片

4、打開msf,查看msf是否連接上數據庫,下圖顯示連接上數據庫了

  技術分享圖片

5、如果沒有連上數據庫,並且發現數據庫服務也開啟了,這時可以通過初始化msf 數據庫,便能解決問題

  技術分享圖片

6、接下來便進行再msf中一些操作了,發現哪些主機開啟445端口

利用auxiliary/scanner/smb/smb_version腳本搜索有哪些主機開放了smb服務

  技術分享圖片

7、使用hosts查看有總共哪些主機開放了445端口

  技術分享圖片

8、得到主機開放了445端口(SMB)之後,然後判斷是否存在ms17-010-永恒之藍漏洞

利用auxiliary/scanner/smb/smb_ms17_010腳本掃描判斷目標是否存在ms17-010-永恒之藍漏洞,這裏以其中一個為例,當然也可以跳過445端口掃描,直接進行MS17-010漏洞掃描。

  技術分享圖片

9、運行後,可以看到掃描結果,說明192.168.43.111可能存在MS17-010漏洞

 技術分享圖片

10、接下來就是利用exploit/windows/smb/ms17_010_eternalblue腳本掃描剛才可能存在MS17-010漏洞的主機,為了以後可以持久化控制目標,這裏需要加載一個payload(這裏用windows/x64/meterpreter/reverse_tcp),同時在本地開啟監聽

 技術分享圖片

11、開始攻擊,把抓包,從下圖可以看到攻擊成功

  技術分享圖片

12、抓包對整個攻擊過程進行分析

12.1、首次首先客戶端發送一個SMB negotiate protocolrequest請求數據報,並列出它僅支持SMBv1 #註意在這裏與正常的不同,正常的會列出好多版本,正常的SMB通信過程見我的博客相關內容。

  技術分享圖片

12.2、服務端一般默認開啟SMBv1,下圖說明,服務端同意與客戶端建立連接並用SMBv1版本通信。

  技術分享圖片

12.3、協議確定之後, 客戶端進程向服務器發起一個用戶或共享的認證,這個過程是通過發送session setup request請求數據報實現的。可以看到下圖使用匿名用戶登錄。

  技術分享圖片

12.4、服務器通過發送一個session setup response應答數據報來允許或拒絕本次連接,下圖沒有提示出錯,可以說明允許本次連接。

  技術分享圖片

12.5、當客戶端和服務器完成了磋商和認證之後,它會發送一個tree connect andx rerquest SMB數據報並列出它想訪問網絡資源的名稱。

  技術分享圖片

12.6、服務器會發送一個tree connect andx response應答數據報以表示此次連接是否被接受或拒絕,下圖可以看到沒有提示錯誤,說明連接成功。

  技術分享圖片

12.7、在接下來就是連接到相應資源後,SMB客戶端進行的一些操作了,這裏不進行分析了。

------------------------------------------------------------------------------------------------------------

SMB協議原理抓包分析請參考:https://www.cnblogs.com/yuzly/p/10480438.html

SMB協議利用之ms17-010-永恒之藍漏洞抓包分析SMB協議