mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-02-05 19:32:24 -08:00
Translated ['src/pentesting-cloud/azure-security/README.md', 'src/pentes
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
|
||||
## Basic Information
|
||||
|
||||
Μάθετε τα βασικά για το Azure και το Entra ID στην παρακάτω σελίδα:
|
||||
Μάθετε τα βασικά του Azure και του Entra ID στην παρακάτω σελίδα:
|
||||
|
||||
{{#ref}}
|
||||
az-basic-information/
|
||||
@@ -36,14 +36,14 @@ az-unauthenticated-enum-and-initial-entry/
|
||||
- [Phishing με Κωδικό Συσκευής](az-unauthenticated-enum-and-initial-entry/az-device-code-authentication-phishing.md)
|
||||
- 3rd parties **breached**
|
||||
- Ευπάθειες σε εφαρμογές που φιλοξενούνται στο Azure
|
||||
- [**Server Side Request Forgery**](https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html) με πρόσβαση στο metadata endpoint
|
||||
- **Subdomain takeovers** όπως στο [https://godiego.co/posts/STO-Azure/](https://godiego.co/posts/STO-Azure/)
|
||||
- [**Server Side Request Forgery**](https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html) με πρόσβαση στο endpoint μεταδεδομένων
|
||||
- **Αναλήψεις υποτομέων** όπως στο [https://godiego.co/posts/STO-Azure/](https://godiego.co/posts/STO-Azure/)
|
||||
- **Άλλες κακορυθμίσεις υπηρεσιών Azure**
|
||||
- Αν κάποιο laptop προγραμματιστή έχει συμβιβαστεί ([WinPEAS και LinPEAS](https://github.com/peass-ng/PEASS-ng) μπορούν να βρουν αυτές τις πληροφορίες):
|
||||
- Μέσα στο **`<HOME>/.Azure`**
|
||||
- **`azureProfile.json`** περιέχει πληροφορίες σχετικά με τους συνδεδεμένους χρήστες από το παρελθόν
|
||||
- **`clouds.config` περιέχει** πληροφορίες σχετικά με τις συνδρομές
|
||||
- **`service_principal_entries.json`** περιέχει credentials εφαρμογών (tenant id, clients και secret). Μόνο σε Linux & macOS
|
||||
- **`service_principal_entries.json`** περιέχει τα credentials των εφαρμογών (tenant id, clients και secret). Μόνο σε Linux & macOS
|
||||
- **`msal_token_cache.json`** περιέχει access tokens και refresh tokens. Μόνο σε Linux & macOS
|
||||
- **`service_principal_entries.bin`** και msal_token_cache.bin χρησιμοποιούνται σε Windows και είναι κρυπτογραφημένα με DPAPI
|
||||
- **`msal_http_cache.bin`** είναι μια cache HTTP αιτημάτων
|
||||
@@ -52,7 +52,7 @@ az-unauthenticated-enum-and-initial-entry/
|
||||
- Μέσα στο **`C:\Users\<username>\AppData\Local\Microsoft\IdentityCache\*`** υπάρχουν διάφορα αρχεία `.bin` με **access tokens**, ID tokens και πληροφορίες λογαριασμού κρυπτογραφημένα με το DPAPI των χρηστών.
|
||||
- Είναι δυνατόν να βρείτε περισσότερα **access tokens** στα αρχεία `.tbres` μέσα στο **`C:\Users\<username>\AppData\Local\Microsoft\TokenBroken\Cache\`** που περιέχουν ένα base64 κρυπτογραφημένο με DPAPI με access tokens.
|
||||
- Σε Linux και macOS μπορείτε να αποκτήσετε **access tokens, refresh tokens και id tokens** από το Az PowerShell (αν χρησιμοποιείται) εκτελώντας `pwsh -Command "Save-AzContext -Path /tmp/az-context.json"`
|
||||
- Σε Windows αυτό απλώς δημιουργεί id tokens.
|
||||
- Σε Windows αυτό απλά δημιουργεί id tokens.
|
||||
- Είναι δυνατόν να δείτε αν χρησιμοποιήθηκε το Az PowerShell σε Linux και macOS ελέγχοντας αν υπάρχει το `$HOME/.local/share/.IdentityService/` (αν και τα περιεχόμενα αρχεία είναι κενά και άχρηστα)
|
||||
|
||||
Βρείτε **άλλες κακορυθμίσεις υπηρεσιών Azure** που μπορούν να οδηγήσουν σε ένα foothold στην παρακάτω σελίδα:
|
||||
@@ -80,7 +80,7 @@ az-enumeration-tools.md
|
||||
|
||||
- **IP whitelisting** -- Πρέπει να συμβιβάσετε μια έγκυρη IP
|
||||
- **Geo restrictions** -- Βρείτε πού ζει ο χρήστης ή πού βρίσκονται τα γραφεία της εταιρείας και αποκτήστε μια IP από την ίδια πόλη (ή τουλάχιστον από τη χώρα)
|
||||
- **Browser** -- Ίσως μόνο ένας browser από ορισμένα OS (Windows, Linux, Mac, Android, iOS) να επιτρέπεται. Ανακαλύψτε ποιο OS χρησιμοποιεί το θύμα/εταιρεία.
|
||||
- **Browser** -- Ίσως μόνο ένας browser από ορισμένα OS (Windows, Linux, Mac, Android, iOS) είναι επιτρεπτός. Ανακαλύψτε ποιο OS χρησιμοποιεί το θύμα/εταιρεία.
|
||||
- Μπορείτε επίσης να προσπαθήσετε να **συμβιβάσετε τα credentials του Service Principal** καθώς συνήθως είναι λιγότερο περιορισμένα και η σύνδεσή τους ελέγχεται λιγότερο
|
||||
|
||||
Αφού παρακάμψετε αυτό, μπορεί να είστε σε θέση να επιστρέψετε στην αρχική σας ρύθμιση και θα έχετε ακόμα πρόσβαση.
|
||||
@@ -143,14 +143,14 @@ Get-AzureADTenantDetail
|
||||
|
||||
### Entra ID Enumeration & Privesc
|
||||
|
||||
Από προεπιλογή, οποιοσδήποτε χρήστης θα πρέπει να έχει **αρκετές άδειες για να καταγράψει** πράγματα όπως χρήστες, ομάδες, ρόλους, υπηρεσιακούς κύριους... (ελέγξτε [default AzureAD permissions](az-basic-information/index.html#default-user-permissions)).\
|
||||
Από προεπιλογή, οποιοσδήποτε χρήστης θα πρέπει να έχει **αρκετά δικαιώματα για να καταγράψει** πράγματα όπως χρήστες, ομάδες, ρόλους, υπηρεσιακούς κύριους... (ελέγξτε [default AzureAD permissions](az-basic-information/index.html#default-user-permissions)).\
|
||||
Μπορείτε να βρείτε εδώ έναν οδηγό:
|
||||
|
||||
{{#ref}}
|
||||
az-services/az-azuread.md
|
||||
{{#endref}}
|
||||
|
||||
Ελέγξτε τα **Post-Exploitation tools** για να βρείτε εργαλεία για την κλιμάκωση των δικαιωμάτων στο Entra ID όπως το **AzureHound:**
|
||||
Ελέγξτε τα **Post-Exploitation tools** για να βρείτε εργαλεία για την κλιμάκωση δικαιωμάτων στο Entra ID όπως το **AzureHound:**
|
||||
|
||||
{{#ref}}
|
||||
az-enumeration-tools.md#automated-post-exploitation-tools
|
||||
@@ -161,54 +161,71 @@ az-enumeration-tools.md#automated-post-exploitation-tools
|
||||
|
||||
Μόλις γνωρίζετε ποιος είστε, μπορείτε να αρχίσετε να καταγράφετε τις **υπηρεσίες Azure στις οποίες έχετε πρόσβαση**.
|
||||
|
||||
Πρέπει να αρχίσετε να ανακαλύπτετε τις **άδειες που έχετε** πάνω στους πόρους. Για αυτό:
|
||||
Πρέπει να αρχίσετε να ανακαλύπτετε τα **δικαιώματα που έχετε** πάνω στους πόρους. Για αυτό:
|
||||
|
||||
1. **Βρείτε τον πόρο στον οποίο έχετε κάποια πρόσβαση**:
|
||||
|
||||
Η εντολή Az PowerShell **`Get-AzResource`** σας επιτρέπει να **γνωρίζετε τους πόρους στους οποίους έχει ο τρέχων χρήστης ορατότητα**.
|
||||
|
||||
Επιπλέον, μπορείτε να αποκτήσετε τις ίδιες πληροφορίες στην **ιστοσελίδα** πηγαίνοντας στο [https://portal.azure.com/#view/HubsExtension/BrowseAll](https://portal.azure.com/#view/HubsExtension/BrowseAll) ή αναζητώντας "Όλοι οι πόροι" ή εκτελώντας: `az rest --method GET --url "https://management.azure.com/subscriptions/<subscription-id>/resources?api-version=2021-04-01"`
|
||||
Η εντολή Az PowerShell **`Get-AzResource`** σας επιτρέπει να **γνωρίζετε τους πόρους που έχει ο τρέχων χρήστης σας ορατούς**.
|
||||
|
||||
Επιπλέον, μπορείτε να αποκτήσετε τις ίδιες πληροφορίες στην **ιστοσελίδα** πηγαίνοντας στο [https://portal.azure.com/#view/HubsExtension/BrowseAll](https://portal.azure.com/#view/HubsExtension/BrowseAll) ή αναζητώντας "Όλοι οι πόροι" ή εκτελώντας:
|
||||
```bash
|
||||
az rest --method GET --url "https://management.azure.com/subscriptions/<subscription-id>/resources?api-version=2021-04-01"
|
||||
```
|
||||
2. **Βρείτε τις άδειες που έχετε πάνω στους πόρους στους οποίους έχετε πρόσβαση και βρείτε τους ρόλους που σας έχουν ανατεθεί**:
|
||||
|
||||
Σημειώστε ότι χρειάζεστε την άδεια **`Microsoft.Authorization/roleAssignments/read`** για να εκτελέσετε αυτήν την ενέργεια.
|
||||
Σημειώστε ότι χρειάζεστε την άδεια **`Microsoft.Authorization/roleAssignments/read`** για να εκτελέσετε αυτή την ενέργεια.
|
||||
|
||||
Επιπλέον, με αρκετές άδειες, ο ρόλος **`Get-AzRoleAssignment`** μπορεί να χρησιμοποιηθεί για να **καταγράψει όλους τους ρόλους** στην υπογραφή ή την άδεια πάνω σε έναν συγκεκριμένο πόρο υποδεικνύοντάς τον όπως σε: **`Get-AzRoleAssignment -Scope /subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f/resourceGroups/Resource_Group_1/providers/Microsoft.RecoveryServices/vaults/vault-m3ww8ut4`**.
|
||||
|
||||
Είναι επίσης δυνατό να αποκτήσετε αυτές τις πληροφορίες εκτελώντας **`az rest --method GET --uri "https://management.azure.com/<Scope>/providers/Microsoft.Authorization/roleAssignments?api-version=2020-08-01-preview" | jq ".value"`** όπως σε:
|
||||
|
||||
- **`az rest --method GET --uri "https://management.azure.com//subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f/resourceGroups/Resource_Group_1/providers/Microsoft.KeyVault/vaults/vault-m3ww8ut4/providers/Microsoft.Authorization/roleAssignments?api-version=2020-08-01-preview" | jq ".value"`**
|
||||
|
||||
3. **Βρείτε τις λεπτομερείς άδειες των ρόλων που σας έχουν ανατεθεί**:
|
||||
Επιπλέον, με αρκετές άδειες, ο ρόλος **`Get-AzRoleAssignment`** μπορεί να χρησιμοποιηθεί για να **καταγράψει όλους τους ρόλους** στην υπογραφή ή την άδεια πάνω σε έναν συγκεκριμένο πόρο υποδεικνύοντάς τον όπως παρακάτω:
|
||||
```bash
|
||||
Get-AzRoleAssignment -Scope /subscriptions/<subscription-id>/resourceGroups/Resource_Group_1/providers/Microsoft.RecoveryServices/vaults/vault-m3ww8ut4
|
||||
```
|
||||
Είναι επίσης δυνατό να αποκτήσετε αυτές τις πληροφορίες εκτελώντας:
|
||||
```bash
|
||||
az rest --method GET --uri "https://management.azure.com/<Scope>/providers/Microsoft.Authorization/roleAssignments?api-version=2020-08-01-preview" | jq ".value"
|
||||
```
|
||||
όπως στο:
|
||||
```bash
|
||||
az rest --method GET --uri "https://management.azure.com//subscriptions/<subscription-id>/resourceGroups/Resource_Group_1/providers/Microsoft.KeyVault/vaults/vault-m3ww8ut4/providers/Microsoft.Authorization/roleAssignments?api-version=2020-08-01-preview" | jq ".value"
|
||||
```
|
||||
Μια άλλη επιλογή είναι να αποκτήσετε τους ρόλους που είναι συνδεδεμένοι σε εσάς στο azure με:
|
||||
```bash
|
||||
az role assignment list --assignee "<email>" --all --output table
|
||||
```
|
||||
Ή εκτελώντας το παρακάτω (Εάν τα αποτελέσματα είναι κενά, μπορεί να είναι επειδή δεν έχετε την άδεια να τα αποκτήσετε):
|
||||
```bash
|
||||
az rest --method GET --uri 'https://management.azure.com/subscriptions/<subscription-id>/providers/Microsoft.Authorization/roleAssignments?api-version=2022-04-01&$filter=principalId eq '<user-id>'
|
||||
```
|
||||
3. **Βρείτε τις λεπτομερείς άδειες των ρόλων που είναι συνδεδεμένοι σε εσάς**:
|
||||
|
||||
Στη συνέχεια, για να αποκτήσετε την λεπτομερή άδεια μπορείτε να εκτελέσετε **`(Get-AzRoleDefinition -Id "<RoleDefinitionId>").Actions`**.
|
||||
|
||||
Ή να καλέσετε την API απευθείας με **`az rest --method GET --uri "https://management.azure.com//subscriptions/<subscription-id>/providers/Microsoft.Authorization/roleDefinitions/<RoleDefinitionId>?api-version=2020-08-01-preview" | jq ".properties"`**.
|
||||
|
||||
|
||||
Στην επόμενη ενότητα μπορείτε να βρείτε **πληροφορίες σχετικά με τις πιο κοινές υπηρεσίες Azure και πώς να τις καταγράψετε**:
|
||||
Ή να καλέσετε την API απευθείας με
|
||||
```bash
|
||||
az rest --method GET --uri "https://management.azure.com//subscriptions/<subscription-id>/providers/Microsoft.Authorization/roleDefinitions/<RoleDefinitionId>?api-version=2020-08-01-preview" | jq ".properties"
|
||||
```
|
||||
Στην παρακάτω ενότητα μπορείτε να βρείτε **πληροφορίες σχετικά με τις πιο κοινές υπηρεσίες Azure και πώς να τις καταγράψετε**:
|
||||
|
||||
{{#ref}}
|
||||
az-services/
|
||||
{{#endref}}
|
||||
|
||||
### Privilege Escalation, Post-Exploitation & Persistence
|
||||
### Κλιμάκωση Δικαιωμάτων, Μετά-Εκμετάλλευση & Διαρκής Παρουσία
|
||||
|
||||
Μόλις γνωρίζετε πώς είναι δομημένο το περιβάλλον Azure και ποιες υπηρεσίες χρησιμοποιούνται, μπορείτε να αρχίσετε να αναζητάτε τρόπους για να **κλιμακώσετε τα δικαιώματα, να μετακινηθείτε οριζόντια, να εκτελέσετε άλλες επιθέσεις post-exploitation και να διατηρήσετε την επιμονή**.
|
||||
Μόλις γνωρίζετε πώς είναι δομημένο το περιβάλλον Azure και ποιες υπηρεσίες χρησιμοποιούνται, μπορείτε να αρχίσετε να αναζητάτε τρόπους για να **κλιμακώσετε τα δικαιώματα, να μετακινηθείτε οριζόντια, να εκτελέσετε άλλες επιθέσεις μετά-εκμετάλλευσης και να διατηρήσετε τη διαρκή παρουσία**.
|
||||
|
||||
Στην επόμενη ενότητα μπορείτε να βρείτε πληροφορίες σχετικά με το πώς να κλιμακώσετε τα δικαιώματα στις πιο κοινές υπηρεσίες Azure:
|
||||
Στην παρακάτω ενότητα μπορείτε να βρείτε πληροφορίες σχετικά με το πώς να κλιμακώσετε τα δικαιώματα στις πιο κοινές υπηρεσίες Azure:
|
||||
|
||||
{{#ref}}
|
||||
az-privilege-escalation/
|
||||
{{#endref}}
|
||||
|
||||
Στην επόμενη μπορείτε να βρείτε πληροφορίες σχετικά με το πώς να εκτελέσετε επιθέσεις post-exploitation στις πιο κοινές υπηρεσίες Azure:
|
||||
Στην επόμενη μπορείτε να βρείτε πληροφορίες σχετικά με το πώς να εκτελέσετε επιθέσεις μετά-εκμετάλλευσης στις πιο κοινές υπηρεσίες Azure:
|
||||
|
||||
{{#ref}}
|
||||
az-post-exploitation/
|
||||
{{#endref}}
|
||||
|
||||
Στην επόμενη μπορείτε να βρείτε πληροφορίες σχετικά με το πώς να διατηρήσετε την επιμονή στις πιο κοινές υπηρεσίες Azure:
|
||||
Στην επόμενη μπορείτε να βρείτε πληροφορίες σχετικά με το πώς να διατηρήσετε τη διαρκή παρουσία στις πιο κοινές υπηρεσίες Azure:
|
||||
|
||||
{{#ref}}
|
||||
az-persistence/
|
||||
|
||||
@@ -1,65 +1,73 @@
|
||||
# Az - Πολιτικές Προσβάσεως με Όρους & Παράκαμψη MFA
|
||||
# Az - Πολιτικές Προσβασιμότητας & Παράκαμψη MFA
|
||||
|
||||
{{#include ../../../../banners/hacktricks-training.md}}
|
||||
|
||||
## Βασικές Πληροφορίες
|
||||
|
||||
Οι πολιτικές προσβάσεως με όρους του Azure είναι κανόνες που έχουν ρυθμιστεί στο Microsoft Azure για την επιβολή ελέγχων πρόσβασης σε υπηρεσίες και εφαρμογές του Azure με βάση ορισμένες **συνθήκες**. Αυτές οι πολιτικές βοηθούν τους οργανισμούς να ασφαλίσουν τους πόρους τους εφαρμόζοντας τους κατάλληλους ελέγχους πρόσβασης υπό τις κατάλληλες συνθήκες.\
|
||||
Οι πολιτικές προσβάσεως με όρους βασικά **καθορίζουν** **Ποιος** μπορεί να έχει πρόσβαση σε **Τι** από **Που** και **Πως**.
|
||||
Οι πολιτικές προσβασιμότητας του Azure είναι κανόνες που έχουν ρυθμιστεί στο Microsoft Azure για την επιβολή ελέγχων πρόσβασης σε υπηρεσίες και εφαρμογές του Azure με βάση ορισμένες **συνθήκες**. Αυτές οι πολιτικές βοηθούν τους οργανισμούς να ασφαλίσουν τους πόρους τους εφαρμόζοντας τους σωστούς ελέγχους πρόσβασης υπό τις σωστές συνθήκες.\
|
||||
Οι πολιτικές προσβασιμότητας βασικά **ορίζουν** **Ποιος** μπορεί να έχει πρόσβαση **Σε Τι** από **Που** και **Πως**.
|
||||
|
||||
Ακολουθούν μερικά παραδείγματα:
|
||||
|
||||
1. **Πολιτική Κινδύνου Σύνδεσης**: Αυτή η πολιτική θα μπορούσε να ρυθμιστεί ώστε να απαιτεί πολυπαραγοντική αυθεντικοποίηση (MFA) όταν ανιχνεύεται κίνδυνος σύνδεσης. Για παράδειγμα, αν η συμπεριφορά σύνδεσης ενός χρήστη είναι ασυνήθιστη σε σύγκριση με το κανονικό του μοτίβο, όπως η σύνδεση από μια διαφορετική χώρα, το σύστημα μπορεί να ζητήσει επιπλέον αυθεντικοποίηση.
|
||||
2. **Πολιτική Συμμόρφωσης Συσκευών**: Αυτή η πολιτική μπορεί να περιορίσει την πρόσβαση σε υπηρεσίες του Azure μόνο σε συσκευές που συμμορφώνονται με τα πρότυπα ασφαλείας του οργανισμού. Για παράδειγμα, η πρόσβαση θα μπορούσε να επιτρέπεται μόνο από συσκευές που διαθέτουν ενημερωμένο λογισμικό antivirus ή εκτελούν μια συγκεκριμένη έκδοση λειτουργικού συστήματος.
|
||||
2. **Πολιτική Συμμόρφωσης Συσκευών**: Αυτή η πολιτική μπορεί να περιορίσει την πρόσβαση στις υπηρεσίες του Azure μόνο σε συσκευές που είναι συμβατές με τα πρότυπα ασφάλειας του οργανισμού. Για παράδειγμα, η πρόσβαση θα μπορούσε να επιτρέπεται μόνο από συσκευές που διαθέτουν ενημερωμένο λογισμικό antivirus ή εκτελούν μια συγκεκριμένη έκδοση λειτουργικού συστήματος.
|
||||
|
||||
## Παράκαμψη Πολιτικών Προσβάσεως με Όρους
|
||||
## Αριθμητική
|
||||
```bash
|
||||
# Get all the policies from Azure without needing any special permission with (idea from https://github.com/LuemmelSec/APEX/blob/main/APEX.ps1)
|
||||
az rest --method GET --uri 'https://graph.windows.net/<tenant-id>/policies?api-version=1.61-internal' | jq '.value[] | select(.policyType == 18) | {displayName, policyDetail: (.policyDetail[] | fromjson)}'
|
||||
|
||||
Είναι πιθανό μια πολιτική προσβάσεως με όρους να **ελέγχει κάποιες πληροφορίες που μπορούν να παραποιηθούν εύκολα επιτρέποντας την παράκαμψη της πολιτικής**. Και αν, για παράδειγμα, η πολιτική ρυθμίζει MFA, ο επιτιθέμενος θα μπορεί να την παρακάμψει.
|
||||
# You need Policy.Read.ConditionalAccess or Policy.Read.All permission in Entra ID
|
||||
az rest --method get --uri "https://graph.microsoft.com/beta/identity/conditionalAccess/policies"
|
||||
```
|
||||
## Bypasses Πολιτικών Προσβάσεων
|
||||
|
||||
Κατά τη ρύθμιση μιας πολιτικής προσβάσεως με όρους, είναι απαραίτητο να υποδειχθούν οι **χρήστες** που επηρεάζονται και οι **στόχοι πόροι** (όπως όλες οι εφαρμογές cloud).
|
||||
Είναι πιθανό μια πολιτική προσβάσεων να **ελέγχει κάποιες πληροφορίες που μπορούν να παραποιηθούν εύκολα, επιτρέποντας την παράκαμψη της πολιτικής**. Και αν, για παράδειγμα, η πολιτική ρύθμιζε MFA, ο επιτιθέμενος θα μπορεί να την παρακάμψει.
|
||||
|
||||
Κατά τη ρύθμιση μιας πολιτικής προσβάσεων, είναι απαραίτητο να υποδειχθούν οι **χρήστες** που επηρεάζονται και οι **στόχοι πόροι** (όπως όλες οι εφαρμογές cloud).
|
||||
|
||||
Είναι επίσης απαραίτητο να ρυθμιστούν οι **συνθήκες** που θα **ενεργοποιήσουν** την πολιτική:
|
||||
|
||||
- **Δίκτυο**: IP, εύρος IP και γεωγραφικές τοποθεσίες
|
||||
- Μπορεί να παρακαμφθεί χρησιμοποιώντας VPN ή Proxy για σύνδεση σε μια χώρα ή καταφέρνοντας να συνδεθεί από μια επιτρεπόμενη διεύθυνση IP
|
||||
- **Κίνδυνοι Microsoft**: Κίνδυνος χρήστη, κίνδυνος σύνδεσης, κίνδυνος εσωτερικού
|
||||
- Μπορεί να παρακαμφθεί χρησιμοποιώντας ένα VPN ή Proxy για να συνδεθεί σε μια χώρα ή καταφέρνοντας να συνδεθεί από μια επιτρεπόμενη διεύθυνση IP
|
||||
- **Κίνδυνοι Microsoft**: Κίνδυνος χρήστη, Κίνδυνος σύνδεσης, Κίνδυνος εσωτερικού
|
||||
- **Πλατφόρμες συσκευών**: Οποιαδήποτε συσκευή ή επιλέξτε Android, iOS, Windows phone, Windows, macOS, Linux
|
||||
- Αν δεν έχει επιλεγεί “Οποιαδήποτε συσκευή” αλλά έχουν επιλεγεί όλες οι άλλες επιλογές, είναι δυνατόν να παρακαμφθεί χρησιμοποιώντας έναν τυχαίο user-agent που δεν σχετίζεται με αυτές τις πλατφόρμες
|
||||
- **Εφαρμογές πελάτη**: Οι επιλογές είναι “Περιηγητής”, “Εφαρμογές κινητών και επιτραπέζιοι πελάτες”, “Exchange ActiveSync πελάτες” και “Άλλοι πελάτες”
|
||||
- **Εφαρμογές πελάτη**: Οι επιλογές είναι “Περιηγητής”, “Εφαρμογές κινητών και επιτραπέζιοι πελάτες”, “Clients Exchange ActiveSync” και “Άλλοι πελάτες”
|
||||
- Για να παρακαμφθεί η σύνδεση με μια μη επιλεγμένη επιλογή
|
||||
- **Φίλτρο για συσκευές**: Είναι δυνατόν να δημιουργηθεί ένας κανόνας σχετικός με τη χρησιμοποιούμενη συσκευή
|
||||
- **Ροές αυθεντικοποίησης**: Οι επιλογές είναι “Ροή κωδικού συσκευής” και “Μεταφορά αυθεντικοποίησης”
|
||||
- Αυτό δεν θα επηρεάσει έναν επιτιθέμενο εκτός αν προσπαθεί να καταχραστεί οποιοδήποτε από αυτά τα πρωτόκολλα σε μια απόπειρα phishing για πρόσβαση στον λογαριασμό του θύματος
|
||||
- **Ροές πιστοποίησης**: Οι επιλογές είναι “Ροή κωδικού συσκευής” και “Μεταφορά πιστοποίησης”
|
||||
- Αυτό δεν θα επηρεάσει έναν επιτιθέμενο εκτός αν προσπαθεί να καταχραστεί οποιοδήποτε από αυτά τα πρωτόκολλα σε μια απόπειρα phishing για να αποκτήσει πρόσβαση στον λογαριασμό του θύματος
|
||||
|
||||
Τα πιθανά **αποτελέσματα** είναι: Αποκλεισμός ή Χορήγηση πρόσβασης με πιθανές προϋποθέσεις όπως η απαίτηση MFA, η συμμόρφωση της συσκευής…
|
||||
|
||||
### Πλατφόρμες Συσκευών - Συνθήκη Συσκευής
|
||||
|
||||
Είναι δυνατόν να ρυθμιστεί μια συνθήκη με βάση την **πλατφόρμα συσκευής** (Android, iOS, Windows, macOS...), ωστόσο, αυτό βασίζεται στον **user-agent** οπότε είναι εύκολο να παρακαμφθεί. Ακόμη και **κάνοντάς όλες τις επιλογές να επιβάλλουν MFA**, αν χρησιμοποιήσετε έναν **user-agent που δεν αναγνωρίζεται,** θα μπορείτε να παρακάμψετε το MFA ή τον αποκλεισμό:
|
||||
Είναι δυνατόν να ρυθμιστεί μια συνθήκη με βάση την **πλατφόρμα συσκευής** (Android, iOS, Windows, macOS...), ωστόσο, αυτό βασίζεται στον **user-agent** οπότε είναι εύκολο να παρακαμφθεί. Ακόμα και **κάνοντάς όλες τις επιλογές να επιβάλλουν MFA**, αν χρησιμοποιήσετε έναν **user-agent που δεν αναγνωρίζεται,** θα μπορείτε να παρακάμψετε το MFA ή τον αποκλεισμό:
|
||||
|
||||
<figure><img src="../../../../images/image (352).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Απλά κάνοντας τον περιηγητή **να στείλει έναν άγνωστο user-agent** (όπως `Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 920) UCBrowser/10.1.0.563 Mobile`) είναι αρκετό για να μην ενεργοποιηθεί αυτή η συνθήκη.\
|
||||
Απλά κάνοντάς τον περιηγητή να **στείλει έναν άγνωστο user-agent** (όπως `Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 920) UCBrowser/10.1.0.563 Mobile`) είναι αρκετό για να μην ενεργοποιηθεί αυτή η συνθήκη.\
|
||||
Μπορείτε να αλλάξετε τον user agent **χειροκίνητα** στα εργαλεία ανάπτυξης:
|
||||
|
||||
<figure><img src="../../../../images/image (351).png" alt="" width="375"><figcaption></figcaption></figure>
|
||||
|
||||
Ή να χρησιμοποιήσετε μια [επέκταση περιηγητή όπως αυτή](https://chromewebstore.google.com/detail/user-agent-switcher-and-m/bhchdcejhohfmigjafbampogmaanbfkg?hl=en).
|
||||
|
||||
### Τοποθεσίες: Χώρες, εύρη IP - Συνθήκη Συσκευής
|
||||
### Τοποθεσίες: Χώρες, Εύρη IP - Συνθήκη Συσκευής
|
||||
|
||||
Αν αυτό έχει ρυθμιστεί στην πολιτική προσβάσεως με όρους, ένας επιτιθέμενος θα μπορούσε απλά να χρησιμοποιήσει ένα **VPN** στη **επιτρεπόμενη χώρα** ή να προσπαθήσει να βρει έναν τρόπο πρόσβασης από μια **επιτρεπόμενη διεύθυνση IP** για να παρακάμψει αυτές τις συνθήκες.
|
||||
Αν αυτό έχει ρυθμιστεί στην πολιτική προσβάσεων, ένας επιτιθέμενος θα μπορούσε απλά να χρησιμοποιήσει ένα **VPN** στη **επιτρεπόμενη χώρα** ή να προσπαθήσει να βρει έναν τρόπο να αποκτήσει πρόσβαση από μια **επιτρεπόμενη διεύθυνση IP** για να παρακάμψει αυτές τις συνθήκες.
|
||||
|
||||
### Εφαρμογές Cloud
|
||||
|
||||
Είναι δυνατόν να ρυθμιστούν **πολιτικές προσβάσεως με όρους για να αποκλείσουν ή να επιβάλουν** για παράδειγμα MFA όταν ένας χρήστης προσπαθεί να έχει πρόσβαση σε **συγκεκριμένη εφαρμογή**:
|
||||
Είναι δυνατόν να ρυθμιστούν **πολιτικές προσβάσεων για να αποκλείσουν ή να επιβάλουν** για παράδειγμα MFA όταν ένας χρήστης προσπαθεί να αποκτήσει πρόσβαση σε **συγκεκριμένη εφαρμογή**:
|
||||
|
||||
<figure><img src="../../../../images/image (353).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Για να προσπαθήσετε να παρακάμψετε αυτή την προστασία, θα πρέπει να δείτε αν μπορείτε **να συνδεθείτε μόνο σε οποιαδήποτε εφαρμογή**.\
|
||||
Το εργαλείο [**AzureAppsSweep**](https://github.com/carlospolop/AzureAppsSweep) έχει **δεκάδες αναγνωριστικά εφαρμογών σκληρά κωδικοποιημένα** και θα προσπαθήσει να συνδεθεί σε αυτά και να σας ενημερώσει και να σας δώσει ακόμη και το token αν είναι επιτυχές.
|
||||
|
||||
Για να **δοκιμάσετε συγκεκριμένα αναγνωριστικά εφαρμογών σε συγκεκριμένους πόρους** μπορείτε επίσης να χρησιμοποιήσετε ένα εργαλείο όπως:
|
||||
Για να **δοκιμάσετε συγκεκριμένα αναγνωριστικά εφαρμογών σε συγκεκριμένους πόρους**, μπορείτε επίσης να χρησιμοποιήσετε ένα εργαλείο όπως:
|
||||
```bash
|
||||
roadrecon auth -u user@email.com -r https://outlook.office.com/ -c 1fec8e78-bce4-4aaf-ab1b-5451cc387264 --tokens-stdout
|
||||
|
||||
@@ -78,11 +86,11 @@ roadrecon auth -u user@email.com -r https://outlook.office.com/ -c 1fec8e78-bce4
|
||||
Μια επιλογή Azure MFA είναι να **λάβετε μια κλήση στον ρυθμισμένο αριθμό τηλεφώνου** όπου θα ζητηθεί από τον χρήστη να **στείλει τον χαρακτήρα `#`**.
|
||||
|
||||
> [!CAUTION]
|
||||
> Καθώς οι χαρακτήρες είναι απλώς **ήχοι**, ένας επιτιθέμενος θα μπορούσε να **παραβιάσει** το **μήνυμα φωνητικού ταχυδρομείου** του αριθμού τηλεφώνου, να ρυθμίσει ως μήνυμα τον **ήχο του `#`** και στη συνέχεια, όταν ζητηθεί η MFA, να διασφαλίσει ότι το **τηλέφωνο του θύματος είναι απασχολημένο** (καλώντας το) ώστε η κλήση του Azure να ανακατευθυνθεί στο φωνητικό ταχυδρομείο.
|
||||
> Καθώς οι χαρακτήρες είναι απλώς **ήχοι**, ένας επιτιθέμενος θα μπορούσε να **παραβιάσει** το **μήνυμα φωνητικού ταχυδρομείου** του αριθμού τηλεφώνου, να ρυθμίσει ως μήνυμα τον **ήχο του `#`** και στη συνέχεια, όταν ζητάει την MFA, να βεβαιωθεί ότι το **τηλέφωνο του θύματος είναι απασχολημένο** (καλώντας το) ώστε η κλήση του Azure να ανακατευθυνθεί στο φωνητικό ταχυδρομείο.
|
||||
|
||||
### Συμβατές Συσκευές
|
||||
|
||||
Οι πολιτικές συχνά ζητούν μια συμβατή συσκευή ή MFA, οπότε ένας **επιτιθέμενος θα μπορούσε να καταχωρίσει μια συμβατή συσκευή**, να αποκτήσει ένα **PRT** token και να **παρακάμψει με αυτόν τον τρόπο την MFA**.
|
||||
Οι πολιτικές συχνά ζητούν μια συμβατή συσκευή ή MFA, έτσι ένας **επιτιθέμενος θα μπορούσε να καταχωρίσει μια συμβατή συσκευή**, να αποκτήσει ένα **PRT** token και να **παρακάμψει με αυτόν τον τρόπο την MFA**.
|
||||
|
||||
Ξεκινήστε καταχωρίζοντας μια **συμβατή συσκευή στο Intune**, στη συνέχεια **αποκτήστε το PRT** με:
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user