0x01 前言

看到一个免杀下载的方式,其中包含这样一条命令

1
icacls %cd% /deny %username%:(OI)(CI)(DE,DC)

之前没接触过icacls,通过这篇笔记好好学习一下

0x02 介绍

icacls:修改文件(文件夹)的权限

icacls是cacls和xcacls的增强版(但我在win10中搜索了一下,只搜到cacls,没搜到xcacls)

windows中文件(文件夹)的权限分为2种:继承的权限(inherit permission)、明确设置的权限(explicit permission)

可通过执行icacls.exe %cd%来查看当前目录的权限

1
2
3
4
5
6
C:\Users\admin\Desktop>icacls.exe %cd%
C:\Users\admin\Desktop NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F)
BUILTIN\Administrators:(I)(OI)(CI)(F)
DESKTOP-T86MV1G\admin:(I)(OI)(CI)(F)

已成功处理 1 个文件; 处理 0 个文件时失败

具体想掌握它是干什么的,怎么使用它,需要耐心的查看下面几个文章:
https://ss64.com/nt/icacls.html
https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/icacls
cmd下执行icacls.exe /?查看用法帮助

其中OI、CI、IO是只针对文件夹还是针对文件夹和文件,讲的不是很清楚,有时间测试一下

0x03 用法

回到最初那条命令,解释如下

1
2
# 设置当前用户对当前目录的权限为:禁止删除文件(文件夹)、子文件(子文件夹)
icacls %cd% /deny %username%:(OI)(CI)(DE,DC)

知道了什么含义,也有了上面学习的知识作为基础,我们可以写一个功能一样,形式不一样的命令,也算是一种免杀储备(暂未测试)

1
2
3
icacls %cd% /deny %username%:(DE,DC) /T
icacls %cd% /deny %username%:(OI)(CI)(D)
icacls %cd% /deny %username%:D /T