在企业网络信息化建设中,经常会使用AD域(Active Directory Domain)来统一管理网络中的PC终端。在AD域中,DC(域控制器)中包含了由这个域的账户、密码、属于这个域的计算机等信息构成的数据库。因此,攻击者在对AD域进行攻击时,通常以获取DC的控制权限为目标。
域攻击常见的方法有PTH攻击、黄金票据攻击、白银票据攻击、lsass进程读取明文密码,以及最新的NetLogon特权提升漏洞攻击等。面对这些攻击,大部分安全产品无法进行有效的保护,难以在第一时间发现并阻断这些攻击。
NetLogon特权提升漏洞攻击分析
https://portal.msrc.microsoft.com/en-US/security-guidance/a dvisory/CVE-2020-1472
该漏洞评分为10级,几乎所有微软服务器操作系统都受到影响,严重威胁域控服务器安全。由于安全公司Secura发布了相关的漏洞利用程序Zerologon(下载 地址:https://github.com/SecuraBV/CVE-2020-1472),因此攻击者可以比较容易的利用该漏洞获取到域控服务器的控制权限。NetLogon协议通信流程如下图:
如上图所示,其中client challenge攻击者可控,server challenge在每一轮认证过程中都会变化,secret 对应于用户密码的hash,Encrypt的过程采用的是AES-CFB8。
NetLogon特权提升漏洞的原理是没有正确的使用加密算法,在进行AES加密运算过程中,使用了AES-CFB8模式但错误的将其中的一个运算参数设置为全零,这使得攻击者在明文(client challenge)可控的情况下,存在较高的概率使产生的密文全为零,使域控服务器的密码可被修改为空,导致被攻击者获取控制权限,如图下所示:
PTH(Pass-The-Hash)攻击分析
PTH攻击即攻击者可以直接通过Hash访问远程主机或服务,而不用提供明文密码。
当前Windows的身体验证机制主要使用NTLM协议和Kerberos协议,均通过将口令转换成Hash的方式进行身份认证,因此一旦攻击者获取了Hash,则不必将Hash重新转换成口令,可直接使用Hash进行身份认证。
在本地环境时,大量计算机在安装时会使用相同的本地管理员账号和密码。如果计算机的本地管理员账号密码相同,攻击者一旦获取管理员账户的Hash,就能使用PTH攻击获取内网中其他机器的控制权限而不需要获取明文的口令。
在域环境中,当攻击者获得了域管理员组内用户的哈希值,就可以使用PTH攻击获取域中其他机器的控制权限而不需要获取明文的口令。
lsass进程读取明文密码分析
lsass.exe是Windows系统中安全机制相关的进程,主要用于本地安全和登陆策略。通过lsass.exe进程的内存直接获取明文密码或者通过dump将lsass.exe转储成lsass.dmp文件,再配合其它工具就可以获得Windows明文密码。
Windows黄金票据、白银票据攻击分析
黄金票据、白银票据攻击是基于Kerberos认证协议的攻击方式,常用来做后渗透权限维持。由于在用户正常访问资源时也会请求服务票证,因此黄金、白银票据攻击具备很高的隐秘性。
Kerberos协议的基本流程是Client先通过AS(身份认证服务)进行身份认证,认证通过后AS会给Client一个TGT(票据授予票据),Client 将获取到的TGT发送到TGS(票据授予服务)进行身份验证,验证通过后TGS会给Client一个ST(服务票据),Client通过这个ST去访问 指定Server上的服务。
A、黄金票据攻击
在Kerberos认证中,Client通过AS认证后,AS会给Client一个TGT, 而TGT是通过域控服务器上krbtgt账户的Hash进行加密的,所以只要得到krbtgt的Hash,就可以伪造TGT来进入下一步Client与TGS的交互。而在有了黄金票据后,就跳过了AS验证,不用验证账户和密码,所以也不担心域管密码修改。
B、白银票据攻击
如果说黄金票据攻击是伪造TGT,那么白银票据就是伪造ST,在 Kerberos认证协议的第三步,Client带着ST向Server上的某个服务进行请求,Server接收到Client的请求,验证通过后允许Client使用 Server上的指定服务。所以只要有了服务器管理员账户的Hash,就能跳过向TGS请求ST的过程,可以直接伪造ST使用Server上的服务。
从上面的方法来分析,PTH攻击、黄金票据攻击、白银票据攻击等所采用的基本是正常的验证流程,导致常规的检测方法无法识别这类攻击,在这类攻击面前形同虚设,而采用比较暴力的禁用端口、服务等方法又会影响正常业务的使用,同时域控环境存在补丁修复限制及新漏洞的不断产生从而引发新的风险。因此,安全软件对AD域的防护一直是一个难点,是安全防护体系的一个薄弱环节。
在AD域环境中会遇到各种各样的攻击,而传统安全产品只在应用层或系统层进行防护,在面对新型威胁和内部威胁时,难以在第一时间发现并阻断这些威胁。安芯网盾的内存保护系统使用创新的技术如硬件虚拟化技术、内存行为分析技术等,把安全产品的防护能力从应用层、系统层下沉 到硬件虚拟化层,打造了三大能力模块:
01
漏洞防御
通过细粒度的监控内存读、写、执行行为,可实时检测内存中存在的堆、栈代码执行、内存数据覆盖等异常行为,结合拦截模块,可以高效防御0day漏洞攻击。
02
内存数据保护
系统运行或切换用户时,内存中存有缓存数据,内存保护系统可以对特定进程进行防护,防止第三方工具读取缓存数据。
03
威胁防御
内存保护系统可以实时感知内存数据流动状态、程序的具体行为动作并结合访问行为,发现未知威胁。
安芯网盾(北京)科技有限公司(简称安芯网盾)是专注于内存安全的高新技术企业,致力于为政府、金融、运营商、军工、教育、医疗、互联网及大型企业等行业客户提供面向未来的网络安全解决方案。安芯网盾拥有赶超国际的智能内存保护技术,核心团队成员自2005年就专注于信息安全攻防对抗产品的研发并斩获多项国际大奖,被评为具有发展潜力和行业价值的网络安全新创企业。
安芯网盾帮助企业构建基于硬件虚拟化技术的内存安全环境,防御并终止在业务关键应用程序中的无文件攻击、0day漏洞攻击等高级威胁,切实有效保障用户的核心业务不被阻断,保障用户的核心数据不被窃取,已为华为、Google、工商银行、瑞斯康达、OPSWAT、费尔等众多国际知名企事业单位持续提供服务。
领取专属 10元无门槛券
私享最新 技术干货