SMB協議利用之ms17-010-永恒之藍漏洞抓包分析SMB協議
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協議