Pre-OS Boot: Bootkit
Auf attack.mitre.org ansehen →10 Syscalls implementieren diese Technik
- NtAddBootEntry
Registriert einen neuen BOOT_ENTRY in der Boot-Konfigurationsdatenbank (BCD) und liefert die zugewiesene ID zurück.
- NtModifyBootEntry
Ersetzt einen vorhandenen BOOT_ENTRY in der BCD durch einen neuen Deskriptor, identifiziert über seine ID.
- NtDeleteBootEntry
Entfernt einen BOOT_ENTRY anhand der ID aus der BCD und löscht auf UEFI die zugehörige Firmware-Variable.
- NtEnumerateBootEntries
Liefert ein gepacktes Array von BOOT_ENTRY-Strukturen, das jede registrierte Firmware-Bootoption beschreibt.
- NtQueryBootEntryOrder
Liest die geordnete Liste der BOOT_ENTRY-IDs aus der Firmware — die Sequenz, die die Plattform beim nächsten Einschalten versucht.
- NtSetBootEntryOrder
Schreibt die Boot-Reihenfolge der Firmware — das Array der BOOT_ENTRY-IDs, das die Plattform der Reihe nach versucht.
- NtAddDriverEntry
Registriert einen neuen EFI_DRIVER_ENTRY in der Firmware, damit die UEFI-Umgebung einen Treiber vor dem Betriebssystem lädt.
- NtModifyDriverEntry
Überschreibt einen vorhandenen EFI_DRIVER_ENTRY anhand seiner ID und schreibt die UEFI-Driver####-NVRAM-Variable an Ort und Stelle neu.
- NtSetDriverEntryOrder
Schreibt die UEFI-DriverOrder-Liste der Plattform neu und steuert, welche UEFI-Treiber beim Boot zuerst laden.
- NtSetSystemEnvironmentValueEx
Schreibt oder löscht eine UEFI-Variable, identifiziert durch (Name, Hersteller-GUID) — die kanonische Firmware-Persistenz-Oberfläche.