BLUESPAWN helps blue teams monitor 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.
Want to help make BLUESPAWN even more effective at locating and stopping malware? Join us on the BLUESPAWN Discord Server and help with development or even just suggest a feature or report a bug. No experience required - there's no better way to learn about development or security than by just jumping right in!
If you'd like to help contribute code, you can get started by checking out our wiki page on setting up your development environment. Please feel free to reach out to us in Discord if you run into any problems getting set up! We generally track bugs and new features through Issues and coordinate in chat when doing any development work.
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 Operating System APIs: 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.
- Check out the Wiki pages to learn more about the available command line options, examples, and more.
- Download the latest release from this page
- Open an Administrative Command Prompt
- Run the following command to see the available options
.\BLUESPAWN-client-x64.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 --action=audit
- Run BLUESPAWN from the Administrative Command Prompt to hunt for malicious activity on the system
.\BLUESPAWN-client-x64.exe --hunt -a Cursory --log=console,xml
- Run BLUESPAWN from the Administrative Command Prompt to monitor for malicious activity on the system
.\BLUESPAWN-client-x64.exe --monitor -a Cursory --log=console,xml
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)
-
Scan (Used to assess items identified by hunts and make a decision whether or not it is suspicious/malware)
-
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
Here are some of the places you may have heard about the project :)
DEFCON 28 Blue Team Village - Overview, Slides
National Collegiate Cyber Defense Competition, 2020 Red Team Debrief - Youtube
BLUESPAWN Research Paper at UVA - Paper, DOI 10.18130/v3-b1n6-ef83
If you have any questions, comments, or suggestions, please feel free to send us an email at bluespawn@virginia.edu or message us in the BLUESPAWN Discord Server.
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 and the other awesome people in the core dev team listed below
- Jake Smith (Github, Twitter)
- Jack McDowell (Github)
- Calvin Krist (Github, Twitter)
- Will Mayes (Github, Twitter)
- David Smith (Github)
- Aaron Gdanski (Github)
- Grant Matteo (Github)
Thanks to all of the folks listed below for their contributions to BLUESPAWN!
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
- Geoff Chappell's website on Windows components
- Matt Graeber's amazing Windows Security research including his Subverting Trust in Windows Paper
- @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