wword.exe— Malware Analysis Report (Part 2)

Andrew Petrus
6 min readMar 24, 2024

--

In Part 1 of this post, I analyzed a suspicious word document named “China Navy First Training 2024(CN).docx” and extracted base64-encoded data that was planted in a presentation slide. I then converted it back to an executable format, and now we have a file named ‘wword.exe’.
Let’s examine this executable and try to get an idea of what it does.

Malware Overview

This malware is known by a few different names, according to VirusTotal.

wword.exe
download.exe
MWPAK
6e4a4d25c2e8f5bacc7e0f1c8b538b8ad61571266f271cfdfc14725b3be02613.exe
6e4a4d25c2e8f5bacc7e0f1c8b538b8ad61571266f271cfdfc14725b3be02613.exe.vir

VirusTotal states this malware has capabilities such as detecting debugging environments, long sleeps, calling WMI queries, etc.

File type

The malware is a Windows 64-bit PE.

andrew@ubuntu-desktop:~/Downloads/samples$ file wword.exe 
wword.exe: PE32+ executable (console) x86-64, for MS Windows

PEStudio

Opening the executable in PEStudio, we see some interesting information.

Compiler-stamp: Mon Jan 08 08:17:02 2024 | UTC
Architecture:
64-bit
SHA256:
6E4A4D25C2E8F5BACC7E0F1C8B538B8AD61571266F271CFDFC14725B3BE02613
Imphash:
e38fdd24a557560b44064de789e643b1
Debug file:
C:\Users\user\Documents\Project-M\Visual Studio\MW-PAK\x64\Release\MW-PAK.pdb

Having a look at the sections, mainly the raw-size versus virtual-size, there seem to be no indications of a packed executable. Detect It Easy has not detected any packers.

Strings

The total number of strings reported by PEStudio is 3948, too much to look at without some help.
A lot of the strings look like junk, so for this task, I employed FLOSS, and here are the useful strings that were extracted.

As we can see below, FLOSS successfully extracted a URL for us.
We also discover the executables capability to load other libraries at runtime using ‘LdrLoadDll’.
We can also see other libraries below that weren’t listed in PEStudio, such as ‘ntdll.dll’ and ‘Wininet.dll’.
We also see the use of the VirtualProtect function confirming the capability to modify memory protection, most likely for process injection.

───────────────────── 
FLOSS TIGHT STRINGS
─────────────────────

syncscheduler[.]com
/r3diRecT/redirector/proxy.php
LdrLoadDll
ntdll.dll
Wininet.dll
InternetOpenA
InternetConnectA
HttpOpenRequestA
HttpAddRequestHeadersA
Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.521.0 Safari/534.8
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.472.53 Safari/534.3
HttpSendRequestW
InternetReadFile
InternetCloseHandle
InternetSetOptionA
VirtualProtect

I also wanted to include the following WMI query that I found as a string. This query is known to be used for the purpose of detecting if the executable is being run inside a VM (see T1047).

SELECT * FROM Win32_ComputerSystemProduct

Outputs the following in a VirtualBox VM:
IdentifyingNumber : 0
Name : VirtualBox
Vendor : innotek GmbH
Version : 1.2
Caption : Computer System Product

Libraries

PEStudio lists 16 total libraries imported.

Capa

Capa confirms anti-static analysis capability. Having a closer look, I found the ‘IsDebuggerPresent’ API being used.

Capa also confirms the malware’s ability to execute shellcode via indirect call and read and write files, among other things.

Debug

In PEStudio, this executable displays some information in the debug tab. These could possibly be used as an IOC, as the debug file name appears to be unique.

SHA256: 7F76FA26DF36307D40EF926839B37C2BEA6A92B8DBB8B8BA2CC389B41627E45C
File: C:\Users\user\Documents\Project-M\Visual Studio\MW-PAK\x64\Release\MW-PAK.pdb

VirusTotal

