Az - Conditional Access Policies / MFA Bypass

Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι υποστήριξης του HackTricks:

Βασικές Πληροφορίες

Οι πολιτικές συνθηκών πρόσβασης Azure είναι κανόνες που ορίζονται στο Microsoft Azure για την επιβολή ελέγχων πρόσβασης σε υπηρεσίες και εφαρμογές Azure βάσει συγκεκριμένων συνθηκών. Αυτές οι πολιτικές βοηθούν τις οργανώσεις να ασφαλίσουν τους πόρους τους εφαρμόζοντας τους κατάλληλους ελέγχους πρόσβασης υπό τις κατάλληλες συνθήκες. Οι πολιτικές συνθηκών πρόσβασης ουσιαστικά ορίζουν τον Ποιος μπορεί να έχει πρόσβαση σε Τι από Πού και Πώς.

Παρακάτω παρατίθενται μερικά παραδείγματα:

  1. Πολιτική Κινδύνου Σύνδεσης: Αυτή η πολιτική μπορεί να οριστεί για να απαιτεί πολλαπλής παράγοντας ταυτοποίηση (MFA) όταν ανιχνεύεται κίνδυνος σύνδεσης. Για παράδειγμα, εάν η συμπεριφορά σύνδεσης ενός χρήστη είναι ασυνήθιστη σε σχέση με το συνήθες πρότυπό του, όπως η σύνδεση από διαφορετική χώρα, το σύστημα μπορεί να ζητήσει επιπλέον πιστοποίηση.

  2. Πολιτική Συμμόρφωσης Συσκευής: Αυτή η πολιτική μπορεί να περιορίσει την πρόσβαση σε υπηρεσίες Azure μόνο σε συσκευές που συμμορφώνονται με τα πρότυπα ασφαλείας της οργάνωσης. Για παράδειγμα, η πρόσβαση μπορεί να επιτρέπεται μόνο από συσκευές που διαθέτουν ενημερωμένο λογισμικό αντιιικών ή εκτελούν μια συγκεκριμένη έκδοση λειτουργικού συστήματος.

Παρακάμψεις Πολιτικών Συνθηκών Πρόσβασης

Είναι δυνατόν μια πολιτική συνθήκης πρόσβασης να ελέγχει κάποιες πληροφορίες που μπορούν να παραποιηθούν εύκολα, επιτρέποντας έτσι την παράκαμψη της πολιτικής. Και αν για παράδειγμα η πολιτική ρύθμιζε το MFA, ο επιτιθέμενος θα μπορούσε να την παρακάμψει.

Πλατφόρμες Συσκευής - Συνθήκη Συσκευής

Είναι δυνατόν να οριστεί μια συνθήκη βάσει της πλατφόρμας της συσκευής (Android, iOS, Windows, macOS), ωστόσο, αυτό βασίζεται στο user-agent οπότε είναι αρκετά εύκολο να παρακαμφθεί. Ακόμη και εάν όλες οι επιλογές επιβάλλουν MFA, εάν χρησιμοποιήσετε ένα user-agent που δεν αναγνωρίζεται, θα μπορείτε να παρακάμψετε το MFA.

Τοποθεσίες: Χώρες, Εύρος IP - Συνθήκη Συσκευής

Φυσικά, εάν αυτό έχει οριστεί στην πολιτική συνθήκης, ένας επιτιθέμενος μπορεί απλά να χρησιμοποιήσει ένα VPN στην επιτρεπόμενη χώρα ή να προσπαθήσει να βρει έναν τρόπο να έχει πρόσβαση από μια επιτρεπόμενη διεύθυνση IP για να παρακάμψει αυτές τις συνθήκες.

Εφαρμογές Πελάτη Office365

Μπορείτε να υποδείξετε ότι εάν οι πελάτες έχουν πρόσβαση σε εφαρμογές Office 365 από τον περιηγητή, χρειάζονται MFA:

Για να παρακάμψετε αυτό, είναι δυνατόν να προσποιηθείτε ότι συνδέεστε σε μια εφαρμογή από μια εφαρμογή επιφάνειας εργασίας (όπως στο παρακάτω παράδειγμα, στο Microsoft Teams) το οποίο θα παρακάμψει την προστασία:

roadrecon auth -u user@email.com -r https://outlook.office.com/ -c 1fec8e78-bce4-4aaf-ab1b-5451cc387264 --tokrns-stdout

<token>

Καθώς η εφαρμογή Microsoft Teams έχει πολλές άδειες, θα μπορείτε να χρησιμοποιήσετε αυτήν την πρόσβαση.

Μπορείτε να βρείτε το ID περισσότερων δημόσιων εφαρμογών με προκαθορισμένες άδειες Office365 στη βάση δεδομένων του roadtools:

SELECT appId, displayName FROM ApplicationRefs WHERE publicCLient = 1 ORDER BY displayName ASC

Then, use the obtained PRT token to authenticate to the target application.

Legacy Authentication

If the target application allows legacy authentication, an attacker could use legacy protocols that don't support MFA to bypass it.

