Ok this is not a small subject areas and it’s not a HOW TO guide but it should at least give you some ideas for tools to deploy and areas to check that are abused by Ransomware gangs and ATPs etc. Thanks to people who contributed!
This is not everything but it’s some common low hanging weaknesses:
- Make sure you have an offline backup! (not domain joined etc.)
- Run pingcastle (https://www.pingcastle.com/)
- Run Purple Knight (https://www.purple-knight.com/) (thanks @MarkSewe)
- Disable NULL bind if its enabled (old, upgraded domains often have this enabled still)
- Ensure you are not vulnerable to kerberoasting
- Check for accounts with KERBEROS PRE AUTHENTICATION DISABLED
- Look for accounts with “Does not require password” (thanks @dcdiagfix)
- Look for accounts with “Password never set” (thanks @dcdiagfix)
- Check “adminsdholder” does not have inheritance enabled
- Check the password policy
- Check account lockout policies
- Ensure passwords are not stored in group policy preferences
- Audit high privilege access users and reduce wherever possible
- Ensure audit policies are configured appropriately
- Check for passwords in the description fields
- Where possible restrict admin services to management vlans
- E.g., Restrict where HPA accounts can do admin from
- Deploy Sysmon
- Use L0hptcrack and run a password audit (this can be a risky activity so if you do this use caution/research)
- Harden weak passwords
- If possible, disable LM hashes
- Reset the krbtgt account (twice) as per MS guidance
- Use a dual or tri account model for high priv users
- Where possible configure admin accounts as restricted admin
- Ensure you have offline domain backups
- Enable centralised domain logging (using WEF/WEC at minimum)
- Remove unrequired SPNs from admin accounts etc.
- If server 2016 domain mode enable time based admin (thanks @0daydorpher)
- Enable domain recycle bin
- Check Certificate Authority template permissions (thanks @lkarlslund)
- Review User Right Assignments (thanks @DebugPrivilege)
- oh and make sure it’s PATCHED! (FULLY!)
- Deploy LAPS
- Enale Kerberos AES256
- Remove users rights to join AD (thanks emove user rights to join devices to AD (thanks @NathanMcNulty)
- Disable Spool Services on domain controllers!
- ADCS
- Not AD but also review:
- ADCS Security Configuration
- Exchange
- For AzureAD Connect don’t sync admin accounts/service accounts etc.
There’s loads of info online my friend nathan did this threat which is super cool: https://twitter.com/NathanMcNulty/status/1282369991308763136?s=20&t=GydfOKbnRy9VGBBUqugClw
also i’ve made a post incident AD recovery list (if u can’t nuke from orbit etc.)
and one about preparing to be attacked:
also because the community rocks, go and check out this guide: