域控被突破的几种途径
对于入侵者来说,进入企业后,为了获取最大权限,通常会将目标瞄准在域控上。下面是针对不同的域控环境,列举的几种不同的攻击攻击手法。
一、通过域控相关的漏洞
此思路主要针对域控补丁没有打完整,导致能直接进行域提权漏洞攻击。一般出现在一些安全情报偏弱、补丁更新不频繁的中小公司或者大公司的测试环境。主要是通过MS14068、zerologon、nopac等相关漏洞来直接攻击域控,或者GPP这种能直接获取域管密码的漏洞来直接获取域控权限。
二、通过域内的中继
此思路主要针对域控中存在强制NTLM认证漏洞的情况(打印机回调函数、petitpotam等相关漏洞,此漏洞也是potato系列提权的核心。之前微软回应不对此漏洞进行修复,但是在今年4月的补丁中,对相关漏洞进行了修复)。去年爆出的petitpotam漏洞中,通过MS-EFSRPC的越权回调,强制域控和CA进行认证,并在其中做ntlm中继,实现对域控权限的获取。
三、通过抓取域管登录服务器的hash
此思路主要是针对系统运维人员没有对域管账户登陆的服务器进行收敛,随意在服务器上使用高权限账户,并不清理服务器上缓存的hash,导致攻击者能直接在其他服务器中获取到高权限账户的hash,从而实现域内提权,获取域控制器权限。该方法主要的攻击思路就是PTH,通过横向移动 密码抓取,不断获取服务器权限,再在服务器中抓取hash,用新的hash继续PTH获取其他服务器权限,直到抓取到高权限hash为止。
上面几种方法主要是存在中小公司或者大公司的测试环境等安全能力和安全意识偏弱的目标。在大型企业中,域控能自动化打补丁,无法直接通过1day漏洞直接攻击域控,有经验的运维人员也会对高权限账户登录的服务器进行收敛,直接攻击域控难度过高,于是将目标改为与域控强相关的系统、人员、账户。下面几种是与域控强相关的攻击目标。
四、通过攻击Exchange服务器、DNS服务器等
与域控强相关的系统中,最容易想到的就是Exchange服务器。Exchange服务器具有域控的DCSync权限,通过Exchange的RCE控制Exchange后,也可以直接dump域控中域管的hash,实现对域控的控制。如果获取不到Exchange权限,也可以通过Exchange的http 的NTLM中继到域控实现域内权限提升(PrivExchange,但是目前已经修复)。DNS服务器中的DNS admin用户也能让域控远程加载自定义的dll文件,从而实现对域控的控制。
五、通过获取域控制器的localgroup中特权组成员的权限来获取域控权限
企业为了保证域控中的最小权限原则,通常会在域控制器的localgroup中授予一些域用户特殊权限,方便不同人员使用域中的不同能力。比如localgroup中的backup operators组中的成员能对域控进行备份,也就能直接导出域控的SAM数据库,从而获取域管hash。
六、通过委派来获取域控权限
在windows域中,有一些服务,需要在其他服务器中执行用户的一些权限,此服务器中的服务账户就会被设置为委派。而如果服务账户被设置为非约束委派,则可通过此服务账户直接获取到域控的权限。
七、通过域控运维堡垒机
通常在大型企业中,生产网和办公网直接都有隔离,运维人员需要通过堡垒机来对生产网的服务器进行管理。当域控运维人员的堡垒机和其他用户的堡垒机隔离偏弱时,攻击人员也可以通过堡垒机之间的横向移动来控制域控运维人员的堡垒机,从而实现对域控的控制。
八、通过运维人员的个人主机
域控运维人员,登陆域控的整个过程中,除了登陆的堡垒机设备外,还需要自己在办公网的办公机。通过内网鱼叉攻击获取横向移动手法,控制域控运维人员的办公机,并在办公机上进行keylogger和屏幕截图,来获取域控相关的权限。
九、通过与域控相关的web服务器
在大型企业中,企业运维人员,为了方便域控及其他重要服务器的管理和将自己的能力对公司内部其他部门提供相关服务,需要通过一个web平台来使用域控中的一些功能,或对域控进行管理。因此,会在web中配置与域控相关的信息,会直接与域控进行连接,可以通过在这种web系统中的一些越权或者RCE漏洞来实现对域控的控制。
后续如果发现新的域控的攻击方式会在gtihub同步,如果大家有新的攻击方式,也欢迎大家一起交流。
github地址:https://github.com/JDArmy/GetDomainAdmin