T1592.003

Firmware

Adversaries may gather information about the victim's host firmware that can be used during targeting. Information about host firmware may include type and versions on specific hosts, which may be used to infer more information about hosts in the environment such as configuration, purpose, age, and patch level. Adversaries gather this information through direct elicitation via phishing, OSINT from job postings, assessment reports, and purchase invoices, or by executing firmware enumeration commands on already-compromised systems during post-exploitation reconnaissance. This intelligence supports subsequent targeting through firmware-based exploits, UEFI implants (LoJax, MosaicRegressor, CosmicStrand), and supply chain attacks. The detection challenge is significant: external OSINT-based firmware gathering generates no internal telemetry; only in-environment enumeration following initial compromise is detectable.

Microsoft Sentinel / Defender
kusto
// Branch 1: WMIC direct firmware class queries
let WmicFirmware = DeviceProcessEvents
| where Timestamp > ago(24h)
| where FileName =~ "wmic.exe"
| where ProcessCommandLine has_any ("bios", "baseboard", "Win32_BIOS", "Win32_BaseBoard", "Win32_SystemEnclosure", "Win32_MotherboardDevice")
| extend EnumerationMethod = "WMIC_Direct";
// Branch 2: PowerShell WMI firmware class enumeration
let PsFirmware = DeviceProcessEvents
| where Timestamp > ago(24h)
| where FileName in~ ("powershell.exe", "pwsh.exe")
| where (ProcessCommandLine has_any ("Get-WmiObject", "Get-CimInstance", "gwmi") and
         ProcessCommandLine has_any ("Win32_BIOS", "Win32_BaseBoard", "Win32_SystemEnclosure", "Win32_MotherboardDevice"))
    or ProcessCommandLine has_any ("Confirm-SecureBootUEFI", "Get-SecureBootPolicy", "Get-SecureBootUEFI")
| extend EnumerationMethod = "PowerShell_WMI";
// Branch 3: Dedicated firmware inspection or flashing tools
let FirmwareTools = DeviceProcessEvents
| where Timestamp > ago(24h)
| where FileName in~ ("flashrom.exe", "fwupdmgr", "dmidecode", "biosdecode", "AfuDos.exe", "AfuWin64.exe", "AfuWinx64.exe", "AmiFlash.exe", "FPT.exe", "fptw64.exe")
    or (FileName =~ "bcdedit.exe" and ProcessCommandLine has "firmware")
| extend EnumerationMethod = "FirmwareTool";
union WmicFirmware, PsFirmware, FirmwareTools
| project Timestamp, DeviceName, AccountName, FileName, ProcessCommandLine,
         InitiatingProcessFileName, InitiatingProcessCommandLine,
         EnumerationMethod
| sort by Timestamp desc
medium severity low confidence

Data Sources

Process: Process Creation Command: Command Execution Microsoft Defender for Endpoint

Required Tables

DeviceProcessEvents

False Positives

  • IT asset management platforms (SCCM, Lansweeper, PDQ Inventory, ManageEngine AssetExplorer) that regularly inventory hardware and firmware versions across the fleet via scheduled WMI queries
  • Vulnerability scanners (Nessus, Qualys, Rapid7 InsightVM) collecting firmware version data during scheduled authenticated scans to assess BIOS/UEFI patch compliance
  • System administrators manually querying firmware versions before hardware refresh cycles, BIOS upgrade projects, or troubleshooting UEFI Secure Boot and TPM configuration issues
  • Hardware vendor diagnostic tools (Dell SupportAssist, HP Support Assistant, Lenovo Vantage, Lenovo System Update) that query Win32_BIOS and Win32_BaseBoard during automated health checks
  • Security baseline and compliance tools (CIS-CAT, Microsoft Security Compliance Toolkit) verifying Secure Boot enablement, UEFI settings, and firmware versions against hardening benchmarks

Unlock Pro Content

Get the full detection package for T1592.003 including response playbook, investigation guide, and atomic red team tests.

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections