Kapeka Backdoor Persistence Activity
Detects Kapeka backdoor persistence activity. Depending on the process privileges, the Kapeka dropper then sets persistence for the backdoor either as a scheduled task (if admin or SYSTEM) or autorun registry (if not). For the scheduled task, it creates a scheduled task called "Sens Api" via schtasks command, which is set to run upon system startup as SYSTEM. To establish persistence through the autorun utility, it adds an autorun entry called "Sens Api" under HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run via the "reg add" command. Both persistence mechanisms are set to launch the binary by calling rundll32 and passing the backdoor's first export ordinal (#1) without any additional argument.
Detection logic
selection_schtasks_img
- Image|endswith: \schtasks.exe
- OriginalFileName: schtasks.exeselection_schtasks_flags
CommandLine|contains|all:
- create
- ONSTARTselection_reg_img
- Image|endswith: \reg.exe
- OriginalFileName: reg.exeselection_reg_flags
CommandLine|contains|all:
- add
- \Software\Microsoft\Windows\CurrentVersion\Runselection_backdoor_command
CommandLine|contains|all:
- rundll32
- .wll
- "#1"
CommandLine|contains:
- Sens Api
- OneDriveCondition
(all of selection_schtasks_* or all of selection_reg_*) and selection_backdoor_commandRaw YAML
title: Kapeka Backdoor Persistence Activity
id: 64a871dd-83f6-4e5f-80fc-5a7ca3a8a819
status: test
description: |
Detects Kapeka backdoor persistence activity.
Depending on the process privileges, the Kapeka dropper then sets persistence for the backdoor either as a scheduled task (if admin or SYSTEM) or autorun registry (if not).
For the scheduled task, it creates a scheduled task called "Sens Api" via schtasks command, which is set to run upon system startup as SYSTEM.
To establish persistence through the autorun utility, it adds an autorun entry called "Sens Api" under HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run via the "reg add" command.
Both persistence mechanisms are set to launch the binary by calling rundll32 and passing the backdoor's first export ordinal (#1) without any additional argument.
references:
- https://labs.withsecure.com/publications/kapeka
- https://app.any.run/tasks/1efb3ed4-cc0f-4690-a0ed-24516809bc72/
- https://www.virustotal.com/gui/file/bd07fb1e9b4768e7202de6cc454c78c6891270af02085c51fce5539db1386c3f/behavior
author: Swachchhanda Shrawan Poudel
date: 2024-07-03
tags:
- attack.privilege-escalation
- attack.execution
- attack.persistence
- attack.t1053.005
- detection.emerging-threats
logsource:
category: process_creation
product: windows
detection:
selection_schtasks_img:
- Image|endswith: '\schtasks.exe'
- OriginalFileName: 'schtasks.exe'
selection_schtasks_flags:
CommandLine|contains|all:
- 'create'
- 'ONSTART'
selection_reg_img:
- Image|endswith: '\reg.exe'
- OriginalFileName: 'reg.exe'
selection_reg_flags:
CommandLine|contains|all:
- 'add'
- '\Software\Microsoft\Windows\CurrentVersion\Run'
selection_backdoor_command:
CommandLine|contains|all:
- 'rundll32'
- '.wll'
- '#1'
CommandLine|contains:
- 'Sens Api'
- 'OneDrive' # The scheduled task was called "OneDrive" instead of "Sens Api" in some cases
condition: (all of selection_schtasks_* or all of selection_reg_*) and selection_backdoor_command
falsepositives:
- Unlikely
level: highFalse positives
- Unlikely