iT邦幫忙

2024 iThome 鐵人賽

DAY 18
0
Security

前端小廢物誤入 Hackthebox Module系列 第 18

SMB - NTFS vs. Share Permissions

  • 分享至 

  • xImage
  •  

複習 SMB

還記得之前提過的 SMB 嗎?

幫讀者複習一下 SMB 是何方神聖~

/images/emoticon/emoticon34.gif

SMB(Server Message Block,伺服器訊息區塊)是一種網路通訊協定,主要用於在網路上共享文件、打印機、和串流資料等資源。

SMB 允許多台電腦在同一網路中讀取和寫入遠端檔案,就像訪問本地磁碟一樣!

權限:Share Permissions v.s. NTFS

共享權限(Share Permissions)

共享權限適用於當文件夾通過網絡共享時,用於控制網絡上其他用戶對文件夾和文件的訪問。也就是說,當一個文件夾被設為網絡共享,其他用戶通過 SMB(Server Message Block)協議或網絡連接來訪問該文件夾時,共享權限生效。

這裡的權限是相對基礎的,包含以下幾種:

  • Full Control(完全控制):允許用戶進行所有操作(包括讀取、編輯、刪除),也可以改變 NTFS 文件和子文件夾的權限。
  • Change(更改):允許用戶讀取、編輯、刪除和添加文件及子文件夾。
  • Read(讀取):允許用戶查看文件和子文件夾的內容。

注意

共享權限只在用戶從遠端(通過網絡)訪問共享文件夾時生效。

NTFS 權限

NTFS 權限是針對文件系統本身的,與共享無關。

NTFS 權限適用於「文件夾或文件在本地或遠端(例如通過遠端桌面連線,RDP)」被訪問時控制用戶的權限。

NTFS 權限更加細緻且提供更精細的控制,如下:

  • Full Control(完全控制):允許添加、編輯、移動、刪除文件和文件夾,並可以更改 NTFS 權限。
  • Modify(修改):允許查看和修改文件及文件夾的內容,包括添加和刪除文件。
  • Read & Execute(讀取和執行):允許讀取文件內容和執行程序。
  • List folder contents(列出文件夾內容):允許查看文件夾中的文件和子文件夾列表。
  • Read(讀取):允許查看文件的內容。
  • Write(寫入):允許對文件進行修改並向文件夾中添加文件。

注意

NTFS 權限對本地存取和遠程存取的文件夾或文件都有效。NTFS 權限可以控制更細微的動作,例如允許查看屬性、創建子文件夾、追加數據等。

Share Permissions v.s. NTFS

其實,這兩種權限最大的差異就是:作用範圍不同。

差異 - 作用範圍

  • 共享權限:只在通過網絡共享訪問文件夾時生效,主要是限制從其他電腦的網絡訪問。

  • NTFS 權限:無論是本地用戶還是通過遠端桌面、網絡共享訪問文件夾時都有效,且權限控制更細緻。
    控制精細度不同:

差異 - 權限細緻度

  • 共享權限:提供相對基礎的控制選項,如“讀取”、“更改”、“完全控制”。

  • NTFS 權限:提供非常細緻的控制,允許管理文件和文件夾的屬性、讀取、寫入、執行、修改、刪除等。
    共同作用:

情境題 - 通過網絡共享訪問文件夾

當用戶通過網絡共享訪問文件夾時,共享權限和 NTFS 權限都會生效。這意味著用戶必須同時通過共享權限和 NTFS 權限的檢查才能成功訪問文件夾。也就是說,即便用戶在共享權限上擁有完全控制權,但如果 NTFS 權限限制了某些操作,則他們仍無法進行這些操作。

Linux 嘗試連接 Windows SMB 共享資料夾

今天帶大家用 Linux 系統嘗試連接 Windows 上的 SMB 共享資料夾 ~


預處理 - Linux 遠端 RDP 連接到 Windows

xfreerdp /v:<targetIp> /u:htb-student /p:Password

預處理 - 設定共享資料夾

在確認連接後~

