PAGES
← all tools
◆ Post-Exploitation

weevely

v4.0.3 open-source

PHP web shell for post-exploitation providing remote shell access, file management, pivoting, and over 30 modules via obfuscated HTTP.

Summary

weevely is an open-source PHP web shell used for post-exploitation, generating a small obfuscated PHP agent that you upload to a compromised web server to keep shell access to it. It's run as a command-line tool: one command generates the password-protected agent, another connects to it once it's deployed, after which more than 30 modules take over tasks like file transfer, SQL console pivoting, port scanning, privilege escalationprivilege escalationGaining permissions beyond those an account or process initially had. It can turn limited access into administrator control or access to another user's resources. audits, and spawning reverse or direct TCPTCPA network protocol that delivers a reliable, ordered stream of bytes between two endpoints. It detects lost data and retransmits it. shells. This puts it in the hands of red teamers and penetration testers working the access-maintenance phase of an engagement rather than initial exploitation. It sits in the post-exploitation webshell category alongside tools like weevely's own predecessors in that space, distinguished by its focus on stealth and modularity. First committed in 2014 and still receiving releases, though activity has slowed to just 2 commits in the past year and the last release was 324 days ago.

PHP web shell for post-exploitation providing remote shell access, file management, pivoting, and over 30 modules via obfuscated HTTP.

How weevely helps

Is a compromised web server still reachable after the initial exploit path gets patched or noticed?

the deployed agent keeps a password-protected channel open over ordinary HTTP requests, obfuscated so the traffic and the script itself don't read as a shell

Can I get a shell on a box without dropping a full reverse shell binary that might trip AV?

generates a small polymorphic PHP agent that blends in on disk and speaks a disguised protocol, so the foothold itself is what's hard to fingerprint

What's actually weak on this filesystem or PHP setup that I could escalate through?

modules walk the filesystem for weak permissions and SUID or SGID files, and separately audit the PHP configuration for exploitable settings

How far into the internal network can I reach from this one compromised host?

includes a port scanner and an HTTP/HTTPS proxy that pivot their traffic through the agent, so requests to internal hosts originate from the compromised server

Can I get at the database behind this application without a separate SQL client on the box?

opens a SQL console and a credential bruteforcer that both run through the agent's connection, so database access rides the same channel as the shell

all 28 features, with the evidence for each →

Languages

Not documented

Features

28 capabilities

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

  • Agent-based deployment2
  • Command-line interface2
All capabilities 28 capabilities
Remote shell access shipped Connect to deployed agents to provide interactive remote shell access via obfuscated HTTP. 3 releases · 3 other sources · first seen Jan 2015

Also counts toward: Agent-based deployment

release

  • Enables direct command execution via weevely.py -c flag without interactive shell entry 3.1.0 · Apr 2015 · source · release history
  • Adds backdoor_reversetcp module for reverse TCP shell persistence 3.0.0 · Jan 2015 · source · release history
  • Adds backdoor_tcp module for bind TCP shell persistence 3.0.0 · Jan 2015 · source · release history

docs

  • PHP web shell for post-exploitation providing remote shell access, file management, pivoting, and over 30 modules via obfuscated HTTP.

example

  • Execute a system enumeration command immediately after connecting without entering the interactive prompt. weevely.py target_url password -c 'uname -a' 3.1.0 · Apr 2015 · source
  • Connect to deployed agent weevely <URL> <password> [cmd]
Database interaction shipped Extract database content or execute interactive SQL queries. 4 releases · 1 other source · first seen Jan 2015

release

  • Enables database/schema selection for PostgreSQL connections v3.4 · Nov 2016 · source · release history
  • Adds encoding support for sql_console to handle specific character sets in database interactions v3.2.0 · Jun 2015 · source · release history
  • Adds sql_dump module for database content extraction 3.0.0 · Jan 2015 · source · release history
  • Adds sql_console module for interactive SQL execution 3.0.0 · Jan 2015 · source · release history

example

  • Connect to a PostgreSQL database and specify the target schema. weevely http://target/shell.php <password> --db-schema=myschema v3.4 · Nov 2016 · source
Module removal shipped Remove specific auditing modules from the tool's active set. 4 releases · first seen Jan 2015

release

Channel support shipped Support legacy communication channels for command and control. 3 releases · first seen Jan 2015

release

  • Drops LegacyCookie, LegacyReferrer, and Stegaref backdoor formats. v4.0.0 · Dec 2019 · source · release history
  • The LegacyCookie, LegacyReferrer, and Stegaref legacy backdoor formats are no longer supported. v4.0.0 · Dec 2019 · source · release history
  • Adds support for LegacyCookie and LegacyReferrer channels 3.0.0 · Jan 2015 · source · release history
File discovery shipped Search for files by name or content on the target system. 3 releases · first seen Jan 2015

release

  • Adds output redirection (>) and inverse grep (!grep) capabilities to the file_grep action v3.2.0 · Jun 2015 · source · release history
  • Adds file_find module for advanced file searching 3.0.0 · Jan 2015 · source · release history
  • Adds file_grep module for searching file contents 3.0.0 · Jan 2015 · source · release history
System auditing shipped Perform integrity checks and configuration audits on the target system. 3 releases · first seen Jan 2015

release

Payload generation for other frameworks shipped Generate backdoor payloads compatible with external frameworks like Metasploit. 1 release · 1 other source · first seen Nov 2016