VirusTotal shows us 18 detections. In the community tab, we can see that someone else has confirmed that this file is also named wword.exe. And we can see a couple sandboxes flagging this file as malicious.

Dynamic Analysis

Online Sandboxes

I decided to run this sample through two sandbox providers as I wasn’t getting the full picture.

Both sandboxes reported the file as malicious, but neither of them listed any network activity, which was strange because we extracted a URL in our static analysis, and we have proven that this executable has the capability to open new internet connections as it loads Wininet.dll dynamically during runtime.

Manual Blackboxing

I decided I’d try blackboxing the malware in my malware analysis lab.
While running Procmon and Wireshark, I executed the malware and monitored the output.

Wireshark

The first thing I discovered was a POST request to the URL we found earlier.

The POST request contained two form items.

Form Item: "uD" = "80F87EF3-97F4-49B3-B689-4AE1DB3F4DA1"
Form Item:
"xifangtaiyang" = ""
  • The first form item is ‘uD’ and is equal to a GUID inside the HardwareConfig key within the registry of my malware analysis box. This key contains information such as the make, model, and BIOS of the PC.
  • The second form item only shows the key and has nothing set to the value. The key is ‘xifangtaiyang’ which translates to ‘western sun’ in Chinese.

As per the Wireshark screenshot, the server returned a 200 status, but this is because I had FakeNet set up. I wanted to see what would happen if I actually sent this exact POST request to the website.

After sending the POST request, I received a 200 status again and nothing else. To be honest, I was expecting some sort of payload in the response, but maybe this isn’t part of the C2’s function, or maybe I did something wrong.

If you visit hxxp[://]syncscheduler[.]com/r3diRecT/redirector/proxy.php in your browser (please be safe), you will be redirected to the China Government homepage.

Procmon

After seeing what the malware was doing in Procmon, I think I’ve drawn a conclusion about the type of malware we’re dealing with here.

Most of the activity of this malware involves querying, opening, and then closing either registry keys or directories.

I also noticed that the malware dropped the text file ‘index.txt’ in the directory ‘AppData\Roaming’. This text file is empty.

You can see our 3-way handshake with the C2 at the top of the screenshot, followed by a bunch of QueryDirectory operations. It seems like the malware is looking through all the directories in common folders such as onedrive, downloads, desktop, documents, etc.

Once the malware finishes reading through the directories, it closes the network connection with the C2 and issues a thread exit and process exit.
I wanted to note that the malware still remains running in Procexp and had to be manually closed.

IOCs

URL/IP

hxxp[://]syncscheduler[.]com/r3diRecT/redirector/proxy.php
146.70.80[.]58
146.70.157[.]120
Files

C:\Users\*USER*\AppData\Roaming\index.txt
C:\Users\user\Documents\Project-M\Visual Studio\MW-PAK\x64\Release\MW-PAK.pdb
Hashes

SHA256: 6e4a4d25c2e8f5bacc7e0f1c8b538b8ad61571266f271cfdfc14725b3be02613
Imphash: e38fdd24a557560b44064de789e643b1
SSDEEP: 3072:qzpAwgKHghdPfnirlU38P7TLQN5W3XkTWMydTKt09/2RcJbbqkoHGT9EaRPVfiso:mpHghdPm28P7INoI099vvTeUBAj
Registry keys

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\bam\State\UserSettings\S-1-5-21-1713707619-2082378315-3023862978-1001\\Device\HarddiskVolume2\Users\*USER*\Desktop\wword.exe
Possible IPS/IDS IOCs

User Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.521.0 Safari/534.8
User Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.472.53 Safari/534.3
Form Item: key: 'uD' & value: '*LastConfig GUID*'
Form Item: key: 'xifangtaiyang' & value: ''

Conclusion

Judging from all the information we’ve gathered so far, I believe we are dealing with some sort of information or file stealer. Feel free to reach out to me on Twitter (@AndrewPetrus) for any questions or comments.

--

--