SMB/CIFS 掃描

0x00:SMB 簡介

SMB 是 Server Message Block 的縮寫,現在改名爲 CIFS,是 Common internet File System 的縮寫。主要用於網絡上的計算機共享文件,打印機,串行端口和通訊等。使用端口主要爲 139 和 445,smb 不同版本對應了不同的操作系統,對應如下:

請輸入圖片描述

139 和 445 都是 smb 的端口,其區別在於 139 端口是基於 NetBIOS 協議的,而 445 端口是基於 TCP/IP 的,如果兩個端口都支持的話,則 445 優先級高於 139.

0x01:nmap

smb 掃描首先需要確定目標端口是否開放,也就是 139 和 445,以 win(ip 是 102)和 linux(ip 是 101)爲例,掃描如下:

請輸入圖片描述

掃描結果 win 是開放的,linux 也是開放的,但在 linux 系統中是沒有 smb 協議的,linux 上實現 smb 協議的 samba,samba 是 linux 中用來實現文件共享的一個開源軟件,是 linux 中的 smb。如果 linux 運行了 samba,則 nmap 的結果就會顯示 139 和 445 爲開放狀態。

只掃描端口是粗略的進行的端口探測,當需要知道目標的操作系統是否爲 win 時,可使用 nmap 的 smb-os-discovery 腳本,示例如下:

請輸入圖片描述

可以看到,smb-os-discovery 腳本不僅給出了端口的開放情況,也給出了系統類型。

在確定了系統的端口爲開放後,nmap 也提供了一個檢測 smb 漏洞的腳本,kali 中其目錄在 usr/share/nmap/scriptas/,如下:

請輸入圖片描述

有很多關於 smb 的腳本,漏洞檢測的也有很多,拿有名的 ms08-067 做示例吧,使用 smb-vuln-ms08-067 如下:

請輸入圖片描述

檢測結果是存在的,很多腳本可以查看 nse 文件的代碼,裏面有詳細的腳本功能說明以及使用方法。

0x02:nbtscan

nbtscan 是一個基於 netbios 的掃描工具,smb 也是基於 netbios,所以可以使用 nbtscan 進行 smb 掃描,nbtscan 只能用於局域網掃描,但在局域網中可以跨網段掃描,很多大公司的網絡會分很多個網段,這時候 nbtscan 就很有用。其通過 r 參數來指定目標地址,示例如下:

請輸入圖片描述

0x03:enum4linux

enum4linux 是一個利用 smb 來枚舉 win 系統信息的,這個工具的優點在於枚舉的信息較爲詳細,缺點就是單次只能掃一個主機。常用的參數是 a,代表枚舉默認的信息,這些默認的信息包括用戶列表、風險列表、組列表、用戶密碼、用戶 RID、系統信息、打印信息等。各參數如下:

請輸入圖片描述

運行示例如下:

請輸入圖片描述

0x04:總結

smb 是最容易出現問題的一個協議,windows 做的越來越好,但是也避免不了一些問題,之前的勒索病毒中就利用到了 smb 協議。在 smb 發現中,廣域網可以使用 nmap 腳本發現,局域網多個網段時可以使用 nbtscan,獲取其詳細信息時可以使用 enum4linux,nmap 中有很多 smb 不同漏洞的檢測腳本,對蒐集有很大的幫助。

公衆號回覆數字“8”領取CIS加固全套手冊。

微 信:fageweiketang,朋友圈不定期乾貨分享,歡迎討論。

公衆號:發哥微課堂,專注於代碼審計、WEB滲透、網絡安全。

                     

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章