Threat Intelligence
EnkiWhiteHat
2025. 3. 12.
Executive Summary
Analysis of LNK files, a common initial access vector, obtained via VirusTotal hunting, revealed a connection to the DPRK-nexus threat actor Konni.
The threat actor leverages command-and-control (C&C) servers, but also abuses Dropbox and Google Drive for malware distribution.
The final payload is AsyncRAT, and unlike previous Konni-associated AsyncRAT variants that hardcoded C&C server configuration(ip:port), now receives it via command-line arguments.
The identified C&C server has been part of the actor's attack infrastructure since 2024.
1. Overview
During the analysis of LNK files collected through VirusTotal hunting, we confirmed connections to the DPRK-nexus threat actor Konni in some samples. Konni employs tactics similar to Kimsuky, and numerous overlaps between them have been observed across various campaigns.
The analyzed malware, in addition to C&C servers, distributes subsequent malware stages by abusing legitimate cloud services like Dropbox and Google Drive, where a key characteristic is that each stage is obfuscated. Notably, by leveraging LNK file metadata and VirusTotal upload names, we were able to acquire additional malware samples, leading to the discovery of another C&C server.
This newly identified C&C server was previously observed in Korean-language email phishing campaigns that we have been continuously monitoring. This finding provides a crucial link, further clarifying the connection between this actor's activities and previously detected threats.

caption - Acquired malware and corresponding infrastructure
2. Malware Analysis
2.1 Infection Chain Overview

caption - Infection chain overview
2.2. Analysis of 20250211_03837.docx.lnk
The command executed by the LNK file is obfuscated through string splitting and concatenation. Its primary function is to write an embedded PowerShell script to %programdata%\d.ps1
and subsequently execute it. An unused file, %programdata%\b21111
, containing the data "0" is also created.

caption - Command information as reported by LECmd
2.3. Analysis of d.ps1
The PowerShell script is located at the end of the LNK file, at an offset that does not affect the LNK file structure. Variables within the PowerShell script are Base64 encoded, and string slicing is employed for obfuscation.

caption - Obfuscated d.ps1
script
The core execution occurs with the last line & $opemcb5 $km02;
, where the $opemcb5
function is called with a base64 encoded array ($km02
) as an argument, which is decoded sequentially, then executed via Invoke-Expression
. A deobfuscated version of the $opemcb5
function is shown in the figure below.

The code executed via Invoke-Expression
performs the following actions sequentially:
Deletes the
d.ps1
file.Downloads and executes a subsequent malware stage from Dropbox.
Creates a PowerShell Runspace Pool for asynchronous execution.
Communicates with a C&C server to download and execute another malware stage.
The malware downloaded from Dropbox is compressed within an archive and consists of JavaScript and PowerShell scripts. The JavaScript malware achieves persistence by registering a scheduled task and an autorun registry key, and the PowerShell malware is executed via `Invoke-Expression`.
Scheduled Task Information:
Scheduled Task Name:
AGMicrosoftEdgeUpdateExpanding[7923498737]
Scheduled Task Action:
"wscript /e:javascript /b C:\ProgramData\83972.tmp"
(executes every 2 minutes)
Autorun Registry Information:
Autorun Registry Key:
HKCU\Software\Microsoft\Windows\CurrentVersion\Run\GUpdate2
Autorun Registry Value:
C:\Windows\System32\wscript.exe /b /e:javascript C:\ProgramData\83972.tmp

caption - Dropbox connection and persistence mechanism
Further analysis of the C&C server communication was not possible as the port was closed, however the method is very similar to how malware is downloaded and executed from Dropbox. This suggests the actor uses Dropbox and the C&C server in parallel for malicious activities. It first connects to 206.206.127[.]152:7628
to download a compressed file, then registers a scheduled task and an autorun registry key.
Scheduled Task Information (C&C):
Scheduled Task Name:
AMicrosoftEdgeUpdateExpanding[3829710973]
Scheduled Task Action::
"wscript /e:javascript /b C:\ProgramData\38243.tmp"
(executes every 2 minutes)
Autorun Registry Information (C&C):
Autorun Registry Key:
HKCU\Software\Microsoft\Windows\CurrentVersion\Run\SUpdate
Autorun Registry Value:
C:\windows\system32\wscript.exe /b /e:javascript C:\ProgramData\N9371.js

caption - C&C server connection and persistence mechanism
Afterwards, it connects to 206.206.127[.]152:7032
to download an additional file and executes it using PowerShell.

caption - PowerShell script download and execution code
2.4. Analysis of 83972.tmp
83972.tmp
, downloaded from Dropbox, is a JavaScript malware that executes %ProgramData%\G3892.tmp
. The command is obfuscated and is stored in the format [number]X[obfuscated data]
. In this format, the leading number is a value used to check if deobfuscation is complete, and "X"
acts as a delimiter between the number and the obfuscated data. The deobfuscation process is as follows:
Parse the obfuscated data, excluding the number and
"X"
.Move the first 2 bytes of the obfuscated data to the end.
e.g.,
abcdef
→cdefab
Swap the first and last bytes.
e.g.,
cdefab
→bdefac
Reconstruct the
[number]X[obfuscated data]
format.Move the last element of the array to the first position.
After this, it multiplies the number
s in the 4th and 9th elements, divides the result by 5, and compares this value with the second argument to verify if deobfuscation is complete.

caption - Deobfuscation process
Once deobfuscation is complete, the array elements are combined and executed via eval
. The command executed by eval
is shown below.
2.5. Analysis of G3892.tmp
G3892.tmp
is a PowerShell-based malware, and similarly to the previous stage, values are base64 encoded, obfuscated using string slicing. It also executes code via Invoke-Expression
.

caption - Obfuscated G3892.tmp
The code executed via Invoke-Expression
uses the Google Drive API to create an infection log on the attacker's Google Drive and then downloads and executes additional malware. First, authenticates using OAuth 2.0 to obtain an access token for the attacker's Google Drive, and all necessary information for this process is hardcoded.

caption - Access token retrieval code
The infection log is uploaded to Google Drive with the filename [$objName]__[YYYY_MM_DD_HH_MM_SS]_Result_log.txt
, containing timestamp information. The attacker's Google Drive directory and a file's contents are shown in the figure below.

caption - List of files present in the attacker's Google Drive
Once the infection log is uploaded, the script searches for specific files on the attacker's Google Drive to download and execute. The search criteria are:
Filename must contain the value of
$objName
.Filename and file content must not contain the string
"result"
.The item must be a file (not a folder).
If a matching file is found, it is downloaded and then deleted from Google Drive. The file is downloaded to %ProgramData%\tmps4.ps1
and executed via PowerShell. The process of executing the file with PowerShell is identical to how files downloaded from the C&C server are executed. Furthermore, the practice of downloading a file and then deleting it from Google Drive suggests the attacker may have automated the upload of additional files on the creation of an infection log.

caption - Malware download and execution code
2.6. Analysis of tmps4.ps1
In tmps4.ps1
values are base64 encoded, and during execution, decoded and executed via Invoke-Expression
. The executed code downloads and executes a file from Google Drive.
Within this code, the Mocndis
function either downloads a file from a given URL or reads a file from a local path, performs specific processing, and then executes it in memory.

caption - the Mocndis
function's Gzip decompression code
Before executing the file, the 10th byte of the downloaded file is modified to 0x1f
. Then, the file is Gzip decompressed and executed in memory, invoking its start
method. The C&C IP address and port are passed as arguments.

