PAGES
← all tools
◆ Exploitation & C2

poshc2

v9.0 open-source

PoshC2 is a proxy aware C2 framework used to aid penetration testers with red teaming, post-exploitation and lateral movementlateral movementMoving from an initially compromised system or identity to other resources in a network. Attackers often use stolen credentials or trusted connections to expand their access..

Summary

poshc2 is an open-source command-and-control framework, free to use, built to help penetration testers with red teaming, post-exploitation and lateral movement. It runs as a client/server setup, deployed via Docker, with a server component that multiple team members can connect to and implants (PowerShell, C#, Python) deployed against Windows, *nix and OSX targets. It is aimed at red teamers and penetration testers who need to run their own C2 infrastructure rather than rely on a hosted platform, and its documentation describes it as a proxy-aware framework generating auto-configured Apache rewrite rules to protect that infrastructure. It sits in the same space as other post-exploitation C2 frameworks used in offensive engagements. Development has slowed markedly: first committed in 2018 with 42 contributors over its life, the project has seen only one commit in the past year and its last release was over two years ago.

PoshC2 is a proxy aware C2 framework used to aid penetration testers with red teaming, post-exploitation and lateral movement.

How poshc2 helps

Which of my compromised hosts are still checking in, and how do I reach one to run commands?

lists active implants across every operating system reporting to the server, and drops into a handler session for any one of them to issue commands and see the response

How do I move from one foothold to other machines on the network without redeploying my infrastructure?

reuses the same encrypted channel and beacon configuration for new implants dropped on additional hosts, so lateral movement runs through the same tracked session model as the original foothold

Can several of us work the same engagement without stepping on each other?

runs as a single server that multiple operators connect to at once, with every action and response timestamped and attributed to the user and host that issued it

Will my payloads get flagged before they even beacon out?

ships shellcode with built-in AMSI bypass and ETW patching baked into the generated executables, DLLs and scripts, aimed at getting past common antivirus products

How exposed is my C2 infrastructure to being fingerprinted or torn down?

auto-generates Apache rewrite rules that front the server as a reverse proxy, and encrypts all beacon traffic end-to-end so contents stay opaque even sent over plain HTTP

Can I reconstruct exactly what happened on this engagement afterward?

keeps every task, response, user and implant number in a database plus a separate server output log, so the sequence of an operation can be pulled back out after the fact

all 10 features, with the evidence for each →

Languages

Not documented

Features

10 capabilities · 4 backed by code, an API document or a real run

Built from poshc2's releases, docs, README and our own runs. “Seen” marks the month we first spotted a release the vendor didn't date. Group names and tags are our labels.

Compare with peers →

What poshc2 offers you

  • Command-line interface4
All capabilities 10 capabilities
Database backend configuration verified Supports SQLite and Postgres as database backends, configurable via connection string and database type options. 2 releases · 6 other sources · first seen May 2020

Also counts toward: Command-line interface

release

  • Adds basic graphical user interface (GUI) for managing C2 operations. v9.0 · Jun 2024 · source · release history
  • Adds basic API for programmatic access to PoshC2 functionality. v9.0 · Jun 2024 · source · release history

command line

  • --postgres_string — The postgres connection string (if using postgres) v6.0 · May 2020 · command-line history
  • --database_type — The database type (SQLite/Postgres) v6.0 · May 2020 · command-line history

example

  • List all existing projects posh-project -l
  • Start server with specific Docker tag posh-server -t latest
  • Launch the PoshC2 C2 server posh-server
  • Edit current project configuration posh-config
Implant source tracking verified Records or displays the source associated with an implant. 6 releases · 1 other source · first seen Nov 2019

release

  • Adds Linux Implant support for cross-platform operations v8.0 · Mar 2022 · source · release history
  • Adds StandIn.exe binary distribution for SilverTicket/PassTheTicket attacks v7.1.0 · Dec 2020 · source · release history
  • Adds ability to configure payload stage retries via configuration v7.1.0 · Dec 2020 · source · release history
  • Adds the createnewshellcode CLI subcommand for generating shellcode payloads v7.0 · Aug 2020 · source · release history
  • Enables Donut Shellcode loader integration for payload generation v7.0 · Aug 2020 · source · release history
  • Adds AMSI & ETW Patching capabilities to generated shellcode v7.0 · Aug 2020 · source · release history

command line

Implant auto-hide verified Automatically hides implants that have been inactive for 30 beacons. 2 releases · 3 other sources · first seen May 2020

release

  • Improves Help output and prints usage for posh-project -d if no project name is passed v7.1.0 · Dec 2020 · source · release history
  • Adds option to perform basic domain checks in PS/C# implants v7.1.0 · Dec 2020 · source · release history

command line

  • --autohide — to autohide implants after 30 inactive beacons v6.0 · May 2020 · command-line history

example

  • Create a new PoshC2 project posh-project -n <project-name>
  • Run implant handler for interactions posh -u <username>
C2 Server Launch and Execution shipped Provides commands to start the PoshC2 C2 server instance and manage its runtime via Docker tags. 1 release · 2 other sources · first seen Oct 2020

Also counts toward: Command-line interface

release

  • posh-update now defaults to the current branch instead of master when no branch is specified v7.0.5 · Oct 2020 · source · release history

example

  • Start server with specific Docker tag posh-server -t latest
  • Launch the PoshC2 C2 server posh-server
Project Management shipped Enables the creation, listing, and configuration of distinct PoshC2 project environments. 3 other sources

example

  • Create a new PoshC2 project posh-project -n <project-name>
  • List all existing projects posh-project -l
  • Edit current project configuration posh-config
Implant Handler Session Management shipped Allows operators to launch and manage active implant handler sessions for post-exploitation interactions. 2 other sources · first seen Oct 2020

Also counts toward: Command-line interface

example

  • Stop a running SharpSocks session via the CLI. stopsocks v7.0.5 · Oct 2020 · source
  • Run implant handler for interactions posh -u <username>
SharpSocks proxy management shipped Allows operators to configure the proxy deployment parameters and manage its runtime state across C2 server and C# implants. 2 releases · first seen Oct 2020

Also counts toward: Command-line interface

release

  • Adds SharpSocks port configuration in Dockerfile for Docker deployments v7.0.5 · Oct 2020 · source · release history
  • Adds stopsocks subcommand to stop SharpSocks in C# implant v7.0.5 · Oct 2020 · source · release history
C# dropper implementation shipped Generates or updates the C# dropper component used to implant the tool. 1 release · first seen Jun 2024

release

  • Rewrites the C# dropper component with improved implementation. v9.0 · Jun 2024 · source · release history
Payload obfuscation shipped Supports generating implants with XOR encryption to obscure payload signatures. 1 release · first seen Aug 2022

release

Task search verified Allows users to look up a specific task by its ID. 1 other source · first seen May 2020

command line

Lines in monospace are the tool's own words: help text parsed from its source, or an endpoint from its API document. Under release, a line is our summary of a dated release. Under docs, it is quoted from the tool's own documentation or website. Each links back to the source it came from.

Score card

  1. Shipping velocity releases a month, last 12 months
  2. Documentation quality release-notes rubric, 0–100
  3. Breaking-change discipline how rarely a release breaks users, and notice given
  4. Maintenance risk quiet time against its own cadence, maintainers
  5. Innovation & surface new capabilities, API and MCP surface
  6. Community health
  7. Contributor trend distinct committers, this year against last
  8. Maintainer concentration bus factor now against a year ago
  9. Issue backlog trend issues closed per issue opened, 12 months
  10. Responsiveness median time to a maintainer’s first reply

Nine scores for poshc2, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.

Score cards are part of every paid plan.

See plans →

Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.

How this is scored
  • Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
  • Documentation quality — the release-notes rubric published on the analytics page, unchanged.
  • Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
  • Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
  • Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
  • Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
  • Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
  • Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.

Release-note detail over time

See how much detail poshc2 puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.

Checking release-note history…

Explore the full chart →

Releases

Show

6 entries

  1. June 20241
  2. August 20221
  3. March 20221
  4. December 20201
  5. October 20201
  6. August 20201
    Show

    6 entries

    Project health

    Issue, contributor and maintainer activity in nettitude/PoshC2, 2023-10 – 2026-09, as of 2026-09-25. Twelve-month figures first; the trend lines run the whole window.

    1. Contributors 0 −1 vs prior 12 months
    2. Maintainers 0 +0 joined · −1 left, last 12 months
    3. Bus factor 0 committers behind half the commits
    4. Community-filed not measured of issues opened, last 12 months
    5. Median time to close not measured issues closed, last 12 months
    6. Open backlog 23 of 126 issues ever filed
    1. Issues opened / month 0 · 0 communitymaintainers
    2. Open backlog 23
    3. Contributors / month 0
    4. Commits / month 0
    5. Stars 2,135
    Issue themes, last 12 months not measured

    Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this

    Articles

    3 articles · updated Nov 4, 2026

    Where poshc2 turns up in what others publish: how-tos, attack reports that name it, and incident write-ups. A row says why it is here and quotes where the article names it; the link goes to the publisher.

    • Command & Control: PoshC2 Hacking Articles
      PoshC2 is an open-source remote administration and post-exploitation framework that is publicly available on GitHub.
      2 more quotes
      Although PoshC2 primarily focuses on Windows implantation, it does contain a basic Python dropper for Linux/macOS.
      Support for Docker, allowing reliable and cross-platform execution Installation of PoshC2 We can install PoshC2 automatically for Python3 using the curl command.

    Add the badge to your README

    Maintain this project? The badge links readers straight to this page, so they can follow every release here.

    Tracked by Cyber Toolchain Choose a badge style and copy the code →
    browse all tools → score card for your toolchain →