Cloud Security Office Hours Banner

MOVEit / Cl0p 2023

Step-by-step kill chain mapped to MITRE ATT&CK Cloud, sourced from official post-mortems and primary technical analyses.

May-June 2023 Critical Managed File Transfer

MOVEit Transfer / Cl0p - SQL Injection Zero-Day → LEMURLOOT Web Shell → Mass Data Theft in Days → 2,600+ Organizations Extorted

CVE-2023-34362, a SQL injection flaw in Progress Software's MOVEit Transfer, gave unauthenticated attackers access to the underlying database of an application whose entire purpose is moving sensitive files between organizations. Cl0p exploited it as a zero-day. Fastly observed the earliest injection attempts on May 9, 2023 and Mandiant saw exploitation from May 27; Progress warned customers on May 31 and the CVE was assigned June 2. Microsoft attributed the campaign to Lace Tempest, a Cl0p affiliate, on June 5. The actors deployed a web shell called LEMURLOOT to enumerate and steal database contents. Reporting places the eventual toll around 2,600 organizations and 77 million people, reached through a campaign that was, in Mandiant's framing, measured in days rather than months. This is the template that Oracle EBS repeated two years later, and the one before it was Accellion and GoAnywhere: find one unauthenticated flaw in software that aggregates other people's data, harvest quietly at scale, then extort everyone at once.

~2,600 organizations and 77M+ people, from one flaw
Days, not months - the harvest was fast and broad
Unauthenticated - no credential, no phishing, no insider
Third time: Accellion, GoAnywhere, then MOVEit - same playbook
📄 CISA AA23-158A - #StopRansomware: Cl0p exploits CVE-2023-34362 ↗ 📄 Mandiant - Zero-day exploitation of MOVEit Transfer ↗
🎯 Targeting - Software That Aggregates Everyone Else's Data
01
Managed file transfer software is chosen deliberately: it is internet-facing by design, and it holds precisely the files organizations considered too sensitive for email
T1594 - Search Victim-Owned Websites

Cl0p's target selection across Accellion FTA, GoAnywhere MFT and now MOVEit is not coincidence, it is a strategy. Managed file transfer products must be reachable from the internet so partners can upload to them. They are deployed at organizations that handle regulated data, because that is why you buy one instead of using email. And they hold that data in bulk, concentrated in one database, often for far longer than anyone intended because retention was never configured. One unauthenticated flaw in such a product therefore yields regulated data from hundreds of organizations without any of the per-victim effort a normal campaign requires - and the victims include entities that never bought MOVEit at all, because their payroll provider or insurer did.

Why MFT software: Internet-facing by design, holds regulated data, concentrated in one database
Cl0p's prior targets: Accellion FTA (2021), GoAnywhere MFT (2023)
Effort per victim: Near zero once the flaw is found
Indirect victims: Organizations whose payroll, benefits or insurance provider ran it
Aggravating factor: Retention rarely configured, so old files were still present
Cl0pMFT TargetingData AggregationT1594
Initial Access - Unauthenticated SQL Injection
02
CVE-2023-34362 let an unauthenticated attacker inject SQL into MOVEit Transfer's web application and reach the underlying database directly
T1190 - Exploit Public-Facing Application

SQL injection in 2023, in a product built to custody sensitive files, is worth pausing on. The class has been the top of the OWASP list for most of two decades and is entirely preventable with parameterized queries. Here it was reachable without authentication, which removes every compensating control that depends on knowing who is asking, and it led to the database rather than merely to the application. Subsequent related flaws - CVE-2023-35036 and CVE-2023-35708 - were found and patched over the following weeks, which is the usual pattern once researchers start looking hard at a codebase that has just been shown to have one.

CVE: CVE-2023-34362, SQL injection in MOVEit Transfer's web application
Authentication required: None
Reached: The underlying database, not just application functions
Follow-on flaws: CVE-2023-35036 and CVE-2023-35708 in the following weeks
Preventable by: Parameterized queries - the oldest advice in application security
CVE-2023-34362SQL InjectionUnauthenticatedT1190
🐚 Persistence - The LEMURLOOT Web Shell
03
Attackers installed a web shell tracked as LEMURLOOT, disguised as a legitimate MOVEit component, giving durable access to enumerate and extract database contents
T1505.003 - Server Software Component: Web Shell T1036.005 - Match Legitimate Name or Location

