Und3rf10w / external_c2_framework

Python api for usage with cobalt strike's External C2 specification

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Beta Release

Und3rf10w opened this issue · comments

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 the dev branch.
  • Merge beta_stable into dev. (Blocked by all tasks below)
  • Merge dev into master

Server

  • Fix #14 - implement support to handle multiple clients
  • Create and fix an issue to refactor and abstract the server Not needed
  • NOTSURE: Implement the ability to support different transports across different clients Not going to be a goal for beta release

Client

  • 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
  • Convert all existing transports into something that can be interfaced by a common object

Base Logic

  • NOTSURE: Refactor the framework server interface so that we can support the management of multiple frameworks with a framework_manager. This may be out of scope for the beta release.

Documentation

  • Fix #19 - Create builder documentation
  • 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.