Project Highlights
Listed below are some of my favorite projects that I've created or worked on. All my other projects can also be found here on my GitHub Profile.
ThunderStorm
ThunderStorm is the name for the over-arching C2 solution that I've been developing since 2019. Based off XMT, a Golang-based C2 framework (that I also created), ThunderStorm aims to be a successor to mature, currently used C2 software/service, such as CobaltStrike and Sliver.
ThunderStorm has many components involved in it:
- Jetstream (Bolt Builder)
- Bolts (Agents)
- Cirrus (The C2 Service)
- Doppler (CLI Client Manager)
- StormFront (Web GUI Client Manager)
Also included is a HTTP ReSTful API that allows for automation and control without direct involvement.
Currently, ThunderStorm has been tested in to separate CTF events (BSidesLV 2021 & BSidesDE 2021) with promising results!
XMT: eXtensible Malware Toolkit
I can't mention ThunderStorm without also mentioning XMT.
XMT stands for eXtensible Malware Toolkit and is a solid framework that can be used to develop implants and server C2 software.
Written in Golang, XMT has support for all the current architectures and operating systems supported by Golang upstream.
Special care is written into XMT for cool features in Windows, such as:
- Memory Injection
- Evasion
- DLL Injection/Reflective Loading
- Migration
- Assembly Instructions
- Window Tools
- Screenshots
- Advanced Command Execution
Other unique features about XMT are the multiple methods that can be used to masquerade C2 traffic using the Wrapper and Transform interfaces, encryption and unwrapping of strings during runtime, built-in task support so there's no need for developing any command wrappers out-of-the-box and support for both JavaScript and the Monkey programming languages internally. These must be registered beforehand.
Additionally, many build flags allow for changing up how XMT acts during runtime, which is great for keeping defenders on their toes.
I gave a presentation on XMT (also ThunderStorm) at BSides Las Vegas 2022 called "So you Wanta Build a C2?" you can Watch the Video here or View the Slides.
Spaceport: System Management Daemon
The System Management Daemon (SMD for short) was a software solution made out of necessity. Instead of having a complex hierarchy of scripts and "sudo" commands just to change the CPU speed, I developed a dynamic platform that allows for full control over my device.
Yup, you read that right. SMD is a system platform software solution that I run
on my own Linux Laptop Tablet. It allows for privilege separation when running
simple tasks such as changing the brightness or changing the CPU governor.
However, SMD does way more! From managing user sessions and startup options for programs to composers, it also manages the hardware. This allows for fully working hibernate/suspend and complex locking scenarios (such as using Yubikeys).
Additionally, with the Hydra plugin, SMB can also manage virtual machines with the assistance of QEMU!
Based on a simple "plug and play" model, new modules can be added or removed by changing the files in the "modules" folder, no dependencies required! (Ok, except Python3!)
Dotfiles
What kind of Linux elitist would I be without publishing my dotfiles? lol
Self-explanatory, these are the scripts and configs I use every day. They are meant to be used on tandem with SMD, just to make life easy for me.
Scorebot Scoreboard
I got into programming, ironically enough, starting out writing HTML sites with C#. What better way to come full circle than to top it off with one of the best looking sites I could create?
If you're not familiar with Pros Versus Joes, you can read up here
If you've seen or played in any PVJ CTF since ~2018, you should have seen this beauty! Written in Golang and backed by a powerful hashing backend, this site uses WebSockets and come slick JavaScript (no bullshit JS frameworks either!) to dynamically create and display the Scoreboard. Only updating things that have changed, this is a dramatic change from previous versions that re-compute the display every 5 seconds.
Not only does it look good, but it can guarantee that each page viewing the Scoreboard is in sync and consistent across viewers/browsers.
Lastly, its optimized for all display types, you can use this to keep track of your team with any device!
View Scorebot Scoreboard on GitHub
Scorebot3
Last but not least, the core of ProsVJoes games, Scorebot!
While a little older than most projects here, Scorebot3 has been battle tested and has went through many revisions to get where it is today.
Solid enough to run large scale games on, it's still doing math since ~2016.