讀者可以在想要共享的資料夾上按右鍵,選擇 Properties -> Sharing -> Advanced Sharing ,
接著勾選 Share this folder。

https://ithelp.ithome.com.tw/upload/images/20241002/20107197QCysCvW80w.png

1. 確認 SMB 共享資料夾權限

點擊 Permission,確保 Everyone 群組至少擁有 讀取 權限。

https://ithelp.ithome.com.tw/upload/images/20241002/201071970BTzPJAJ1s.png


2. 測試 SMB 連接

使用 smbclient 工具從 Linux 系統測試連接到 Windows 系統的 SMB 共享。

指令

smbclient -L SERVER_IP -U YOUR_USERNAME

參數說明:

SERVER_IP:目標 Windows 電腦的 IP 地址。

YOUR_USERNAME:你在 Windows 上的用戶名稱。

3. 輸入密碼,連接共享資料夾

輸入密碼後,應該會顯示 Windows 上的可用共享資料夾,類似以下這樣:

Sharename       Type      Comment
---------       ----      -------
ADMIN$          Disk      Remote Admin
C$              Disk      Default share
Company Data    Disk      
IPC$            IPC       Remote IPC

接著,就可以找到剛剛創建的共享資料夾,並且輸入密碼後嘗試連接:

smbclient '\\SERVER_IP\YOUR_TARGET_SHARED_FOLDER' -U YOUR_USERNAME

參數說明:

SERVER_IP:目標 Windows 電腦的 IP 地址。

YOUR_TARGET_SHARED_FOLDER: 目標的共享資料夾。

YOUR_USERNAME:你在 Windows 上的用戶名稱。

4. 掛載共享資料夾

在 Linux 上,使用 mount 命令將 Windows 共享資料夾掛載到本地文件系統。

sudo mount -t cifs -o username=YOUR_USERNAME,password=YOUR_PASSWORD //SERVER_IP/SHARE_NAME /path/to/mount

參數說明:

-t cifs:指定檔案系統類型為 CIFS(Common Internet File System),這是用來掛載 Windows 共享的協議。

-o:後面跟的是一些選項(options),用來指定登錄的用戶名和密碼等參數。

YOUR_USERNAME:你在 Windows 上的用戶名稱。

YOUR_PASSWORD:你的 Windows 密碼。

SERVER_IP:目標 Windows 電腦的 IP 地址。

SHARE_NAME:你共享的資料夾名稱。

/path/to/mount:你想要掛載的 Windows 本地目錄。

接著測試

上述是基本指令的教學,那麼我們可以在實際上怎麼進行測試呢?

首先,可以先看看之前建立的共享資料夾的 Properties:

https://ithelp.ithome.com.tw/upload/images/20241002/20107197YUz0i4ikWp.png

NTFS 權限提供更細緻的控制,可以應用於用戶和群組。每當我們看到某個權限旁邊有一個灰色的勾選標記時,這表示該權限是從父目錄繼承的。預設情況下,所有 NTFS 權限都是從父目錄繼承的。在 Windows 系統中,C:\ 磁碟是所有目錄的父目錄,除非系統管理員在新建資料夾的進階安全設定中停用繼承。

現在,讀者可以將 Everyone 群組設置為具有共享層級的「完全控制權限」(可以查看之前的截圖,轉換設置),嘗試修改該資料夾的父資料夾為共享的掛載點(修改之前掛載的路徑)。

如果出現錯誤,檢查是否需要安裝 cifs-utils:

安裝 cifs-utils

sudo apt-get install cifs-utils

5. 驗證連接

完成後,回到 Linux 系統,讀者在指定的掛載目錄中看到 Windows 共享資料夾的內容~
/images/emoticon/emoticon06.gif

今日心得

颱風天感覺有點累XD
今天拖到最後一刻才稍微寫了點東西
但感覺明天會再修正稿子~

參考資源

https://academy.hackthebox.com/


上一篇
Windows - File System 文件管理系統
下一篇
Windows Services & Processes 介紹
系列文
前端小廢物誤入 Hackthebox Module31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言