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