julianvilas / Awesome-Bootkits-Rootkits-Development

A curated compilation of extensive resources dedicated to bootkit and rootkit development.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Awesome Bootkits & Rootkits Development

A curated compilation of extensive resources dedicated to bootkit and rootkit development.

Discover more awesome lists at sindresorhus/awesome.

Table of Contents

UEFI

Basics

Videos

Attacks

Videos

  • Youtube Video: BlackHat USA 2009 - Attacking Intel Bios -> We demonstrate how to permanently reflash Intel BIOSes on the latest Intel Q45-based systems. In contrast to a previous work done by other researches a few months earlier, who targeted totally unprotected low-end BIOSes, we focus on how to permanently reflash one of the most secure BIOSes out there, that normally only allow a vendor's digitally signed firmware to be flashed.
  • Youtube Video: REcon 2015 - Attacking and Defending BIOS
  • Youtube Video: Defcon 22 - Summary of Attacks Against BIOS -> A variety of attacks targeting platform firmware have been discussed publicly, drawing attention to the pre-boot and firmware components of the platform such as secure boot, OS loaders, and SMM. Windows 8 Secure Boot provides an important protection against bootkits by enforcing a signature check on each boot component.
  • Youtube Video: BlackHat USA 2017 - Betraying the BIOS, Where the Guardians of the BIOS are Failing -> For UEFI firmware, the barbarians are at the gate -- and the gate is open. On the one hand, well-intentioned researchers are increasingly active in the UEFI security space; on the other hand, so are attackers. Information about UEFI implants -- by HackingTeam and state-sponsored actors alike -- hints at the magnitude of the problem, but are these isolated incidents, or are they indicative of a more dire lapse in security?

Presentations

  • Presentation: BlackHat USA 2009 - Attacking Intel Bios -> We demonstrate how to permanently reflash Intel BIOSes on the latest Intel Q45-based systems. In contrast to a previous work done by other researches a few months earlier, who targeted totally unprotected low-end BIOSes, we focus on how to permanently reflash one of the most secure BIOSes out there, that normally only allow a vendor's digitally signed firmware to be flashed.
  • Presentation: REcon 2015 - Attacking and Defending BIOS
  • Presentation: Defcon 22 - Summary of Attacks Against BIOS -> A variety of attacks targeting platform firmware have been discussed publicly, drawing attention to the pre-boot and firmware components of the platform such as secure boot, OS loaders, and SMM. Windows 8 Secure Boot provides an important protection against bootkits by enforcing a signature check on each boot component.
  • Presentation: BlackHat USA 2017 - Betraying the BIOS, Where the Guardians of the BIOS are Failing -> For UEFI firmware, the barbarians are at the gate -- and the gate is open. On the one hand, well-intentioned researchers are increasingly active in the UEFI security space; on the other hand, so are attackers. Information about UEFI implants -- by HackingTeam and state-sponsored actors alike -- hints at the magnitude of the problem, but are these isolated incidents, or are they indicative of a more dire lapse in security?

EDK2

Basics

Videos

Develop

Bootkits

Basics

Videos

  • Youtube Video: BlackHat USA 2013 - Detecting OSX and Windows bootkits with RDFU -> UEFI has recently become a very public target for rootkits and malware. To combat this new threat, we developed a Rootkit Detection Framework for UEFI ("RDFU") that incorporates a unified set of tools that address this problem across a wide spectrum of UEFI implementations.
  • Youtube Video: Virus Bulletin 2014 - Bootkits past, present & future -> Bootkit threats have always been a powerful weapon in the hands of cybercriminals, allowing them to establish persistent and stealthy presence in their victims' systems. The most recent notable spike in bootkit infections was associated with attacks on 64-bit versions of the Microsoft Windows platform, which restrict the loading of unsigned kernel-mode drivers. However, these bootkits aren't effective against UEFI-based platforms. So, are UEFI-based machines immune against bootkit threats (or would they be)?
  • Youtube Video: BlackHat USA 2014 - Exposing Bootkits with BIOS Emulation -> Stealth and persistency are invaluable assets to an intruder. You cannot defend against what you cannot see. This talk discusses techniques to counter attempts at subverting modern security features, and regain control of compromised machines, by drilling down deep into internal structures of the operating system to battle the threat of bootkits.
  • Youtube Video: Nullcon 2022 - A UEFI firmware bootkit in the wild -> Despite the advanced capabilities they provide, low-level implants such as bootkits and rootkits are only deployed by the most sophisticated attackers due to the risk they pose to the victim system’s stability. In recent years, Kaspersky has however observed a number of new low-level malware, such as MosaicRegressor, MoonBounce, and the object of this talk, CosmicStrand.
  • Youtube Video: OffensiveCon18 - Alex Ionescu Advancing the State of UEFI Bootkits -> Persistence in the Age of PatchGuard and Windows 10.

