T1125 CrowdStrike LogScale · LogScale

Detect Video Capture in CrowdStrike LogScale

Adversaries may leverage a computer's peripheral devices (e.g., integrated cameras or webcams) or applications (e.g., video call services) to capture video recordings for the purpose of gathering information. Images may also be captured from devices or applications, potentially in specified intervals, in lieu of video files. Malware or scripts may interact with webcam devices through OS or application APIs such as the Windows Video Capture API (avicap32.dll), DirectShow, Windows Media Foundation, or platform-specific libraries on macOS and Linux. Captured video or image files may be written to disk and exfiltrated later. Threat actors including Transparent Tribe (Crimson RAT), Silence Group, and tools such as Empire, NanoCore, Agent Tesla, and PoetRAT have demonstrated active use of this technique.

MITRE ATT&CK

Tactic
Collection
Technique
T1125 Video Capture
Canonical reference
https://attack.mitre.org/techniques/T1125/

LogScale Detection Query

CrowdStrike LogScale (LogScale)
cql
// T1125 - Video Capture: CrowdStrike Falcon LogScale (CQL)
// Branch 1: Camera capture DLL image load by suspicious process
#event_simpleName = ImageLoad
| ImageFileName = /(?i)(avicap32\.dll|vfw32\.dll|mfreadwrite\.dll)$/
| ImageFileName != /(?i)(Teams|zoom|Skype|slack|webex|chrome|msedge|firefox|obs64|obs32|vlc|ffmpeg|WindowsCamera|CameraApp|VideoCapture|SnippingTool)\.exe$/
| eval DetectionType = "CameraAPILoad"
| eval SuspiciousIndicator = case(
    ImageFileName = /(?i)avicap32/, "LegacyCaptureAPI",
    ImageFileName = /(?i)vfw32/, "VideoForWindowsAPI",
    ImageFileName = /(?i)mfreadwrite/, "MediaFoundationWrite",
    true(), "UnknownCameraDLL"
  )
| table([_timstamp, ComputerName, UserName, ImageFileName, ProcessImageFileName, CommandLine, ParentBaseFileName, DetectionType, SuspiciousIndicator])

// ---- Branch 2: Video file write to suspicious path (FileCreate events) ----
// #event_simpleName = /^(PeFileWrite|SuspiciousFileWrite|GeneralFileWrite)$/
// | TargetFileName = /(?i)\.(avi|mp4|wmv|mkv|mov|flv|m4v)$/
// | TargetFileName = /(?i)(\\AppData\\Local\\Temp\\|\\AppData\\Roaming\\|\\ProgramData\\|\\Users\\Public\\|\\Windows\\Temp\\)/
// | TargetFileName != /(?i)(Teams|zoom|Skype|slack|webex|chrome|msedge|firefox|obs64|obs32|vlc|ffmpeg|WindowsCamera)\.exe$/
// | eval DetectionType = "VideoFileCreation"
// | eval SuspiciousIndicator = "VideoFileInSuspiciousPath"
// | table([_timstamp, ComputerName, UserName, TargetFileName, ProcessImageFileName, CommandLine, ParentBaseFileName, DetectionType, SuspiciousIndicator])

// ---- Branch 3: Camera registry key enumeration ----
// #event_simpleName = /^(RegKeyCreate|RegKeyOpen|RegValueCreate)$/
// | RegObjectName = /(?i)(KSCATEGORY_VIDEO_CAMERA|KSCATEGORY_CAPTURE|Camera|Webcam|VideoCapture)/
// | ProcessImageFileName != /(?i)(svchost|WmiPrvSE|DeviceEnumerator|Teams|zoom|Skype)\.exe$/
// | eval DetectionType = "CameraRegistryAccess"
// | table([_timstamp, ComputerName, UserName, RegObjectName, ProcessImageFileName, CommandLine, ParentBaseFileName, DetectionType])

| groupBy([ComputerName, UserName, ProcessImageFileName, DetectionType, SuspiciousIndicator], function=count(as=EventCount))
| sort(EventCount, order=desc)
high severity medium confidence

CrowdStrike Falcon LogScale (CQL) detection for MITRE ATT&CK T1125 (Video Capture) targeting three behavioral signals via Falcon sensor telemetry: (1) ImageLoad events for Windows video capture DLLs (avicap32.dll, vfw32.dll, mfreadwrite.dll) by processes outside the legitimate media application exclusion list, (2) commented branch for file write events targeting video file extensions in temp/staging directories, and (3) commented branch for registry key access to camera device enumeration keys. Primary active branch targets ImageLoad telemetry which is reliably captured by the Falcon sensor. Additional branches can be uncommented once relevant event types are confirmed in the tenant's event schema. Covers Crimson RAT, NanoCore, Agent Tesla, and Empire video capture modules.

Data Sources

CrowdStrike Falcon EDRFalcon LogScale (Humio)Falcon sensor telemetry (ImageLoad, FileCreate, RegKeyOpen)

Required Tables

ImageLoad eventsPeFileWrite / GeneralFileWrite eventsRegKeyCreate / RegKeyOpen events

False Positives & Tuning

  • Security testing tools or red team implants used during authorized penetration tests that load avicap32.dll as part of capability testing will generate true-positive-appearing alerts that require context from change management records to triage
  • Enterprise endpoint management agents (e.g., Tanium, BigFix) performing hardware capability inventory may load camera-related DLLs or access camera registry keys during scheduled compliance scans
  • Virtualization guest tools (e.g., VMware Tools, VirtualBox Guest Additions) that redirect physical camera devices to VMs may load video capture DLLs from unexpected process contexts during device redirection initialization
Download portable Sigma rule (.yml)

Other platforms for T1125


Testing Methodology

Validate this detection against 4 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 1Webcam Access via avicap32.dll (Windows Legacy API)

    Expected signal: Sysmon Event ID 7 (Image Load): Image=powershell.exe, ImageLoaded=C:\Windows\System32\avicap32.dll. Sysmon Event ID 1 (Process Create): CommandLine will contain 'avicap32.dll' and 'capCreateCaptureWindowA'. PowerShell Script Block Log Event ID 4104 with the full P/Invoke code.

  2. Test 2Video File Creation in Temp Directory Simulation

    Expected signal: Sysmon Event ID 11 (File Create): Image=powershell.exe, TargetFilename=C:\Users\<user>\AppData\Local\Temp\capture_<timestamp>.avi. File will contain RIFF header bytes matching AVI format. Sysmon Event ID 1 (Process Create) for the PowerShell process.

  3. Test 3Webcam Capture via Python OpenCV (Cross-Platform)

    Expected signal: Sysmon Event ID 1 (Process Create): Image=python3.exe (or python.exe), CommandLine contains 'cv2.VideoCapture' and 'imwrite'. Sysmon Event ID 7 (Image Load): opencv_videoio*.dll or _cv2.pyd loaded by python3.exe. Sysmon Event ID 11 (File Create): TargetFilename matching frame_<timestamp>.jpg in %TEMP%.

  4. Test 4Webcam Capture Using ffmpeg (Common RAT Dependency)

    Expected signal: Sysmon Event ID 1 (Process Create): Image=ffmpeg.exe, CommandLine contains '-f dshow' and '-i video=' and the output .mp4 path in %TEMP%. Sysmon Event ID 11 (File Create): TargetFilename matching *.mp4 in %TEMP% with Image=ffmpeg.exe. DeviceNetworkEvents (KQL) should be clean for this test — ffmpeg does not make network connections in offline capture mode.

Unlock Pro Content

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

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections