| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
RedSand is a set of pre-made .wsb profiles that spin up a Windows Sandbox tailored for security work — just double-click one. Each profile maps a read-only Utils/ folder (scripts, toolkits) plus the host folders appropriate for its workflow, then runs a setup script on logon.
Modify the .wsb and .ps1 files freely to match your workflow. Contributions of all kinds — new scripts, .wsb tweaks, documentation — are welcome.
Post-logon boot — dark theme and RedSand wallpaper applied by setup.ps1.
# Run as Administrator
.\Utils\Scripts\AdditionalScripts\OnHost\enableSandboxFeature.ps1Tip: For first-time setup, Utils\Scripts\AdditionalScripts\OnHost\prepareForRedSand.ps1 orchestrates step 1 (feature check) and pre-stages tools in Utils/Toolkits/ so the strict profiles have something to work with — interactive picker, or pass -All to grab everything.
Pick the profile that matches your workflow. All profiles share the same setup.ps1 (dark theme, dev mode, wallpaper, ExecutionPolicy) — they differ in sandbox isolation knobs and which host folders are mapped.
| Setting | RedSand.wsb (default) | RedSand-Analysis.wsb | RedSand-Forensics.wsb |
|---|---|---|---|
| Audience | General-purpose | RE / static + dynamic binary analysis | Triaging evidence images |
| Networking | Default | Disable | Disable |
| ClipboardRedirection | Disable | Disable | Disable |
| ProtectedClient | Enable | Enable | Enable |
| AudioInput | Default | Disable | Disable |
| VideoInput | Default | Disable | Disable |
| PrinterRedirection | Default | Disable | Disable |
| VGpu | Default | Disable | Default |
| MemoryInMB | 4096 | 4096 | 8192 |
| Files/ mapping | read-write | — | — |
| Input/ mapping | — | read-only | read-only |
| Output/ mapping | — | read-write | read-write |
| Utils/ mapping | read-only | read-only | read-only |
Each profile's .wsb has the Output/ mapping clearly marked — comment that MappedFolder block out if you want a sandbox with zero writable host mappings.
If you pick a network-off profile (Analysis / Forensics), run the on-host downloader scripts first so the tools you need are pre-staged in Utils/Toolkits/ before launch — once the sandbox boots there's no way to fetch them.
What setup.ps1 does on every profile:
RedSand/
├── profiles/ # Sandbox configs — double-click one to launch
│ ├── RedSand.wsb # Default
│ ├── RedSand-Analysis.wsb # No network, max isolation, read-only Input/
│ └── RedSand-Forensics.wsb # No network, 8 GB, read-only Input/
├── Files/ # Read-write scratch (default profile only)
├── Input/ # Read-only sample / evidence drop (Analysis + Forensics)
├── Output/ # Read-write results dir (Analysis + Forensics)
├── Tools/ # Read-only BYO tools (mapped by every profile, see Customization)
└── Utils/
├── Toolkits/ # Tools downloaded by OnHost scripts land here
└── Scripts/
├── DefaultScripts/ # Run automatically on logon (every profile)
│ └── setup.ps1
└── AdditionalScripts/
├── OnHost/ # Run these on your host before launching
└── InSandbox/ # Run these inside the sandbox (manual or via wsb)
Utils/ is always mapped read-only. Files/ is mapped read-write only by the default profile. Input/ is mapped read-only by Analysis and Forensics; Output/ is mapped read-write by the same two. Anything you download on the host into Utils/Toolkits/ (via the OnHost scripts) becomes available inside the sandbox at C:\users\WDAGUtilityAccount\Desktop\Utils\Toolkits\.
| Script | What it does |
|---|---|
| prepareForRedSand.ps1 | One-shot orchestrator. Checks the sandbox feature is enabled, then runs the downloader scripts below (interactive picker, or -All / -Sysinternals / -Zimmerman flags). |
| enableSandboxFeature.ps1 | Enables the Windows Sandbox optional feature. Requires admin; may need a reboot. |
| downloadSysinternalsSuite.ps1 | Downloads SysinternalsSuite into Utils/Toolkits/SysinternalsSuite/. |
| downloadZimmermanTools.ps1 | Fetches Eric Zimmerman's forensics tools into Utils/Toolkits/Zimmerman/. |
| build-wsb.ps1 | Interactive .wsb builder. Walks through every Windows Sandbox setting and writes a configuration file. Output path is freeform (relative or absolute). |
| build-toolkit-installer.ps1 | Interactive generator for scoop-based tool-pack installers (same shape as installAnalysisTools.ps1). Pick buckets, list tools, choose global (sandbox / admin) or per-user scope; writes a runnable .ps1. |
To run any OnHost script, open PowerShell in the repo root:
powershell.exe -ExecutionPolicy Bypass -File .\Utils\Scripts\AdditionalScripts\OnHost\<script-name>.ps1prepareForRedSand.ps1 is the recommended starting point for first-time setup.
| Script | What it does |
|---|---|
| installChocoAndScoop.ps1 | Installs both Scoop and Chocolatey. Prerequisite for the tool-pack installers below. |
| installAnalysisTools.ps1 | Lightweight RE pack via scoop: dnSpy, HxD, PE-bear, Detect It Easy, x64dbg, System Informer (formerly Process Hacker), Wireshark. |
| installForensicsTools.ps1 | Narrow forensics pack via scoop: HxD, ExifTool (complements pre-staged Sysinternals + EZ tools). |
| installREToolkit.ps1 | Downloads the latest REtoolkit release and runs the silent installer. |
| disableDefender.ps1 | Disables Defender inside the sandbox only (host untouched). Use when samples would otherwise be quarantined. |
| excludeInputFromDefender.ps1 | Softer alternative — keeps Defender running but adds Input/ to its exclusion list. |
| godMode.ps1 | Creates a "God Mode" control-panel folder on the desktop. |
| customScript.ps1 | Empty hook — drop whatever you want auto-run here. |
To auto-run any in-sandbox script on logon, uncomment the matching line in your chosen profile's .wsb:
<Command>powershell.exe -ExecutionPolicy Bypass -File C:\users\WDAGUtilityAccount\Desktop\Utils\Scripts\AdditionalScripts\InSandbox\installREToolkit.ps1</Command>NOTE: if you want to use any script that requires network connectivity (installREToolkit.ps1 OR installChocoAndScoop.ps1 and dependent on it installAnalysisTools.ps1/installForensicsTools.ps1) in 'Analysis' or 'Forensics' profile - please toggle <Networking>Default</Networking> in respective .wsb file.
The .wsb schema is documented by Microsoft: Windows Sandbox configuration.
Common tweaks:
For one-off in-sandbox setup, edit customScript.ps1 and uncomment its <Command> line in your profile's wsb — keeps your customizations out of the always-run setup.ps1.
If you don't want a profile's writable Output/ mapping persisting state on the host, comment out the Output/ MappedFolder block in that wsb (it's marked with an inline comment).
Two interactive builders generate new .wsb profiles and scoop tool-pack installers without hand-editing XML or PowerShell:
# Build a custom .wsb (prompts for each isolation knob + mapped folders)
powershell.exe -ExecutionPolicy Bypass -File .\Utils\Scripts\AdditionalScripts\OnHost\build-wsb.ps1
# Generate a scoop-based tool-pack installer
powershell.exe -ExecutionPolicy Bypass -File .\Utils\Scripts\AdditionalScripts\OnHost\build-toolkit-installer.ps1The tool-pack builder asks for install scope — pick Global for the sandbox (admin install via scoop's --global) or Per-user if you're generating something for your everyday machine. The generated script adapts: per-user output drops the #Requires -RunAsAdministrator line and the --global flag, so the same builder works for both RedSand and standalone use.
Every profile maps Tools/ read-only into the sandbox at C:\users\WDAGUtilityAccount\Desktop\Tools\. Three ways to put things there:
Drop files directly. Copy a portable tool's folder (e.g. an extracted dnSpy/) into Tools/. It shows up inside the sandbox immediately on next launch.
Junction to an existing host install. If a tool already lives somewhere on your host (e.g. C:\Program Files\IDA Free 9.0), create a directory junction without copying anything:
mklink /J Tools\IDA "C:\Program Files\IDA Free 9.0"/J doesn't require admin (unlike /D symlinks). The sandbox sees Desktop\Tools\IDA\ mapped to that host directory — read-only, so the sandbox can't mutate your install.
Map an arbitrary host path directly in a wsb. When a tool lives somewhere awkward (different drive, path with spaces, etc.) and you don't want a junction, add a MappedFolder to your profile's .wsb with an explicit <SandboxFolder> destination:
<MappedFolder>
<HostFolder>D:\Reverse Engineering\Binary Ninja</HostFolder> <!-- where it lives on YOUR machine -->
<SandboxFolder>C:\BinaryNinja</SandboxFolder> <!-- where it appears INSIDE the sandbox -->
<ReadOnly>true</ReadOnly>
</MappedFolder><HostFolder> is the source on the host; <SandboxFolder> is the destination inside the VM. Omit <SandboxFolder> and the mapping defaults to C:\users\WDAGUtilityAccount\Desktop\<basename>\ — fine for most folders, but <SandboxFolder> is useful when (a) you want a clean path like C:\BinaryNinja\ that scripts inside the sandbox can reference, (b) two host folders share a basename and would collide on the default Desktop scheme, or (c) the host folder name contains spaces and you'd rather not navigate Desktop\Binary Ninja\ in PowerShell.
Don't want to hand-edit XML? build-wsb.ps1 handles this interactively. When you say yes to "Add another mapped folder?" it prompts for:
Host path (any: ..\Input\, or absolute like D:\Tools\Binja): D:\Reverse Engineering\Binary Ninja
Read-only? [Y/n]: y
Map to a specific path inside the sandbox (defaults to Desktop\<folder name>)? [y/N]: y
Sandbox path (e.g. C:\BinaryNinja): C:\BinaryNinja
The generated wsb gets a MappedFolder block with both <HostFolder> and <SandboxFolder> set. The summary screen shows custom destinations as host -> sandbox so you can verify before writing.
Tools/ itself is gitignored, so anything you put there stays local to your machine.
A few things worth knowing before you drop sensitive material into the sandbox:
See SECURITY.md for reporting vulnerabilities.
See CONTRIBUTING.md. New .ps1 scripts, .wsb tweaks, and doc improvements all welcome. CI runs PSScriptAnalyzer, parses every script, and validates the .wsb XML — please make sure it goes green.
Heavily influenced by and reusing concepts from:
| Back | FazBrowse Home | New Git URL |