TL-2026-0113 HIGH 2026-02-22 Threat Analysis

CSVDE.exe LOLBIN for AD Reconnaissance — FIN7 and APT10 Weaponize Built-In Windows Tool

Threadlinqs Intelligence 7 min
csvdelolbinactive-directoryfin7apt10kerberoastingad-reconliving-off-the-landoperation-cloud-hopperad-reconnaissance

Threat ID: TL-2026-0113 | Severity: HIGH | Status: ACTIVE

Actors: FIN7 (Carbanak), APT10/menuPass (Stone Panda) | Motivation: Espionage, Financial Crime

MITRE Techniques: 17 | Detections: 9 | Category: THREAT_INTEL


CSVDE ships with every Windows Server. Most defenders have never heard of it. APT10 has.

CSVDE.exe is a command-line utility baked into every Windows Server installation carrying the AD DS role. It exports Active Directory objects to CSV format via LDAP — and both FIN7 and APT10/menuPass have weaponized it as a Living-off-the-Land Binary for bulk directory reconnaissance. One command. The entire AD structure. Users, groups, service accounts, OUs, computer objects — all dumped to a flat file.

No malware needed. Below: the mechanics of CSVDE.exe abuse, documented APT usage, the kerberoasting precursor chain, and production-ready detection queries in SPL, KQL, and Sigma.

SigmaHQ detection rule for 'Active Directory Structure Export Via Csvde.EXE' — community-contributed SIEM detection logic with process creation monitoring. SigmaHQ detection rule for 'Active Directory Structure Export Via Csvde.EXE' — community-contributed SIEM detection logic with process creation monitoring.

Executive Summary

Timeline

DateEvent
2003Microsoft introduces csvde.exe with Windows Server 2003 as part of AD DS tools
2016APT10/menuPass launches Operation Cloud Hopper; csvde.exe used for AD recon after MSP pivot
2017-04PwC UK publishes Cloud Hopper Technical Annex documenting APT10 csvde.exe usage
2024-04BlackBerry reports FIN7 targeting US automotive industry using csvde.exe with PowerShell scripts
2024-06MITRE ATT&CK T1087.002 formally documents csvde.exe usage by FIN7 and menuPass
2024-12CSVDE.exe recognized in the broader AD LOLBIN ecosystem alongside dsquery, ldifde, and nltest
OngoingCSVDE.exe abuse persists as a technique — no patch exists for a legitimate tool

Technical Analysis

CSVDE.exe resides in %windir%\system32 on Windows Server systems with the AD DS or AD LDS role installed. The utility performs direct LDAP queries against domain controllers and outputs results in comma-separated format. Unlike GUI tools such as Active Directory Users and Computers, CSVDE exposes every queryable LDAP attribute, including those not visible through standard administrative interfaces.

The tool's offensive value lies in its flags. The -f flag specifies the output file. The -r flag accepts LDAP filter syntax for targeted queries. The -l flag selects specific attributes. The -s flag targets remote domain controllers, and -p SubTree sets the full directory scope.

The Kerberoasting Precursor Chain

CSVDE.exe is particularly dangerous as a kerberoasting precursor. An attacker can enumerate all service accounts with registered SPNs using a targeted LDAP filter:

csvde -r "(servicePrincipalName=)" -l "sAMAccountName,servicePrincipalName,distinguishedName" -f spn_accounts.csv
This returns every account with an SPN — the exact target list needed for a kerberoasting attack (T1558.003). Living off the land. Hiding in plain sight. The attacker then requests Kerberos service tickets for those SPNs and cracks them offline to recover service account passwords. Domain Admins, SQL service accounts, and Exchange service accounts are common high-value targets. What caught our attention was the low barrier here: any domain-authenticated user can run this command. No elevated privileges required. The operator already has everything they need after the initial foothold.

Why CSVDE.exe Evades Detection

The tool's effectiveness as a LOLBIN stems from five properties:
  1. Microsoft-signed binary — Ships with Windows Server, signed by Microsoft. Default AV and EDR policies do not flag it.
  2. Legitimate administrative use — AD administrators use CSVDE for provisioning, migrations, and auditing. Distinguishing malicious from legitimate execution requires behavioral context.
  3. No external download — Already present on target systems. No need to transfer tools that might trigger network-based detections.
  4. Complete output — A single csvde -f output.csv command exports the entire directory.
  5. Parseable format — CSV output feeds directly into automated attack pipelines for target selection.

Attack Chain

  1. Initial Access — Spear-phishing (FIN7 automotive campaign), VPN compromise, or MSP pivot (APT10 Cloud Hopper)
  2. Credential Access — Stolen credentials or Kerberos ticket abuse provide domain-joined context
  3. Discoverycsvde.exe -f output.csv dumps the full AD structure; -r filters target specific object classes
  4. Data Staging — CSV output staged locally (T1074.001) for parsing and target selection
  5. Lateral Movement — Discovered accounts, groups, and trust relationships enable hopping boxes via SMB (T1021.002)
  6. Objective — Pulling data out (APT10), financial fraud (FIN7), or ransomware staging
LOLBAS Project — the community catalog of living-off-the-land binaries, scripts, and libraries abused by threat actors including CSVDE.exe for AD data export. LOLBAS Project — the community catalog of living-off-the-land binaries, scripts, and libraries abused by threat actors including CSVDE.exe for AD data export.

Threat Actor Profile

FIN7 (Carbanak / Carbon Spider / ELBRUS)

FIN7 is a financially motivated threat group active since at least 2013. In April 2024, BlackBerry documented a campaign targeting the US automotive industry where FIN7 used csvde.exe alongside 3CF9.ps1 PowerShell scripts and the WsTaskLoad executable for Active Directory enumeration. MITRE ATT&CK T1087.002 formally attributes csvde.exe usage to FIN7: "FIN7 has also used csvde.exe, which is a built-in Windows command line tool, to export Active Directory information."

FIN7 primarily targets the US retail, hospitality, financial, and automotive sectors. The group has historically used sophisticated spear-phishing with malicious documents, point-of-sale malware, and Carbanak/Cobalt Strike backdoors.

APT10 / menuPass (Stone Panda / Red Apollo / CVNX)

APT10 is a China-nexus espionage group responsible for Operation Cloud Hopper (2016-2017), a large-scale campaign targeting managed IT service providers (MSPs) globally. PwC UK's Cloud Hopper Technical Annex (April 2017) specifically documents APT10's use of csvde.exe for Active Directory data export after gaining access through compromised MSPs. The BAE Systems analysis confirmed the MSP supply-chain methodology.

APT10 used MSP access to pivot into customer networks across the pharmaceutical, engineering, automotive, and government sectors. A LOLBin-heavy approach — csvde.exe provided the AD reconnaissance foundation for identifying high-value targets within each compromised customer environment. From a detection engineering perspective, the Cloud Hopper intrusions showed that MSP-to-customer pivots make CSVDE execution even harder to spot: the tool runs on servers where AD administration is expected.

Detection

Catching CSVDE.exe abuse takes a layered approach: process creation monitoring, LDAP query volume analysis, and first-time execution anomaly detection. Legitimate use is rare. When we ran these queries against production data, the false positive rate was near zero — most AD admins have moved to PowerShell cmdlets or ADUC years ago.

Threadlinqs Intelligence tracks 9 production-ready detection rules for this threat across SPL, KQL, and Sigma.

Splunk SPL

Watch for csvde.exe process creation with the export flag (-f) — that flag means AD data is being staged to disk.

SPLindex= sourcetype IN ("xmlwineventlog", "WinEventLog:Sysmon/Operational")
  (EventCode=1 OR EventCode=4688)
  (process_name="csvde.exe" OR OriginalFileName="csvde.exe" OR CommandLine="csvde")
| eval has_export_flag=if(like(CommandLine, "%-f %"), "yes", "no")
| eval has_ldap_filter=if(like(CommandLine, "%-r %"), "yes", "no")
| eval has_remote_dc=if(like(CommandLine, "%-s %"), "yes", "no")
| stats count values(CommandLine) as commands values(ParentImage) as parent_process
  values(User) as users by dest, has_export_flag, has_ldap_filter, has_remote_dc
| where count > 0
The AD LOLBIN chain is noisy when you know what to look for. Two or more recon tools from the same host within an hour — csvde plus dsquery, nltest, or AdFind — is a strong signal of systematic reconnaissance.
SPLindex= sourcetype IN ("xmlwineventlog", "WinEventLog:Sysmon/Operational")
  EventCode=1
  (process_name IN ("csvde.exe","dsquery.exe","dsget.exe","ldifde.exe","nltest.exe","AdFind.exe"))
| bucket _time span=1h
| stats dc(process_name) as unique_tools values(process_name) as tools_used by dest, _time
| where unique_tools >= 2

Microsoft KQL

First-time csvde.exe execution on a host is a strong post-exploitation indicator. Most servers go their entire lifecycle without running this binary.
KQLlet baseline = DeviceProcessEvents
  | where Timestamp > ago(30d) and Timestamp < ago(1d)
  | where FileName =~ "csvde.exe"
  | distinct DeviceName;
DeviceProcessEvents
  | where Timestamp > ago(1d)
  | where FileName =~ "csvde.exe"
  | where DeviceName !in (baseline)
  | project Timestamp, DeviceName, ProcessCommandLine, AccountName,
    InitiatingProcessFileName, InitiatingProcessCommandLine
CSV file creation within five minutes of csvde.exe execution means AD data has been staged locally — the attacker is building a target list.
KQLlet csvde_exec = DeviceProcessEvents
  | where Timestamp > ago(7d)
  | where FileName =~ "csvde.exe"
  | project csvde_time = Timestamp, DeviceName;
DeviceFileEvents
  | where Timestamp > ago(7d)
  | where FileName endswith ".csv"
  | join kind=inner (csvde_exec) on DeviceName
  | where Timestamp between (csvde_time .. (csvde_time + 5m))
  | project Timestamp, DeviceName, FileName, FolderPath, FileSize

Sigma

Targeted LDAP export flags — -r with a filter, -l selecting specific attributes — separate deliberate AD extraction from casual usage. This Sigma rule keys on that distinction.
SIGMAtitle: CSVDE.exe Targeted AD Export with LDAP Filter
id: c7a3f1e2-9b45-4d8a-a6e1-3f2c8d7b9e04
status: experimental
description: |
  Detects csvde.exe execution with export and LDAP filter flags indicating
  targeted Active Directory data extraction. SPN enumeration via
  -r servicePrincipalName is a kerberoasting precursor. Used by FIN7 and
  APT10/menuPass for AD reconnaissance.
references:
    - https://intel.threadlinqs.com/#TL-2026-0113
    - https://attack.mitre.org/techniques/T1087/002/
    - https://blogs.blackberry.com/en/2024/04/fin7-targets-the-united-states-automotive-industry
author: Threadlinqs Intelligence
date: 2026/02/22
tags:
    - attack.discovery
    - attack.t1087.002
    - attack.credential_access
    - attack.t1558.003
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith: '\csvde.exe'
        - OriginalFileName: 'csvde.exe'
    selection_export:
        CommandLine|contains:
            - ' -f '
    selection_filter:
        CommandLine|contains:
            - ' -r '
            - ' -l '
            - ' -p '
            - ' -s '
    filter_import:
        CommandLine|contains: ' -i'
    condition: selection_img and selection_export and selection_filter and not filter_import
falsepositives:
    - Planned AD migration with specific LDAP filters
    - AD audit scripts using csvde for scheduled exports
level: high
Browse all 9 detection rules for this threat: View on Threadlinqs Intelligence
PwC and BAE Systems 'Operation Cloud Hopper' technical annex detailing APT10's systematic use of native Windows tools for Active Directory enumeration. PwC and BAE Systems 'Operation Cloud Hopper' technical annex detailing APT10's systematic use of native Windows tools for Active Directory enumeration.

Indicators of Compromise

CSVDE.exe is a legitimate Microsoft binary. There are no traditional network or file hash IOCs. Detection relies entirely on behavioral indicators.

Behavioral Indicators

IndicatorContext
csvde.exe process creationAny execution outside planned AD administration is suspicious
-f flag in command lineFile export — AD data being staged locally
-r (servicePrincipalName=)SPN enumeration — kerberoasting precursor
-r (objectClass=User)Bulk user account enumeration
-p SubTree scope flagFull directory scope — complete dump
-s flag with remote DCTargeting specific domain controller
Large CSV file creation after csvde.exeStaged AD data ready for exfiltration
Multiple AD LOLBINs within 1 hourcsvde + dsquery + nltest = systematic reconnaissance
csvde.exe from non-DC hostDomain controllers are expected sources; workstations are not
First-time csvde.exe on a hostAnomaly — most servers never execute this tool

LOLBIN Ecosystem Context

ToolBinaryTypical Abuse
CSVDEcsvde.exeBulk AD export to CSV (FIN7, APT10)
LDIFDEldifde.exeBulk AD export to LDIF format
DSQuerydsquery.exeTargeted LDAP queries (APT41, Ke3chang)
DSGetdsget.exeAD object attribute retrieval
NLTestnltest.exeDomain trust enumeration
AdFindAdFind.exeThird-party AD query (Ryuk, FIN6, BlackByte)

MITRE ATT&CK Mapping

TacticTechniqueIDContext
DiscoveryAccount Discovery: Domain AccountT1087.002Bulk user/group/computer enumeration via csvde.exe LDAP export
DiscoveryPermission Groups Discovery: Domain GroupsT1069.002Group membership extraction for privilege mapping
DiscoveryRemote System DiscoveryT1018Computer object enumeration from AD
DiscoveryDomain Trust DiscoveryT1482Trust relationship mapping across domains
DiscoverySystem Network Configuration DiscoveryT1016Network topology from AD site/subnet objects
DiscoverySystem Owner/User DiscoveryT1033Account ownership and attribution data
DiscoveryAccount Discovery: Local AccountT1087.001Local account enumeration on compromised hosts
Defense EvasionSystem Binary Proxy ExecutionT1218Microsoft-signed binary evades application controls
Defense EvasionMasquerading: Rename System UtilitiesT1036.003Renamed csvde.exe to evade filename-based detection
CollectionData from Information RepositoriesT1213AD as an information repository for bulk extraction
CollectionData Staged: Local Data StagingT1074.001CSV output staged locally before exfiltration
Credential AccessKerberoastingT1558.003SPN enumeration as kerberoasting precursor
Credential AccessAS-REP RoastingT1558.004User enumeration identifies accounts without pre-auth
Credential AccessPassword SprayingT1110.003Harvested usernames feed spray attacks
ExecutionWindows Command ShellT1059.003csvde.exe invoked via cmd.exe
ExfiltrationExfiltration Over C2 ChannelT1041Staged CSV exfiltrated over existing C2
Lateral MovementSMB/Windows Admin SharesT1021.002Discovered accounts enable targeted SMB pivoting
Full MITRE ATT&CK mapping: View coverage on Threadlinqs
TL-2026-0113 on Threadlinqs Intelligence — CSVDE.exe LOLBIN for Active Directory reconnaissance used by FIN7 and APT10 with 9/9 detection coverage and 24 shared IOCs. TL-2026-0113 on Threadlinqs Intelligence — CSVDE.exe LOLBIN for Active Directory reconnaissance used by FIN7 and APT10 with 9/9 detection coverage and 24 shared IOCs.

Recommendations

  1. Deploy process creation monitoring for csvde.exe — any execution with the -f flag should generate a HIGH alert in environments where AD administrators do not use this tool
  2. Implement application control via Windows Defender Application Control (WDAC) or AppLocker to restrict csvde.exe execution to authorized administrative accounts
  3. Enable LDAP query auditing on domain controllers (Event ID 1644) to detect bulk directory queries regardless of the tool used
  4. Establish a LOLBIN baseline for csvde.exe, dsquery.exe, dsget.exe, ldifde.exe, and nltest.exe — alert on first-time use or execution by non-administrative accounts
  5. Adopt tiered administration — Tier 0 (DC admin), Tier 1 (server admin), Tier 2 (workstation admin) — to limit the value an attacker gains from AD reconnaissance

References


Full threat intelligence, detection rules, and IOC feeds are available on Threadlinqs Intelligence. Track this threat: TL-2026-0113.