# Az - Monitering

{{#include ../../../banners/hacktricks-training.md}}

## Entra ID - Logboeke

Daar is 3 tipes logboeke beskikbaar in Entra ID:

- **Sign-in Logs**: Sign-in logs dokumenteer elke verifikasiepoging, of dit nou suksesvol of misluk is. Hulle bied besonderhede soos IP-adresse, liggings, toestelinligting en toegepaste conditional access-beleid, wat noodsaaklik is om gebruikersaktiwiteit te monitor en verdagte aanmeldingsgedrag of potensiële bedreigings op te spoor.
- **Audit Logs**: Audit logs verskaf 'n rekord van alle veranderings wat binne jou Entra ID-omgewing gemaak is. Hulle vang byvoorbeeld opdaterings aan gebruikers, groepe, rolle of beleid. Hierdie logboeke is belangrik vir nakoming en sekuriteitsondersoeke, aangesien hulle jou toelaat om na te gaan wie watter verandering gemaak het en wanneer.
- **Provisioning Logs**: Provisioning logs verskaf inligting oor gebruikers wat in jou tenant via 'n derdeparty-diens (soos on-premises directories of SaaS-toepassings) geprovisioneer is. Hierdie logboeke help jou om te verstaan hoe identiteitinligting gesinchroniseer word.

> [!WARNING]
> Let daarop dat hierdie logboeke slegs vir **7 dae** in die gratis weergawe gestoor word, **30 dae** in P1/P2-weergawe en 60 ekstra dae in security signals vir risky signin activity. Nie eers 'n global admin sou dit egter in staat wees om dit **vroegtydig te wysig of te verwyder nie**.

## Entra ID - Logstelsels

- **Diagnostic Settings**: 'n Diagnostic setting spesifiseer 'n lys kategorieë van platformlogboeke en/of metrieke wat jy van 'n hulpbron wil versamel, en een of meer bestemmings waarheen jy dit sal stroom. Normale gebruikskostes vir die bestemming sal plaasvind. Leer meer oor die verskillende logkategorieë en inhoud van daardie logboeke.
- **Destinations**:
- **Analytics Workspace**: Ondersoek deur Azure Log Analytics en skep waarskuwings.
- **Storage account**: Statiese ontleding en rugsteun.
- **Event hub**: Stroom data na eksterne stelsels soos derdeparty SIEMs.
- **Monitor partner solutions**: Spesiale integrasies tussen Azure Monitor en ander nie‑Microsoft moniteringsplatforms.
- **Workbooks**: Workbooks kombineer teks, log queries, metrieke, en parameter in ryk interaktiewe verslae.
- **Usage & Insights**: Nuttig om die mees algemene aktiwiteite in Entra ID te sien

## Azure Monitor

Hierdie is die hoofkenmerke van Azure Monitor:

- **Activity Logs**: Azure Activity Logs vang intekenaarvlakgebeure en bestuurswerksessies vas, en gee jou 'n oorsig van veranderings en aksies wat op jou hulpbronne geneem is.
- **Activily logs** kan nie gewysig of verwyder word nie.
- **Change Analysis**: Change Analysis ontdek en visualiseer outomaties konfigurasie- en toestandveranderings oor jou Azure-hulpbronne om te help met foutdiagnose en om wysigings oor tyd op te spoor.
- **Alerts**: Alerts van Azure Monitor is geoutomatiseerde kennisgewings wat getrigger word wanneer gespesifiseerde toestande of drempels in jou Azure-omgewing bereik word.
- **Workbooks**: Workbooks is interaktiewe, aanpasbare dashboards binne Azure Monitor wat jou in staat stel om data van verskeie bronne te kombineer en te visualiseer vir omvattende analise.
- **Investigator**: Investigator help jou om in logdata en alerts af te delf om diepgaande ontledings te doen en die oorsaak van insidente te identifiseer.
- **Insights**: Insights verskaf analise, prestasiemetrieke, en uitvoerbare aanbevelings (soos dié in Application Insights of VM Insights) om jou te help om die gesondheid en doeltreffendheid van jou toepassings en infrastruktuur te monitor en te optimaliseer.

### Log Analytics Workspaces

Log Analytics workspaces is sentrale bewaarplekke in Azure Monitor waar jy log- en prestasie-data van jou Azure-hulpbronne en on-premises omgewings kan **insamel, analiseer en visualiseer**. Hier is die sleutelpunte:

- **Centralized Data Storage**: Hulle dien as die sentrale ligging om diagnostiese logboeke, prestasiemetrieke, en pasgemaakte logboeke wat deur jou toepassings en dienste gegenereer word te stoor.
- **Powerful Query Capabilities**: Jy kan navrae uitvoer met Kusto Query Language (KQL) om die data te ontleed, insigte te genereer, en probleme op te los.
- **Integration with Monitoring Tools**: Log Analytics workspaces integreer met verskeie Azure-dienste (soos Azure Monitor, Azure Sentinel, en Application Insights) wat jou toelaat om dashboards te skep, alerts op te stel, en 'n omvattende oorsig van jou omgewing te kry.

In samevatting is 'n Log Analytics workspace noodsaaklik vir gevorderde monitering, foutopsporing, en sekuriteitsanalise in Azure.

Jy kan 'n hulpbron konfigureer om data na 'n analytics workspace te stuur vanaf die **diagnostic settings** van die hulpbron.

## Graph vs ARM logging visibility (useful for OPSEC/hunting)

- Microsoft Graph Activity Logs is nie standaard geaktiveer nie. Skakel dit aan en voer dit uit (Event Hubs/Log Analytics/SIEM) om Graph read calls te sien. Gereedskap soos AzureHound voer 'n preflight GET na /v1.0/organization uit wat hier sal verskyn; standaard UA waargeneem: azurehound/v2.x.x.
- Entra ID non-interactive sign-in logs registreer die identity platform authentication (login.microsoftonline.<tld>) wat deur skripte/gereedskap gebruik word.
- ARM control-plane read/list (HTTP GET) operasies word oor die algemeen nie in Activity Logs geskryf nie. Sigbaarheid van leesbedrywighede kom slegs van resource Diagnostic Settings vir data-plane endpoints (bv., *.blob.core.windows.net, *.vault.azure.net) en nie van ARM control-plane oproepe na management.azure.<tld> nie.
- Microsoft Defender XDR Advanced Hunting GraphApiAuditEvents (preview) kan Graph-oproepe en token-identifiseerders openbaar maar kan UserAgent uitlaat en het beperkte standaardbewaring.

Wanneer jy vir AzureHound jag, koreleer Entra sign-in logs met Graph Activity Logs op session ID, IP, gebruiker/object IDs, en soek na uitbarstings van Graph-versoeke plus ARM-bestuursoproepe wat gebrek aan Activity Log-dekking het.

## Enumerasie

### Entra ID
```bash
# Get last 10 sign-ins
az rest --method get --uri 'https://graph.microsoft.com/v1.0/auditLogs/signIns?$top=10'

# Get last 10 audit logs
az rest --method get --uri 'https://graph.microsoft.com/v1.0/auditLogs/directoryAudits?$top=10'

# Get last 10 provisioning logs
az rest --method get --uri ‘https://graph.microsoft.com/v1.0/auditLogs/provisioning?$top=10’

# Get EntraID Diagnostic Settings
az rest --method get --uri "https://management.azure.com/providers/microsoft.aadiam/diagnosticSettings?api-version=2017-04-01-preview"

# Get Entra ID Workbooks
az rest \
--method POST \
--url "https://management.azure.com/providers/microsoft.resourcegraph/resources?api-version=2021-03-01" \
--headers '{"commandName": "AppInsightsExtension.GetWorkbooksListArg"}' \
--body '{
"subscriptions": ["9291ff6e-6afb-430e-82a4-6f04b2d05c7f"],
"query": "where type =~ \"microsoft.insights/workbooks\" \n| extend sourceId = tostring(properties.sourceId) \n| where sourceId =~ \"Azure Active Directory\" \n| extend DisplayName = tostring(properties.displayName) \n| extend WorkbookType = tostring(properties.category), LastUpdate = todatetime(properties.timeModified) \n| where WorkbookType == \"workbook\"\n| project DisplayName, name, resourceGroup, kind, location, id, type, subscriptionId, tags, WorkbookType, LastUpdate, identity, properties",
"options": {"resultFormat": "table"},
"name": "e4774363-5160-4c09-9d71-2da6c8e3b00a"
}' | jq '.data.rows'
```
### Azure Monitor
```bash
# Get last 10 activity logs
az monitor activity-log list --max-events 10

# Get Resource Diagnostic Settings
az rest --url "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<res-group>/providers/Microsoft.DocumentDb/databaseAccounts/<db-name>/providers/microsoft.insights/diagnosticSettings?api-version=2021-05-01-preview"

# Get Entra ID Workbooks
az rest \
--method POST \
--url "https://management.azure.com/providers/microsoft.resourcegraph/resources?api-version=2021-03-01" \
--headers '{"commandName": "AppInsightsExtension.GetWorkbooksListArg"}' \
--body '{
"content": {},
"commandName": "AppInsightsExtension.GetWorkbooksListArg"
}'

# List Log Analytic groups
az monitor log-analytics workspace list --output table

# List alerts
az monitor metrics alert list --output table
az monitor activity-log alert list --output table
```
## Verwysings
- [Cloud Discovery With AzureHound (Unit 42)](https://unit42.paloaltonetworks.com/threat-actor-misuse-of-azurehound/)

{{#include ../../../banners/hacktricks-training.md}}
