Skip to content

Cobalt-Strike/cobaltstrike-web-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cobalt Strike Web Client

This is a PoC web interface developed as part of some internal experiments during the development of CS 4.12 and the CS REST API. More information can be found here.

cs_web_client_demo.mp4

Note

This tool is still in early development stage and subject to breaking changes. It has been vibe-coded, so don't be too hard on the quality of the code 😉

Installation

  1. Clone the repository:

    git clone <repository-url>
    cd cobalt-strike-webclient
  2. Create a virtual environment:

    python -m venv venv
    venv\Scripts\activate  # Windows
    # or
    source venv/bin/activate  # Linux/Mac
  3. Install dependencies:

    pip install -r requirements.txt
  4. Configure environment variables:

    copy .env.example .env
    # Edit .env with your configuration
  5. Generate a secret key:

    python -c "import secrets; print(secrets.token_hex(32))"

    Add this to your .env file as SECRET_KEY.

Configuration

Environment Variables

Create a .env file based on .env.example:

  • SECRET_KEY: Flask secret key (generate a strong random key)
  • COBALT_STRIKE_BASE_URL: Base URL of your Cobalt Strike team server
  • SESSION_TIMEOUT: Session timeout in seconds
  • LOG_LEVEL: Logging level (DEBUG, INFO, WARNING, ERROR)

Cobalt Strike Configuration

Ensure your Cobalt Strike team server has the REST API enabled:

  1. Start the Team Server with REST API enabled
  2. Configure the appropriate ports and SSL certificates
  3. Verify the API documentation is accessible at /v3/api-docs

Usage

  1. Start the development server:

    cd cobalt_web_client
    python \run.py
  2. Access the application: Open your browser and go to http://127.0.0.1:5000

  3. Login:

    • Enter your Cobalt Strike username and password
    • Set the session duration (in milliseconds)
    • Click "Login" to authenticate
  4. Play around!:

    • View listeners, beacons, and targets
    • Run Commands on Beacons

Troubleshooting

Common Issues

  1. Certificate errors:

    • Ensure SSL certificates are properly configured
    • For development, self-signed certificates are acceptable
  2. Authentication failures:

    • Verify Cobalt Strike credentials
    • Check team server REST API configuration
    • Ensure proper network connectivity
  3. Session timeouts:

    • Adjust session timeout settings
    • Check JWT token expiration

Logs

Check application logs for detailed error information:

  • Application logs: logs/cobalt_web_client.log
  • Flask development logs: Console output

Support

For issues and questions:


Warning

This tool provides direct access to Cobalt Strike capabilities, which include powerful adversary simulation capabilities. Use responsibly and only in environments where you have explicit permission to perform security testing.

About

A PoC web interface for interacting with Cobalt Strike through its REST API.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages