ldap配合基于资源的约束委派

ldap信息获取

首先我们通过扫描,对整个内网环境进行初步的估量,可以知道的是177这台机器开放了web端,其他机器均是一些常规端口,域控机器为10机器,还是个WinServer2012,爆红的这几个永恒之蓝先放一边,虽然不知道是否能成功利用,不过抱有一丝希望来当作我们的底牌做最后的通杀

打开177机器的web端口,可以看到是一个员工查询系统,根据输入的提示,初步判断是用的域环境验证方式,常见的有Ldap 与 Kerberos

目录扫描发现了一些敏感目录:phpinfo,readme里面泄漏了部分密码

通过phpinfo可以判断使用了ldap方式进行对用户的验证。既然是ldap,我们可以进行filter+对应的ldap语法进行fuzz,其中我们通过*匹配所有,成功进入到了后台,获取了大量信息,其中包括成员组账户,有了账户和泄漏的密码,我们就可以进行PTH

通过对密码和账户的喷洒,发现了部分可以登陆ldap的凭证

考虑到在一些域内有些机器可能被设置了防火墙,从而无法被扫描到。当我们获得凭证了,为了获取更为详细的域内机器,可以对域控 dns 服务器中的 DNS 信息进行查询,从而获取到一些被防火墙忽略的机器

可以发现域中还存在 10.0.0.12 这台机器没有被扫描到,还是一台win10

ldap信息导出与分析

使用Adfind工具从域外进行 ldap 信息的获取并导出
Adfind.exe * -h 10.0.0.10 -u -up > info.txt
分析的话重点关注以下属性:
whenCreated(创建时间)
memberOf(所属组)
userAccountControl(权限)
lastLogon(上次登录时间)
pwdLastSet(上次密码修改时间)
lastLogonTimestamp(上次登录时间)
通过这些可以确定账户的权限,账户当前的状态,在对机器的 ldap 信息进行查看时发现,这里机器中存在 mS-DS-CreatorSID 这个属性,如果存在这个属性的话,表示这台机器是由某个域用户加入机器的,该域用户对该机器具有 msDS-AllowedToActOnBehalfOfOtherIdentity 权限,所以如果控制了这个账户那么就等于拿下了对应的机器,继续收集ldap信息,并定位该账户,为下一步约束委派做准备

基于资源的约束委派

首先利用刚才定位到的域账户建立一个机器账户,之后使用该机器账户去向该机器进行委派,然后通过 rbcd 将 win8 机器与新创建的账户建立委派,因为相比较于非约束委派,约束委派是正向委派,需要主动建立,这个时候test_computer598映入我们眼帘

建立委派之后将test_computer598账户的票据进行导出,这里有一点要注意,因为需要与域控进行交互,所以需要与域控的时间同步,我们可以通过ntpdate将域控时间和本机时间直接同步,最后导出完毕之后直接export导入到我们的本机

dumphash

导入完票据之后,我们可以利用smbclient来上传猕猴桃或者 procdump 工具来获取用户 hash

这里如果出现无法连接445的错误,是因为目前机器是在域外,没有域控的路由表,可以手动修改 hosts 文件,做一个域名解析
刚才我们将票据export导入到了我们的本机,所以可以直接利用smbexec获取一个目标机器的临时shell,通过执行命令使 procdump 获取 dmp 文件

再导出到本机,本地利用猕猴桃解析 lsass.dmp 文件,得到所有hash,从而拿下域管账户


ldap配合基于资源的约束委派
http://example.com/2024/02/01/ldap配合基于资源的约束委派/
作者
liuty
发布于
2024年2月1日
许可协议