Az - Monitoring
Reading time: 5 minutes
tip
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
Azure 해킹 배우기 및 연습하기:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 Discord 그룹 또는 텔레그램 그룹에 참여하거나 Twitter 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
Entra ID - Logs
Entra ID에서 사용할 수 있는 로그의 유형은 3가지입니다:
- Sign-in Logs: Sign-in logs는 성공 여부에 관계없이 모든 인증 시도를 기록합니다. 이들은 IP 주소, 위치, 장치 정보 및 적용된 조건부 액세스 정책과 같은 세부 정보를 제공하며, 이는 사용자 활동을 모니터링하고 의심스러운 로그인 행동이나 잠재적인 보안 위협을 감지하는 데 필수적입니다.
- Audit Logs: Audit logs는 Entra ID 환경 내에서 이루어진 모든 변경 사항의 기록을 제공합니다. 예를 들어 사용자, 그룹, 역할 또는 정책에 대한 업데이트를 캡처합니다. 이러한 로그는 누가 어떤 변경을 언제 했는지 검토할 수 있게 해주므로 준수 및 보안 조사에 중요합니다.
- Provisioning Logs: Provisioning logs는 타사 서비스(예: 온프레미스 디렉토리 또는 SaaS 애플리케이션)를 통해 테넌트에 프로비저닝된 사용자에 대한 정보를 제공합니다. 이러한 로그는 신원 정보가 어떻게 동기화되는지 이해하는 데 도움이 됩니다.
warning
이러한 로그는 무료 버전에서 7일, P1/P2 버전에서 30일, 위험한 로그인 활동에 대한 보안 신호에서 추가로 60일 동안만 저장됩니다. 그러나 글로벌 관리자가 이들을 더 일찍 수정하거나 삭제할 수는 없습니다.
Entra ID - Log Systems
- Diagnostic Settings: 진단 설정은 리소스에서 수집하려는 플랫폼 로그 및/또는 메트릭의 카테고리 목록과 이를 스트리밍할 하나 이상의 대상을 지정합니다. 대상에 대한 정상 사용 요금이 발생합니다. 다양한 로그 카테고리 및 해당 로그의 내용에 대해 자세히 알아보세요.
- Destinations:
- Analytics Workspace: Azure Log Analytics를 통한 조사 및 경고 생성.
- Storage account: 정적 분석 및 백업.
- Event hub: 외부 시스템(예: 타사 SIEM)으로 데이터 스트리밍.
- Monitor partner solutions: Azure Monitor와 기타 비Microsoft 모니터링 플랫폼 간의 특별한 통합.
- Workbooks: Workbooks는 텍스트, 로그 쿼리, 메트릭 및 매개변수를 결합하여 풍부한 대화형 보고서를 생성합니다.
- Usage & Insights: Entra ID에서 가장 일반적인 활동을 확인하는 데 유용합니다.
Azure Monitor
Azure Monitor의 주요 기능은 다음과 같습니다:
- Activity Logs: Azure Activity Logs는 구독 수준의 이벤트 및 관리 작업을 캡처하여 리소스에 대한 변경 사항 및 수행된 작업에 대한 개요를 제공합니다.
- Activily logs는 수정하거나 삭제할 수 없습니다.
- Change Analysis: Change Analysis는 Azure 리소스 전반에 걸쳐 구성 및 상태 변경을 자동으로 감지하고 시각화하여 문제를 진단하고 시간에 따른 수정 사항을 추적하는 데 도움을 줍니다.
- Alerts: Azure Monitor의 경고는 Azure 환경에서 지정된 조건이나 임계값이 충족될 때 트리거되는 자동화된 알림입니다.
- Workbooks: Workbooks는 Azure Monitor 내에서 다양한 출처의 데이터를 결합하고 시각화하여 포괄적인 분석을 가능하게 하는 대화형 맞춤형 대시보드입니다.
- Investigator: Investigator는 로그 데이터 및 경고를 깊이 분석하고 사건의 원인을 식별하는 데 도움을 줍니다.
- Insights: Insights는 분석, 성능 메트릭 및 실행 가능한 권장 사항(예: Application Insights 또는 VM Insights의 권장 사항)을 제공하여 애플리케이션 및 인프라의 건강과 효율성을 모니터링하고 최적화하는 데 도움을 줍니다.
Log Analytics Workspaces
Log Analytics 작업 공간은 Azure Monitor에서 Azure 리소스 및 온프레미스 환경의 로그 및 성능 데이터를 수집, 분석 및 시각화할 수 있는 중앙 저장소입니다. 주요 사항은 다음과 같습니다:
- Centralized Data Storage: 진단 로그, 성능 메트릭 및 애플리케이션과 서비스에서 생성된 사용자 정의 로그를 저장하는 중앙 위치로 사용됩니다.
- Powerful Query Capabilities: Kusto Query Language (KQL)를 사용하여 데이터를 분석하고 인사이트를 생성하며 문제를 해결하기 위해 쿼리를 실행할 수 있습니다.
- Integration with Monitoring Tools: Log Analytics 작업 공간은 Azure Monitor, Azure Sentinel 및 Application Insights와 같은 다양한 Azure 서비스와 통합되어 대시보드를 생성하고 경고를 설정하며 환경에 대한 포괄적인 뷰를 얻을 수 있습니다.
요약하자면, Log Analytics 작업 공간은 Azure에서 고급 모니터링, 문제 해결 및 보안 분석에 필수적입니다.
리소스의 진단 설정에서 데이터를 분석 작업 공간으로 전송하도록 리소스를 구성할 수 있습니다.
Enumeration
Entra ID
# 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
# 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
tip
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
Azure 해킹 배우기 및 연습하기:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 Discord 그룹 또는 텔레그램 그룹에 참여하거나 Twitter 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.