Cybersecurity-Projects/PROJECTS/beginner/c2-beacon
dependabot[bot] 4cf5e8beeb
chore(deps): bump starlette in /PROJECTS/beginner/c2-beacon/backend
Bumps [starlette](https://github.com/Kludex/starlette) from 0.52.1 to 1.0.1.
- [Release notes](https://github.com/Kludex/starlette/releases)
- [Changelog](https://github.com/Kludex/starlette/blob/main/docs/release-notes.md)
- [Commits](https://github.com/Kludex/starlette/compare/0.52.1...1.0.1)

---
updated-dependencies:
- dependency-name: starlette
  dependency-version: 1.0.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-04 17:25:29 +00:00
..
backend chore(deps): bump starlette in /PROJECTS/beginner/c2-beacon/backend 2026-06-04 17:25:29 +00:00
beacon feat: did a couple things idk 2026-02-28 14:08:36 -05:00
frontend fix: pin pnpm to v10 in CI and add .npmrc to all frontend projects 2026-05-08 05:46:38 -04:00
infra feat: simple c2 beacon complete 2026-02-14 03:02:43 -05:00
learn feat: simple c2 beacon complete 2026-02-14 03:02:43 -05:00
.env.example feat: simple c2 beacon complete 2026-02-14 03:02:43 -05:00
.gitignore feat: simple c2 beacon complete 2026-02-14 03:02:43 -05:00
LICENSE feat: simple c2 beacon complete 2026-02-14 03:02:43 -05:00
README.md Update README.md 2026-04-08 00:46:42 -04:00
compose.yml feat: simple c2 beacon complete 2026-02-14 03:02:43 -05:00
dev.compose.yml feat: simple c2 beacon complete 2026-02-14 03:02:43 -05:00
justfile feat: simple c2 beacon complete 2026-02-14 03:02:43 -05:00

README.md

 ██████╗██████╗     ██████╗ ███████╗ █████╗  ██████╗ ██████╗ ███╗   ██╗
██╔════╝╚════██╗    ██╔══██╗██╔════╝██╔══██╗██╔════╝██╔═══██╗████╗  ██║
██║      █████╔╝    ██████╔╝█████╗  ███████║██║     ██║   ██║██╔██╗ ██║
██║     ██╔═══╝     ██╔══██╗██╔══╝  ██╔══██║██║     ██║   ██║██║╚██╗██║
╚██████╗███████╗    ██████╔╝███████╗██║  ██║╚██████╗╚██████╔╝██║ ╚████║
 ╚═════╝╚══════╝    ╚═════╝ ╚══════╝╚═╝  ╚═╝ ╚═════╝ ╚═════╝ ╚═╝  ╚═══╝

Cybersecurity Projects Python React License: AGPLv3 Docker MITRE ATT&CK

Command and Control beacon and server with XOR-encoded WebSocket protocol, 10 MITRE ATT&CK mapped commands, and a real-time operator dashboard.

This is a quick overview — security theory, architecture, and full walkthroughs are in the learn modules.

What It Does

  • WebSocket-based C2 protocol with XOR + Base64 encoding and shared-key authentication
  • 10 beacon commands mapped to MITRE ATT&CK: shell, sysinfo, proclist, upload, download, screenshot, keylog, persist, sleep
  • Real-time operator dashboard showing connected beacons with live heartbeat tracking
  • Terminal-style session page with command history, tab autocomplete, and inline screenshot rendering
  • Per-beacon async task queues with SQLite persistence and full task history
  • Exponential backoff reconnection with configurable sleep interval and jitter

Quick Start

docker compose -f dev.compose.yml up -d

Visit http://localhost:47430 to open the operator dashboard.

Run a beacon in a separate terminal:

just beacon

[!TIP] This project uses just as a command runner. Type just to see all available commands.

Install: curl -sSf https://just.systems/install.sh | bash -s -- --to ~/.local/bin

Stack

Backend: FastAPI, aiosqlite, Pydantic, uvicorn

Frontend: React 19, TypeScript, Vite, Zustand, Zod

Beacon: asyncio, websockets, psutil, pynput, mss

Learn

This project includes step-by-step learning materials covering security theory, architecture, and implementation.

Module Topic
00 - Overview Prerequisites and quick start
01 - Concepts C2 frameworks, MITRE ATT&CK, and detection
02 - Architecture Protocol design and data flow
03 - Implementation Code walkthrough
04 - Challenges Extension ideas and exercises

License

AGPL 3.0

Screenshot_20260214_022250 Screenshot_20260214_022135