TheaterFire

Security Incident - 3CX Compromised with malware

Posted by LFphant@reddit | sysadmin | View on Reddit | 35 comments

Reply to Post

35 Comments

vppencilsharpening@reddit

It looks like Sentinel One and CrowdStrike both identified this right away. Does anyone know if Windows Defender for Endpoints or MalwareBytes did as well? Asking for a friend who's parent organization is pushing businesses from the former to the later.
View on Reddit #296238

d14n4@reddit

Under Threat Analytics for Microsoft 365 Defender, there is an Analyst Report on the 3CX Attack campaign.
View on Reddit #306064

CptChronotis@reddit

It should recognize the calls to the C2 but then it's too late... You should add the indicators to MDE to be sure
View on Reddit #303459

reliaquest_official@reddit

**What You Should Do** Mitigation actions: * You should disable automatic updates for 3CXDesktopApp. [More info on that here.](https://www.3cx.com/blog/news/desktopapp-security-alert/) * ReliaQuest customers should block the domains provided within the Threat Advisory issued within GreyMatter Intel. * 3CX [strongly recommends](https://www.3cx.com/community/threads/3cx-desktopapp-security-alert.119951/#post-558907) that customers use the PWA client in the interim, while the company works on an update to the desktop client. * Conduct retrospective hunts using current IOCs. The timeline on how far back to go will likely be determined from further information provided by 3CX, on the known incident timeline. * Contact key suppliers and ask them if they use the software, determine their level of risk posed by this incident, and what their plan is going forward. **Lazarus Group is known to target Financial Services, blockchain companies, and government defense entities, so organizations in these areas need to act with a sense of urgency in responding to this intrusion.** Will be sharing updates [here](https://www.reliaquest.com/blog/3cx-trojan-attack/).
View on Reddit #305143

JohnMaddenSysadmin@reddit

Should ffmpeg devs be concerned with this? If they used an exploit in ffmpeg does that mean anyone using their libraries could be affected? Or am I reading this wrong?
View on Reddit #300734

kushari@reddit

You’re reading it wrong probably. They probably just used the file name so it would seem legit.
View on Reddit #304715

reliaquest_official@reddit

From our Threat Research Team, follow for live updates: [https://www.reliaquest.com/blog/3cx-trojan-attack/](https://www.reliaquest.com/blog/3cx-trojan-attack/) ## What Happened? On March 29, 2023, security researchers reported malicious activity originating from a legitimate, signed version of the 3CX Desktop Client. The activity included beaconing to threat-actor–controlled infrastructure, second-stage payload deployment, and, in some instances, hands-on-keyboard activity. 3CX is an international voice over IP (VoIP) IPBX software developer. The 3CX Phone System can be deployed on Windows, Linux, or MacOS systems; as mobile versions for Android or iOS; as a Chrome extension; or as a Progressive Web App (PWA) browser-based version of the client. 3CX customers can use the 3CX Desktop Client to make calls, schedule video conferences, or send messages. The malicious activity has been attributed to the “[Lazarus Group](https://www.reliaquest.com/blog/five-years-after-the-wannacry-dumpster-fire-ransomware-remains-a-global-threat/?&),” a North Korean nation-state threat group. The group is reportedly using the trojanized 3CX Desktop Client in an ongoing supply-chain attack campaign dubbed SmoothOperator. A SmoothOperator attack begins when **a compromised version of the desktop client** is downloaded from 3CX’s website, or when an update is pushed to an existing desktop application. Next, the malware downloads icon files hosted on a dedicated GitHub repository; these files have Base64-encoded data appended at the end of the filename. The first icon within this repository was reportedly uploaded as early as December 7, 2022. The first-stage malware uses these Base64 encoded strings to download the second-stage payload—a previously unknown infostealer—onto compromised machines. The infostealer can harvest system information and exfiltrate data and stored credentials from several browsers, including Chrome, Microsoft Edge, and Mozilla Firefox. 3CX customers have allegedly reported that their security software flagged the 3CX Desktop Client as malicious after installing any of the following versions: * Windows version 18.12.407 * Windows version 18.12.416 * MacOS version 18.11.1213 The following Electron Mac App versions are also impacted: * 18.11.1213 * 18.12.402 * 18.12.407 * 18.12.416 **About Lazarus Group:** **Lazarus Group has primarily targeted the United States and South Korea, focusing on the financial services, government, and technology sectors. The group uses custom malware, including remote-access trojans, keyloggers, downloaders, and destructive wipers.** **The group pursues several objectives, including acquiring military and political intelligence, and causing disruption and destruction. The US Department of the Treasury’s Office of Foreign Assets Control sanctioned Lazarus Group in September 2019 for its “malicious cyber activity on critical infrastructure.”** ## What We Don’t Know On March 30, 2023, at 01:27 a.m. ET,  3CX CEO Nick Galea [confirmed on the company’s forum](https://www.3cx.com/community/threads/crowdstrike-endpoint-security-detection-re-3cx-desktop-app.119934/page-2#post-558898) that 3CX was compromised via a breached upstream library. In the same forum post, Galea advised users to uninstall the 3CX Desktop Client, promising that a new version will allegedly be available in the “next few hours.” [A further update has been provided by 3CX](https://www.3cx.com/blog/news/desktopapp-security-alert/). This does not specify how the attack started. There are no available patches or updates to correct the issue at this time. ## Why You Should Care The compromised application is now being actively used to target 3CX customers, although no victims have been publicly identified yet. 3CX has more than 600,000 customers globally, and more than 12 million users every day. The compromise of 3CXDesktopApp has the potential to escalate into a large-scale supply-chain attack. Previous supply-chain compromises have shown that such attacks cause significant and long-lasting operational disruptions and losses. ### 2020 SolarWinds Attack In 2020, advanced persistent threat actors [breached SolarWinds](https://www.reliaquest.com/wp-content/uploads/Threat-Advisory-Report-2020-12-13-SolarWinds-Compromise.pdf?), a software provider for IT monitoring tools, inserting malicious code into the company’s product. The perpetrators gained initial access when SolarWinds’ customers unsuspectingly downloaded installation packages; the code created a backdoor through which the attackers exfiltrated sensitive information. Up to 18,000 of SolarWinds’ customers downloaded the trojanized software update, including US government agencies, Microsoft, and Cisco. ## What You Should Do Mitigation actions: * You should disable automatic updates for 3CXDesktopApp. [More info on that here.](https://www.3cx.com/blog/news/desktopapp-security-alert/) * ReliaQuest customers should block the domains provided within the Threat Advisory issued within GreyMatter Intel. * 3CX [strongly recommends](https://www.3cx.com/community/threads/3cx-desktopapp-security-alert.119951/#post-558907) that customers use the PWA client in the interim, while the company works on an update to the desktop client. * Conduct retrospective hunts using current IOCs. The timeline on how far back to go will likely be determined from further information provided by 3CX, on the known incident timeline. * Contact key suppliers and ask them if they use the software, determine their level of risk posed by this incident, and what their plan is going forward. Lazarus Group is known to target Financial Services, blockchain companies, and government defense entities, so organizations in these areas need to act with a sense of urgency in responding to this intrusion.
View on Reddit #301620

reliaquest_official@reddit

Some additional and developing info from our Threat Research Team. [https://www.reliaquest.com/blog/3cx-trojan-attack/](https://www.reliaquest.com/blog/3cx-trojan-attack/)
View on Reddit #300270

melatone1n@reddit

For those using Microsoft tools, here is a KQL query to detect beaconing domains: ``` let IOC = dynamic(\["[akamaicontainer.com](https://akamaicontainer.com)","[akamaitechcloudservices.com](https://akamaitechcloudservices.com)","[azuredeploystore.com](https://azuredeploystore.com)","[azureonlinecloud.com](https://azureonlinecloud.com)","[azureonlinestorage.com](https://azureonlinestorage.com)","[dunamistrd.com](https://dunamistrd.com)","[glcloudservice.com](https://glcloudservice.com)","[journalide.org](https://journalide.org)","[msedgepackageinfo.com](https://msedgepackageinfo.com)","[msstorageazure.com](https://msstorageazure.com)","[msstorageboxes.com](https://msstorageboxes.com)","[officeaddons.com](https://officeaddons.com)","[officestoragebox.com](https://officestoragebox.com)","[pbxcloudeservices.com](https://pbxcloudeservices.com)","[pbxphonenetwork.com](https://pbxphonenetwork.com)","[pbxsources.com](https://pbxsources.com)","[qwepoi123098.com](https://qwepoi123098.com)","[sbmsa.wiki](https://sbmsa.wiki)","[sourceslabs.com](https://sourceslabs.com)", "[visualstudiofactory.com](https://visualstudiofactory.com)","[zacharryblogs.com](https://zacharryblogs.com)"\]); DnsEvents | where Name in (IOC) ```
View on Reddit #297353

MiniMica202020@reddit

>let IOC = dynamic(\["akamaicontainer.com","akamaitechcloudservices.com","azuredeploystore.com","azureonlinecloud.com","azureonlinestorage.com","dunamistrd.com","glcloudservice.com","journalide.org","msedgepackageinfo.com","msstorageazure.com","msstorageboxes.com","officeaddons.com","officestoragebox.com","pbxcloudeservices.com","pbxphonenetwork.com","pbxsources.com","qwepoi123098.com","sbmsa.wiki","sourceslabs.com", "visualstudiofactory.com","zacharryblogs.com"\]); DnsEvents | where Name in\~ (IOC) Is this for Defender ATP hunting? If so, it doesn't seem to work for me, getting Semantic error
View on Reddit #298315

melatone1n@reddit

No, that is for Sentinel. ATP does not have a DNS Events table. This should work: ``` let IOC = dynamic(["akamaicontainer.com","akamaitechcloudservices.com","azuredeploystore.com","azureonlinecloud.com","azureonlinestorage.com","dunamistrd.com","glcloudservice.com","journalide.org","msedgepackageinfo.com","msstorageazure.com","msstorageboxes.com","officeaddons.com","officestoragebox.com","pbxcloudeservices.com","pbxphonenetwork.com","pbxsources.com","qwepoi123098.com","sbmsa.wiki","sourceslabs.com", "visualstudiofactory.com","zacharryblogs.com"]); DeviceNetworkEvents | where RemoteUrl in~ (IOC) ``` Note that ATP may not receive the URL, DNS logs are much better for hunting. I have updated by Github with this: https://github.com/melatonein5/3CXBeacoingKQLQuery/blob/main/README.md
View on Reddit #299282

damoesp@reddit

Yep, this is bad. I’m glad I actually don’t have my onprem 3CX install set to auto update, as we’re on an older version from before the supply chain attack started. Have still removed the 3CX desktop app from all endpoints and haven’t seen any IOC yet, so looks like for once my laziness may have saved our bacon….
View on Reddit #282231

bacon_sandwich95@reddit

Same here lol
View on Reddit #298900

melatone1n@reddit

For those using Microsoft tools, here is a KQL query to detect beaconing domains: ``` let IOC = dynamic(\["[akamaicontainer.com](https://akamaicontainer.com)","[akamaitechcloudservices.com](https://akamaitechcloudservices.com)","[azuredeploystore.com](https://azuredeploystore.com)","[azureonlinecloud.com](https://azureonlinecloud.com)","[azureonlinestorage.com](https://azureonlinestorage.com)","[dunamistrd.com](https://dunamistrd.com)","[glcloudservice.com](https://glcloudservice.com)","[journalide.org](https://journalide.org)","[msedgepackageinfo.com](https://msedgepackageinfo.com)","[msstorageazure.com](https://msstorageazure.com)","[msstorageboxes.com](https://msstorageboxes.com)","[officeaddons.com](https://officeaddons.com)","[officestoragebox.com](https://officestoragebox.com)","[pbxcloudeservices.com](https://pbxcloudeservices.com)","[pbxphonenetwork.com](https://pbxphonenetwork.com)","[pbxsources.com](https://pbxsources.com)","[qwepoi123098.com](https://qwepoi123098.com)","[sbmsa.wiki](https://sbmsa.wiki)","[sourceslabs.com](https://sourceslabs.com)", "[visualstudiofactory.com](https://visualstudiofactory.com)","[zacharryblogs.com](https://zacharryblogs.com)"\]); DnsEvents | where Name in (IOC) ```
View on Reddit #297356

mitchy93@reddit

Sounds more like a supply chain attack, similar to solarwinds. I wouldn't be surprised if the website admin password was 3CX123
View on Reddit #278208

vppencilsharpening@reddit

Could have been related to information disclosed in the LastPass incident.
View on Reddit #296178

1creeperbomb@reddit

inb4 3CX spends all their incident response budget on cyber seminars and unsolicited telemarketing
View on Reddit #285423

mitchy93@reddit

And sponsoring distrowatch
View on Reddit #285716

mdneilson@reddit

Hunter2
View on Reddit #279628

TrueStoriesIpromise@reddit

>\*\*\*\*\*\*\* \*\*\*\*\*\*\* isn't a very secure password, it's all the same character.
View on Reddit #281226

scoldog@reddit

But it's an easy password for my dunking bird to enter.
View on Reddit #285051

HashtagSecurity@reddit

Looks like it, latest info as of about an hour ago is its suspected to be Lazurus Group behind it which is the North Koren Government group that did WannaCry and the Sony hack. The executable was signed on March 4th too so they were in there longer then last week with 3CX apparently having no idea based on their current responses.
View on Reddit #282910

mitchy93@reddit

They looked like they were going to snipe login session tokens it looks like as one of the payloads interrogated web browser profiles and sent that info in plain text back to the C2. Possibly to exfiltrate the tokens at a later date
View on Reddit #285012

Reasonable-You-3595@reddit

Would have been nice if 3CX were to, uhm, let their customers know directly. Incredibly disappointed to hear the first word of this on Reddie.
View on Reddit #295878

Freel33@reddit

l hpip9😘😘🇮🇲🇮🇲🇮🇲787 90a
View on Reddit #295362

HellStorm666@reddit

Is there a quick command that I can push to our Windows systems that forces a uninstall? EMCO can't find the 3CX desktop App, thun can't remove it.
View on Reddit #293027

scara1701@reddit

Is it installed within the user context? I deployed a powershell script that kills the process. Afterwards it removes the folders from appdata. The application itself was blocked on our environment by a policy set in in our FortiERD.
View on Reddit #294820

frobnox@reddit

Well this is going to hurt.
View on Reddit #291534

Remote_Process8745@reddit

hahahaha, 3CX shit on themselves again, that's ok
View on Reddit #286752

HashtagSecurity@reddit

3CX were also notified of this last week but didn't take it seriously basically despite being told by multiple top tier APT vendors they acted like it was Norton saying it and told people asking about it it was a false positive and to contact their AV vendors to report it as such which I guess is why Crowdstrike showed all their work and other big names like Huntress came in and went "Yup, you guys are compromised" As of about an hour ago their support is at least saying "We are aware and we will provide an update when we can"
View on Reddit #277249

xxbiohazrdxx@reddit

How long until their CEO starts coming in here and threatening to terminate everyones contracts/services
View on Reddit #284524

r5a@reddit

Yikes. That’s really bad of them, hubris is a bitch. Hope they learn their lesson from this.
View on Reddit #281509

Maleficent-Garage395@reddit

I've seen it today also, at more than one location.
View on Reddit #278448

BifronsOnline@reddit

> From what we have seen two vectors: > > Downloading the .msi installer from the official website - gives you a malicious copy. > > v18 clients that update - this also brings down a malicious copy. 💀💀💀💀
View on Reddit #274681

JzJad12@reddit

I forgot to mention this when I started my shift today, but it's made for a busy day lol, seen alot of people over on 3cx community allow list it saying it was fp, chain supply attacks are a thing.
View on Reddit #273555