前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在Linux中使用kerberos黄金票据

在Linux中使用kerberos黄金票据

作者头像
Ms08067安全实验室
发布2019-12-18 14:55:23
1.7K0
发布2019-12-18 14:55:23
举报

Kerberos黄金票据允许攻击者建立对Windows域的持久和隐蔽的身份验证访问。攻击的工作如下:

  1. 攻击者在域中获得管理员权限
  2. 攻击者提取域用户"krbtgt"的ntlm哈希,并获取目标域的SID
  3. 攻击者伪造kerberos票
  4. 此票据用于使用域管理员的权限进行身份验证

以下是关于如何在Kali Linux上使用黄金票据的详细说明。

我们从获取krbtgt ntlm哈希开始。我们使用一个编码版的mimikatz以防止触动AV(Antivirus),下载地址如下:

(https://github.com/artkond/batarmor/blob/master/examples/krbtgt.bat)

在krbtgt SID中去掉最后一组,即502,获取到的SID为 S-1-5-21-3251500307-1840725093-2229733580。

现在要生成票证,我们使用Impacket的ticketer.py实用程序:(https://github.com/CoreSecurity/impacket/blob/master/examples/ticketer.py)

差不多好了,需要导出系统变量,所以impacket的psexec.py可以使用票证。运行psexec.py时,使用-k键进行Kerberos身份验证:

除了psexec以外,还可以使用其他工具例如wmiexec.py(它比psexec.py更加隐蔽,因为它不会上传任何二进制文件并且不启动任何服务)或atexec.py(使用计划的任务执行代码):

到目前为止一切正常,但如果想上传一些文件怎么办?很可能你会想使用smbclient来完成这个任务。使用kerberos与smbclient有点复杂。我们必须将kerberos添加到位于/etc/krb5.conf的配置文件。如果没有krb5.conf,我们需要从发行版的repo安装krb5-user包。

代码语言:javascript
复制
[realms]
    PENTESTO.LOC = {
        kdc = tcp/dc01:88
    }

TCP是最好的选择,因为能够通过socks代理将请求传送到kerberos服务器上。

在socks隧道上使用kerberos票据需要更多的额外工作。有可能不能直接访问活动目录服务器,因此我们必须编辑/etc/hosts文件。添加目标服务器,域控制器(也是kerberos服务器)和域的全名。这是必须的,因为Kerberos仅适用于主机名,如果指定IP地址,则将失败。

代码语言:javascript
复制
$ cat /etc/hosts
...
10.0.0.89  pentesto.loc
10.0.0.89  dc01
...

我们的目标服务器是域控服务器。编辑代理链,添加我们的socks代理和注释proxy_dns:

代码语言:javascript
复制
$ cat proxychains.conf
...
#Proxy DNS requests - no leak for DNS data
#proxy_dns
...
[ProxyList]
# add proxy here ...
# meanwile
# defaults set to "tor"
socks4  172.16.46.157 3128

如果我们正确设置了/etc/hosts和/etc/krb5.conf,那么运行smbclient或psexec.py就不会有问题了:

需要注意的一点是,psexec.py对我们提供的信息,域名和用户名应与我们使用ticketer.py伪造票据时输入的完全相同,这样才能保证成功。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-12-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Ms08067安全实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
多因子身份认证
多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档