Skip to content

Conversation

@vignesh-user
Copy link
Contributor

@vignesh-user vignesh-user commented Jan 29, 2026

Details

This PR adds a new detection that identifies TOR Browser and related TOR component execution on Windows endpoints using process creation telemetry.

The analytic monitors process name and parent process name to detect TOR execution originating from common parent processes such as browsers and command-line utilities. This behavior may indicate attempts to anonymize activity, evade monitoring, or bypass security controls.

Screenshots of the detection logic and test results are included for validation. Also, before merging this request please merge the attack dataset PR (splunk/attack_data#1123)

parent_process_name process_name

If you need any further information, please reach out to me via Slack.

Slack ID: Vignesh Subramanian

Checklist

  • [ ✔️] Validate name matches <platform>_<mitre att&ck technique>_<short description> nomenclature
  • [ ✔️] CI/CD jobs passed ✔️
  • [ ✔️] Validated SPL logic.
  • [✔️ ] Validated tags, description, and how to implement.
  • [✔️ ] Verified references match analytic.
  • Confirm updates to lookups are handled properly.

This detection is used to detects the execution of TOR browser and it's components on windows systems.

If you need any further information, please reach out to me via Slack.

Slack ID - Vignesh Subramanian
@nasbench nasbench added this to the v5.21.0 milestone Jan 29, 2026
1. Focused on detecting tor.exe and added the process_path field to detect TOR execution within Brave Browser. 

Brave Browser includes a built-in TOR client that is not explicitly named tor.exe during process creation; instead, it appears as tor-0.4.8.19-win32-brave-0. To capture this, I added the Brave Browser path to the detection logic to identify the presence of TOR within Brave. 

I also introduced wildcards in the path to support any version TOR binaries used by Brave, ensuring that different version numbers are correctly matched. 

2. Avoided using escape characters to improve readability.

3. The provided ID has been added.

4. The process field has been added as a threat object.

5. Additional tokens have been included in the risk-based alerting message to make it clearer and more meaningful.

6. The word “detection” has been removed from the title, which is now: "Windows TOR Client Execution"

7. Added the correct attack dataset link from (https://github.com/splunk/attack_data/blob/master/datasets/attack_techniques/T1090.003/windows_tor_client_execution/windows-sysmon.log)
Copy link
Contributor Author

@vignesh-user vignesh-user left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @nasbench,

I have done the changes which you mentioned in the above. Please do review and let me know for any further changes.

  1. Focused on detecting tor.exe based on our interest and removed wildcard *tor*.

  2. Added the process_path field to detect TOR execution within Brave Browser because it includes a built-in TOR client that is not explicitly named tor.exe during process creation; instead, it appears as tor-0.4.8.19-win32-brave-0. To capture this, I added the Brave Browser path to the detection logic to identify the presence of TOR within Brave.
    process_path_brave

  3. I also added wildcards in the path to support any versions of TOR binaries used by Brave, ensuring that different version numbers are correctly matched.
    detection

  4. Avoided using escape characters to improve readability.

  5. The provided ID has been incorporated.

  6. The process file has been added as a threat object.

  7. Additional tokens have been included in the risk-based alerting message to make it clearer and more meaningful.

  8. The word detection has been removed from the title, which is now: Windows TOR Client Execution

  9. Added the correct attack dataset link from (https://github.com/splunk/attack_data/blob/master/datasets/attack_techniques/T1090.003/windows_tor_client_execution/windows-sysmon.log)

Updated the detection configuration for Windows TOR Client Execution, including changes to the description, how to implement, known false positives, and drilldown searches.
Comment on lines +23 to +24
Processes.process_path = "*\\BraveSoftware\\Brave-Browser*"
Processes.process_path = "*\\tor-*"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just FYI in order to avoid using wildcard inside of strings (which is not a recommended things to do). I split the string like this.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I understood and thank you for doing the changes.

@patel-bhavin
Copy link
Contributor

patel-bhavin commented Feb 2, 2026

neat! these changes look great! thanks Nas and @vignesh-user for the contribution!

App inspect expected to fail on PRs from forks

@patel-bhavin patel-bhavin merged commit 7777dd9 into splunk:develop Feb 2, 2026
4 of 5 checks passed
@vignesh-user
Copy link
Contributor Author

Thank you very much @nasbench for your inputs and changes and @patel-bhavin for merging my PR!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants