The hypothesis is that an adversary is attempting to modify or access private user profiles to gain persistence or exfiltrate sensitive data. A SOC team should proactively hunt for this behavior in Azure Sentinel to identify potential lateral movement or data compromise efforts that may not be detected by traditional monitoring.
rule win_files_operation {
meta:
author = "x0r"
description = "Affect private profile"
version = "0.1"
strings:
$f1 = "kernel32.dll" nocase
$c1 = "WriteFile"
$c2 = "SetFilePointer"
$c3 = "WriteFile"
$c4 = "ReadFile"
$c5 = "DeleteFileA"
$c6 = "CreateFileA"
$c7 = "FindFirstFileA"
$c8 = "MoveFileExA"
$c9 = "FindClose"
$c10 = "SetFileAttributesA"
$c11 = "CopyFile"
condition:
$f1 and 3 of ($c*)
}
This YARA rule can be deployed in the following contexts:
This rule contains 12 string patterns in its detection logic.
Scenario: A system administrator is using Group Policy Management Console (GPMC) to update user profile settings for a group of employees.
Filter/Exclusion: Check for EventID 4726 (User Account Locked Out) or EventID 4728 (User Account Locked Out due to Policy), or filter by the admin’s user account (e.g., username = "admin") or process name (ProcessName = "gpmc.msc").
Scenario: A scheduled task runs nightly to clean up temporary files and user profiles using Disk Cleanup or PowerShell scripts.
Filter/Exclusion: Filter by EventID 1000 (Event Log Entry) with a specific source like "Disk Cleanup" or include a custom field like "TaskName = "Cleanup-UserProfiles".
Scenario: A third-party application (e.g., Microsoft Intune or Microsoft Endpoint Manager) is configured to manage user profiles and apply settings across devices.
Filter/Exclusion: Include the application’s service name (e.g., ServiceName = "Microsoft Intune"), or check for a specific registry key or file path associated with the application.
Scenario: An IT support technician is manually adjusting user profile settings using Local Group Policy Editor (gpedit.msc) or gpresult command.
Filter/Exclusion: Filter by the technician’s username or process name (ProcessName = "gpedit.msc"), or check for a specific command-line argument like "gpresult /H".
Scenario: A backup or sync tool (e.g., Veeam Backup & Replication, SyncToy, or OneDrive) is synchronizing user profiles between servers or devices.
Filter/Exclusion: Include the