miércoles, 16 de septiembre de 2020

Entorno Microsoft vulnerable...Esta vez con DSC

 Estimados amigos de Inseguros !!!

En el episodio de hoy vamos a ver una herramienta muy interesante diseñada por el señor https://twitter.com/ciberesponce que nos hará la vida mucho más fácil.

Es un conjunto de scripts que nos despliegan un laboratorio de pruebas en Azure con todo tipo de bondades.

Hace unos días ya presenté en Inseguros la herramienta Adaz, similar en el concepto pero muy distinta. En esta ocasión la herramienta despliega el entorno mediante el uso del Resource Manager y DSC.

Para los que no estéis muy familiarizados con DSC, comentar brevemente que como su nombre indica, es una configuración de estado deseada para nuestras máquinas, físicas o virtuales. Imagina una consultora que instala dominios en clientes. Instalar un DC al final siempre son los mismos Roles y configuración. Creando una plantilla DSC podemos automatizar el despliegue de los mismos, dando respuesta al término de moda "infraestructura como código".

Lo interesante de este set de scripts y configuraciones radica en que se provocan fallos conocidos, algunos más sencillos que otros, para que el defensor entrene el ataque y la detección y defens.

Os pongo un ejemplo de un setting:

ScheduledTask RonHd
{
TaskName = 'SimulateRonHdProcess'
ScheduleType = 'Once'
Description = 'Simulates RonHD exposing his account via an interactive or scheduled task manner. This mimics the machine being managed.'
Ensure = 'Present'
Enable = $true
TaskPath = '\AatpScheduledTasks'
ExecuteAsCredential = $RonHdDomainCred
ActionExecutable = 'cmd.exe'
Priority = 7
DisallowHardTerminate = $false
RepeatInterval = '00:10:00'
RepetitionDuration = 'Indefinitely'
StartWhenAvailable = $true
DependsOn = '[Computer]JoinDomain'
}

Para hacer el procedimiento voy a usar el AZ cli desde la web. Mucha gente no lo usa y se lia conectando el cliente azure con powershell...vamos... por usar solo la web.

New-AzResourceGroup -Name laboratorio2

West Europe

git clone https://github.com/microsoft/DefendTheFlag

cd ./DefendTheFlag/

New-AzResourceGroupDeployment -ResourceGroupName laboratorio2 -TemplateFile .\azuredeploy.json


Si todo ha ido bien verás tu nuevo grupo de recursos en Azure con las máquinas implicadas.



Podemos leer la lista de usuarios y contraseñas del siguiente recurso. Os aconsejo que los sintetice en un folio o documento para su uso, son muchos usuarios, contraseñas que no hemos puesto nosotros ( a no ser que lo cambies)

Una de las cosas que me gusta es que tiene fases o stages, en las que podemos hacer un snapshot en cualquier momento y revertir el estado de la máquina, por ejemplo, si estamos dando formación y queremos reiniciar las configuraciones, o si tenemos algún problema después de configurar cualquier elemento.

PS C:\Users\Administrador\DefendTheFlag\Stage > .\New-BackupVmsToDisk.ps1 laboratorio2

[!] Starting backup process for laboratorio2, Location: East US 2

[!] Stopping VMs to prepare them to be Snapshotted

        [ ] Stopping VM: AdminPc

        [ ] Stopping VM: AdminPc2

        [ ] Stopping VM: Client01

        [ ] Stopping VM: ContosoDc

        [ ] Stopping VM: Ubuntu-Katoolin

        [ ] Stopping VM: VictimPc


Id     Name            PSJobTypeName   State         HasMoreData     Location             Command

--     ----            -------------   -----         -----------     --------             -------

1      Long Running... AzureLongRun... Completed     True            localhost            Stop-AzVM

2      Long Running... AzureLongRun... Completed     True            localhost            Stop-AzVM

3      Long Running... AzureLongRun... Completed     True            localhost            Stop-AzVM

4      Long Running... AzureLongRun... Completed     True            localhost            Stop-AzVM

5      Long Running... AzureLongRun... Completed     True            localhost            Stop-AzVM

6      Long Running... AzureLongRun... Completed     True            localhost            Stop-AzVM

[+] All VMs Stopped... proceeding

[ ] Taking snapshots of 6 VMs

        [AdminPc] Taking snapshot

Sin duda un gran recurso para aprender, pero no solo sobre este laboratorio, sino para crear nuestra infraestructura como código personalizada, bien sea para laboratorios, producción, o para hacking...

Gracias por leerme !!!