1.1.3 令牌安全防御
Windows使用访问令牌来记录用户身份,验证用户权限,每个用户都有一个访问令牌。一般的攻击者都会利用DuplicateTokenEx API来对令牌进行模拟盗窃。他们会使用DuplicateTokenEx函数创建一个新令牌,并对现有的令牌进行复制,将新令牌用于Impersonate-LoggedOnUser函数中,允许调用线程模拟已登录用户的安全上下文,同时也可以通过DuplicateTokenEx复制令牌,并使用CreateProcessWithTokenW把复制的令牌用于创建在模拟用户的安全上下文中运行的新进程。
那么怎样才能对令牌窃取攻击进行有效的安全防御呢?有如下两种方法。
1.禁止域管理员异机登录
域管理员是在整个域控中管理权限最高的,为了防止域管理员的令牌被恶意窃取,必须禁止域管理员异机登录。如果因一些特殊情况域管理员登录了其他机器,应及时将令牌清除,以防止令牌被窃取。
2.开启“审核进程创建”策略
可以通过开启“审核进程创建”策略来监视令牌操作时所需使用的Windows函数的动作。
1)输入gpedit.msc命令,进入组策略中,如图1-5所示。
图1-5 输入gpedit.msc命令
2)依次选择“计算机配置”→“Windows设置”→“安全设置”→“高级审核策略配置”→“系统审核策略-本地组策略对象”→“详细跟踪”→“审核进程创建”,如图1-6所示。
图1-6 审核进程创建
3)双击打开“审核进程创建”界面,配置无论成功还是失败都进行审核(在创建进程时会生成审核事件,成功审核记录成功的尝试,而失败审核记录不成功的尝试),如图1-7所示。
图1-7 审核进程创建配置
4)可以通过事件查看器来查看执行访问令牌尝试操作的记录,如图1-8所示。
图1-8 通过事件查看器查看令牌尝试操作记录