SlideShare a Scribd company logo
First STRONTIUM UEFI
Rootkit Unveiled
BlueHat v18
Jean-Ian Boutin | Senior Malware Researcher
Frédéric Vachon | Malware Researcher
Jean-Ian Boutin
Senior Malware Researcher
Frédéric Vachon
Malware Researcher
@jiboutin @Freddrickk_
Agenda
•What is LoJack?
•Past research
•Digging in
•Descending through the rings
Computrace/LoJack
Absolute Software
LoJack capabilities in a nutshell
•Locate
•Lock
•Delete
•Recover
Past Research
Black Hat USA 2009
•Exposed design vulnerabilities in agent
LoJack Architecture back then
Configuration file vulnerability
Configuration file vulnerability
Configuration file vulnerability
Configuration file vulnerability
•IP and URL
• search.namequery.com
• xd1x35x71x17 -> 209.53.113.23
Silent activation?
Small Agent attack surface
•Local attack
• Modify configuration
•Remote attack
• Malicious server set up
Digging in
LoJax - Cat is out of the bag
•Document small agent modifications
•Links old Sednit domains to Lojax domains
Where is the attack?
Where is the attack?
Changed only configuration file?
•Almost, and used only one agent version to do
so…
Changed only configuration file?
•Almost, and used only one agent version to do
so…
•Bulk detection now possible – time to dive in
The Balkans, Central and Eastern Europe victims
•Few organizations hit
•Military and diplomatic organizations
•Presence of several Sednit tools in the
organization
Typical infection
•XAgent v3
•Xtunnel
•XAgent v4
•Lojax <insert somewhere above>
Standalone infection
•In one case, lojax was the only Sednit-related
detection on the machine
Agent update
•In one case, lojax agent config was updated
Old Agent C&C server New Agent C&C server
remotepx.net rdsnet.com
103.41.177.43 185.86.148.18
Links to Sednit
•Targets
•Tooling
•Domain re-use
Analyst ramblings
Clairvoyance?
Clairvoyance?
Clairvoyance?
RWEverything
•Uefi read tool
RWEverything
•Legitimate software
using legitimate kernel
driver
•Not the first time it is
reused for other
purposes
RWEverything
•Found on some organizations with LoJax
compromise
•info_efi.exe
autochk.exe mechanism?
autochk.exe mechanism?
autochk.exe vs. autoche.exe
autochk.exe vs. autoche.exe
autochk.exe vs. autoche.exe
autochk.exe vs. autoche.exe
autochk.exe vs. autoche.exe
autochk.exe vs. autoche.exe
Down the rings we go
ReWriter_read.exe
•Tool to dump SPI flash memory content found
alongside LoJax sample
IOCTL code Description
0x22280c Writes to memory mapped I/O space
0x222808 Reads from memory mapped I/O space
0x222840 Reads a dword from given PCI Configuration Register
0x222834 Writes a byte to given PCI Configuration Register
ReWriter_read.exe
•Contains *lots* of debug strings
•Consists of the following operations
• Log information on BIOS_CNTL register
• Locate BIOS region base address
• Read UEFI firmware content and dump it to a file
Reading from the SPI Flash Memory
Reading from the SPI Flash Memory
Reading from the SPI Flash Memory
Reading from the SPI Flash Memory
Reading from the SPI Flash Memory
Reading from the SPI Flash Memory
ReWriter_binary.exe
•Contains *lots* of debug strings
•Uses RWEverything’s driver
•Consists of the following operations
• Add the rootkit to the firmware
• Write it back to the SPI flash memory
Patching the UEFI
firmware
Unified Extensible Firmware Interface (UEFI)
• Replacement for the legacy BIOS
• New standard for firmware development
• Provides a set of services to UEFI applications
• Boot services
• Runtime services
• No more MBR/VBR
Driver Execution Environment (DXE) Drivers
• PE/COFF images
• Abstract the hardware
• Produce UEFI standard interface
• Register new services (protocols)
• Loaded during the DXE phase of the Platform
initialization
• Loaded by the DXE dispatcher (DXE Core)
UEFI firmware layout
• Located in the BIOS region of the SPI flash memory
• Contains multiple volumes
• Volumes contain files identified by GUIDs
• File contain sections
• One of these sections is the actual UEFI image
• It’s more complex than that but it suffices for our purpose
SPI flash memory layout
SPI flash memory layout
SPI flash memory layout
SPI flash memory layout
BIOS region layout
BIOS region layout
BIOS region layout
BIOS region layout
Parsing the firmware volumes
• Parses all the firmware volumes of the UEFI firmware
• Looks for 4 specific files
• Ip4Dxe (8f92960f-2880-4659-b857-915a8901bdc8)
• NtfsDxe (768bedfd-7b4b-4c9f-b2ff-6377e3387243)
• SmiFlash (bc327dbd-b982-4f55-9f79-056ad7e987c5)
• DXE Core
Ip4Dxe and DXE Core
• Used to find the firmware volume to install the rootkit
• DXE drivers are usually all in the same volume
• DXE Core may be in a different volume
• The chosen volume will be the one with enough free
space available
NtfsDxe and SmiFlash
• NtfsDxe the AMI NTFS driver
• Will be removed if found
• SmiFlash metadata are not used
• SmiFlash is a known-vulnerable DXE driver
Adding the rootkit
• Creates a FFS file header (EFI_FFS_FILE_HEADER)
• Append the Rootkit file
• Write it at the end of the DXE drivers volume or the
DXE Core volume
• Checks if there’s enough free space available
Write the compromised
firmware to the SPI Flash
memory
BIOS Write Protection Mechanisms
• Platform exposes write protection mechanisms
• Need to be properly configured by the firmware
• We’ll only cover relevant protections to our research
• Won’t cover Protected Range Registers
• Exposed via the BIOS Control Register (BIOS_CNTL)
BIOS Write Protection Mechanisms
• To write to the BIOS region BIOS Write Enable
(BIOSWE) must be set to 1
• BIOS Lock Enable (BLE) allows to lock BIOSWE to 0
BIOS Write Protection Mechanisms
• To write to the BIOS region BIOS Write Enable
(BIOSWE) must be set to 1
• BIOS Lock Enable (BLE) allows to lock BIOSWE to 0
BIOS Write Protection Mechanisms
• The implementation of BLE is vulnerable
• When BIOSWE is set to 1, its value change in
BIOS_CNTL
• A System Management Interrupt (SMI) is triggered
• The SMI handler sets BIOSWE back to 0
• The SMI handler must be implemented by the firmware
BIOS Write Protection Mechanisms
• What if we write to the SPI flash memory before the
SMI handler sets BIOSWE to 0?
• Race condition vulnerability (Speed racer)
• A thread continuously set BIOSWE to 1
• Another thread tries to write data
• Works on multicore processors and single core
processors with hyper-threading enabled
BIOS Write Protection Mechanisms
• Platform Controller Hub family of Intel chipsets
introduces a fix for this issue
• The firmware must set this bit
BIOS Write Protection Mechanisms
• Platform Controller Hub family of Intel chipsets
introduces a fix for this issue
• The firmware must set this bit
ReWriter_Binary.exe
• ReWriter_Binary.exe checks these settings
• Checks if the platform is properly configured
• Implements the exploit for the race condition
Writing process decision tree
Writing process decision tree
Writing process decision tree
Writing process decision tree
Writing to the SPI Flash Memory
Writing to the SPI Flash Memory
Writing to the SPI Flash Memory
Writing to the SPI Flash Memory
Writing to the SPI Flash Memory
Let’s take a step back
•Software implementation to flash firmware
remotely
• Hacking Team’s UEFI rootkit needed physical access
•We extracted the UEFI rootkit
•Looked at ESET’s UEFI scanner telemetry
•And…
BlueHat v18 || First strontium uefi rootkit unveiled
BlueHat v18 || First strontium uefi rootkit unveiled
BlueHat v18 || First strontium uefi rootkit unveiled
UEFI Rootkit
UEFI Rootkit: SecDxe
•DXE Driver loaded by the DXE Dispatcher
•Unsigned
•File GUID
• 682894B5-6B70-4EBA-9E90-A607E5676297
UEFI Rootkit workflow
UEFI Rootkit workflow
UEFI Rootkit workflow
UEFI Rootkit: SecDxe
•Notify function
• Installs NTFS driver
• Drops autoche.exe and rpcnetp.exe
• Patch a value in the Windows Registry
UEFI Rootkit: NTFS driver
•NTFS driver needed to get file-based access to
Windows’ partition
•UEFI firmware don’t need an NTFS driver
• Only need to read the EFI system partition
•Hacking Team’s NTFS driver from HT’s leak
• NtfsDxe project from vector-edk
UEFI Rootkit: Dropping files
UEFI Rootkit: Dropping files
UEFI Rootkit: Dropping files
UEFI Rootkit: Patching Windows Registry Value
•Modifies Windows Registry via
%WINDIR%System32configSYSTEM
•Changes “autocheck autochk *” to “autocheck
autoche *”
•HKLMSYSTEMCurrentControlSetControl
Session ManagerBootExecute
UEFI Rootkit workflow
Prevention and
Remediation
Prevention
•Enable Secure Boot
•Keep your UEFI firmware up-to-date
•Make sure you have modern chipsets (PCH)
•Hope that your firmware configure security
mechanisms properly :-(
•Firmware security assessments can be done
with CHIPSEC
Remediation
•You need to reflash your UEFI firmware
•If it’s not an option for you then…
Remediation
•You need to reflash your UEFI firmware
•If it’s not an option for you then…
Conclusion
Thanks!
Questions?
White paper available at welivesecurity.com
@jiboutin
@Freddrickk_

More Related Content

PDF
BlueHat v18 || Massive scale usb device driver fuzz without device
PDF
BlueHat v18 || The matrix has you - protecting linux using deception
PDF
Csw2017 bazhaniuk exploring_yoursystemdeeper_updated
PPTX
Заполучили права администратора домена? Игра еще не окончена
PPTX
[Wroclaw #3] Trusted Computing
PPTX
[若渴計畫] Black Hat 2017之過去閱讀相關整理
PDF
BlueHat v18 || An ice-cold boot to break bit locker
PDF
Software update for embedded systems - elce2014
BlueHat v18 || Massive scale usb device driver fuzz without device
BlueHat v18 || The matrix has you - protecting linux using deception
Csw2017 bazhaniuk exploring_yoursystemdeeper_updated
Заполучили права администратора домена? Игра еще не окончена
[Wroclaw #3] Trusted Computing
[若渴計畫] Black Hat 2017之過去閱讀相關整理
BlueHat v18 || An ice-cold boot to break bit locker
Software update for embedded systems - elce2014

What's hot (20)

PPTX
BlueHat v17 || Dyre to Trickbot: An Inside Look at TLS-Encrypted Command-And-...
PDF
XPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGIC
PDF
Evolution of ota_update_in_the_io_t_world
PDF
XPDS16: A Paravirtualized Interface for Socket Syscalls - Dimitri Stiliadis, ...
PDF
Kernel Mode Threats and Practical Defenses
PDF
Sw update elce2017
PDF
Csw2016 wang docker_escapetechnology
PPTX
Telehack: May the Command Line Live Forever
PDF
Solnik secure enclaveprocessor-pacsec
PDF
XPDS16: The OpenXT Project in 2016 - Christopher Clark, BAE Systems
PPTX
Горизонтальные перемещения в инфраструктуре Windows
PDF
XPDS14 - Xen in EFI World - Daniel Kiper, Oracle
PDF
BlueHat v17 || Disrupting the Mirai Botnet
PDF
Kasza smashing the_jars
PDF
Userspace drivers-2016
PDF
Configuring wifi in open embedded builds
PPTX
Server Hardening Primer - Eric Vanderburg - JURINNOV
PDF
Integrate IoT cloud analytics and over the-air (ota) updates with google and ...
PDF
Инциденты с использованием ransomware. Расследование
PDF
Kali tools list with short description
BlueHat v17 || Dyre to Trickbot: An Inside Look at TLS-Encrypted Command-And-...
XPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGIC
Evolution of ota_update_in_the_io_t_world
XPDS16: A Paravirtualized Interface for Socket Syscalls - Dimitri Stiliadis, ...
Kernel Mode Threats and Practical Defenses
Sw update elce2017
Csw2016 wang docker_escapetechnology
Telehack: May the Command Line Live Forever
Solnik secure enclaveprocessor-pacsec
XPDS16: The OpenXT Project in 2016 - Christopher Clark, BAE Systems
Горизонтальные перемещения в инфраструктуре Windows
XPDS14 - Xen in EFI World - Daniel Kiper, Oracle
BlueHat v17 || Disrupting the Mirai Botnet
Kasza smashing the_jars
Userspace drivers-2016
Configuring wifi in open embedded builds
Server Hardening Primer - Eric Vanderburg - JURINNOV
Integrate IoT cloud analytics and over the-air (ota) updates with google and ...
Инциденты с использованием ransomware. Расследование
Kali tools list with short description
Ad

Similar to BlueHat v18 || First strontium uefi rootkit unveiled (20)

PDF
Bootkits: past, present & future
PPTX
eFolder Expert Series Webinar - BDR Do's and Dont's: Featuring Andrew Bensing...
PPTX
Windows_Installation.pptx
PPTX
Building Embedded Linux UDOONEO
PDF
Linux kernel booting
PDF
Cigarette VS Bubble Gum
PDF
Bootkits: Past, Present & Future - Virus Bulletin
PDF
Embedded Systems: Lecture 7: Lab 1: Preparing the Raspberry Pi
PPTX
Windows 8 Client Part 1 "The OS internals for IT-Pro's"
PDF
Yocto Project Kernel Lab, Hands-On
KEY
Cis222 2
PPTX
Opening last bits of the infrastructure
PPTX
Implementing a UEFI BIOS into an Embedded System
PDF
Distro Recipes 2013: Secure Boot and Linux: several issues, one solution
PPT
Lesson 1 - Introducing, Installing, and Upgrading Windows 7
PDF
2022-05-03 SoC Interest Group Meeting - Deploying and testing firmware-softwa...
PDF
Mixing it up with EFI mixed mode
ODP
Signature verification of hibernate snapshot
PDF
XPDDS17: EFI Secure Boot, Shim and Xen: Current Status and Developments - Da...
PPTX
Sorage &amp; pc booting ppt prabu
Bootkits: past, present & future
eFolder Expert Series Webinar - BDR Do's and Dont's: Featuring Andrew Bensing...
Windows_Installation.pptx
Building Embedded Linux UDOONEO
Linux kernel booting
Cigarette VS Bubble Gum
Bootkits: Past, Present & Future - Virus Bulletin
Embedded Systems: Lecture 7: Lab 1: Preparing the Raspberry Pi
Windows 8 Client Part 1 "The OS internals for IT-Pro's"
Yocto Project Kernel Lab, Hands-On
Cis222 2
Opening last bits of the infrastructure
Implementing a UEFI BIOS into an Embedded System
Distro Recipes 2013: Secure Boot and Linux: several issues, one solution
Lesson 1 - Introducing, Installing, and Upgrading Windows 7
2022-05-03 SoC Interest Group Meeting - Deploying and testing firmware-softwa...
Mixing it up with EFI mixed mode
Signature verification of hibernate snapshot
XPDDS17: EFI Secure Boot, Shim and Xen: Current Status and Developments - Da...
Sorage &amp; pc booting ppt prabu
Ad

More from BlueHat Security Conference (20)

PDF
BlueHat Seattle 2019 || The cake is a lie! Uncovering the secret world of mal...
PDF
BlueHat Seattle 2019 || Keynote
PDF
BlueHat Seattle 2019 || Guarding Against Physical Attacks: The Xbox One Story
PDF
BlueHat Seattle 2019 || Kubernetes Practical Attack and Defense
PDF
BlueHat Seattle 2019 || Open Source Security, vulnerabilities never come alone
PDF
BlueHat Seattle 2019 || Modern Binary Analysis with ILs
PDF
BlueHat Seattle 2019 || Don't forget to SUBSCRIBE.
PDF
BlueHat Seattle 2019 || I'm in your cloud: A year of hacking Azure AD
PDF
BlueHat Seattle 2019 || Autopsies of Recent DFIR Investigations
PDF
BlueHat Seattle 2019 || The good, the bad & the ugly of ML based approaches f...
PDF
BlueHat Seattle 2019 || Are We There Yet: Why Does Application Security Take ...
PDF
BlueHat Seattle 2019 || Building Secure Machine Learning Pipelines: Security ...
PDF
BlueHat v18 || WSL reloaded - Let's try to do better fuzzing
PDF
BlueHat v18 || The hitchhiker's guide to north korea's malware galaxy
PDF
BlueHat v18 || Retpoline - the anti-spectre (type 2) mitigation in windows
PDF
BlueHat v18 || Memory resident implants - code injection is alive and well
PDF
BlueHat v18 || Modern day entomology - examining the inner workings of the bu...
PDF
BlueHat v18 || May i see your credentials, please
PDF
BlueHat v18 || Mstic threat intelligence year in review
PDF
BlueHat v18 || Killsuit the equation group's swiss army knife for persistence...
BlueHat Seattle 2019 || The cake is a lie! Uncovering the secret world of mal...
BlueHat Seattle 2019 || Keynote
BlueHat Seattle 2019 || Guarding Against Physical Attacks: The Xbox One Story
BlueHat Seattle 2019 || Kubernetes Practical Attack and Defense
BlueHat Seattle 2019 || Open Source Security, vulnerabilities never come alone
BlueHat Seattle 2019 || Modern Binary Analysis with ILs
BlueHat Seattle 2019 || Don't forget to SUBSCRIBE.
BlueHat Seattle 2019 || I'm in your cloud: A year of hacking Azure AD
BlueHat Seattle 2019 || Autopsies of Recent DFIR Investigations
BlueHat Seattle 2019 || The good, the bad & the ugly of ML based approaches f...
BlueHat Seattle 2019 || Are We There Yet: Why Does Application Security Take ...
BlueHat Seattle 2019 || Building Secure Machine Learning Pipelines: Security ...
BlueHat v18 || WSL reloaded - Let's try to do better fuzzing
BlueHat v18 || The hitchhiker's guide to north korea's malware galaxy
BlueHat v18 || Retpoline - the anti-spectre (type 2) mitigation in windows
BlueHat v18 || Memory resident implants - code injection is alive and well
BlueHat v18 || Modern day entomology - examining the inner workings of the bu...
BlueHat v18 || May i see your credentials, please
BlueHat v18 || Mstic threat intelligence year in review
BlueHat v18 || Killsuit the equation group's swiss army knife for persistence...

Recently uploaded (20)

PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Empathic Computing: Creating Shared Understanding
PDF
cuic standard and advanced reporting.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Machine learning based COVID-19 study performance prediction
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
KodekX | Application Modernization Development
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
Big Data Technologies - Introduction.pptx
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Electronic commerce courselecture one. Pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Per capita expenditure prediction using model stacking based on satellite ima...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
NewMind AI Monthly Chronicles - July 2025
Empathic Computing: Creating Shared Understanding
cuic standard and advanced reporting.pdf
The AUB Centre for AI in Media Proposal.docx
Diabetes mellitus diagnosis method based random forest with bat algorithm
Chapter 3 Spatial Domain Image Processing.pdf
Understanding_Digital_Forensics_Presentation.pptx
Machine learning based COVID-19 study performance prediction
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Unlocking AI with Model Context Protocol (MCP)
KodekX | Application Modernization Development
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
The Rise and Fall of 3GPP – Time for a Sabbatical?
Digital-Transformation-Roadmap-for-Companies.pptx
Big Data Technologies - Introduction.pptx
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Electronic commerce courselecture one. Pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025

BlueHat v18 || First strontium uefi rootkit unveiled