caption - the Mocndis
function's malware execution code and the arguments passed to Mocndis
After information about the LNK file was shared on Twitter, and three hours after the sample was first uploaded to VirusTotal, when we attempted to access the file on Google Drive, it was unavailable for download, preventing further analysis. However, on the next day, the file could be downloaded normally. This suggests that the attacker very likely monitors the malware's exposure and temporarily removed the file to evade the attention of security researchers, feigning a halt in the attack.
The file downloaded from Google Drive is an AsyncRAT variant. Information about the file, as returned by the Google Drive API, is detailed below.
2.7. AsyncRAT
Our analysis showed that this AsyncRAT variant has capabilities identical to the AsyncRAT mentioned in GSC's "코니(Konni) 위협 세계관의 확장 분석 리포트" ("Expanded Analysis of Konni Threat Universe") report. However, while the AsyncRAT previously used by Konni had its C&C server endpoint (IP and port) hardcoded, this AsyncRAT variant receives the same information as arguments.

caption - C&C information parser function
Comparison with the open-source AsyncRAT source code revealed that the attacker modified some method and class names. The test_ptk
class has the same structure as the MsgPack
class, and we found the makebytearray
method to be functionally identical to the Encode2Bytes
.

caption - (Left) AsyncRAT variant test_pkt
class (Right) Open-source AsyncRAT MsgPack
class

caption - (Left) AsyncRAT variant makebytearray
method (Right) Open-source AsyncRAT Encode2Bytes
method
Upon successful communication with the C&C server, it serializes "Packet: ClientInfo "
into MsgPack
format, compresses it, and sends it to the server. Subsequent actions performed based on data received from the server are as follows:
caption - Command codes and their corresponding actions

caption - Command code routine
No other behaviors were identified. However, the addin
command suggests that upon successful connection to the C&C server, the malware receives an addin
command code and then continuously sends Packet: giveme
data to notify the server, before performing additional malicious activities.
3. Acquisition and Analysis of Additional Malware Samples
3.1. Attribution to Konni
This AsyncRAT variant shares an identical structure with the AsyncRAT mentioned in GSC's "코니(Konni) 위협 세계관의 확장 분석 리포트" ("Expanded Analysis of Konni Threat Universe") report. The C&C server for the AsyncRAT detailed in that report was historically used as a C&C for other malware, and its endpoint and parameter structure resemble Konni's command structure.

caption - AsyncRAT analyzed in this report

caption - AsyncRAT mentioned in the GSC report
The AsyncRAT C&C server (159.100.13[.]216
) previously used by Konni was first mentioned in Securonix's "Analysis and Detection of CLOUD#REVERSER" report. The behavior of the final PowerShell script is consistent with what was described in that report.

caption - tmps4.ps1
analyzed in this report

