
Cobalt Strike (CS) Beacon Object File (BOF) pour l'exploitation du noyau à l'aide du pilote Ryzen Master d'AMD (version 17).
Fichier d'objet Beacon pour Cobalt Strike permettant l'exploitation du noyau via le pilote Ryzen Master d'AMD (version 17).
Conçu par Tijme. Crédits à Alex pour m'avoir appris ! Rendu possible par Northwave Security
Ceci est un fichier d'objet Beacon (BOF) Cobalt Strike (CS) et un exécutable qui exploite le pilote Ryzen Master d'AMD (version 17). Il remplace uniquement le jeton du processus beacon par le jeton du processus système. Mais, tout comme KernelMii, ce BOF constitue surtout une bonne base pour poursuivre l'exploitation du noyau via CS. Vous pouvez l'utiliser pour désactiver l'EDR, désactiver ETW TI, dumper LSASS PPL, ou effectuer d'autres actions malveillantes non détectées.
J'ai initialement identifié cette vulnérabilité (si l'on peut appeler cela une vulnérabilité, étant donné que le passage d'administrateur à noyau n'est pas considéré comme une frontière de sécurité) lors de recherches sur les pilotes du noyau. J'ai identifié quatre vecteurs d'attaque dans le pilote. Par la suite, j'ai découvert que @h0mbre avait identifié deux de ces vecteurs en 2020 (CVE-2020-12928). À l'époque, chaque utilisateur du système pouvait ouvrir des handles vers le lien symbolique. AMD a « corrigé » cela en restreignant l'accès aux administrateurs locaux. Mais du point de vue d'un acteur de menace et d'une équipe red team, c'est toujours très utile.
J'ai développé et testé cet exploit sur Windows 10 Pro 22H2 19045.2486. L'exécutable est assez stable. Les beacons Cobalt Strike ont une limite de pile de 4096 octets, il est donc moins susceptible de fonctionner (même s'il a toujours fonctionné pendant le développement). Quant à l'exécutable, il devrait toujours fonctionner.
Clonez d'abord ce dépôt. Examinez ensuite le code, compilez-le à partir des sources et utilisez-le dans Cobalt Strike.
Compilation
make
Utilisation
Chargez le script AMDRyzenMasterDriverV17Exploit.cna à l'aide du Script Manager de Cobalt Strike. Utilisez ensuite la commande ci-dessous pour exécuter l'exploit.
$ amd_ryzen_master_driver_v17_exploit
Alternativement (et à des fins de test), vous pouvez exécuter directement l'exécutable compilé. Cela ouvrira une invite de commandes en tant que SYSTEM.
$ .\AMDRyzenMasterDriverV17Exploit.x64.exe
Les problèmes ou les nouvelles fonctionnalités peuvent être signalés via le suivi des problèmes. Avant de soumettre une nouvelle demande, veuillez vérifier que votre problème ou fonctionnalité n'a pas déjà été signalé par quelqu'un d'autre.
Copyright (c) 2022 Tijme Gommers & Northwave Security. Tous droits réservés. Consultez LICENSE.md pour la licence complète.