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 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 special features in Windows, such as:
- Memory Injection
- DLL Injection/Reflective Loading
- Assembly Instructions
- Window Tools
- Advanced Command Execution
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!)
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.
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
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
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.