Az - Services

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

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

Πύλες

Μπορείτε να βρείτε τη λίστα των πυλών της Microsoft στο https://msportals.io/

Ακατέργαστα αιτήματα

Azure API μέσω Powershell

Αποκτήστε το access_token από το IDENTITY_HEADER και το IDENTITY_ENDPOINT: system('curl "$IDENTITY_ENDPOINT?resource=https://management.azure.com/&api-version=2017-09-01" -H secret:$IDENTITY_HEADER');.

Στη συνέχεια, εκτελέστε αίτηση στο Azure REST API για να λάβετε το ID συνδρομής και άλλες πληροφορίες.

$Token = 'eyJ0eX..'
$URI = 'https://management.azure.com/subscriptions?api-version=2020-01-01'
# $URI = 'https://graph.microsoft.com/v1.0/applications'
$RequestParams = @{
Method = 'GET'
Uri = $URI
Headers = @{
'Authorization' = "Bearer $Token"
}
}
(Invoke-RestMethod @RequestParams).value

# List resources and check for runCommand privileges
$URI = 'https://management.azure.com/subscriptions/b413826f-108d-4049-8c11-d52d5d388768/resources?api-version=2020-10-01'
$URI = 'https://management.azure.com/subscriptions/b413826f-108d-4049-8c11-d52d5d388768/resourceGroups/<RG-NAME>/providers/Microsoft.Compute/virtualMachines/<RESOURCE/providers/Microsoft.Authorization/permissions?apiversion=2015-07-01'

Έκδοση Azure API μέσω Python

Για να αλληλεπιδράσετε με το Azure API χρησιμοποιώντας τη γλώσσα προγραμματισμού Python, μπορείτε να ακολουθήσετε τα παρακάτω βήματα:

  1. Εγκαταστήστε τη βιβλιοθήκη azure-mgmt-resource με την εντολή pip install azure-mgmt-resource.

  2. Εισάγετε τις απαραίτητες κλάσεις και συναρτήσεις στον κώδικά σας, όπως το ServicePrincipalCredentials για την πιστοποίηση, το ResourceManagementClient για τη διαχείριση των πόρων και το SubscriptionClient για τη διαχείριση των συνδρομών.

  3. Δημιουργήστε μια νέα πιστοποίηση χρησιμοποιώντας τα διαπιστευτήρια του Azure Active Directory (AAD) και τον κωδικό πρόσβασης της εφαρμογής σας.

  4. Αρχικοποιήστε ένα αντικείμενο ServicePrincipalCredentials με τα διαπιστευτήρια που δημιουργήσατε.

  5. Αρχικοποιήστε ένα αντικείμενο ResourceManagementClient και ένα αντικείμενο SubscriptionClient με το αντίστοιχο αντικείμενο ServicePrincipalCredentials.

  6. Χρησιμοποιήστε τις μεθόδους και τις λειτουργίες των αντικειμένων ResourceManagementClient και SubscriptionClient για να αλληλεπιδράσετε με το Azure API.

Παρακάτω παρατίθεται ένα παράδειγμα κώδικα για να σας βοηθήσει να ξεκινήσετε:

from azure.common.credentials import ServicePrincipalCredentials
from azure.mgmt.resource import ResourceManagementClient
from azure.mgmt.subscription import SubscriptionClient

# Αντικαταστήστε τις τιμές με τα δικά σας διαπιστευτήρια και πληροφορίες σύνδεσης
tenant_id = 'YOUR_TENANT_ID'
client_id = 'YOUR_CLIENT_ID'
client_secret = 'YOUR_CLIENT_SECRET'
subscription_id = 'YOUR_SUBSCRIPTION_ID'

# Δημιουργία αντικειμένου ServicePrincipalCredentials
credentials = ServicePrincipalCredentials(
    client_id=client_id,
    secret=client_secret,
    tenant=tenant_id
)

# Αρχικοποίηση ResourceManagementClient και SubscriptionClient
resource_client = ResourceManagementClient(credentials, subscription_id)
subscription_client = SubscriptionClient(credentials)

# Παράδειγμα χρήσης μεθόδου list_resources του ResourceManagementClient
resources = resource_client.resources.list()
for resource in resources:
    print(resource.name)

Με αυτόν τον τρόπο, μπορείτε να αλληλεπιδράσετε με το Azure API χρησιμοποιώντας τη γλώσσα προγραμματισμού Python.

IDENTITY_ENDPOINT = os.environ['IDENTITY_ENDPOINT']
IDENTITY_HEADER = os.environ['IDENTITY_HEADER']

print("[+] Management API")
cmd = 'curl "%s?resource=https://management.azure.com/&api-version=2017-09-01" -H secret:%s' % (IDENTITY_ENDPOINT, IDENTITY_HEADER)
val = os.popen(cmd).read()
print("Access Token: "+json.loads(val)["access_token"])
print("ClientID/AccountID: "+json.loads(val)["client_id"])

print("\r\n[+] Graph API")
cmd = 'curl "%s?resource=https://graph.microsoft.com/&api-version=2017-09-01" -H secret:%s' % (IDENTITY_ENDPOINT, IDENTITY_HEADER)
val = os.popen(cmd).read()
print(json.loads(val)["access_token"])
print("ClientID/AccountID: "+json.loads(val)["client_id"])

ή μέσα σε μια συνάρτηση Python:

import logging, os
import azure.functions as func

def main(req: func.HttpRequest) -> func.HttpResponse:
logging.info('Python HTTP trigger function processed a request.')
IDENTITY_ENDPOINT = os.environ['IDENTITY_ENDPOINT']
IDENTITY_HEADER = os.environ['IDENTITY_HEADER']
cmd = 'curl "%s?resource=https://management.azure.com&apiversion=2017-09-01" -H secret:%s' % (IDENTITY_ENDPOINT, IDENTITY_HEADER)
val = os.popen(cmd).read()
return func.HttpResponse(val, status_code=200)

Λίστα Υπηρεσιών

Οι σελίδες αυτής της ενότητας είναι ταξινομημένες ανά υπηρεσία του Azure. Εκεί θα βρείτε πληροφορίες σχετικά με την υπηρεσία (πώς λειτουργεί και τι δυνατότητες έχει) και επίσης πώς να απαριθμήσετε κάθε υπηρεσία.

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

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

Last updated