The web shell was written into the application's own directory structure with a name chosen to blend in with genuine MOVEit files, which is why casual inspection of the server did not reveal it. It provided the operators with the ability to enumerate the database, retrieve file listings and contents, and manage stolen data - effectively a purpose-built administrative console for theft, sitting inside the application. Importantly, it survived the initial patch for anyone who applied the fix without hunting for existing compromise, which is the recurring lesson of every mass-exploitation event: patching closes the door but does not evict whoever already walked through it.

Implant: LEMURLOOT web shell, named to resemble legitimate MOVEit components
Capability: Database enumeration, file listing and retrieval, stolen-data management
Location: Within the application's own directory structure
Critical point: Patching does not remove an implant already installed
Required action: Hunt for the web shell independently of applying the fix
LEMURLOOTWeb ShellMasqueradingT1505.003
📤 Exfiltration - Days, Not Months
04
Cl0p compromised over a thousand organizations in a campaign measured in days, harvesting first and announcing later
T1213 - Data from Information Repositories

The tempo is the operational lesson. Because exploitation was automated and required no per-target work, the actors moved through the exposed population faster than defenders could patch - Palo Alto's Xpanse counted around 2,674 MOVEit servers exposing HTTP or HTTPS at the time, and the harvest was largely complete before most organizations had finished reading the advisory. This is the same argument the site makes in its pattern on machine-speed chains, arriving two years before the AI-assisted cases: when exploitation is scripted against an internet-wide population, "patch promptly" is competing against a process that does not sleep, and the only controls that help are the ones already in place.

Exposed population: ~2,674 MOVEit servers reachable over HTTP/HTTPS
Campaign duration: Days, per Mandiant's assessment
Sequence: Harvest quietly first, extort publicly later
Defender problem: The harvest outran the patch cycle across the whole population
Consequence: Only pre-existing controls mattered
Mass ExploitationAutomatedTempoT1213
💰 Impact - Extortion Without Encryption, and a Very Long Tail
05
Around 2,600 organizations and 77 million people were affected, disclosed over many months as downstream victims discovered their data had been held by someone else's MOVEit server
T1657 - Financial Theft

Nothing was encrypted. Cl0p named victims on a leak site and demanded payment to avoid publication, which is the model the group has run since Accellion. The disclosure tail ran for well over a year, and its shape is the part worth internalizing: many affected organizations had never heard of MOVEit, because the server belonged to their payroll processor, their benefits administrator, their pension provider or a state agency. Victims included government departments, universities, banks and health systems, most of them at second or third hand. If you cannot enumerate which of your suppliers hold your data and what software they run it on, you cannot answer whether an event like this affects you - and in 2023 almost nobody could.

Scale: ~2,600 organizations, 77M+ individuals (CSO Online tally)
Method: Data theft and leak-site extortion; no encryption
Disclosure tail: Well over a year as downstream victims were identified
Typical victim: An organization whose payroll or benefits provider ran MOVEit
The unanswerable question: Which of my suppliers hold my data, on what software?
Leak SiteNo EncryptionFourth PartyT1657

🛡 How to Defend Against This Chain

Take managed file transfer off the open internet, or put it behind authentication you control. Every Cl0p campaign has targeted a product that must be reachable to function. Front MFT with a VPN or identity-aware proxy for internal users, restrict partner access to known source ranges where possible, and treat any remaining public exposure as a documented exception with compensating monitoring. This is the only control that worked before a patch existed.
Delete the files. Retention is a security control here. The damage was proportional to how much historical data sat in those databases, and in most cases far more was present than anyone intended. Configure aggressive automatic deletion on transfer systems - files should live days, not years - and audit what is actually stored rather than what policy says should be.
Hunt for the implant separately from applying the patch. LEMURLOOT persisted through patching for anyone who did not look. When a mass-exploitation advisory lands, treat it as two tasks: close the vulnerability, and assume compromise back to the earliest known exploitation date, then hunt specifically for the published indicators. CISA's advisory carried them.
Know which suppliers hold your data and on what platform. Most victims were downstream. Maintain an inventory mapping each vendor to the categories of your data they hold, and include the question "what file transfer platform do you use" in vendor assessments, because that is the specific question that would have made this answerable in a day rather than a year.
Filter egress from application servers so a web shell cannot ship data out. A file transfer server has an extremely predictable network profile. Default-deny outbound with a narrow allow-list, and alert on sustained transfers to unfamiliar destinations - the only signal available when the credential, the application and the query are all legitimate.
Rehearse the "our vendor was breached and our data is on a leak site" scenario. The extortion is public, fast, and aimed at your customers as much as you. Decide in advance who validates the claim, who notifies, when regulatory clocks start, and what your position on payment is - the same preparation the Oracle EBS chain would demand of a different set of victims two years later.

Related defense topics