FinFisher is a government-grade commercial surveillance spyware reportedly sold exclusively to government agencies for use in targeted and lawful criminal investigations. It is heavily obfuscated and uses multiple anti-analysis techniques. It has other variants including Wingbird. [1] [2] [3] [4] [5]
| Domain | ID | Name | Use | |
|---|---|---|---|---|
| Enterprise | T1036 | .005 | 伪装: Match Legitimate Name or Location |
FinFisher renames one of its .dll files to uxtheme.dll in an apparent attempt to masquerade as a legitimate file.[1][5] |
| Enterprise | T1543 | .003 | 创建或修改系统进程: Windows Service |
FinFisher creates a new Windows service with the malicious executable for persistence.[1][5] |
| Enterprise | T1574 | .001 | 劫持执行流: DLL Search Order Hijacking | |
| .002 | 劫持执行流: DLL Side-Loading |
FinFisher uses DLL side-loading to load malicious programs.[1][5] |
||
| .013 | 劫持执行流: KernelCallbackTable |
FinFisher has used the |
||
| Enterprise | T1140 | 反混淆/解码文件或信息 |
FinFisher extracts and decrypts stage 3 malware, which is stored in encrypted resources.[1][5] |
|
| Enterprise | T1547 | .001 | 启动或登录自动启动执行: Registry Run Keys / Startup Folder |
FinFisher establishes persistence by creating the Registry key |
| Enterprise | T1113 | 屏幕捕获 |
FinFisher takes a screenshot of the screen and displays it on top of all other windows for few seconds in an apparent attempt to hide some messages showed by the system during the setup process.[1][5] |
|
| Enterprise | T1083 | 文件和目录发现 |
FinFisher enumerates directories and scans for certain files.[1][5] |
|
| Enterprise | T1012 | 查询注册表 |
FinFisher queries Registry values as part of its anti-sandbox checks.[1][5] |
|
| Enterprise | T1027 | 混淆文件或信息 |
FinFisher is heavily obfuscated in many ways, including through the use of spaghetti code in its functions in an effort to confuse disassembly programs. It also uses a custom XOR algorithm to obfuscate code.[1][5] |
|
| .001 | Binary Padding |
FinFisher contains junk code in its functions in an effort to confuse disassembly programs.[1][5] |
||
| .002 | Software Packing | |||
| Enterprise | T1548 | .002 | 滥用权限提升控制机制: Bypass User Account Control | |
| Enterprise | T1070 | .001 | 移除指标: Clear Windows Event Logs |
FinFisher clears the system event logs using |
| Enterprise | T1082 | 系统信息发现 | ||
| Enterprise | T1497 | .001 | 虚拟化/沙盒规避: System Checks |
FinFisher obtains the hardware device list and checks if the MD5 of the vendor ID is equal to a predefined list in order to check for sandbox/virtualized environments.[5] |
| Enterprise | T1134 | .001 | 访问令牌操控: Token Impersonation/Theft |
FinFisher uses token manipulation with NtFilterToken as part of UAC bypass.[1][5] |
| Enterprise | T1518 | .001 | 软件发现: Security Software Discovery |
FinFisher probes the system to check for antimalware processes.[1][4] |
| Enterprise | T1056 | .004 | 输入捕获: Credential API Hooking |
FinFisher hooks processes by modifying IAT pointers to CreateWindowEx.[1][7] |
| Enterprise | T1057 | 进程发现 |
FinFisher checks its parent process for indications that it is running in a sandbox setup.[1][5] |
|
| Enterprise | T1055 | .001 | 进程注入: Dynamic-link Library Injection |
FinFisher injects itself into various processes depending on whether it is low integrity or high integrity.[1][5] |
| Enterprise | T1542 | .003 | 预操作系统引导: Bootkit | |
| Mobile | T1429 | Audio Capture |
FinFisher uses the device microphone to record phone conversations.[8] |
|
| Mobile | T1404 | Exploitation for Privilege Escalation |
FinFisher comes packaged with ExynosAbuse, an Android exploit that can gain root privileges.[8] |
|
| Mobile | T1430 | Location Tracking |
FinFisher tracks the latitude and longitude coordinates of the infected device.[8] |
|
| Mobile | T1636 | .002 | Protected User Data: Call Log | |
| .004 | Protected User Data: SMS Messages | |||
| ID | Name | References |
|---|---|---|
| G0070 | Dark Caracal |