PAGES
← all tools
◆ Post-Exploitation

phpsploit

v3.2 open-source

Full-featured C2 framework which silently persists on webserver with a single-line PHP backdoor - nil0x42/phpsploit

Summary

phpsploit is an open-source post-exploitation framework, free to use, that deploys a polymorphic PHP oneliner as a persistent webshell on a compromised webserver and tunnels commands through HTTP headers. It runs as a Python command-line tool on the attacker's machine, launched interactively to hold a session with the backdoored target; Windows is explicitly unsupported as an attacker platform. It is built for red teamers and penetration testers who need a C2 channel that survives on a webserver without a conventional persistent implant, and it is listed in awesome-pentest and packaged for Kali Linux and BlackArch, situating it among the standard pentest-distro toolset rather than against a single named competitor. Development dates back to 2012 with 13 contributors, but there have been no commits in the past year and the last release was over five years ago, so treat it as dormant rather than actively maintained.

Full-featured C2 framework which silently persists on webserver with a single-line PHP backdoor - nil0x42/phpsploit

How phpsploit helps

Which webservers I compromised still have a shell I can reach after the initial access is gone?

keeps a polymorphic PHP oneliner planted on the target and re-establishes a session by tunneling commands to it over HTTP headers, so the channel survives without a conventional file-based implant sitting on disk

How do I run commands on a backdoored webserver without a normal reverse shell?

opens an interactive session on the attacker's machine that wraps shell commands inside HTTP header traffic to the planted oneliner, so the target only ever sees ordinary-looking web requests

What was actually running on a box at the time I had access to it?

includes plugins that grab process listings and system banners from the compromised host through the same tunneled session, giving a snapshot of what the server was doing

Which cloud credentials were sitting exposed on a server I popped?

runs a plugin that hunts the compromised filesystem for cloud credential files and reports what it finds back through the session

Can I tell from the logs which HTTP requests were my C2 traffic and which were normal visitors?

a built-in command displays the HTTP requests the session has sent, so the operator can review exactly what traffic passed to and from the shell

all 5 features, with the evidence for each →

Languages

Not documented

Features

5 capabilities · 1 backed by code, an API document or a real run

Built from phpsploit'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 phpsploit offers you

  • CI/CD pipeline integration2
  • Plugin system1
  • Command-line interface
All capabilities 5 capabilities
CI pipeline integration shipped Provides GitHub Actions workflow configuration for running automated unit tests as part of a continuous integration pipeline. 3 releases · 8 other sources · first seen Sep 2020

Also counts toward: CI/CD pipeline integration

release

docs

  • File tree Collapse file tree Open diff view settings Filter options .github/workflows unit-tests.yml Collapse file tree Open diff view settings Collapse file .github/workflows/unit-tests.yml Copy file name to clipboard Expand all lines: .github/workflows/unit-tests.yml + - Lines changed: 2 additions & 2 deletions… seen Oct 2026 · source
  • File tree Collapse file tree Open diff view settings Filter options .github/workflows unit-tests.yml Collapse file tree Open diff view settings Collapse file .github/workflows/unit-tests.yml Copy file name to clipboard Expand all lines: .github/workflows/unit-tests.yml + Lines changed: 1 addition & 0 deletions… seen Oct 2026 · source
  • File tree Collapse file tree Open diff view settings Filter options .github/workflows unit-tests.yml Collapse file tree Open diff view settings Collapse file .github/workflows/unit-tests.yml Copy file name to clipboard Expand all lines: .github/workflows/unit-tests.yml + - Lines changed: 5 additions & 4 deletions… seen Oct 2026 · source
  • nil0x42 / phpsploit Public Please reload this page CodeQL CodeQL #378 Sign in to view logs Sign in to view logs Triggered via schedule September 20, 2026 21:02 nil0x42 aea961d master Status Success Total duration 57s Artifacts – codeql-analysis.yml on: schedule Matrix: Analyze Oh hello! Nice to see you. seen Sep 2026 · source
  • nil0x42 / phpsploit Public Please reload this page CodeQL CodeQL #378 Sign in to view logs Sign in to view logs Workflow file for this run .github/workflows/codeql-analysis.yml at aea961d # For most projects, this workflow file will not need changing; you simply need # to commit it to your repository. seen Sep 2026 · source

example

  • Get detailed help for a specific command argument or plugin option directly from the CLI. phpsploit > help CMD <arg> 3.1 · Sep 2020 · source
  • Understand the data type of a specific phpsploit setting. phpsploit > help set BROWSER 3.1 · Sep 2020 · source
  • Debug a crash or unexpected behavior by viewing the full Python stack trace. phpsploit > set VERBOSITY True 3.1 · Sep 2020 · source
Target connection configuration verified Allows the user to specify the target address, port, timeout, username, and platform when connecting to a host. 9 other sources · first seen Jan 2019

docs

  • * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * #### Overview through a tiny polymorphic backdoor: php * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * #### Quick Start sh cd phpsploit/ ./phpsploit --interactive --eval "help help" * * * * * * * * * * * * * *… seen Sep 2026 · source
  • import sys import os VERSION = 3.2 if sys platform lower (). startswith ( win ): sys exit ( '[-] If you use Windows, you should be ' 'a TARGET rather than an attacker ...' ) ver = sys version_info if ver [ ] < or ( ver [ ] == and ver [ ] < ): sys exit ( '[-] PhpSploit needs python >= 3.5 to run' ) from importlib… seen Sep 2026 · source
  • View commit details Browse repository at this point View commit details Browse repository at this point View commit details Browse repository at this point View commit details Browse repository at this point View commit details Browse repository at this point View commit details Browse repository at this point View… seen Aug 2026 · source

command line

example

  • Launch phpsploit interactively with help ./phpsploit --interactive --eval "help help"
Plugin system shipped Supports installable plugins that extend tool functionality, such as process listing and banner grabbing. 3 releases · 2 other sources · first seen Oct 2020

Also counts toward: Plugin system

release

  • Adds the cloudcredgrab plugin as a cloud credentials hunter/grabber v3.2 · Oct 2020 · source · release history
  • Adds the proclist plugin to show process lists on Windows without command execution v3.2 · Oct 2020 · source · release history
  • Adds the bannergrab plugin to scan internal ports and grab TCP banners v3.2 · Oct 2020 · source · release history

docs

  • Branch selector User selector Datepicker Commit history Commits on Oct 3, 2020 plugins: add proclist plugin Show description for 71a3b23 paralax authored and nil0x42 committed 71a3b23 plugins: add bannergrab plugin Show description for 8f3af80 paralax authored and nil0x42 committed 8f3af80 plugins: add… seen Oct 2026 · source
  • nil0x42 phpsploit Please reload this page Branch selector User selector Datepicker Commit history Commits on Oct 3, 2020 plugins: add proclist plugin Show description for 71a3b23 paralax authored and nil0x42 committed 71a3b23 plugins: add bannergrab plugin Show description for 8f3af80 paralax authored and nil0x42… docs update · Oct 2026 · source
Proxy support documented Allows connections to targets to be routed through a proxy, configurable via session settings and test fixtures. 4 other sources · first seen Oct 2026

docs

  • File tree Collapse file tree Open diff view settings Filter options src/datatypes Proxy.py test/settings PROXY.sh Collapse file tree Open diff view settings Collapse file src/datatypes/Proxy.py Copy file name to clipboard Expand all lines: src/datatypes/Proxy.py + Lines changed: 4 additions & 0 deletions Original… seen Oct 2026 · source
  • File tree Collapse file tree Open diff view settings Filter options src/core/tunnel handler.py Collapse file tree Open diff view settings Collapse file src/core/tunnel/handler.py Copy file name to clipboard Expand all lines: src/core/tunnel/handler.py + - Lines changed: 1 addition & 1 deletion Original file line… seen Oct 2026 · source
  • File tree Collapse file tree Open diff view settings Filter options test/settings PROXY.sh Collapse file tree Open diff view settings Collapse file test/settings/PROXY.sh Copy file name to clipboard + Lines changed: 40 additions & 0 deletions Original file line number Diff line number Diff line change @@ -0,0… seen Oct 2026 · source
  • File tree Collapse file tree Open diff view settings Filter options src core/session/settings PROXY.py datatypes Proxy.py Collapse file tree Open diff view settings Collapse file src/core/session/settings/PROXY.py Copy file name to clipboard Expand all lines: src/core/session/settings/PROXY.py + - Lines changed: 2… docs update · Oct 2026 · source
Static analysis integration documented Includes configuration for CodeQL and third-party code quality services to perform automated static analysis of the codebase. 1 other source

Also counts toward: CI/CD pipeline integration

docs

  • File tree Collapse file tree Open diff view settings Filter options .github .codeql.yml workflows codeql-analysis.yml Collapse file tree Open diff view settings Collapse file .github/.codeql.yml Copy file name to clipboard + Lines changed: 16 additions & 0 deletions Original file line number Diff line number Diff… seen Oct 2026 · source

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 phpsploit, 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 phpsploit 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

5 entries

  1. October 20262
  2. September 20261
  3. October 20201
  4. September 20201
    Show

    5 entries

    Project health

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

    1. Contributors 0 ±0 vs prior 12 months
    2. Maintainers 0 +0 joined · −0 left, last 12 months
    3. Bus factor 0 committers behind half the commits
    4. Community-filed 100% of issues opened, last 12 months
    5. Median time to close 6.7 days first maintainer reply 6.7 days
    6. Open backlog 26 of 98 issues ever filed
    1. Issues opened / month 0 · 0 communitymaintainers
    2. Open backlog 26
    3. Contributors / month 0
    4. Commits / month 0
    5. Stars 2,493
    Issue themes, last 12 months
    • other 100%

    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

    Libraries its release ships

    What its latest release locks, checked against known advisories.

    None of its release's images build from a lockfile we can read.

    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 →