external_c2_framework
external_c2_framework copied to clipboard
Beta Release
Code in the master
branch is considered tested and stable. Once all of the changes that need to be done for the beta release are complete, then we can push them into the master
branch.
Tasks
The following tasks must be completed before the codebase can be considered ready for beta release:
- [ ] Create pull request to implement all new features from the
beta_stable
branch to thedev
branch. - [ ] Merge
beta_stable
intodev
. (Blocked by all tasks below) - [ ] Merge
dev
intomaster
Server
- [x] Fix #14 - implement support to handle multiple clients
- [X] ~~Create and fix an issue to refactor and abstract the server~~ Not needed
- [X] ~~NOTSURE: Implement the ability to support different transports across different clients~~ Not going to be a goal for beta release
Client
- [x] Merge #21 - merge full python
cobalt_strike
clientcore - [ ] Fix #22 - refactor
cobalt_strike
c2 client
Transport
- [ ] Fix #13 - support both batch encoding
- [ ] Standardize on having the transport handle calling the encoder
- [X] Convert all existing transports into something that can be interfaced by a common object
Base Logic
- [X] NOTSURE: Refactor the
framework
server
interface so that we can support the management of multiple frameworks with aframework_manager
. ~~This may be out of scope for the beta release.~~
Documentation
- [x] Fix #19 - Create builder documentation
- [x] Create documentation for the builder
- [ ] Fix #25 - Add documentation to internal functions.
Builder
- [ ] NOTSURE: Fix #28 - add some simple validation to the builder values
Pushing anticipated release date to end of May 2018. Life happens unfortunately 😞
I'm gonna go ahead and close this as a wontfix
for now. Please reference #26 for additional details.
Reopening. I'm gonna continue with the existing codebase for now and reconsider a rewrite for a later date.
Should probably consider whether or not we want to move towards a saner, more standardized style, as described here, as a target for this release.
This SHOULDN'T be terribly difficult, especially with something like PyCharm, but would be nice to have. This could also be done after beta, but we'll see.