Some examples of legacy protocols are IMAP, SMTP, POP3, Exchange ActiveSync, Remote PowerShell, etc.

Password Spray

If the target application allows password spray attacks, an attacker could try a list of common passwords against multiple accounts until finding a valid one.

This technique is effective when MFA is not enforced for all accounts or when weak passwords are used.

Password Reset

If the target application allows password reset, an attacker could try to reset the password of a target account and gain access without needing MFA.

This technique is effective when MFA is not enforced for the password reset process.

Phishing

Phishing attacks can be used to trick users into providing their credentials, including their MFA code.

By creating a fake login page that looks identical to the target application's login page, an attacker can capture the user's credentials and bypass MFA.

Token Theft

If an attacker is able to steal a user's access token, they can use it to authenticate to the target application without needing MFA.

This can be done through techniques like token interception, token replay, or token leak.

Application Permission

If an application has been granted application permissions to access a target application, it can bypass MFA.

This can happen if the application has been granted delegated permissions and the attacker is able to compromise the application's credentials.

Device Registration

If a device has been registered with Azure AD, it can bypass MFA.

This can happen if the device is trusted and has been registered with Azure AD.

If a user has given consent to an application to access their data, the application can bypass MFA.

This can happen if the user has granted consent to an application and the attacker is able to compromise the application's credentials.

Conditional Access Policies

If the target application has conditional access policies configured, an attacker can try to bypass them.

This can be done by finding vulnerabilities or misconfigurations in the policies, or by using bypass techniques like the ones mentioned above.

Remember that bypassing MFA is a serious security issue and should not be done without proper authorization. Always follow ethical hacking guidelines and obtain proper permissions before attempting any MFA bypass techniques.

$prtKeys = Get-AADIntuneUserPRTKeys - PfxFileName .\<uuid>.pfx -Credentials $credentials

$prtToken = New-AADIntUserPRTToken -Settings $prtKeys -GertNonce

Get-AADIntAccessTokenForAADGraph -PRTToken $prtToken

<token returned>

Βρείτε περισσότερες πληροφορίες σχετικά με αυτού του είδους επίθεση στην ακόλουθη σελίδα:

Az - Pass the PRT

Εργαλεία

Λάβετε όλες τις πολιτικές

roadrecon plugin policies

Το MFASweep είναι ένα PowerShell script που προσπαθεί να συνδεθεί σε διάφορες υπηρεσίες της Microsoft χρησιμοποιώντας ένα συγκεκριμένο σετ διαπιστευτηρίων και θα προσπαθήσει να εντοπίσει εάν η πολυπαραγοντική πιστοποίηση (MFA) είναι ενεργοποιημένη. Ανάλογα με τον τρόπο που έχουν διαμορφωθεί οι πολιτικές συνθήκης πρόσβασης και οι άλλες ρυθμίσεις πολυπαραγοντικής πιστοποίησης, μερικά πρωτόκολλα μπορεί να μείνουν μονοπαραγοντικά. Έχει επίσης μια επιπλέον έλεγχο για τις διαμορφώσεις ADFS και μπορεί να προσπαθήσει να συνδεθεί στον εξυπηρετητή ADFS στον τόπο εγκατάστασης.

Invoke-MFASweep -Username <username> -Password <pass>

Το donkey token είναι ένα σύνολο λειτουργιών που στοχεύουν να βοηθήσουν τους ασφαλιστικούς συμβούλους που χρειάζονται να επικυρώσουν τις πολιτικές συνθήκης πρόσβασης, να δοκιμάσουν τα Microsoft portals που υποστηρίζουν το 2FA, κ.λπ..

Import-Module 'C:\Users\Administrador\Desktop\Azure\Modulos ps1\donkeytoken' -Force

Δοκιμάστε κάθε πύλη για να δείτε αν είναι δυνατή η σύνδεση χωρίς MFA:

Test-MFA -credential $cred -Verbose -Debug -InformationAction Continue

Επειδή το Azure portal δεν είναι περιορισμένο, είναι δυνατόν να συλλεχθεί ένα διακριτικό (token) από το τέλος του portal για να αποκτηθεί πρόσβαση σε οποιαδήποτε υπηρεσία εντοπίστηκε από την προηγούμενη εκτέλεση. Σε αυτήν την περίπτωση εντοπίστηκε το Sharepoint και ζητείται ένα διακριτικό για να αποκτηθεί πρόσβαση σε αυτό:

$token = Get-DelegationTokenFromAzurePortal -credential $cred -token_type microsoft.graph -extension_type Microsoft_Intune
Read-JWTtoken -token $token.access_token

Υποθέτοντας ότι το διακριτικό έχει την άδεια Sites.Read.All (από το Sharepoint), ακόμα κι αν δεν μπορείτε να έχετε πρόσβαση στο Sharepoint από τον ιστό λόγω του MFA, είναι δυνατό να χρησιμοποιήσετε το διακριτικό για να έχετε πρόσβαση στα αρχεία με το δημιουργημένο διακριτικό:

$data = Get-SharePointFilesFromGraph -authentication $token $data[0].downloadUrl

Αναφορές

Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

Last updated