Kerberos KDC域管理权限提高漏洞小结
01漏洞发源
Windows Kerberos 对 kerberos tickets 中的 PAC(Privilege Attribute Certificate)的验证步骤中存有安全性漏洞,低管理权限的历经验证的远程控制网络攻击运用该漏洞能够仿冒一个PAC并根据 Kerberos KDC(Key Distribution Center)的验证,进攻取得成功促使网络攻击能够提高管理权限,获得域管理员权限。
02漏洞叙述
(1)简易的互相真实身份验证
A向B推送信息时,会额外一个Authenticator(验证码 ,该算法设计=真实身份信息 时间格式)来开展彼此之间的真实身份验证。逐渐验证以前,A和B早已有一个有且只有二人了解的密匙)
下边是工作内容:
1.A用密匙数据加密了[信息 Authenticator(真实身份信息 时间格式)],将其发送给B
2.B用密匙破译了A发过来的Authenticator,并将在其中包括的时间格式记下来。B将这一时间格式与自身的获取当前时间开展较为,假如这一时差超过某一值(windows下默认设置是五分钟),B觉得信息并不是A发过来的,回绝事后验证。假如这一时差低于预设值,B要查验过去五分钟内,是不是存有带有更早时间格式的Authenticator,要是没有,B觉得信息的确是A发过来了。到此,完成了B对A的验证
3.B用密码加密Authenticator里的时间格式,随后将其送回给A,以证实自身的确是B
4.A接到后,破译出时间格式,历经自身的比照,确定了另一方的确是B,到此完成了A对B的验证
(2)Kerberos叙述
1.用户Sue登录到自身的手机客户端,手机客户端向验证服务器发送一个TGT(Ticket Granting Ticker)要求到KDC服务项目
2. 验证网络服务器确定用户的访问限制和session key验证网络服务器应用用户登陆密码HASH做为KEY去数据加密要求随后发送至手机客户端
3. 手机客户端事后应用这一登陆密码去破译之后的信息。破译取得成功后,用户应用TGT去到TGS要求一个服务项目单据
4. TGS回到一个服务项目单据
5. 用户拿服务项目单据去验证
6. 打开手机客户端和服务器端对话
(3)漏洞叙述
上边的图有一个地方沒有强调,不管TGT還是服务项目单据都包括一个PAC(Privilege Attribute Certificate),PAC包括了2个信息,一个是用户SID,另一个是用户的组。
当用户登陆KDC验证服务项目的情况下,服务项目会验证PAC中的签名。假如PAC带上的签名表明“Sue”是“域控管理人员”安全性组的组员,那麼建立的登录session对话就将Sue当做了管理人员。那样的验证存在的问题,网络攻击能够仿冒真实身份。
(4)漏洞伤害
这一漏洞的关键伤害是以一般域用户真实身份能够仿冒域管理员身份。
假如设备上并沒有修复漏洞 3011780 则很有可能存有这一漏洞可以被故意运用。
涉及到系统软件:
Windows Server 2003
Windows Vista
Windows Server 2008
Windows 7
Windows Server 2008 R2
Windows 8 and Windows 8.1
Windows Server 2012 and Windows Server 2012 R2
Server Core installation option
03漏洞基本原理
(1)PAC基本原理
Server接到Client发过来的TGS后,要依据TGS中Client声明所属的域组,和Server上的ACL开展对,随后决策给与Client哪些的資源访问限制。微软公司应用PAC来表明TGS中Client声明的域组。PAC(Privilege Attribute Certificate),权利特性资格证书。
PAC包括Client的User的SID、Group的SID。PAC决策了Client的组特性,即决策了Client的管理权限PAC为了更好地确保本身的合理合法,还包括两个签名,Key为krbtgt的NTLM,签名的內容除开User SID、Group SID外,也有别的一部分PAC做为TGT的一部分,是数据加密的,密匙为krbtgt的NTLM作Client向KDC的AS控制模块进行验证要求,AS回到TGT时,会依据Client所属的组,转化成PAC,包括Client的User SID、Group SID,及其用以保证PAC不被伪造的两个签名
(2)漏洞诱因
Client在进行验证要求时,根据设定include-PAC为False,则回到TGT中不容易包括PAC
KDC对PAC开展验证时,针对PAC尾端的签名优化算法,尽管基本原理上要求务必是含有Key的签名优化算法才能够,但微软公司在完成上,却容许随意签名优化算法,只需手机客户端特定随意签名优化算法,KDC网络服务器便会应用特定的优化算法开展签名验证。因而仿冒的随意內容都能够是合理合法的,立即再加上內容的MD5值做为签名就可以(第一个缘故)
PAC沒有被放到TGT中,放到其他地区。KDC在依然可以恰当分析出沒有放到TGT中的PAC信息PAC务必是保密,历经Key数据加密的KDC会从Authenticator中取下来subkey,把PAC信息破译并运用手机客户端设置的签名优化算法验证签名(第二个缘故)
KDC验证缺乏PAC的TGT取得成功后,再验证没有TGT中 的PAC的合理合法。假如两个均验证取得成功,KDC把PAC中的User SID、Group SID取下来,再次应用开展签名,签名优化算法和密匙与设定inclue-pac标志位为TRUE时一模一样。将新造成的PAC添加到破译后的TGT中,再再次数据加密制做全新升级的TGT发给Client,并不是TGS(第三个缘故)
04漏洞运用
在做域网站渗透测试时,在我们取得了一个一般域组员的账户后,想再次对该域开展渗入,取得域控服务器管理权限。假如域控服务器存有MS14-068漏洞,而且未修复漏洞,那麼大家就可以运用MS14-068迅速得到域控服务器管理权限。
MS14-068序号CVE-2014-6324,补丁下载为3011780,假如自查可在域控制器上应用指令检验,如回到結果为空则表明网络服务器存有MS14-068。
存有以下拓补图:
域用户hack在域组员服务器A上登录过,域组员服务器A的管理人员根据mimikatz获得了域用户hack的用户名,登陆密码,SID等价,并且域控存有MS14-068漏洞,如今域组员服务器A想根据MS14-068漏洞浏览域控。
1、转化成TGT
(1)应用net config workstation指令查询工作中域的名字
(2)应用ms14-068.exe转化成单据
相关ms14-068专用工具应用以下:
在其中 -u 域组员名@网站域名
-s 域组员SID
-d 域控制器详细地址
-p 域组员登陆密码
迄今为止唯一不清楚的是域组员SID的值,应用whoami -all指令能够查询域组员的SID值:
因此 应用以下指令转化成单据:
2、引入TGT
(1)在域组员设备上,先应用klist指令查询自身的单据信息
(2)假如存有单据,则应用klist purge指令清除掉,不然很有可能会造成 没法取得成功
(3)应用mimikatz开展引入
(4)查询单据是不是引入取得成功
(5)试着浏览域服务器
取得成功载入域服务器C盘文档,得到域控管理权限。
留意:
1.引入单据时,设备不可以是03或xp,由于mimikatz不兼容这两个设备引入
2. 当获得到域用户、域用户SID、登陆密码及其可浏览到域控制器的设备,并不一定设备一定在域中(如网络攻击根据VPN等拨入内部网),但必须把dns偏向域控制器才可以分析
3. 浏览域控制器时,必须应用IP地址,不可以应用IP
全自动运维管理|运维管理专用工具的不断迅速交货实践活动
【预警信息】具备极高可配备性的Zeppelin敲诈勒索病毒来袭!!!
【风险】可绕开防毒软件的Snatch病毒感染来啦!!!
当碉堡机会上防水坝,1 1撞击的安全性便是那么稳!
Android勒索病毒剖析