Skip to content

v6.5.0 into main - #818

Merged
vinnybod merged 37 commits into
mainfrom
release/6.5.0
Apr 5, 2026
Merged

v6.5.0 into main#818
vinnybod merged 37 commits into
mainfrom
release/6.5.0

Conversation

@vinnybod

@vinnybod vinnybod commented Apr 5, 2026

Copy link
Copy Markdown

This PR was automatically generated by the release-public-start workflow.
This PR should be merged with a merge commit, not a squash commit.
Merging this PR will trigger a tag and release automatically.

vinnybod and others added 30 commits February 16, 2026 10:39
The SSH agent setup step was conditional on the sponsors repo,
but the Docker builds unconditionally require SSH_AUTH_SOCK to be set.
Start the SSH agent on both repos - private keys are only loaded
when the CI_SSH_KEY_BOT secret is available.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ect#1143)

Pre-load all existing Module records into a dict before the
module loading loop, replacing 435 individual SELECT queries
with a single bulk query. Reduces startup time by ~4 seconds.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Notable upgrades:
- cryptography 45.x -> 46.x (removed deprecated default_backend())
- bcrypt 4.x -> 5.x
- fastapi 0.116 -> 0.129 (Starlette 0.52 adds allow_private_network to CORSMiddleware)
- ruff 0.12 -> 0.15 (fix 63 new lint violations from stabilized rules)
- pytest 8.x -> 9.x
- pytest-cov 6.x -> 7.x
- uvicorn 0.35 -> 0.41
- packaging 25.x -> 26.x
- requests-file 2.x -> 3.x
- aiofiles 24.x -> 25.x

