Researchers from Cisco Talos have identified a new and sophisticated malware suite used in highly targeted attacks against organizations in Taiwan. The malware, dubbed LucidRook, is a stager that leverages an embedded Lua interpreter and Rust-based components to execute payloads fetched from a command-and-control (C2) server. The campaign, attributed to a threat cluster tracked as UAT-10362, has been observed targeting non-governmental organizations (NGOs) and is suspected of also targeting universities. The malware employs several advanced anti-analysis and evasion techniques, including a region-specific check that restricts its execution to systems using the Traditional Chinese language pack, strongly indicating a focus on Taiwanese victims. The operation also utilizes a reconnaissance tool named LucidKnight, suggesting a multi-stage attack methodology where targets are profiled before the main payload is deployed.
The threat actor UAT-10362 is conducting a spear-phishing campaign to deliver the LucidRook malware. The campaign demonstrates a clear operational focus on entities within Taiwan. The infection chain is initiated through malicious attachments, such as archived LNK files disguised as PDFs or executables masquerading as antivirus software. The primary payload, LucidRook, is a DLL that acts as a stager. Its main purpose is to establish persistence and download subsequent Lua bytecode payloads from a C2 server for execution. This modular approach allows the attackers to flexibly deploy different capabilities depending on the target environment. The use of a companion reconnaissance tool, LucidKnight, for initial system information gathering points to a calculated and patient adversary that carefully selects its targets.
LucidRook is notable for its combination of technologies and evasion techniques:
zh-TW), effectively geo-fencing its operations to Taiwan.MITRE ATT&CK Techniques:
T1589.002 - Email Addresses: Used for spear-phishing campaigns.T1204.002 - Malicious File: Delivery via malicious LNK and EXE files.T1027 - Obfuscated Files or Information: Use of encrypted strings and dynamic key reconstruction.T1497.003 - Time Based Evasion: The language check acts as a form of environmental keying to evade sandboxes.T1105 - Ingress Tool Transfer: Downloading staged Lua payloads from the C2 server.T1059.007 - Dynamic-link Library Injection: The core payload is a DLL.The primary goal of this campaign appears to be espionage and intelligence gathering. By targeting NGOs and universities, the threat actor UAT-10362 likely seeks to obtain sensitive information related to political advocacy, research, or individuals associated with these organizations. A successful compromise could lead to:
The focus on a specific geographic region and victim profile suggests a state-nexus, although Talos has not made a formal attribution to a specific country.
Security teams can hunt for this activity using the following observables:
| Type | Value | Description | Context | Confidence |
|---|---|---|---|---|
| process_name | rundll32.exe |
The LucidPawn dropper is often executed via rundll32.exe. |
Monitor for rundll32.exe processes spawning from suspicious parent processes like explorer.exe (from a clicked LNK) or email clients. |
medium |
| api_endpoint | GetUserDefaultLangID |
API call used by LucidPawn to check the system's language. | API monitoring or dynamic analysis can flag processes that call this function and then terminate if the language is not Traditional Chinese. | high |
| file_name | *.lua |
The malware downloads and executes Lua script files. | Monitor for the creation or execution of .lua files in unusual locations, such as user temp directories. |
medium |
| network_traffic_pattern | FTP |
The C2 infrastructure was observed using a compromised FTP server. | Monitor for anomalous FTP traffic from endpoints to unknown or untrusted servers. | low |
| file_name | LucidRook.dll |
The name of the primary malware component. | Search for this filename on endpoints, though attackers will likely rename it. | medium |
Detection:
rundll32.exe activity and monitor for API calls like GetUserDefaultLangID followed by network connections.D3-DA - Dynamic Analysis) to inspect suspicious files. Configure sandbox environments with a Traditional Chinese language pack to trigger the malware's full execution path.Response:
M1017 - User Training: Train users to be suspicious of unsolicited emails with attachments, especially archives (.zip, .rar) containing LNK files or executables.M1038 - Execution Prevention: Configure application control policies to restrict the execution of unsigned or untrusted DLLs and executables from user-writable locations like AppData or Temp.Train users to identify and report spear-phishing attempts, particularly those with unexpected attachments.
Use email security gateways to analyze and block malicious attachments before they reach the user.
Mapped D3FEND Techniques:
Implement application control to prevent the execution of unauthorized DLLs and executables.
Deploy and maintain endpoint security solutions to detect and block known malware components.
Given LucidRook's use of environmental checks (specifically, the Traditional Chinese language pack), standard sandbox analysis may fail to reveal the malware's true behavior. Security teams must configure their dynamic analysis environments to mimic potential targets in Taiwan. This involves setting the system locale, language, and timezone to 'zh-TW'. Running the suspicious LNK or EXE files in this configured environment is crucial to trigger the second-stage payload download and execution. The analysis should focus on capturing network indicators (C2 domains/IPs), file system artifacts (dropped Lua scripts), and process activity (execution of the Lua interpreter). This tailored analysis is the most effective way to overcome the actor's primary evasion technique and generate actionable intelligence.
The LucidRook campaign relies on dropping and executing untrusted DLLs and executables. Implementing an application allowlisting policy, such as Windows Defender Application Control (WDAC), can effectively block this activity. The policy should be configured to only allow the execution of digitally signed, trusted software. Since LucidRook and its components are unsigned, they would be prevented from running. This is a powerful preventative control that moves away from trying to detect 'bad' and instead only permits 'known good'. While initial deployment can be complex, focusing on high-risk user groups or critical servers can provide significant security uplift and would directly disrupt this malware's infection chain at the execution stage.
EDR tools should be configured to perform deep process analysis and look for anomalous execution chains. For this specific threat, a key detection opportunity is monitoring for explorer.exe (if a user clicks a malicious LNK file) or an email client process (outlook.exe) spawning a rundll32.exe process. This rundll32.exe process would then load the malicious LucidRook.dll. Further analysis should look for this process making network connections to unknown FTP servers or OAST service domains. Another heuristic is to alert on any process that calls the GetUserDefaultLangID API and then promptly terminates without performing other meaningful actions, as this could indicate a failed environmental check by the malware. Correlating these process-level behaviors provides a high-confidence indicator of a LucidRook infection attempt.

Cybersecurity professional with over 10 years of specialized experience in security operations, threat intelligence, incident response, and security automation. Expertise spans SOAR/XSOAR orchestration, threat intelligence platforms, SIEM/UEBA analytics, and building cyber fusion centers. Background includes technical enablement, solution architecture for enterprise and government clients, and implementing security automation workflows across IR, TIP, and SOC use cases.
Help others stay informed about cybersecurity threats