Presentations

  • Presentation: BlackHat USA 2013 - Detecting OSX and Windows bootkits with RDFU -> UEFI has recently become a very public target for rootkits and malware. To combat this new threat, we developed a Rootkit Detection Framework for UEFI ("RDFU") that incorporates a unified set of tools that address this problem across a wide spectrum of UEFI implementations.
  • Paper: Virus Bulletin 2014 - Bootkits past, present & future -> Bootkit threats have always been a powerful weapon in the hands of cybercriminals, allowing them to establish persistent and stealthy presence in their victims' systems. The most recent notable spike in bootkit infections was associated with attacks on 64-bit versions of the Microsoft Windows platform, which restrict the loading of unsigned kernel-mode drivers. However, these bootkits aren't effective against UEFI-based platforms. So, are UEFI-based machines immune against bootkit threats (or would they be)?
  • Paper: BlackHat USA 2014 - Exposing Bootkits with BIOS Emulation -> Stealth and persistency are invaluable assets to an intruder. You cannot defend against what you cannot see. This talk discusses techniques to counter attempts at subverting modern security features, and regain control of compromised machines, by drilling down deep into internal structures of the operating system to battle the threat of bootkits.
  • Presentation: OffensiveCon18 - Alex Ionescu Advancing the State of UEFI Bootkits -> Persistence in the Age of PatchGuard and Windows 10.

Analysis

Examples

  • Github: BlackLotus -> innovative UEFI Bootkit designed specifically for Windows. It incorporates a built-in Secure Boot bypass and Ring0/Kernel protection to safeguard against any attempts at removal. This software serves the purpose of functioning as an HTTP Loader.
  • Github: EfiGuard -> Portable x64 UEFI bootkit that patches the Windows boot manager, boot loader and kernel at boot time in order to disable PatchGuard and Driver Signature Enforcement (DSE).
  • Github: Bootlicker -> A generic UEFI bootkit used to achieve initial usermode execution.
  • Github: DmaBackdoorBoot -> UEFI DXE driver intended for executing of kernel mode and user mode payloads under the Windows operating system by having an arbitrary code execution at early boot stage during DXE phase of the platform initialization.
  • Github: RedLotus -> Windows UEFI Bootkit in Rust designed to facilitate the manual mapping of a driver manual mapper before the kernel (ntoskrnl.exe) is loaded, effectively bypassing Driver Signature Enforcement (DSE).
  • Github: Bootkit Showcase -> Real-World Examples of Infrastructure Security Threats
  • Github: SandboxBootkit -> Bootkit tested on Windows Sandbox to patch ntoskrnl.exe and disable DSE/PatchGuard.
  • Github: Umap -> Windows UEFI bootkit that loads a generic driver manual mapper without using a UEFI runtime driver.
  • Github: UEFI-Bootkit -> A small bootkit designed to use zero assembly.
  • Github: PeiBackdoor -> This project implements early stage firmware backdoor for UEFI based firmware. It allows to execute arbitrary code written in C during Pre EFI Init (PEI) phase of Platform Initialization (PI).
  • Github: Rovnix -> Volume Boot Record Bootkit.
  • Github: Dreamboot -> UEFI bootkit.

Windows

Boot

Basics

Videos

Kernel

Drivers

Basics

Environment

  • Microsoft: Windows Driver Kit (WDK) -> This is used to develop, test, and deploy Windows Drivers.
  • Microsoft: DebugView -> It is an application that lets you monitor debug output on your local system, or any computer on the network that you can reach via TCP/IP. It is capable of displaying both kernel-mode and Win32 debug output, so you don't need a debugger to catch the debug output your applications or device drivers generate, nor do you need to modify your applications or drivers to use non-standard debug output APIs.

Develop

PatchGuard

Basics

Videos

  • Youtube Video: RSA Conference - Windows Kernel Patch Protection -> This session will look at a critical flaw in the design of Windows Kernel Patch Protection (PatchGuard), a system used to prevent modification to kernel code and other critical structure. The design of PatchGuard will be discussed, along with the design of an attack which uses the flaw in PatchGuard to disable the PatchGuard response entirely.

Bypass

Rootkits

Basics

Videos

Presentations

Examples

Generic

DKOM

Basics
POCs
  • Github: DKOM -> Windows 10 Direct Kernel Object Manipulation.
  • Github: Win_Rootkit -> A kernel-mode rootkit with remote control that utilizes C++ Runtime in it's driver. Uses DKOM and IRP Hooks.
  • Github: HideProcess -> A basic Direct Kernel Object Manipulation rootkit that removes a process from the EPROCESS list, hiding it from the Task Manager.
  • Github: HideDriver -> Using DKOM to hide kernel mode drivers.
  • Github: Rootkit DKOM -> Direct Kernel Object Manipulationon _EPROCESS internal structure.

IDT Hooking

Basics
POCs

SSDT Hooking

Basics
POCs
  • Github: MasterHide -> A x64 Windows Driver created to monitor/hide or block access from processes, objects, files ( whatever you want, your imagination is the limit here ) using SSDT/Shadow SSDT hooks.
  • Github: TitanHide -> A driver intended to hide debuggers from certain processes. The driver hooks various Nt* kernel functions (using SSDT table hooks) and modifies the return values of the original functions.
  • Github: STrace ->A DTrace on windows syscall hook reimplementation. Think of this like a patchguard compatible SSDT hook, but without hacks.

Books

Awesome

Master's Degree

If you wish to acquire this knowledge, along with other topics related to malware analysis, reversing, and bug hunting, under the guidance of top-notch professionals, do not hesitate to get in touch with the institution where I am an instructor, offering a master's degree (Máster en Reversing, Análisis de Malware y Bug Hunting) in this field.

ENIIT UCAM Campus Internacional de Ciberseguridad

About

A curated compilation of extensive resources dedicated to bootkit and rootkit development.

License:GNU General Public License v3.0


Languages

Language:HTML 91.5%Language:Python 8.5%