Breaking change fixes:
- Remove deprecated default_backend() from encryption.py (cryptography)
- Fix CORSMiddleware positional args for new allow_private_network param (Starlette)
- Migrate (str, Enum) to StrEnum (ruff UP042)
- Fix unused unpacked variables (ruff RUF059)
- Fix single-item membership tests (ruff FURB171)
- Fix ternary expressions (ruff FURB110)
- Apply ruff 2026 formatter style guide

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…ependency upgrade (EmpireProject#1157)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Fix MITRE ATT&CK tagging in PowerShell modules

Correct malformed technique IDs (T11082→T1082, T1555.03→T1555.003,
T11638→T1040), replace deprecated techniques (T1076→T1021.001,
T1933 removed, T1101.005→T1547.005), fix malformed tactic strings,
add missing software fields (S0521 for BloodHound/SharpHound, S0002
for Mimikatz), add missing tactics to modules that had none, and
resolve technique-to-tactic inconsistencies across 63 modules.

Validated against MITRE ATT&CK Enterprise STIX data.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* Fix MITRE ATT&CK tagging in Python modules

Add missing tactics field to 80 Python modules (macOS collection,
Linux persistence/privesc, DCOS, AD discovery) that had no tactic
tags. Fix wrong software field (T1169→empty) on sudo_spawn and
piggyback modules. Resolve technique-to-tactic inconsistencies.

Tactics derived from MITRE ATT&CK Enterprise STIX technique→tactic
mappings and module directory categorization.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* Fix MITRE ATT&CK tagging in C# modules

Correct malformed technique IDs (T1557.0001→T1557.001,
T1558.0003→T1558.003, T1555.03→T1555.003, T11082→T1082), fix
malformed tactic string on SharpSC, replace deprecated techniques
(T1076→T1021.001, T1933 removed), add missing software field
(S1071 for Rubeus), add missing tactics to Spawn module, and
resolve technique-to-tactic inconsistencies across 15 modules.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* Fix MITRE ATT&CK tagging in BOF modules

Add missing tactics for technique-to-tactic consistency across 12
BOF modules. Ensures all listed techniques map to at least one
tactic the module declares.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* Update CHANGELOG and module development docs for MITRE ATT&CK audit

Add changelog entry documenting the ATT&CK tagging audit and fixes
across all 439 modules. Update the module development guide to include
a MITRE ATT&CK Fields section with proper formatting guidance, and fix
the YAML example to use real tactic/technique IDs instead of empty
placeholders.

Ultraworked with [Sisyphus]
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* Fix MITRE ATT&CK technique assignments in PowerShell modules

Remove incorrect T1482 (Domain Trust Discovery) from 19 modules that enumerate
users, groups, computers, or network shares — not domain trusts. Remove
incorrect T1615 (Group Policy Discovery) from 3 modules unrelated to GPO
enumeration. Add missing T1049 (System Network Connections Discovery) to
session enumeration modules. Fix T1514 removal in powershell_template and
correct edge-case technique assignments for sessiongopher, honeyhash, and
smbautobrute.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* Fix MITRE ATT&CK technique assignments in Python modules

Replace 27 deprecated technique IDs predating ATT&CK v10 with current
equivalents: T1141→T1056.002, T1142→T1555.001, T1156→T1546.004,
T1165→T1037.005, T1166→T1548.001, T1168→T1053.003, T1208→T1558.003,
T1081→T1552.001, T1139→T1552.003, T1155→T1059.002, T1157→T1574.004.
Remove Mobile ATT&CK IDs (T1414, T1426) and invalid IDs (T1256,
T1156.001, T1081.001). Remove incorrect T1482 from 12 AD enumeration
modules. Replace T1106 (Native API) with T1059.006 (Python) on 5 DCOS
REST API modules. Remove T1514 from python_template. Fix edge cases in
SuidGuidSearch, HijackScanner, etcd_crawler, mail, and prompt modules.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* Fix MITRE ATT&CK technique assignments in C# modules

Remove incorrect T1482 (Domain Trust Discovery) from Rubeus, Certify, and
5 SharpSploit enumeration modules that query users, groups, computers, or
local groups — not domain trusts. Add missing T1049 (System Network
Connections Discovery) to GetNetSession.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* Fix MITRE ATT&CK technique assignments in BOF modules

Remove incorrect T1482 (Domain Trust Discovery) from 3 ADCS enumeration
modules that query certificate templates and CAs — not domain trusts.
Replace with T1069.002 (Domain Groups) which better describes their
certificate-related AD enumeration.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* Update CHANGELOG for MITRE ATT&CK technique audit

Add 5 entries documenting round 2 of the ATT&CK audit: deprecated ID
replacements, T1482/T1615 over-tagging removal, T1106 DCOS correction,
and missing technique additions.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* Enrich MITRE ATT&CK technique tags across 53 modules

Corrected 10 wrong technique assignments (e.g. LaunchAgent T1055→T1543.001,
screensaver T1113→T1056.002, DownloadFile T1041→T1105), upgraded 6 parent
techniques to specific sub-techniques, added T1105 to 12 lateral movement
modules, and enriched 33 existing technique tags across PowerShell, Python,
and C# modules. Net coverage: 181→190 unique techniques (+10 new IDs).
Fixed 2 pre-existing duplicate technique entries in RevertToSelf and NetRipper.

Ultraworked with [Sisyphus]

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

---------

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
…y-pick-backgroundjob-bugfix

Cherry-pick: Backgroundjob bugfix (#807)
* Add Sprint 1 modules: PatchETW, PatchlessAMSI, CredentialPrompt, VSSExtract, RDPHijack, linux_keyring, aws_imds

Add 7 new post-exploitation modules across C#, PowerShell, and Python:
- C# PatchETW: in-process ETW patching via ntdll!EtwEventWrite
- C# PatchlessAMSI: patchless AMSI bypass using hardware breakpoints and VEH
- PowerShell Invoke-CredentialPrompt: credential harvesting via Windows CredUI
- PowerShell Invoke-VSSExtract: NTDS.dit/SYSTEM hive extraction via VSS
- PowerShell Invoke-RDPHijack: RDP session hijacking via tscon.exe
- Python linux_keyring: Linux kernel keyring credential extraction
- Python aws_imds: AWS IAM role credential theft via EC2 IMDS

All modules authored by Anthony Rose (@Cx01N) with source citations.
MITRE ATT&CK techniques mapped for each module.

Ultraworked with [Sisyphus]

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* Fix runtime errors in Sprint 1 modules

- Remove redundant Invoke-CredentialPrompt (SharpLoginPrompt already exists)
- Fix VSSExtract CleanupShadow: [String] to [Switch] for Empire PARAMS compatibility
- Fix RDPHijack ListSessions: [String] to [Switch] for Empire PARAMS compatibility
- Fix RDPHijack query user handling: remove unreliable $LASTEXITCODE check, pipe through Out-String
- Fix linux_keyring: replace raise SystemExit(0) with function wrapper and return (was killing agent)
- Remove CHANGELOG entry for removed CredentialPrompt module

Empire module_service formats True/False option values as PowerShell switches,
not string arguments. All boolean-like options must use [Switch] type.

Ultraworked with [Sisyphus]

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

---------

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
…es (EmpireProject#1170)

* Add PIC shellcode compiler, refactor bof_packer to Packer class, and update BOF modules

Add shellcode_compiler utility for compiling position-independent C
stagers into raw x64 shellcode for BOF process injection. Refactor
bof_packer from standalone functions to a Packer class with granular
packing methods. Rewrite clipboard_window_inject to use PIC shellcode
instead of PowerShell launcher, add clipboard_window_inject_list module,
remove secinject module, and bump Empire Compiler to v0.4.4.

Update test_bof_packer to cover the new Packer class API (32 tests),
add test_shellcode_compiler for _string_to_wchar_initializer (13 tests),
and bump stager template count in test_stager_api.

* fixed test_stager_api
…ireProject#1171)

Replace random URI generation in Stager._defaults() with a deterministic
fallback so profiles without an http-stager block get a consistent URI
across server restarts. Update launcher generation test to match.
…nts (EmpireProject#1176)

* Add format_bof_output() and pass agent_language to custom-generate BOF modules

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* Fix custom-generate BOF modules to use format_bof_output() for Go agent support

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* Add tests for BOF Go agent format and update changelog

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* updated generate for bofs with consistent functions

---------

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
vinnybod and others added 7 commits March 4, 2026 18:30
Resolve merge conflicts:
- CHANGELOG.md: keep full 6.5.0 release notes, incorporate main's backfilled Starkiller entries
- docs/modules/module-development/README.md: keep MITRE ATT&CK Fields section from release
- empire/server/config.yaml: use Starkiller v3.4.0 from release, keep public plugin registry from main

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@github-actions

github-actions Bot commented Apr 5, 2026

Copy link
Copy Markdown

Coverage

Coverage Report
FileStmtsMissCoverMissing
empire/server
   server.py1007129%30–32, 36, 44–50, 63–80, 84, 88–101, 105–109, 113–118, 122–177
empire/server/api
   app.py1172678%41–43, 47, 52–59, 65–74, 95–101, 162, 168, 171–182
   jwt_auth.py851088%56, 58, 60, 69, 107, 111–113, 116, 135, 146
   middleware.py12283%41–42
empire/server/api/v2
   shared_dto.py48296%91, 97
empire/server/api/v2/admin
   admin_api.py17194%40
empire/server/api/v2/agent
   agent_api.py54198%104
   agent_file_api.py40198%102
   agent_task_api.py1691691%236, 332–333, 364, 373, 391, 407, 427, 445, 463, 483, 503, 519, 534, 550, 556
empire/server/api/v2/listener
   listener_api.py72494%109, 114, 128, 140
   listener_dto.py26292%332, 335
   listener_template_api.py22195%63
empire/server/api/v2/obfuscation
   obfuscation_api.py77199%177
empire/server/api/v2/plugin
   plugin_api.py79297%68, 128
   plugin_registry_api.py25196%30
   plugin_task_api.py54296%45, 199
empire/server/api/v2/profile
   profile_api.py50296%80, 96
empire/server/api/v2/stager
   stager_dto.py24292%248, 251
   stager_template_api.py22195%60
empire/server/api/v2/tag
   tag_api.py40198%88
empire/server/api/v2/user
   user_api.py72396%73, 154, 179
empire/server/api/v2/websocket
   socketio.py924650%34–39, 42–46, 50–62, 66–68, 80–85, 101–106, 123–128, 140–143, 155, 161, 166
empire/server/common
   encryption.py2451295%32, 183–184, 197–199, 246–247, 353–355, 416–417
   helpers.py30510765%229, 236–238, 385, 390, 394–408, 416, 428–554, 592, 605–606, 686–688, 718, 721–723, 726–728
   packets.py1141190%221, 227–235, 350, 367–371, 391
   socks.py433030%12–13, 17–19, 25–31, 35–42, 46–57, 60
   templating.py28775%61–63, 72, 81–83
empire/server/common/malleable
   implementation.py2312987%159, 161, 344, 348, 353, 472–491, 523, 553–555
   profile.py1271787%103–104, 144–145, 154, 195, 206, 220, 226, 237, 250, 261, 293, 316–319
   transaction.py3748079%167–186, 199, 214–218, 261, 270, 286–290, 294, 304, 353, 404, 430, 441–442, 448, 469–497, 606–612, 631, 644–646, 753–760, 773, 784, 879, 881, 892, 894, 896
   transformation.py3735984%213, 224–225, 227, 235–236, 238, 284, 290, 294, 326–327, 330, 337, 371, 377, 386–387, 390, 396, 419, 425, 435, 441, 456, 467–468, 470, 478–479, 481, 683, 685, 687, 689, 699–700, 724–728, 732, 736, 760, 773, 793, 796, 811, 813–815, 817, 836, 856, 861, 878, 900, 905
   utility.py431370%29, 45–48, 60–66, 120, 128
empire/server/core
   agent_communication_service.py67146730%58, 61, 67, 90–91, 160–161, 185, 189, 226, 367–368, 382–384, 391–392, 396–398, 419–845, 865–952, 959–961, 971, 999–1002, 1027–1073, 1114–1157, 1163–1172, 1176–1236, 1241–1251, 1256, 1259–1261, 1264–1265, 1270, 1274–1275, 1296–1524, 1529–1543, 1546
   agent_service.py121993%33, 88, 91, 173, 176, 179, 228, 260–261
   agent_socks_service.py462154%42, 45–65, 68–69, 73–76
   agent_task_service.py1952289%70–73, 91, 97, 103, 111, 113, 115, 120, 125, 235, 244–245, 257, 259, 289–306
   bypass_service.py70494%38, 73–74, 80
   credential_service.py50394%37–38, 46
   dotnet.py50786%41, 52, 57–58, 99, 104–105
   download_service.py1011585%49, 55, 61, 65, 71–74, 77, 97, 99, 101, 103, 108, 113
   go.py421271%26–57, 98
   hooks.py84989%22, 135–137, 146–148, 188, 191
   hooks_internal.py1064855%40, 43, 53–57, 126–152, 162–193, 206–221, 231–251
   ip_service.py72396%57, 113–114
   listener_service.py1672187%72, 113, 143–144, 153, 163, 173–175, 184–185, 204–207, 224, 230–231, 291–295
   module_service.py4919581%16–17, 186, 193–208, 218–221, 237, 241, 246–253, 255–258, 261–269, 387–389, 410, 421, 522, 555, 578–613, 638, 663, 665, 740–741, 752–756, 767–769, 792–793, 863, 873, 880, 882, 886, 919, 922, 928, 946–957, 963–964, 974–976, 989, 1002, 1006–1008, 1024–1028, 1064, 1092
   obfuscation_service.py77594%94–97, 140–143
   plugin_registry_service.py98991%34, 69, 77–78, 83–85, 88–91
   plugin_service.py2312490%77, 109, 175–180, 238–248, 286–301, 343, 347
   plugin_task_service.py631379%49–52, 68, 74, 77, 80, 88, 90, 92, 97, 102
   plugins.py84792%130–132, 135–137, 141
   profile_service.py55198%78
   stager_generation_service.py3678377%12–13, 32, 59, 96–97, 114, 142–143, 176–178, 192–194, 250–252, 303, 309, 343–345, 365–367, 374, 386, 417, 428, 435–440, 447–487, 496–499, 501, 509–510, 549–550, 564, 571–572, 612–613, 619–620, 692–693, 725–735, 764, 787, 807
   stager_service.py94595%57, 92, 134, 139, 162
   stager_template_service.py52198%63
   tag_service.py721776%50, 52, 54, 56, 58, 60, 64–67, 70, 73, 81–84, 89, 92
   user_service.py41198%55
empire/server/core/config
   config_manager.py1921294%218, 221, 268, 284, 297–298, 302–303, 320–321, 334–335
   data_manager.py721776%34, 38–39, 43–47, 112–126
empire/server/core/db
   base.py992278%29–31, 39–44, 62, 77–80, 89–98, 171, 178–184
   defaults.py55296%80, 83
   models.py3521197%165, 326–330, 342, 345, 389, 413, 416, 483, 486
empire/server/listeners
   http.py53929545%230–233, 263, 274, 282–293, 316–323, 356, 366–368, 396–399, 405–406, 415–429, 439, 444–449, 505–508, 523–524, 584–590, 595, 600, 627, 630, 634–637, 652–653, 684, 714, 717–724, 733–734, 773–776, 808–1271
   http_foreign.py1637256%130, 137–147, 169–172, 185–189, 200, 212–214, 221–226, 232–235, 257, 266, 274, 278–281, 305–306, 318–334, 344, 349–354, 357–360, 375–376, 385–386, 394–430, 436, 442
   http_hop.py22013140%95, 102, 124–125, 139–143, 153, 165–167, 174–179, 211, 220, 230, 238–241, 270–271, 280–293, 303, 308–311, 314–317, 332–459, 468–469, 477–521, 529–564, 570
   http_malleable.py64646328%178, 223, 265–270, 296–297, 315–321, 374, 384–387, 394–405, 415, 424, 434–439, 446, 471–472, 476, 485–486, 497–513, 550–552, 559, 567, 572–577, 580–583, 598–736, 750–833, 842–1313, 1344–1776
   port_forward_pivot.py33223629%75–76, 82, 104–105, 117–121, 132, 144–145, 152–163, 191–199, 215, 224, 234, 238–241, 271–275, 281–282, 294–310, 320–323, 328–331, 334–363, 378–476, 490–579, 588–624, 632–777, 784–874
   smb.py19316713%66–67, 73, 92–217, 232–286, 300–348, 357–386, 394–450, 457
empire/server/modules/bof/credentials
   tgtdelegation.py9367%17–26
empire/server/modules/bof/management
   clipboard_window_inject.py201240%19–34
   spawn.py201240%19–34
empire/server/modules/bof/situational_awareness
   netGroupList.py7271%15–22
   netGroupListMembers.py7271%15–22
   netLocalGroupList.py7271%15–22
   netLocalGroupListMembers.py7271%15–22
   netloggedon.py7271%15–21
   netshares.py7271%15–21
   windowlist.py7271%15–20
   wmi_query.py8362%15–26
empire/server/modules/csharp/code_execution
   RunCoff.py16850%18–35
empire/server/modules/csharp/management
   ProcessInjection.py504020%5–6, 24–108
   Spawn.py372727%23–101
   ThreadlessInject.py433323%7–8, 27–89
empire/server/modules/powershell/code_execution
   invoke_ntsd.py524317%19–88
   invoke_reflectivepeinjection.py342235%23–59
   invoke_script.py16850%18–28
   invoke_shellcode.py22386%31–32, 38
   invoke_shellcodemsil.py14657%18–31
empire/server/modules/powershell/credentials
   credential_injection.py352529%20–70
   tokens.py292128%18–65
empire/server/modules/powershell/credentials/mimikatz
   dcsync_hashdump.py201240%18–35
   golden_ticket.py342235%25–60
   lsadump.py14657%18–27
   mimitokens.py342526%19–52
   pth.py342235%25–58
   silver_ticket.py392828%22–67
   trust_keys.py13562%18–24
empire/server/modules/powershell/exfiltration
   PSRansom.py211338%18–34
empire/server/modules/powershell/exploitation
   exploit_eternalblue.py16850%18–30
empire/server/modules/powershell/lateral_movement
   inveigh_relay.py322328%20–77
   invoke_dcom.py332427%20–74
   invoke_executemsbuild.py524219%21–102
   invoke_psexec.py463720%20–114
   invoke_psremoting.py413417%17–92
   invoke_smbexec.py372824%20–82
   invoke_sqloscmd.py443423%20–76
   invoke_sshcommand.py312132%20–58
   invoke_wmi.py463915%17–101
   invoke_wmi_debugger.py574914%17–159
   jenkins_script_console.py251540%21–52
   new_gpo_immediate_task.py332330%21–87
empire/server/modules/powershell/management
   invoke_bypass.py13746%15–23
   logoff.py10550%14–21
   psinject.py332427%20–66
   reflective_inject.py423126%22–78
   runas.py332330%20–65
   shinject.py291934%21–57
   spawn.py282221%15–73
   spawnas.py443423%21–64
   switch_listener.py14843%16–35
   user_to_sid.py7271%14–18
empire/server/modules/powershell/management/mailraider
   disable_security.py221436%18–52
   get_emailitems.py15753%18–32
empire/server/modules/powershell/persistence/elevated
   registry.py645612%19–157
   schtasks.py787010%19–197
   wmi.py87799%19–253
   wmi_updater.py736511%19–215
empire/server/modules/powershell/persistence/misc
   add_sid_history.py14657%19–26
   debugger.py352917%16–110
empire/server/modules/powershell/persistence/powerbreach
   deaduser.py362822%18–133
   eventlog.py332524%18–110
   resolver.py362822%18–119
empire/server/modules/powershell/persistence/userland
   backdoor_lnk.py483723%23–110
   registry.py746611%19–197
   schtasks.py756711%19–190
empire/server/modules/powershell/privesc
   ask.py201430%16–61
   bypassuac.py221341%20–48
   bypassuac_env.py231439%20–48
   bypassuac_eventvwr.py231439%20–49
   bypassuac_fodhelper.py372824%19–83
   bypassuac_sdctlbypass.py231439%20–49
   bypassuac_tokenmanipulation.py271737%22–50
   bypassuac_wscript.py221341%20–48
   ms16-032.py17947%19–39
   ms16-135.py17947%19–39
empire/server/modules/powershell/privesc/powerup
   service_exe_stager.py302130%19–55
   service_stager.py251636%20–46
   write_dllhijacker.py261735%20–61
empire/server/modules/powershell/situational_awareness/host
   SharpChromium.py261638%22–48
   WireTap.py181044%18–34
   computerdetails.py453718%18–72
   fetch_brute_local.py241633%18–35
   find_fruit.py211338%18–50
   get_sql_column_sample_data.py363017%15–67
   minidump.py191142%18–34
   packet_capture.py171229%14–31
   screenshot.py211338%18–36
empire/server/modules/powershell/situational_awareness/network
   get_sql_server_info.py292417%14–58
   get_sql_server_login_default_pw.py221723%14–44
empire/server/modules/powershell/situational_awareness/network/powerview
   get_gpo_computer.py373019%18–94
   get_subnet_ranges.py342721%17–77
empire/server/modules/python/code_execution
   invoke_script.py171041%17–30
empire/server/modules/python/collection/osx
   imessage_dump.py151033%14–176
   native_screenshot_mss.py10460%16–19
   prompt.py14936%14–43
   search_email.py12192%19
   sniffer.py231822%14–151
empire/server/modules/python/lateral_movement/multi
   ssh_launcher.py171135%15–32
empire/server/modules/python/management/multi
   spawn.py13746%16–28
empire/server/modules/python/management/osx
   shellcodeinject64.py17947%18–136
empire/server/modules/python/persistence/multi
   desktopfile.py13838%14–29
empire/server/modules/python/persistence/osx
   CreateHijacker.py191332%22–43
   LaunchAgent.py201430%16–52
   LaunchAgentUserLandPersistence.py151033%14–46
   loginhook.py12742%14–20
   mail.py292128%18–131
empire/server/modules/python/privesc/multi
   CVE-2021-3560.py17853%21–37
   CVE-2021-4034.py221245%22–43
   bashdoor.py11645%15–27
   sudo_spawn.py181233%16–37
empire/server/modules/python/privesc/osx
   dyld_print_to_file.py171041%24–39
   piggyback.py171135%16–35
empire/server/modules/python/situational_awareness/host/osx
   situational_awareness.py14936%14–196
empire/server/plugins/basic_reporting
   basic_reporting.py68199%116
empire/server/plugins/example
   example.py35350%3–110
empire/server/stagers/linux
   bash.py221436%61–84
   pyinstaller.py48590%91–93, 103–104
empire/server/stagers/multi
   generate_agent.py371073%121–122, 124–125, 128–136
   go_exe.py11464%54–58
   launcher.py411173%122–130, 138, 147–155, 178–179
   macro.py514120%120–196
empire/server/stagers/osx
   applescript.py181044%62–81
   application.py241633%73–96
   ducky.py251828%60–88
   dylib.py261735%73–98
   jar.py171041%54–72
   macho.py171041%60–80
   macro.py393121%85–182
   safari_launcher.py221532%67–92
   shellcode.py231630%68–157
   teensy.py76699%61–143
empire/server/stagers/windows
   bunny.py483919%107–176
   c_launcher.py591181%59–60, 63–64, 97–98, 136–138, 142–143
   cmd_exec.py453424%104–161, 164–174
   csharp_exe.py451469%120, 125–130, 146, 148, 151–154, 159–165
   dll.py401172%107–108, 112, 115–118, 121–132, 156–157
   ducky.py423419%94–161
   hta.py372922%86–145
   launcher_bat.py421174%85–86, 99–118, 128–129
   launcher_vbs.py342624%82–138
   launcher_xml.py837510%82–191
   macro.py791976%159, 163, 166–177, 200–201, 227–239
   shellcode.py564520%5–6, 107–180
   shellcode_launcher.py17853%50–59
   teensy.py1131057%82–218
   war.py443423%85–170
   wmic.py423419%93–156
empire/server/utils
   data_util.py521375%34–43, 47–56, 69–70, 72
   file_util.py24388%33, 55, 57
   git_util.py22291%37–38
   math_util.py5180%11
   option_util.py1041685%26, 178–192, 203–209, 219
   shellcode_compiler.py755625%64–114, 123–187
   string_util.py15193%26
TOTAL15542606461% 

Tests Skipped Failures Errors Time
743 2 💤 0 ❌ 0 🔥 4m 12s ⏱️

@vinnybod
vinnybod merged commit 4b82a26 into main Apr 5, 2026
13 checks passed
@vinnybod
vinnybod deleted the release/6.5.0 branch April 5, 2026 18:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants