carbon

command module
v0.3.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 27, 2024 License: MIT Imports: 3 Imported by: 0

README


title: Carbon linkTitle: Docs menu: {main: {weight: 20}}

Infrastructure automation for offensive operations. https://analog-substance.github.io/carbon/

Purpose


Carbon's primary purpose is to provide a consistent execution environment to facilitate offensive security assessments.

It uses:

  • Packer to build images.
  • Terraform to provision infrastructure.
  • Golang project structure.

Features


It is aimed at supporting various services to ensure it can scale with you as your operations become more complex.

Feature AWS ✅ QEMU ✅ VirtualBox ✅ vSphere ❌ Multipass ✅ Azure ❌ GCP ❌
Image build templates ❌ N/A
Build Images ❌ N/A
VM Management
Infrastructure Creation ❌ N/A

❌ = Not Right Now, but soon
✅ = Supported

Install


You can download a prebuilt release from our GitHub Releases page. Or use go install.

go install github.com/analog-substance/carbon@latest

Carbon expects Packer, Terraform, and an SSH client to be installed and accessible in your $PATH.

Usage


Manage and use infrastructure with a consistent interface, regardless of where it lives.

Usage:
  carbon [command]

Available Commands:
  completion  Generate the autocompletion script for the specified shell
  config      Display config information
  dev         Unstable sub-commands for testing random ideas
  help        Help about any command
  image       manage images and image builds
  vm          Manage and interact with VMs

Flags:
      --config string         config file (default is $HOME/.carbon.yaml)
  -e, --environment strings   Environment to use. Some providers/profiles support many environments.
  -h, --help                  help for carbon
  -j, --json                  Output in JSON
  -p, --profile strings       Profile to use. Like an instance of a provider. Used to specify aws profiles
  -P, --provider strings      Provider to use vbox, aws
  -v, --version               version for carbon

Use "carbon [command] --help" for more information about a command.

Images


Bootstrap Image Build Configuration
carbon image bootstrap -n my-image -t ubuntu-24.04 -s aws
Build Images
carbon image build -n my-image
Manage Images and Image Builds

List image build configs.

carbon image list -b

Infrastructure


Create New Infrastructure
Modify Infrastructure
Teardown Infrastructure

Operating


Starting
carbon vm start -i i-afde123ae43
Stopping
carbon vm stop -i i-afde123ae43
Connecting to VMs
carbon vm ssh -i i-afde123ae43

Things to do


  • docs
    • vhs example gifs
  • create/destroy one off VMs
  • provision aws env (create files, call terraform)
  • Self Test to ensure dependencies are met
  • Cloud init from templates (Base, Operator, Operator Desktop, Implant VM)
  • vSphere provider
  • DNS management
    • point a domain
    • list domains
  • Jobs / Distributed execution
  • Simple deploy/config of services (Pwndoc, Gophish, modlishka, Guacamole, Sliver, Mythic)
  • GCP Provider
  • Azure Provider
  • LXD Provider
  • Different OS (CentOS, Arch)
  • Chat Bots
    • Slack Bot
    • Discord Bot
  • Web GUI
  • tests (lol, this should not be last)

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL