前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >域控制器权限持久化分析和防范

域控制器权限持久化分析和防范

作者头像
黑白天安全
发布2021-05-11 10:00:59
1.1K0
发布2021-05-11 10:00:59
举报
文章被收录于专栏:黑白天安全团队

在获得域控制器的权限后,攻击者通常会对现有的权限进行持久化操作。

DSRM域后门 DSRM域后门介绍

代码语言:javascript
复制
DSRM(Directore Services Restore Mode,目录服务恢复模式)是Windows 域环境中域控制器的安全模式启动项。每个域控制器有一个本地管理员账户(也就是DSRM账户)。DSRM的用途是:允许管理员在域环境中出现故障或崩溃时还原、修复、重建活动目录数据库,使域环境的运行恢复正常。在域环境创建之初,DSRM的密码需要在安装DC时设置,且很少会被重置。

在渗透测试中,可以使用DSRM账号对域环境进行持久化操作。我们知道,每个域控制器都由本地管理员账号和密码(与域管理员账号和密码不同)。DSRM账号可以作为一个域控制器的本地管理员账户,通过网络连接域控制器,进而控制域控制器。

DSRM域后门的防御措施

代码语言:javascript
复制
定期检查注册表中用于控制DSRM登录方式的键值HKL\System\CurrentControlSet\Control\Lsa\DsrmAdminLogonBehavior,确认该键值为1,或者删除该键值
定期修改域中所有控制器的DSRM账号
经常检查ID为4794的日志。尝试设置活动目录服务还原模式的管理员密码会被记录在4794日志中

SSP维持域控权限 SSP介绍

代码语言:javascript
复制
SSP(Security Support Provider)是Windows操作系统的安全机制的提供者。简答的说,SSP就是一个DLL文件,主要用来实现Windows操作系统的身份认证功能,例如NTML、Kerberos、Negotiate、Secure Channel、Digets、Credential。
SSPI(Security Support Provider Interface,安全支持提供程序接口)是Windows操作系统在执行认证操作时使用的API接口,可以说,SSPI是SSP的API接口。

如果获得了目标网络的System权限,可以使用该方法进行持久化操作,其主要原理是:LSA(Local Security Authority)用于身份验证;lsass.exe作为Windows的系统进程,用于本地安全和登陆策略;在系统启动时,SSP将被加载到lsass.exe进程中。但是,假如攻击者对LSA进行了扩展,自定义了恶意的DLL文件,在系统启动时将其加载到lsass.exe进程中,就能获取到lsass.exe的明文密码。这样,即使用户更改密码重新登陆,攻击者依然能获取该账号的新密码。

SSP维持域控制器权限的防御措施

代码语言:javascript
复制
检查HKEY_LOCAL_MACHINE/System/CurrentControlSet/Control/Lsa/Security Packages项中是否有可疑的DLL文件
检查C:\Windows\System32\目录下是否有可疑DLL文件
使用第三方工具检查LSA中是否有可疑的DLL文件

3 SID History域后门 SID History域后门介绍

代码语言:javascript
复制
每个用户都有自己的SID,SID的主要作用是跟踪安全主题控制用户连接资源时的访问权限。SID History是在域迁移过程中需要使用的一个属性。

如果A域中的域用户迁移到B域中,那么在B域中的新建用户的SID会随之改变,进而影响迁移后的用户权限,导致迁移后的用户不能访问本来可以访问的资源。SID History的作用是在域迁移过程中保持域用户的访问权限,即如果迁移后的用户的SID改变了,系统会将其原来的SID添加到迁移后用户的SID History属性中,使迁移后的用户保持原有权限、能访问其原来可以访问的资源。在渗透测试中,如果获得了域管理员权限,就可以将SID History作为持久化的方法。

SID History域后门的防御措施

代码语言:javascript
复制
经常查看域用户中SID为500的用户
完成域迁移工作后,对有相同SID History属性的用户进行检查
定期检查ID为4765和4766的日志:4765为将SID History属性添加到用户的日志;4766为将SID History属性添加到用户失败的日志

4 Golden Ticket Golden Ticket介绍

代码语言:javascript
复制
在渗透测试中,如果发现系统中存在恶意行为,应及时更改域管理员密码,对受控制的机器进行断网处理,然后进行日志分析取证。然而,攻击者往往会留下多条进入内网的通道,如果我们忘记将krbtgt账号重置,攻击者就可以很快拿到域控制器权限。

krbtgt是KDC服务使用的账号,属于Domain Admins组,在域环境中,每个用户账号的票据都是由krbtgt生成的,如果攻击者拿到了krbtgt的NYLM Hash或者AES-256值,就可以伪造域内任意用户的身份,并以该用户的身份访问其他服务。

攻击者在使用域的Golden Ticket(黄金票据)进行票据攻击时,通常需要掌握以下信息:

代码语言:javascript
复制
需要伪造的域管理员用户名
完整的域名
域SID
krbtgt的NTLM Hash或AES-256值

使用Golden Ticket伪造的用户可以是任意用户(即使这个用户不存在),因为TGT的加密是由krbtgt完成的,所以,只要TGT被krbtgt账户和密码正确的加密,那么任意KDC使用krbtgt将TGT解密后,TGT的所有信息都是可信的。

Golden Ticket攻击的防御措施

代码语言:javascript
复制
管理员通常会修改域管理员的密码,但有时会忘记将krbtgt密码一并重置,所以,要想防止Golden Ticket攻击,就需要将krbtgt密码重置两次。

5 Silver Ticket Silver Ticket介绍

代码语言:javascript
复制
Silver Ticket(白银票据)不同于Golden Ticket。Silver Ticket的利用过程是伪造TGS,通过已知授权服务密码生成一张可以访问该服务的TGT。因为在票据生成过程中不需要使用KDC,所以可以绕过域控制器,很少留下日志。而Golden Ticket在利用过程中需要由KDC颁发TGT,并且在生成伪造的TGT的20分钟内,TGS不会对该TGT真伪进行校验。

Silver Ticket依赖于服务账号的密码散列值,这不同于Golden Ticket利用需要使用krbtgt账号密码的散列值,因此更加隐蔽。

Golden Ticket使用krbtgt账号的密码散列值,利用伪造最高权限的TGT向KDC要求颁发拥有任意服务访问权限的票据,从而获得域控制器权限。而Silver Ticket会通过相应的账号服务来伪造TGS,范围有限,只能获得对应的权限服务。Golden Ticket是由krbtgt账号加密的,而Silver Ticket是由特定的服务账号加密的。

攻击者在使用Silver Ticket对内网进行攻击时,需要掌握以下信息:

代码语言:javascript
复制
域名
域SID
目标服务器的FQDN
可利用的服务
服务账号的NTLM Hash
需要伪造的用户名

Silver Ticket攻击的防范措施

代码语言:javascript
复制
在内网中安装杀毒软件,及时更新系统补丁
使用组策略在域中进行相应的设置,现值mimikatz在内网中的使用
计算机的账号密码默认30天清理一次,检查该设置是否生效

6 Skeleton Key 使用Skeleton Key(万能密码),可以对域内权限进行持久化操作。 使用mimikatz注入Skeleton Key,注入成功后。会在域内的所有账号中添加万能密码:mimikatz Skeleton Key攻击的防范措施

代码语言:javascript
复制
域管理员要设置强口令,确保恶意代码不会再域控制器内执行
在所有域用户中启动双因子认证,例如智能卡认证
启动应用程序的白名单,以限制mimakatz在域控制器中的运行

7 Hook PasswordChangeNotify Hook PasswordChangeNotify的作用是当用户修改密码后在系统中进行同步。攻击者可以利用该功能获取用户修改密码时输入的密码明文。

Hook PasswordChangeNotify攻击的防御措施

代码语言:javascript
复制
使用Hook PasswordChangeNotify不需要重启系统、不会再系统磁盘上留下DLL文件、不需要修改注册表。如果Hook PasswordChangeNotify被攻击者利用,网络管理员是很难检测到的。所以,在日常的网络维护工作中,需要对PowerShell进行严格检视,并启用约束语言模式,对Hook PasswordChangeNotify进行防御。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 黑白天实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
访问管理
访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档