
Cobalt Strike (CS) Beacon Object File (BOF) para explotación de kernel utilizando el controlador Ryzen Master de AMD (versión 17).
Archivo de objeto Beacon de Cobalt Strike para explotación del kernel mediante el controlador Ryzen Master de AMD (versión 17).
Creado por Tijme. Créditos a Alex por enseñarme. Hecho posible por Northwave Security
Este es un archivo de objeto Beacon (BOF) de Cobalt Strike (CS) y un ejecutable que explota el controlador Ryzen Master de AMD (versión 17). Solo sobrescribe el token del proceso beacon con el token del proceso system. Pero, al igual que KernelMii, este BOF es principalmente una buena base para una mayor explotación del kernel a través de CS. Puedes utilizarlo para deshabilitar EDR, deshabilitar ETW TI, volcar LSASS PPL o realizar otras acciones maliciosas no detectadas.
Identifiqué inicialmente esta vulnerabilidad (si se le puede llamar vulnerabilidad, considerando que el acceso de administrador a kernel no se considera un límite de seguridad) durante una investigación de controladores de kernel. Identifiqué cuatro vectores de ataque en el controlador. Más tarde descubrí que @h0mbre identificó dos de estos vectores en 2020 (CVE-2020-12928). En ese entonces, cualquier usuario del sistema podía abrir identificadores (handles) al enlace simbólico. AMD lo «solucionó» restringiendo el acceso a los administradores locales. Pero desde la perspectiva de un actor de amenazas y del red teaming, sigue siendo muy útil.
Desarrollé y probé este exploit en Windows 10 Pro 22H2 19045.2486. El ejecutable es relativamente estable. Los beacons de Cobalt Strike tienen una limitación de pila de 4096 bytes, por lo que es menos probable que funcione (aunque durante el desarrollo siempre funcionó). El ejecutable debería funcionar siempre.
Clona este repositorio primero. Luego revisa el código, compila desde el código fuente y úsalo en Cobalt Strike.
Compilación
make
Uso
Carga el script AMDRyzenMasterDriverV17Exploit.cna mediante el Administrador de scripts de Cobalt Strike. Luego usa el comando siguiente para ejecutar el exploit.
$ amd_ryzen_master_driver_v17_exploit
Alternativamente (y con fines de prueba), puedes ejecutar directamente el ejecutable compilado. Esto abrirá un símbolo del sistema como SYSTEM.
$ .\AMDRyzenMasterDriverV17Exploit.x64.exe
Las incidencias o nuevas funciones pueden notificarse a través del rastreador de incidencias. Asegúrate de que tu incidencia o función no haya sido reportada ya por otra persona antes de enviar una nueva.
Copyright (c) 2022 Tijme Gommers & Northwave Security. Todos los derechos reservados. Consulta LICENSE.md para ver la licencia completa.