Az - Services

Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Portali

Puoi trovare l'elenco dei portali Microsoft in https://msportals.io/

Richieste Raw

Azure API tramite Powershell

Ottieni il token di accesso da IDENTITY_HEADER e IDENTITY_ENDPOINT: system('curl "$IDENTITY_ENDPOINT?resource=https://management.azure.com/&api-version=2017-09-01" -H secret:$IDENTITY_HEADER');.

Quindi interroga l'API REST di Azure per ottenere l'ID sottoscrizione e altro ancora.

$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'

Versione di Azure API tramite Python

Per interagire con i servizi di Azure utilizzando Python, è possibile utilizzare la libreria ufficiale di Azure SDK per Python. Questa libreria fornisce un'interfaccia semplice e intuitiva per accedere alle API di Azure e sfruttare le funzionalità offerte dalla piattaforma.

Per iniziare, è necessario installare il pacchetto azure-mgmt utilizzando il gestore dei pacchetti di Python, ad esempio pip:

pip install azure-mgmt

Una volta installato il pacchetto, è possibile importare le classi necessarie nel proprio script Python e iniziare a utilizzare le API di Azure. Ad esempio, per interagire con il servizio di Azure Blob Storage, è possibile utilizzare la classe BlobServiceClient:

from azure.storage.blob import BlobServiceClient

# Creazione dell'istanza del client per il servizio Blob Storage
blob_service_client = BlobServiceClient.from_connection_string("<connection_string>")

# Esempio di utilizzo del client per ottenere un elenco di contenitori
containers = blob_service_client.list_containers()

for container in containers:
    print(container.name)

Nell'esempio sopra, è necessario sostituire <connection_string> con la stringa di connessione corretta per il proprio account di Azure Blob Storage.

È possibile trovare ulteriori informazioni sulla libreria di Azure SDK per Python nella documentazione ufficiale di Microsoft Azure.

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"])

o all'interno di una funzione 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)

Elenco dei servizi

Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Last updated