The sub-techniques beta is now live! Read the release blog post for more info.


APT32 is a threat group that has been active since at least 2014. The group has targeted multiple private sector industries as well as with foreign governments, dissidents, and journalists with a strong focus on Southeast Asian countries like Vietnam, the Philippines, Laos, and Cambodia. They have extensively used strategic web compromises to compromise victims. The group is believed to be Vietnam-based. [1] [2] [3]

ID: G0050
Associated Groups: SeaLotus, OceanLotus, APT-C-00
Contributors: Romain Dumont, ESET
Version: 2.1
Created: 14 December 2017
Last Modified: 14 October 2019

Associated Group Descriptions

Name Description
SeaLotus [6]
OceanLotus [1] [2][6]
APT-C-00 [3][6]

Techniques Used

Domain ID Name Use
Enterprise T1087 Account Discovery

APT32 enumerated administrative users and DC servers using the commands net localgroup administrators and net group "Domain Controllers" /domain.[4]

Enterprise T1017 Application Deployment Software

APT32 compromised McAfee ePO to move laterally by distributing malware as a software deployment task.[1]

Enterprise T1009 Binary Padding

APT32 includes garbage code to mislead anti-malware software and researchers.[3][5]

Enterprise T1059 Command-Line Interface

APT32 has used cmd.exe for execution. [4]

Enterprise T1043 Commonly Used Port

APT32 has used port 80 for C2 communications.[6][4]

Enterprise T1003 Credential Dumping

APT32 used Mimikatz, GetPassword_x64, and customized versions of Windows Credential Dumper, HookChangePassword, and Outlook Credential Dumper to harvest credentials.[6][4]

Enterprise T1094 Custom Command and Control Protocol

APT32 uses Cobalt Strike's malleable C2 functionality to blend in with network traffic. The group's backdoor can also exfiltrate data by encoding it in the subdomain field of DNS packets. Additionally, one of the group's macOS backdoors implements a specific format for the C2 packet involving random values.[1][11][4][5][7]

Enterprise T1002 Data Compressed

APT32's backdoor has used LZMA compression before exfiltration. [5]

Enterprise T1022 Data Encrypted

APT32 backdoors have encrypted data before exfiltration, including by using RC4 encryption.[5][7]

Enterprise T1073 DLL Side-Loading

APT32 ran legitimately-signed executables from Symantec and McAfee which load a malicious DLL. The group also side-loads its backdoor by dropping a library and a legitimate, signed executable (AcroTranscoder).[6][4][5]

Enterprise T1189 Drive-by Compromise

APT32 has infected victims by tricking them into visiting compromised watering hole websites.[3]

Enterprise T1041 Exfiltration Over Command and Control Channel

APT32's backdoor has exfiltrated data using the already opened channel with its C&C server.[5]

Enterprise T1203 Exploitation for Client Execution

APT32 has used RTF document that includes an exploit to execute malicious code. (CVE-2017-11882)[5]

Enterprise T1068 Exploitation for Privilege Escalation

APT32 has used CVE-2016-7255 to escalate privileges.[1]

Enterprise T1083 File and Directory Discovery

APT32's backdoor possesses the capability to list files and directories on a machine.

Enterprise T1222 File and Directory Permissions Modification

APT32's macOS backdoor changes the permission of the file it wants to execute to 755.[7]

Enterprise T1107 File Deletion

APT32's macOS backdoor can receive a "delete" command.[7]

Enterprise T1158 Hidden Files and Directories

APT32's macOS backdoor hides the clientID file via a chflags function.[7]

Enterprise T1143 Hidden Window

APT32 has used the WindowStyle parameter to conceal PowerShell windows.[1][4]

Enterprise T1070 Indicator Removal on Host

APT32 has cleared select event log entries.[1]

Enterprise T1036 Masquerading

APT32 has used hidden or non-printing characters to help masquerade file names on a system, such as appending a Unicode no-break space character to a legitimate service name. They have also used by moving and renaming pubprn.vbs to a .txt file to avoid detection. Additionally, the group has renamed a NetCat binary to kb-10233.exe to masquerade as a Windows update.[1][10][4]

Enterprise T1031 Modify Existing Service

APT32 modified Windows Services to ensure PowerShell scripts were loaded on the system.[4]

Enterprise T1112 Modify Registry

APT32's backdoor has modified the Windows Registry to store the backdoor's configuration.

Enterprise T1170 Mshta

APT32 has used mshta.exe for code execution.[6][4]

Enterprise T1046 Network Service Scanning

APT32 performed network scanning on the network to search for open ports, services, OS finger-printing, and other vulnerabilities.[4]

Enterprise T1050 New Service

APT32 creates a Windows service to establish persistence.[3][4][5]

Enterprise T1096 NTFS File Attributes

APT32 used NTFS alternate data stream to hide their payloads.[4]

Enterprise T1027 Obfuscated Files or Information

APT32 uses the Invoke-Obfuscation framework to obfuscate their PowerShell and also performs other code obfuscation. APT32 has also encoded payloads using Base64 and a framework called "Dont-Kill-My-Cat (DKMC). APT32 also encrypts the library used for network exfiltration with AES-256 in CBC mode in their macOS backdoor.[1][8][3][6][4][5][7]

Enterprise T1137 Office Application Startup

APT32 installed a backdoor macro in Microsoft Outlook for persistence.[6][4]

Enterprise T1075 Pass the Hash

APT32 has used pass the hash for lateral movement.[4]

Enterprise T1097 Pass the Ticket

APT32 successfully gained remote access by using pass the ticket.[4]

Enterprise T1086 PowerShell

APT32 has used PowerShell-based tools, PowerShell one-liners, and shellcode loaders for execution.[1][6][4]

Enterprise T1012 Query Registry

APT32's backdoor can query the Windows Registry to gather system information.[5]

Enterprise T1060 Registry Run Keys / Startup Folder

APT32 established persistence using Registry Run keys, both to execute PowerShell and VBS scripts as well as to execute their backdoor directly.[6][4][5]

Enterprise T1117 Regsvr32

APT32 created a Scheduled Task that used regsvr32.exe to execute a COM scriptlet that dynamically downloaded a backdoor and injected it into memory. The group has also used regsvr32 to run their backdoor.[1][4][5]

Enterprise T1105 Remote File Copy

APT32 has added JavaScript to victim websites to download additional frameworks that profile and compromise website visitors.[2][6]

Enterprise T1018 Remote System Discovery

APT32 used the net view command to show all shares available, including the administrative shares such as C$ and ADMIN$. APT32 also used the ping command.[4]

Enterprise T1053 Scheduled Task

APT32 has used scheduled tasks to persist on victim systems.[1][6][4][5]

Enterprise T1064 Scripting

APT32 has used macros, PowerShell scripts, COM scriptlets, and VBS scripts.[6][4]

Enterprise T1035 Service Execution

APT32's backdoor has used Windows services as a way to execute its malicious payload.[5]

Enterprise T1216 Signed Script Proxy Execution

APT32 has used PubPrn.vbs within execution scripts to execute malware, possibly bypassing defenses.[9]

Enterprise T1193 Spearphishing Attachment

APT32 has sent spearphishing emails with a malicious executable disguised as a document or spreadsheet.[3][6][4][5]

Enterprise T1192 Spearphishing Link

APT32 has sent spearphishing emails containing malicious links.[3][6]

Enterprise T1071 Standard Application Layer Protocol

APT32 has used JavaScript that communicates over HTTP or HTTPS to attacker controlled domains to download additional frameworks. The group has also used email for C2 via an Office macro. The group's backdoor can also exfiltrate data by encoding it in the subdomain field of DNS packets.[2][6][4][5]

Enterprise T1082 System Information Discovery

APT32 has collected the OS version and computer name from victims. One of the group's backdoors can also query the Windows Registry to gather system information, and another macOS backdoor performs a fingerprint of the machine on its first connection to the C&C server.[3][5][7]

Enterprise T1016 System Network Configuration Discovery

APT32 used the ipconfig /all command to gather the IP address from the system.[4]

Enterprise T1049 System Network Connections Discovery

APT32 used the netstat -anpo tcp command to display TCP connections on the victim's machine.[4]

Enterprise T1033 System Owner/User Discovery

