T1082 Google Chronicle · YARA-L

Detect System Information Discovery in Google Chronicle

Adversaries may attempt to gather detailed information about the operating system and hardware, including version, patches, hotfixes, service packs, and architecture. Tools such as systeminfo, wmic, ver, and uname can be used to enumerate this data. Adversaries use this information to shape follow-on behaviors, including payload targeting, privilege escalation path selection, and evasion tuning. On ESXi, esxcli utilities expose system version and hostname. In cloud IaaS environments, authenticated API calls can return OS platform and instance metadata. This technique is frequently observed early in post-exploitation chains as part of host fingerprinting.

MITRE ATT&CK

Tactic
Discovery
Technique
T1082 System Information Discovery
Canonical reference
https://attack.mitre.org/techniques/T1082/

YARA-L Detection Query

Google Chronicle (YARA-L)
yaral
rule T1082_System_Information_Discovery {
  meta:
    author = "Argus Detection Engineering"
    description = "Detects System Information Discovery via systeminfo, msinfo32, wmic OS/hardware enumeration, reg.exe version queries, and PowerShell WMI system fingerprinting (MITRE ATT&CK T1082)"
    mitre_attack_tactic = "Discovery"
    mitre_attack_technique = "T1082"
    mitre_attack_url = "https://attack.mitre.org/techniques/T1082/"
    severity = "MEDIUM"
    confidence = "HIGH"
    platform = "Windows"
    created = "2026-04-13"

  events:
    $e.metadata.event_type = "PROCESS_LAUNCH"
    $e.metadata.product_name = /Windows/i
    (
      re.regex($e.target.process.file.full_path, `(?i)(\\systeminfo\.exe|\\msinfo32\.exe)$`)
      or (
        re.regex($e.target.process.file.full_path, `(?i)\\wmic\.exe$`) and
        re.regex($e.target.process.command_line, `(?i)(os\s+get|computersystem\s+get|bios\s+get|cpu\s+get|memorychip\s+get|csproduct\s+get)`)
      )
      or (
        re.regex($e.target.process.file.full_path, `(?i)\\reg\.exe$`) and
        re.regex($e.target.process.command_line, `(?i)\bquery\b`) and
        re.regex($e.target.process.command_line, `(?i)(currentversion|currentbuildnumber|productname|releaseid|displayversion)`)
      )
      or (
        re.regex($e.target.process.file.full_path, `(?i)\\(powershell|pwsh)\.exe$`) and
        re.regex($e.target.process.command_line, `(?i)(get-computerinfo|win32_operatingsystem|win32_bios|win32_computersystem|osversion|\$env:os|gwmi\s+win32_os)`)
      )
      or (
        re.regex($e.target.process.file.full_path, `(?i)\\cmd\.exe$`) and
        re.regex($e.target.process.command_line, `(?i)\bver\b`)
      )
    )

  outcome:
    $suspicious_parent = re.regex($e.principal.process.file.full_path, `(?i)(wscript|cscript|mshta|rundll32|regsvr32|svchost)\.exe$`)
    $office_parent = re.regex($e.principal.process.file.full_path, `(?i)(winword|excel|outlook|powerpnt|mspub)\.exe$`)
    $process_image = $e.target.process.file.full_path
    $command_line = $e.target.process.command_line
    $parent_image = $e.principal.process.file.full_path
    $hostname = $e.principal.hostname
    $username = $e.principal.user.userid

  condition:
    $e
}
medium severity high confidence

Chronicle YARA-L 2.0 rule detecting T1082 System Information Discovery via UDM PROCESS_LAUNCH events. Matches systeminfo/msinfo32 execution, wmic OS/hardware enumeration, reg.exe version registry queries, and PowerShell WMI system fingerprinting. Outcome fields expose parent chain context for analyst triage.

Data Sources

Google Chronicle with Windows Endpoint telemetry (via Ingestion API or Chronicle Forwarder)Chronicle with Microsoft Defender for Endpoint UDM feed

Required Tables

UDM events with event_type PROCESS_LAUNCH

False Positives & Tuning

  • System Center Configuration Manager (SCCM/MECM) Hardware Inventory agent running wmic queries against Win32_OperatingSystem, Win32_BIOS, and Win32_ComputerSystem classes on a recurring collection schedule
  • Windows Deployment Services or MDT task sequences querying OS version via systeminfo.exe or reg.exe during post-installation setup phases to validate build prerequisites
  • Security operations scripts and runbooks that collect host baseline data (OS version, patch level, architecture) as a first step in incident response triage procedures run by analysts
Download portable Sigma rule (.yml)

Other platforms for T1082


Testing Methodology

Validate this detection against 5 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.

  1. Test 1System Information Enumeration via systeminfo.exe

    Expected signal: Sysmon Event ID 1: Process Create with Image=C:\Windows\System32\systeminfo.exe, CommandLine containing redirect to temp file. Sysmon Event ID 11: File Create event for %TEMP%\sysinfo_out.txt. Security Event ID 4688 if command line auditing enabled.

  2. Test 2WMI OS and Hardware Discovery via wmic.exe

    Expected signal: Sysmon Event ID 1: Four separate Process Create events for wmic.exe, each with distinct CommandLine arguments containing 'os get', 'computersystem get', 'bios get', 'cpu get'. Multiple rapid wmic executions from the same parent within seconds is particularly notable.

  3. Test 3PowerShell WMI-based System Profiling

    Expected signal: Sysmon Event ID 1: Process Create for powershell.exe with CommandLine containing 'Get-CimInstance Win32_OperatingSystem' and 'Win32_ComputerSystem'. PowerShell ScriptBlock Log Event ID 4104 (Microsoft-Windows-PowerShell/Operational) with full script content showing WMI class queries.

  4. Test 4Registry Query for Windows Version Information

    Expected signal: Sysmon Event ID 1: Three Process Create events for reg.exe, each querying HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion for different value names. Sysmon Event ID 13 (Registry Value Set) is NOT generated because these are read operations; detection relies on process creation with reg.exe command line analysis.

  5. Test 5Linux System Information Discovery via uname and /etc/os-release

    Expected signal: Linux auditd syscall records for execve of /usr/bin/uname, /bin/cat with arguments /etc/os-release and /proc/version, /usr/bin/hostnamectl, /usr/bin/lscpu. Syslog entries if process accounting is enabled. In cloud environments, these commands may appear in CloudTrail/GCP audit logs if executed via SSM Session Manager or similar.

Unlock Pro Content

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

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections