The following analytic identifies the use of reg.exe performing an add to the InProcServer32, which may be related to COM hijacking. Adversaries can use the COM system to insert malicious code that can be executed in place of legitimate software through hijacking the COM references and relationships as a means for persistence. Hijacking a COM object requires a change in the Registry to replace a reference to a legitimate system component which may cause that component to not work when executed. When that system component is executed through normal system operation the adversary's code will be executed instead.
- Type: TTP
Product: Splunk Behavioral Analytics
- Last Updated: 2022-10-12
- Author: Michael Haag, Splunk
- ID: 0ae05a0f-bc84-456b-822a-a5b9c081c7ca
Kill Chain Phase
- CIS 10
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 $main = from source | eval timestamp = time | eval metadata_uid = metadata.uid | eval process_pid = process.pid | eval process_file = process.file | eval process_file_path = process_file.path | eval process_file_name = lower(process_file.name) | eval process_cmd_line = process.cmd_line | eval actor_user = actor.user | eval actor_user_name = actor_user.name | eval actor_process = actor.process | eval actor_process_pid = actor_process.pid | eval actor_process_file = actor_process.file | eval actor_process_file_path = actor_process_file.path | eval actor_process_file_name = actor_process_file.name | eval device_hostname = device.hostname | where match(process_cmd_line, /(?i)inprocserver32/)=true AND process_file_name="reg.exe" --finding_report--
The SPL above uses the following Macros:
windows_com_hijacking_inprocserver32_modification_filter is a empty macro by default. It allows the user to filter out any results (false positives) without editing the SPL.
List of fields required to use this analytic.
How To Implement
To successfully implement this search, you need to be ingesting logs with the process name, parent process, and command-line executions from your endpoints. If you are using Sysmon, you must have at least version 6.0.4 of the Sysmon TA.
Known False Positives
False positives may be present and some filtering may be required.
Associated Analytic Story
|64.0||80||80||An instance of $parent_process_name$ has spawned $process_name$ attempting to modify InProcServer32 within the registry on $dest_device_id$ by $dest_user_id$.|
The Risk Score is calculated by the following formula: Risk Score = (Impact * Confidence/100). Initial Confidence and Impact is set by the analytic author.
source | version: 1