release

  • Adds Backdoor_metasploit module for generating Metasploit-compatible payloads v3.4 · Nov 2016 · source · release history

example

  • Generate a Metasploit-compatible backdoor payload using the new module. weevely generate <password> output.php --module=Backdoor_metasploit v3.4 · Nov 2016 · source
Session management shipped Manage session variables and configuration within the current session. 2 releases · first seen Jun 2015

Also counts toward: Command-line interface

release

  • Adds session variables commands: show to list current variables and unset to remove them v3.2.0 · Jun 2015 · source · release history
  • Adds proxy and socks configuration options to route traffic through a proxy or SOCKS5 server v3.2.0 · Jun 2015 · source · release history
Non-interactive command execution shipped Execute commands directly without entering an interactive shell session. 1 release · 1 other source · first seen Apr 2015

Also counts toward: Command-line interface

release

  • Enables direct command execution via weevely.py -c flag without interactive shell entry 3.1.0 · Apr 2015 · source · release history

example

  • Execute a system enumeration command immediately after connecting without entering the interactive prompt. weevely.py target_url password -c 'uname -a' 3.1.0 · Apr 2015 · source
SQL brute-forcing shipped Perform credential discovery attacks against SQL services. 2 releases · first seen Jan 2015

release

  • Adds bruteforce_sql module for credential discovery against SQL services 3.1.0 · Apr 2015 · source · release history
  • Adds bruteforce_sql module for database credential brute-forcing 3.0.0 · Jan 2015 · source · release history
Persistence management shipped Establish and maintain persistent access via reverse or bind TCP shells. 2 releases · first seen Jan 2015

release

  • Adds backdoor_reversetcp module for reverse TCP shell persistence 3.0.0 · Jan 2015 · source · release history
  • Adds backdoor_tcp module for bind TCP shell persistence 3.0.0 · Jan 2015 · source · release history
Process interaction shipped Interact with and manage running processes on the target system. 1 release · first seen Nov 2016

release

  • Adds System_procs module by @paddlesteamer for system process interaction v3.4 · Nov 2016 · source · release history
Email sending shipped Send email messages originating from the compromised host. 1 release · first seen May 2016

release

  • Adds Mail module for sending email through the compromised shell v3.3.1 · May 2016 · source · release history
Log clearing shipped Clear system logs from the compromised target to cover tracks. 1 release · first seen May 2016

release

  • Adds Clearlog module to clear system logs via the shell session v3.3.1 · May 2016 · source · release history
Proxy routing shipped Route tool traffic through configured proxy or SOCKS5 servers. 1 release · first seen Jun 2015

release

  • Adds proxy and socks configuration options to route traffic through a proxy or SOCKS5 server v3.2.0 · Jun 2015 · source · release history
System information retrieval shipped Execute commands to gather basic host and user identity details. 1 release · first seen Apr 2015

release

  • Adds whoami, hostname, pwd, and uname aliases to the embedded command set 3.1.0 · Apr 2015 · source · release history
Credential harvesting shipped Dump local password files to extract user credentials. 1 release · first seen Jan 2015

release

Directory enumeration shipped List and explore directory structures on the target system. 1 release · first seen Jan 2015

release

File deletion shipped Delete remote files from the target system. 1 release · first seen Jan 2015

release

File mounting shipped Mount remote file systems accessible from the target. 1 release · first seen Jan 2015

release

File retrieval shipped Download specific files or directories from the target system. 1 release · first seen Jan 2015

release

HTTP client execution shipped Execute HTTP requests originating from the target system. 1 release · first seen Jan 2015

release

  • Adds net_curl module to execute HTTP requests from the target 3.0.0 · Jan 2015 · source · release history
Network information retrieval shipped Retrieve network interface configuration and status from the target. 1 release · first seen Jan 2015

release

PHP proxying shipped Use the compromised target as a proxy for HTTP traffic. 1 release · first seen Jan 2015

release

  • Adds support for LegacyCookie and LegacyReferrer channels 3.0.0 · Jan 2015 · source · release history
SQL user enumeration shipped Enumerate valid usernames for SQL databases. 1 release · first seen Jan 2015

release

  • Adds bruteforce_sqlusers module for credential enumeration 3.0.0 · Jan 2015 · source · release history
Standard file upload shipped Upload local files directly to the target file system. 1 release · first seen Jan 2015

release

  • Adds file_upload module to upload local files to the target 3.0.0 · Jan 2015 · source · release history
Web file uploading shipped Upload files to the target system via web forms or standard upload endpoints. 1 release · first seen Jan 2015

release

  • Adds file_upload2web module to upload files via web forms 3.0.0 · Jan 2015 · source · release history
PHP agent generation shipped Generate obfuscated PHP web shell agents with password protection for deployment. 1 other source

Also counts toward: Agent-based deployment

example

  • Generate a PHP agent with password weevely generate <password> <path>

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

7 entries

  1. October 20251
  2. December 20191
  3. November 20161
  4. May 20161
  5. June 20151
  6. April 20151
  7. January 20151
    Show

    7 entries

    Project health

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

    1. Contributors 1 ±0 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 100% of issues opened, last 12 months
    5. Median time to close 185 days issues closed, last 12 months
    6. Open backlog 12 of 146 issues ever filed
    1. Issues opened / month 0 · 0 communitymaintainers
    2. Open backlog 12
    3. Contributors / month 0
    4. Commits / month 0
    5. Stars 3,533
    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 →