Hacking Tools

SharpExclusionFinder – Streamlining Windows Defender Exclusion Checks With Advanced Scanning Capabilities

This C# program finds Windows Defender folder exclusions using Windows Defender through its command-line tool (MpCmdRun.exe).

The program processes directories recursively, with configurable depth and thread usage, and outputs information about exclusions and scan progress.

The program allows you to:

  • Scan for folder exclusions up to a specified depth, without relying on event logs or admin permissions.
  • Use multi-threading to speed the scan process.
  • Log errors and exclusion messages to a specified output file.

Usage

Basic Command

program.exe <BasePath> [options]

Options:

  • --max-threads N: Set the maximum number of threads to use for scanning. Default is 3.
  • --depth N: Specify the maximum directory depth to scan. Depth 1 means only immediate subdirectories.
  • --output <filePath>: Specify a file path to log exclusions and errors.
  • -h, --help: Display help and usage information.

Example:

program.exe "C:\MyDirectory" --max-threads 5 --depth 3 --output scan_log.txt

This will scan C:\MyDirectory up to a depth of 3 subdirectories, using 5 threads, and log any exclusions or errors to scan_log.txt.

How It Works

A blog explaining the technique utilised can be viewed here

Example Output

Processed 2000 directories. Time elapsed: 23.78 seconds.
[+] Folder C:\users\user\Example is excluded
Processed 2500 directories. Time elapsed: 30.77 seconds.

Prerequisites

  • .NET Framework 4.5.2 or later.
  • Windows Defender must be installed and enabled on the system.
  • MpCmdRun.exe must be located at C:\Program Files\Windows Defender\MpCmdRun.exe.
Varshini

Varshini is a Cyber Security expert in Threat Analysis, Vulnerability Assessment, and Research. Passionate about staying ahead of emerging Threats and Technologies.

Recent Posts

Bash Scripting Best Practices Every Beginner Should Know

Introduction Bash scripting is a powerful way to automate Linux tasks, but writing a script…

23 hours ago

How To Create A Self-Signed SSL Certificate Using Bash And OpenSSL

Introduction A self-signed SSL certificate is a certificate that is created and signed by the…

1 day ago

How To Debug Bash Scripts Using bash -x And set Commands

Introduction Debugging is an important part of Bash scripting. When a script does not work…

1 day ago

How To Use Cron Jobs With Bash Scripts For Automation

Introduction Cron jobs are used in Linux to run commands or Bash scripts automatically at…

1 day ago

How To Use Pipes In Bash Scripts For Command Chaining

Introduction Pipes are an important feature in Linux and Bash scripting. A pipe allows you…

1 day ago

How To Use grep, awk, And sed In Bash Scripts

Introduction The grep, awk, and sed commands are powerful text-processing tools in Linux. They are…

1 day ago