APT32 collected the victim's username and executed the whoami command on the victim's machine.[3][4]

Enterprise T1099 Timestomp

APT32 has used scheduled task raw XML with a backdated timestamp of June 2, 2016. The group has also set the creation time of the files dropped by the second stage of the exploit to match the creation time of kernel32.dll. Additionally, APT32 has used a random value to modify the timestamp of the file storing the clientID.[1][5][7]

Enterprise T1065 Uncommonly Used Port

APT32 backdoor can use HTTP over an uncommon TCP port (e.g 14146) which is specified in the backdoor configuration.[5]

Enterprise T1204 User Execution

APT32 has attempted to lure users to execute a malicious dropper delivered via a spearphishing attachment.[3][6][5]

Enterprise T1078 Valid Accounts

APT32 has used legitimate local admin account credentials.[1]

Enterprise T1100 Web Shell

APT32 has used Web shells to maintain access to victim websites.[2]

Enterprise T1077 Windows Admin Shares

APT32 used Net to use Windows' hidden network shares to copy their tools to remote machines for execution.[4]

Enterprise T1047 Windows Management Instrumentation

APT32 used WMI to deploy their tools on remote machines and to gather information about the Outlook process.[4]


ID Name References Techniques
S0099 Arp [4] System Network Configuration Discovery
S0154 Cobalt Strike [1] [2] [6] [4] Access Token Manipulation, BITS Jobs, Bypass User Account Control, Command-Line Interface, Commonly Used Port, Component Object Model and Distributed COM, Connection Proxy, Credential Dumping, Custom Command and Control Protocol, Data from Local System, Execution through API, Exploitation for Privilege Escalation, Indicator Removal from Tools, Input Capture, Man in the Browser, Multiband Communication, Network Service Scanning, Network Share Discovery, New Service, Parent PID Spoofing, Pass the Hash, PowerShell, Process Discovery, Process Hollowing, Process Injection, Remote Desktop Protocol, Remote Services, Remote System Discovery, Scheduled Transfer, Screen Capture, Scripting, Service Execution, Standard Application Layer Protocol, Timestomp, Valid Accounts, Windows Admin Shares, Windows Management Instrumentation, Windows Remote Management
S0354 Denis [6] [4] Command-Line Interface, Commonly Used Port, Data Compressed, Data Encoding, Deobfuscate/Decode Files or Information, DLL Side-Loading, File and Directory Discovery, File Deletion, Obfuscated Files or Information, Process Injection, Query Registry, Remote File Copy, Scripting, Standard Application Layer Protocol, System Information Discovery, System Network Configuration Discovery, System Owner/User Discovery
S0100 ipconfig [4] System Network Configuration Discovery
S0156 KOMPROGO [1] Command-Line Interface, System Information Discovery, Windows Management Instrumentation
S0002 Mimikatz [1] [6] [4] Account Manipulation, Credential Dumping, Credentials in Files, DCShadow, Pass the Hash, Pass the Ticket, Private Keys, Security Support Provider, SID-History Injection
S0039 Net [4] Account Discovery, Create Account, Network Share Connection Removal, Network Share Discovery, Password Policy Discovery, Permission Groups Discovery, Remote System Discovery, Service Execution, System Network Connections Discovery, System Service Discovery, System Time Discovery, Windows Admin Shares
S0108 netsh [4] Connection Proxy, Disabling Security Tools, Netsh Helper DLL, Security Software Discovery
S0352 OSX_OCEANLOTUS.D [12] Command-Line Interface, Data Encrypted, File Deletion, Hidden Files and Directories, Launch Agent, Launch Daemon, Obfuscated Files or Information, Remote File Copy, Scripting, Software Packing, System Information Discovery, Virtualization/Sandbox Evasion
S0158 PHOREAL [1] Command-Line Interface, Custom Command and Control Protocol, Modify Registry, Standard Non-Application Layer Protocol
S0157 SOUNDBITE [1] Application Window Discovery, File and Directory Discovery, Modify Registry, Standard Application Layer Protocol, System Information Discovery
S0155 WINDSHIELD [1] Custom Command and Control Protocol, File Deletion, Query Registry, Standard Non-Application Layer Protocol, System Information Discovery, System Owner/User Discovery