Awesome
BLUESPAWN
Code Status
Our Mission
BLUESPAWN helps blue teams monitor systems in real-time against active attackers by detecting anomalous activity
What is BLUESPAWN
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.
Get Involved & Contribute to the project
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.
Why we made BLUESPAWN
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.
Coverage of MITRE ATT&CK
Visit this map to see current coverage capabilities
Try out BLUESPAWN
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
Mitigate Mode
- 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
Hunt Mode
- 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
Monitor Mode
- 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
Lines of Effort
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
Talks, Publications, and Other Mentions
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
Contact Us
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.
Licensing & Compliance
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.
Project Authors
Made with :heart: 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)
Contributors
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!
Special Thanks
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