# icacls(權限工具) ###### tags: `window提權` ### 使用說明: ``` ICACLS name /save aclfile [/T] [/C] [/L] [/Q] 將符合名稱之檔案與資料夾的 DACL 儲存至 aclfile,以供稍後與 /restore 搭配使用。請注意,這不會儲存 SACL、擁有者或完整 性標籤。 ICACLS directory [/substitute SidOld SidNew [...]] /restore aclfile [/C] [/L] [/Q] 將儲存的 DACL 套用到目錄中的檔案。 ICACLS name /setowner user [/T] [/C] [/L] [/Q] 變更所有相符名稱的擁有者。此選項不會強制變更擁有權; 如果要強制變更擁有 權,請使用 takeown.exe 公用程式。 ICACLS name /findsid Sid [/T] [/C] [/L] [/Q] 尋找內含明確提及 Sid 之 ACL 的所有相符名稱。 ICACLS name /verify [/T] [/C] [/L] [/Q] 尋找含有未使用標準格式的 ACL 或長度與 ACE 計數不一致的所有檔案。 ICACLS name /reset [/T] [/C] [/L] [/Q] 針對所有符合的檔案,使用預設繼承的 ACL 取代 ACL。 ICACLS name [/grant[:r] Sid:perm[...]] [/deny Sid:perm [...]] [/remove[:g|:d]] Sid[...]] [/T] [/C] [/L] [/Q] [/setintegritylevel Level:policy[...]] /grant[:r] Sid:perm 授與指定的使用者存取權限。若加上 :r,該權限便會取 代先前授與的明確權限。若不加上 :r,則會將權限加入先前授與的任何明 確權限。 /deny Sid:perm 明確拒絕指定的使用者存取權限。對指定的權限新增明確拒絕的 ACE,並將任何明確授與中的相同權限移除。 /remove[:[g|d]] Sid 會移除 ACL 中 Sid 的所有符合項目。若加上 :g,會將授 與該 Sid 之權限的所有符合項目移除。若加上 :d,則會將拒絕該 Sid 之權 限的所有符合項目移除。 /setintegritylevel [(CI)(OI)]Level 明確地新增完整性 ACE 至所有符合的檔 案。可指定下列層級的其中一個: L[ow] M[edium] H[igh] 完整性 ACE 的繼承選項具有高於層級的優先性,且只會套用到目錄。 /inheritance:e|d|r e - 啟用繼承 d - 停用繼承並複製 ACE r - 移除所有繼承的 ACE 注意: Sid 的格式可以是數字或好記的名稱。如果指定使用數字格式,請在 SID 的開頭 加上 *。 /T 指示要在 name 指定之目錄下的所有相符檔案/目錄上執行此操作。 /C 指示不論發生任何檔案錯誤,都繼續執行此操作。仍會顯示錯誤訊息。 /L 指示此操作會在符號連結 (而非其目標) 上執行。 /Q 指示 icacls 應隱藏成功訊息。 ICACLS 保留 ACE 項目的標準順序: 明確拒絕 明確授與 繼承拒絕 繼承授與 perm 是權限遮罩,可使用下列其中一種格式來指定: 一連串簡單權限: N - 不允許存取 F - 完整存取權 M - 修改存取權 RX - 讀取和執行存取權 R - 唯讀存取權 W - 唯寫存取權 D - 刪除存取權 在括號中以逗號分隔特定權限的清單: DE - 刪除 RC - 讀取控制 WDAC - 寫入 DAC WO - 寫入擁有者 S - 同步 AS - 存取系統安全性 MA - 允許的最大值 GR - 一般讀取 GW - 一般寫入 GE - 一般執行 GA - 一般所有權限 RD - 讀取資料/列出目錄 WD - 寫入資料/新增檔案 AD - 附加資料/新增子目錄 REA - 讀取擴充屬性 WEA - 寫入擴充屬性 X - 執行/周遊 DC - 刪除子系 RA - 讀取屬性 WA - 寫入屬性 繼承權限的優先順序高於上述任一種格式,且僅套用到目錄: (OI) - 物件繼承 (CI) - 容器繼承 (IO) - 僅繼承 (NP) - 不傳播繼承 (I) - 從父容器繼承的權限 範例: icacls c:\windows\* /save AclFile /T - 會將 c:\windows 及其子目錄下所有檔案的 ACL 儲存到 AclFile。 icacls c:\windows\ /restore AclFile - 會還原 AclFile 之中每個檔案的 Acl,而 AclFile 位於 c:\windows 及其子目錄下。 icacls file /grant Administrator:(D,WDAC) - 會將檔案的刪除和寫入 DAC 權限授與使用者 Administrator。 icacls file /grant *S-1-1-0:(D,WDAC) - 會將檔案的刪除和寫入 DAC 權限授與 sid S-1-1-0 所定義的使用者。 ``` ### C:\ 權限 ``` C:\Windows\system32> icacls c:\ c:\ BUILTIN\Administrators:(F) BUILTIN\Administrators:(OI)(CI)(IO)(F) NT AUTHORITY\SYSTEM:(F) NT AUTHORITY\SYSTEM:(OI)(CI)(IO)(F) BUILTIN\Users:(OI)(CI)(RX) NT AUTHORITY\Authenticated Users:(OI)(CI)(IO)(M) NT AUTHORITY\Authenticated Users:(AD) Mandatory Label\High Mandatory Level:(OI)(NP)(IO)(NW) ``` 我們如果是用一般使用者會在Users群組 跟Authenticated Users(已登入過的使用者) 群組 ``` BUILTIN\Users:(OI)(CI)(RX) NT AUTHORITY\Authenticated Users:(OI)(CI)(IO)(M) NT AUTHORITY\Authenticated Users:(AD) ``` (RX)代表 讀跟執行 (AD)創建資料夾 (M)修改存取權 這時你想創資料夾可以,但創建txt文字檔不行 ### c:\windows\ 權限 ``` C:\Windows\system32> icacls c:\windows\ c:\windows\ NT SERVICE\TrustedInstaller:(F) NT SERVICE\TrustedInstaller:(CI)(IO)(F) NT AUTHORITY\SYSTEM:(M) NT AUTHORITY\SYSTEM:(OI)(CI)(IO)(F) BUILTIN\Administrators:(M) BUILTIN\Administrators:(OI)(CI)(IO)(F) BUILTIN\Users:(RX) BUILTIN\Users:(OI)(CI)(IO)(GR,GE) CREATOR OWNER:(OI)(CI)(IO)(F) ``` ``` BUILTIN\Users:(RX) BUILTIN\Users:(OI)(CI)(IO)(GR,GE) ``` (RX)代表 讀跟執行 剩下的有點複雜之後研究