BLUESPAWN helps blue teams monitor Windows systems in real-time against active attackers by detecting anomalous activity
BLUESPAWN is an active defense and endpoint detection and response tool which means it can be used by defenders to quickly detect, identify, and eliminate malicious activity and malware across a network.
We've created and open-sourced this for a number of reasons which include the following:
- Move Faster: We wanted tooling specifically designed to quickly identify malicious activity on a system
- Know our Coverage: We wanted to know exactly what our tools could detect and not rely on blackbox software as much (ie AV programs). This approach will help us to better focus our efforts on specific lines of effort and have confidence in the status of others.
- Better Understanding: We wanted to better understand the Windows attack surface in order to defend it better
- More Open-Source Blue Team Software: While there are many open-source Red Team Tools out there, the vast majority of some of the best Blue Team tools are closed-source (ie, AVs, EDRs, SysInternals, etc). We shouldn't need to rely on security through obscurity to prevent malicious actors (obviously very difficult, but something to strive for!)
- Demonstrate Features of Windows API: We combed through a ton of Microsoft Documentation, StackOverflow Answers, and more to create this. Hopefully others may find some of the code useful.
Visit this map to see current coverage capabilities
Note: BLUESPAWN is under active alpha development, so many features may not work as expected yet and detections may be too narrow scope or generate lots of false positives.
Note 2: BLUESPAWN is meant to be run by a security professional in most cases and as such, will detect on non-malicious activity sometimes. While BLUESPAWN helps to quickly surface potentially bad things, it expects the user to use the available information to make the final determination.
- Download the latest release from this page
- Open an Administrative Command Prompt
- Run the following command to see the available options
.\BLUESPAWN.exe --help
- Run the following from your Administrative Command Prompt to audit your system for the presence of many security settings
.\BLUESPAWN-client-x64.exe --mitigate=audit --log=console
- Run BLUESPAWN from the Administrative Command Prompt to hunt for malicious activity on the system
.\BLUESPAWN-client-x64.exe --hunt -l Cursory --log=console,xml --reaction=log
BLUESPAWN consists of 3 major modes as listed below. Several of these modules have submodules (which may not be created in the codebase yet) as listed below and all are in varying stages of planning, research, and development. Additionally, they are supported by a number of other modules.
-
Hunt (Hunts for evidence of malicious behavior)
-
Mitigate (Mitigates vulnerabilities by applying security settings)
-
Monitor (Continuously monitors the system for potentially malicious behavior)
-
User (Contains program main, IOBase, and other similar functions)
-
Util (Contains a collection of modules that support core operations)
- Configurations
- Event Logs
- File System
- Log
- PEs
- Processes
If you have any questions, comments, or suggestions, please feel free to send us an email at [email protected]
The core BLUESPAWN code is licensed under GNU General Public License (GPL) v3.0.
Note that the project integrates several other libraries to provide additional features/detections. One of these is Florian Roth's signature-base which is licensed under the Creative Commons Attribution-NonCommercial 4.0 International License. YARA rules from this project are integrated into the standard build without any changes. In order to use BLUESPAWN for any commercial purposes, you must remove everything under the "Non-Commercial Only" line in this file and recompile the project.
Made with ❤️ by the UVA Cyber Defense Team Windows Group
- Jake Smith (Github, Twitter)
- Calvin Krist (Github, Twitter)
- Jack McDowell (Github)
- Will Mayes (Github, Twitter)
- Grant Matteo (Github)
Thanks to all of the folks listed below for their contributions to BLUESPAWN!
- Alexander Kluth (Github)
Want to help? Take a look at the current issues, add ideas for new features, write some code, and create a pull request!
We would like to provide a special thank you to the following projects that have helped us to build BLUESPAWN:
- Github's support of open-source projects, especially the ability for unlimited use Github Actions
- Microsoft's documentation and examples on the Windows API
- The Department of Defense's Defense Information Systems Agency (DISA) for their great work in publishing STIGs and various other technical security guidance for Windows.
- @hasherezade's PE Sieve, which currently manages our process analytics
- VirusTotal's YARA Project which we use to scan data for malicious identifiers
- The Yara Rules Project's Rules repository which contains a large collection of open-source YARA rules
- @Neo23x0's open-source signature-base project which contains a large collection of YARA rules
- The MITRE's ATT&CK Project which has put together an amazing framework for which to consider, document, and categorize attacker tradercraft
- Red Canary's Atomic Red Team and Invoke-AtomicRedTeam Projects which have been incredibly useful in helping to test the detections we are building
- Amazon's Open Source at AWS Initiative who has provided our team some AWS promotional credits to help us reserach and test BLUESPAWN better
- The NSA Cybersecurity Directorate's Windows Event Forwarding Guidance
- Sean Metcalf's Active Directory Security blog ADSecurity
- @op7ic's EDR-Testing-Script Project
- The Japan Computer Emergency Response Team (JPCERT)'s Tool Analysis Result Sheet for its documentation of attacker behavior and correlation with detection opportunities
- @jarro2783's cxxopts which we use to parse command line arguments
- @leethomason's tinyxml2 library which we use to output scan information to XML