caption - PowerShell script mentioned in the Securonix report
Furthermore, GSC reported that 159.100.13[.]216
, used as an AsyncRAT malware C&C server, showed signs of connection to the duplikyservjc[.]cloud
domain, and that this domain's command structure is similar to Konni's. The command structure observed for the duplikyservjc[.]cloud
domain is as follows:
duplikyservjc[.]cloud/dn.php?name=[%computer name%]&prefix=tt
The dn.php?name=[%computer name%]
pattern has been mentioned in several reports and is used to download additional malware.
Konni Campaign Distributed Via Malicious Document
dn.php?name=[%computer name%]&prefix=tt
Securonix Threat Labs Initial Coverage Advisory
dn.php?name=[%computer name%]&prefix=mm
Distribution of Phishing Email Under the Guise of Personal Data Leak (Konni)
dn.php?name=[%computer name%]&prefix=tt
Analysis of malware using duplikyservjc[.]cloud
as a C&C domain confirmed that the dn.php
endpoint was used for downloading additional malware, consistent with previous observations. Below is a VirusTotal link for a related sample:
https://www.virustotal.com/gui/file/2ad3120e1b03317d8d588d0cc097cc4c084700dc98913aa452ae8d0d1830e327
![duplikyservjc[.]cloud/dn.php?name=[%computer name%]&prefix=tt 통신 루틴](https://framerusercontent.com/images/5G05riwFdWDROMnMyPDMzwcFk.png)
caption - duplikyservjc[.]cloud/dn.php?name=[%computer name%]&prefix=tt
communication routine
The C&C server 206.206.127[.]152
, mentioned in this report, has not been observed in other attacks and, to date, appears to be used exclusively for distributing AsyncRAT malware via LNK files. Additionally, the PDB path found in this AsyncRAT variant is:
E:\_Backup\RAT_work\AsyncRat_0930\rat_Client\rat_pro\obj\Debug\Lv_0206.pdb
3.2. Acquisition of Additional Malware Samples Using LNK File Metadata
LNK files contain various metadata, including DriveSerialNumber, MachineID, and MAC address. Typically, attackers remove this information to hinder correlation analysis, but the LNK files analyzed in this report retained their metadata.
caption - Metadata of LNK file analyzed in this report
Additionally, the LINKTARGET_IDLIST
structure contains information about the target file of the LNK, as well as the MFT Record Number and Sequence Number from the system where the LNK file was created. This information can be viewed using LECmd.

caption - MFT Record Number and Sequence Number as shown by LECmd
By leveraging LNK file metadata and VirusTotal upload filename patterns, we were able to acquire 10 additional malware samples. The table below includes the LNK files analyzed in this report.
caption - Metadata of additionally acquired LNK malware files
3.3. Correlation of C&C Infrastructure by Analysis of the New Malware Samples
Analysis of the additional malware samples revealed that if one piece of metadata matched between samples, all other metadata also matched. This suggests the malware was created in the same environment. Furthermore, the C&C server address used by the AsyncRAT, the final payload analyzed in this report, was also found in other malware samples. Upon execution, all malware samples listed in the table below download and decompress a file from the same C&C server, and then run a VBS file. This indicates that 206.206.127[.]152
has been used as attack infrastructure since 2024.
caption - Malware using 206.206.127[.]152
as a C&C address
Additionally, `206.206.127[.]152` was listed in the IOC section of AhnLab's "December 2024 Threat Trend Report on APT Attacks (South Korea)". This appears to be C&C information identified from private malware samples obtained by AhnLab, suggesting that malware using 206.206.127[.]152
as a C&C server was used in attacks targeting entities in South Korea.
With the exception of 20240625_47531.docx.lnk
, the behavior of malware samples with filenames starting with "2024"
differs from those starting with "2025"
:
Malware starting with
"2024"
: Downloads a compressed file from the C&C server.Malware starting with
"2025"
: Downloads compressed files from Dropbox and the C&C server.
Three out of four malware samples with filenames starting with "2025"
were confirmed to use the same Google Drive API configuration values and C&C server. For Google Drive, the Refresh Tokens differ, but the Folder ID, Client ID, and Client Secret are identical.
The 20250114_27263.docx.lnk
file has a different Machine ID from the other files but uses the same Google Drive API configuration values as 20250201_388165727.eml.lnk
and 20250206_68013.docx.lnk
. This is significant evidence suggesting that it was created by the same attacker, though created in a different environment.
caption - Google Drive API information extracted from malware
3.4. Correlation of Phishing Emails to C&C Infrastructure
Additionally, the C&C server 74.50.94[.]175
was historically used in phishing emails. These emails impersonated South Korean public administration services, namely "Gookmin Biseo" (Public Secretary) and the "Ministry of the Interior and Safety." The email bodies contained a button linked to a URL. Clicking this button redirected users to a phishing site designed to harvest personal information.

caption - Email body
Both phishing emails contained an X-PHP-Script
header, which includes information about the sending server. This indicates that the attacker likely used PHPMailer to send the emails. PHPMailer is a tool frequently used by DPRK-nexus threat actors for sending phishing emails.
caption - Information identified in each email
The phishing domains, olsiop[.]shop
and acieodls[.]shop
, were found to be linked to the IP address 74.50.94[.]47
. This IP is in the same subnet as 74.50.94[.]175
, which was present in the X-PHP-Script
header. Therefore, the attacker utilized two IP addresses within the same subnet for their attacks.

caption - DNS records as shown by VirusTotal
3.5. Evidence of Broader Malware Distribution
While the infection logs from the malware analyzed in this report followed the uuu__[YYYY_MM_DD_HH_MM_SS]_Result_log.txt
format, an additional file with the sss__[YYYY_MM_DD_HH_MM_SS]_Result_log.txt
format was discovered on Google Drive. This suggests the attacker may be distributing other malware.
Infection logs generated by the 20250114_27263.docx.lnk
malware were in the format ttt__[YYYY_MM_DD_HH_MM_SS]_Result_log.txt
. This further supports the possibility that the attacker is distributing different malware strains.

caption - Code used in the 20250114_27263.docx.lnk
malware
This week, on March 10, we acquired additional malware of the same type. Similarities were found between Dropbox file information identified in this malware and malware analyzed on February 18. The filenames, uploader information, and file sizes were similar.
Malware analyzed on February 18:
aacb5aca178f6444a82bca1febb282a2859c5a43208ad1cdd39977dc3521f0f6
Malware analyzed on March 10:
811d221a1340e64aa1736d9d4e8f80820a5a02fab3d0c9e454f3ed35cd717b81

caption - (Left) Dropbox metadata from the February 18 sample (Right) Dropbox metadata from the March 10 sample
During analysis, an additional Google Drive API configuration was identified, and the infection log format and subsequent actions were all identical. This indicates the attacker is continuously conducting this attack. However, after the infection log was uploaded, we were unable to acquire the next-stage malware. This suggests that the control mechanism may have been deactivated.

caption - Access token retrieval code
The malware analyzed on February 18 contained Dropbox API configuration, while the malware analyzed on March 10 contained Google Drive API configuration. The attacker email addresses identified through these APIs contained the same string, although the numerical parts differed.
Dropbox API response
Google Drive API response
Additionally, the PowerShell script that downloads further malware from Dropbox to establish persistence has 0 detections on VirusTotal.

caption - Malicious PowerShell Script Detected as Benign
4. Course of Action
4.1. Verify File Types
Threat actors commonly craft LNK filenames to include document extensions, such as [Filename].docx.lnk
, [Filename].eml.lnk
, or [Filename].pdf.lnk
, and set corresponding document icons to disguise them as legitimate document files. Since LNK file extensions are hidden by default, it is crucial to check the file type before execution and avoid running files identified as "Shortcut"
.

caption - Checking file type
4.2. Exercise Caution with Emails from Unverified Sources
Although not detailed elsewhere in this report, the majority of attacks leveraging LNK files are delivered via phishing emails. Therefore, the following security measures are recommended:
Do not execute attachments from emails with unverified sources, and do not click on links embedded in such emails.
Verify if the sender is a trusted organization and check if the email address is legitimate.
Scan suspicious attachments with antivirus software or upload them to VirusTotal to test for malware. If an archive is password-protected, decompress it first, then upload the extracted files.
5. Conclusion
This report details recent campaigns attributed to Konni that leverage LNK files. The attackers disguised LNK files as documents for initial access, abusing cloud services like Google Drive and Dropbox to distribute additional malware. Furthermore, the finally executed AsyncRAT was modified to receive C&C server information as execution arguments. This method offers greater flexibility than hardcoding C&C information into the malware and allows anyone to utilize the malware by simply setting up a separate server. Such an approach obscures the link between the attacker's identity and their attack infrastructure, making tracking more difficult.
Beyond this, we were able to acquire additional malware samples by leveraging LNK file metadata characteristics, and also confirmed that AsyncRAT C&C infrastructure had a history of use in email phishing attacks. Although LNK metadata can be modified by attackers, the additionally acquired malware samples shared common C&C servers and Google Drive API information, and their TTPs were executed in an identical manner. This evidence allows us to attribute these attacks to the same threat actor.
These attacks are still being continuously observed, and attackers continue to develop techniques to bypass security products. Indeed, numerous test LNK samples that execute additional payloads in diverse ways are being observed on VirusTotal. This demonstrates that attackers are constantly experimenting to find stealthier, more effective infection techniques. The attack methods analyzed in this report are still in active use. Enki Threat Research Group remains committed to monitoring these threats to contribute to a safer digital environment.
6. Appendix
Appendix A. MITRE ATT&CK Matrix
caption - MITRE ATT&CK
Appendix B. IOCs
Hunted malware samples
268640934dd1f0cfe3a3653221858851a33cbf49a71adfb4d54a04641df11547 - 20250211_03837.docx.lnk
5967513540ad610ddbbc124f2437cf58dd10341da7d8d016932e74c3241dfa2a - d.ps1
47abd1682a88f7aadd3fe57583a7edba9cae2d7cf6632df19fbe687544dac632 - gs.zip
9af27198deefa87bb1d3868abb295f0136c18e74b5231772351c359ccd740323 - 83972.tmp
694af547d321771e69c48cf3c04411fc1de1b5d4a465815c54fff44d3d8da790 - G3892.tmp
68621690299e676b7562aca350a4ab87b898919c140b11bac7282d9c07d53838 - tmps4.ps1
7a21d0e9793a4f115d395c6e99927d54840a75f9f5501d77eca52c2e35069006 - rt_10_dummy_0206.tmp(AsyncRAT)
Additional malware samples
9c9df2d90602c915005811aabf444653f55024080c61845029f75da758b27320
f3aee5924279dd1883efbb04c89166368e954b7e81483507dc032561bb2cf6e1
aaecb10ca453bec3bb95bedac6d773a593ea984509845eb7b15d8894d4b385ad
ba52ab256079f80fdf9c47bf5fc215fed99ed1659c976ca692f4493e08e4b301
dfeec1052063d6dc69cc6d23ca0cd262cd06899554f5ebd528d5d72935204bf2
11ac6151182db3b41f9022b4e4b8a388e982f7fece3a34596bd84c11ec2a4ebd
52b8e4da732d06000e29d7609668021be8cc99fccd9fb4a04f93f1c25d11bdd6
f4c4f68f8b27279b00b718b02392d5dfe1766c342a189a51e0e2a6f6412e1ce0
11afe5cc28666c39d3dc3e9d51f780e55ce57e29424861b94002fb3370474f7e
e6e3a8fb352641bb5b6f6db1479490d942852d77d9ca30b2f0931f28e2691983
811d221a1340e64aa1736d9d4e8f80820a5a02fab3d0c9e454f3ed35cd717b81
aacb5aca178f6444a82bca1febb282a2859c5a43208ad1cdd39977dc3521f0f6
C&C
206.206.127[.]152:7628
206.206.127[.]152:7032
206.206.127[.]152:6606
206.206.127[.]152:9027
206.206.127[.]152:9002
206.206.127[.]152:6105
74.50.94[.]175:9992
74.50.94[.]175:7628
74.50.94[.]175:7032
Task Info
AGMicrosoftEdgeUpdateExpanding[7923498737]
AMicrosoftEdgeUpdateExpanding[3829710973]
Registery Info
HKCU\Software\Microsoft\Windows\CurrentVersion\Run\GUpdate2
HKCU\Software\Microsoft\Windows\CurrentVersion\Run\SUpdate
Gmail Info
widyket02122@gmail.com
widyket021701@gmail.com
andreytony001@gmail.com
Appendix C. API Info
Google Drive API info
f4c4f68f8b27279b00b718b02392d5dfe1766c342a189a51e0e2a6f6412e1ce0
11afe5cc28666c39d3dc3e9d51f780e55ce57e29424861b94002fb3370474f7e
e6e3a8fb352641bb5b6f6db1479490d942852d77d9ca30b2f0931f28e2691983
268640934dd1f0cfe3a3653221858851a33cbf49a71adfb4d54a04641df11547
811d221a1340e64aa1736d9d4e8f80820a5a02fab3d0c9e454f3ed35cd717b81
Dropbox API Info
9c9df2d90602c915005811aabf444653f55024080c61845029f75da758b27320
aacb5aca178f6444a82bca1febb282a2859c5a43208ad1cdd39977dc3521f0f6
Appendix D. PDB Info
E:\_Backup\RAT_work\AsyncRat_0930\rat_Client\rat_pro\obj\Debug\Lv_0206.pdb