Skip to content

Comments

v6.4.1 into main#810

Merged
vinnybod merged 39 commits intomainfrom
release/6.4.1
Feb 16, 2026
Merged

v6.4.1 into main#810
vinnybod merged 39 commits intomainfrom
release/6.4.1

Conversation

@vinnybod
Copy link

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.

OlehAhieienko and others added 30 commits December 12, 2025 03:32
* added OS override and Ubuntu 25.04

* updated changelog and docs

* updated changelog, docs, and tests

* updated mysql version test for install

* removed Ubuntu 25.04
* added options to agent task and plugins

* fixed double options
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 47.0.0 to 47.0.1.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](tj-actions/changed-files@v47.0.0...v47.0.1)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-version: 47.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fixed results not coming back properly for powershell agent

* change miner to background task

* added foreground c# task to ironpython agent

* changed moriarty and sharpup to background tasks

* update changelog
…mpireProject#1122)

* Fixed Go agent failing to run powershell modules that are too long

* added new line to go file
* GitBook: No commit message

* GitBook: No commit message

* Update docs/.gitbook/assets/Continuous.svg

Co-authored-by: Vincent Rose <[email protected]>

* Update docs/.gitbook/assets/completed.svg

Co-authored-by: Vincent Rose <[email protected]>

* Update docs/.gitbook/assets/continious.svg

Co-authored-by: Vincent Rose <[email protected]>

* Update docs/.gitbook/assets/pulled.svg

Co-authored-by: Vincent Rose <[email protected]>

* Update docs/.gitbook/assets/queued.svg

Co-authored-by: Vincent Rose <[email protected]>

* Update docs/.gitbook/assets/error.svg

Co-authored-by: Vincent Rose <[email protected]>

* fixed markdown files

---------

Co-authored-by: Vincent Rose <[email protected]>
…y-pick-803-806

Cherry-pick: Updated Docs and added OpenAPI (#806)
* updated staging to use uri endpoint instead of download

* updated malleable to be able to stage ironpython from powershell multi_launcher

* formatting and pytest fixes

* fixed tests

* fixed http hop

* formatting
Cx01N and others added 8 commits February 6, 2026 17:32
…EmpireProject#1130)

* Fixed missing CompatibleDotNetVersions for ShellcmdRunas and ShellRun

* reverted unsafe compile
…ct#1132)

* Added C# spawn module with Powershell and C# executables

* added missing space at end of spawn.yaml

* yamlfmt
# Conflicts:
#	CHANGELOG.md
#	docs/listeners/http.md
#	docs/quickstart/installation/README.md
#	docs/quickstart/server.md
#	empire/server/config.yaml
#	empire/server/modules/powershell/situational_awareness/host/clipboard_history.yaml
@github-actions
Copy link

github-actions bot commented Feb 15, 2026

Coverage

Coverage Report
FileStmtsMissCoverMissing
empire/server
   server.py855931%29–31, 35, 43–49, 56–69, 73–77, 81–86, 90–144
empire/server/api
   app.py1172678%41–43, 47, 52–59, 65–74, 95–101, 162, 168, 171–182
   jwt_auth.py871089%56, 58, 60, 69, 107, 111–113, 116, 135, 146
   middleware.py12283%39–40
empire/server/api/v2
   shared_dto.py62297%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.py52296%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.py44295%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.py924749%34–39, 42–46, 50–62, 66–68, 80–85, 101–106, 123–128, 140–143, 155, 158, 161, 166
empire/server/common
   encryption.py2488765%33, 37, 56–60, 83–89, 97–105, 110–112, 117–118, 146–166, 172–187, 193–204, 210, 216, 223, 234–236, 242–255, 261, 300, 330, 334, 356–358, 368, 382, 408–409, 419–420, 450–451, 459–463
   helpers.py31715750%76–80, 87–88, 103, 186–187, 227, 234–236, 382–416, 426–552, 573, 580–590, 603–604, 618–626, 632–633, 635–636, 638–639, 662, 674–675, 697–699, 706, 729, 732–734, 737–739
   packets.py1144858%161, 212–249, 257–295, 335–337, 344–346, 350, 367–371, 391, 459–462
   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.py2362689%162, 164, 347, 351, 356, 476–495, 527
   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.py37312168%184, 186, 188, 213, 224–225, 227, 235–236, 238, 284, 290, 294, 325–351, 356–396, 404–441, 456, 467–468, 470, 478–479, 481, 683, 685, 687, 689, 699–700, 724–728, 732, 736, 760, 773, 778, 790, 792–794, 796, 811, 813–815, 817, 835–840, 856, 861, 877–884, 900, 905
   utility.py431370%29, 45–48, 60–66, 120, 128
empire/server/core
   agent_communication_service.py68150426%58, 61, 67, 70–82, 123, 154–155, 169–202, 226, 367–368, 382–384, 391–392, 396–398, 419–845, 865–947, 954–956, 965, 984–987, 1009, 1016–1062, 1103–1146, 1152–1161, 1165–1222, 1227–1237, 1242, 1245–1247, 1250–1251, 1256, 1260–1261, 1282–1511, 1516–1530, 1533
   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.py1982289%70–73, 91, 97, 103, 111, 113, 115, 120, 125, 235, 244–245, 257, 259, 289–306
   bypass_service.py71494%39, 74–75, 81
   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.py67888%77–79, 88–90, 124, 127
   hooks_internal.py1156643%29, 32, 42–46, 115–145, 155–190, 203–222, 232–256
   ip_service.py72593%57, 108–114
   listener_service.py1672187%72, 113, 143–144, 153, 163, 173–175, 184–185, 204–207, 224, 230–231, 291–295
   module_service.py47711775%16–17, 184, 191–206, 216–219, 235, 239–267, 274–276, 381–383, 396–397, 404, 415, 473–513, 530–565, 590, 615, 617, 692–693, 704–708, 719–721, 739–740, 805, 815, 822, 824, 828, 856, 859, 865, 883–894, 900–901, 911–913, 926, 939, 943–945, 961–965, 1001, 1029
   obfuscation_service.py77594%94–97, 140–143
   plugin_registry_service.py103991%34, 69, 77–78, 83–85, 88–91
   plugin_service.py2332490%77, 109, 175–180, 236–246, 284–299, 341, 345
   plugin_task_service.py631379%49–52, 68, 74, 77, 80, 88, 90, 92, 97, 102
   plugins.py92792%136–138, 141–143, 147
   profile_service.py56198%79
   stager_generation_service.py3517878%13–14, 52, 89–90, 107, 141–142, 181–183, 197–199, 255–257, 308, 314, 354–356, 367–408, 416–419, 421, 429–430, 469–470, 490–494, 503–504, 543–549, 558–559, 632–633, 642–644, 675–685, 714, 737, 757
   stager_service.py96595%57, 92, 134, 139, 162
   stager_template_service.py53198%64
   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.py2001294%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.py3541197%165, 326–330, 342, 345, 389, 413, 416, 483, 486
empire/server/listeners
   http.py54230544%231–234, 264, 275, 283–294, 317–324, 357, 367–369, 397–400, 406–407, 416–430, 440, 445–450, 507–510, 525–526, 587–593, 598, 603, 631, 634, 638–641, 656–657, 687, 717, 720–727, 736–737, 778–781, 789–1262
   http_foreign.py1657256%132, 139–149, 171–174, 187–191, 202, 214–216, 223–228, 234–237, 259, 268, 276, 280–283, 307–308, 320–336, 346, 351–356, 359–362, 377–378, 387–388, 396–434, 440, 446
   http_hop.py22913939%96, 103, 125–126, 140–144, 154, 166–168, 175–180, 212, 221, 231, 239–242, 271–272, 281–294, 304, 309–312, 315–318, 333–462, 471–472, 480–526, 534–578, 584
   http_malleable.py64447526%177–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–738, 752–834, 843–1332, 1340–1772
   port_forward_pivot.py33924229%76–77, 83, 105–106, 118–122, 133, 145–146, 153–164, 192–200, 216, 225, 235, 239–242, 272–276, 282–283, 295–311, 321–324, 329–332, 335–364, 379–479, 493–581, 590–628, 636–781, 788–878
   smb.py19516814%67–68, 74, 93–218, 233–288, 302–351, 360–390, 398–454, 461
empire/server/modules/bof/credentials
   tgtdelegation.py9367%16–25
empire/server/modules/bof/management
   clipboard_window_inject.py231630%17–52
   secinject.py231630%17–52
empire/server/modules/bof/situational_awareness
   netGroupList.py7271%14–21
   netGroupListMembers.py7271%14–21
   netLocalGroupList.py7271%14–21
   netLocalGroupListMembers.py7271%14–21
   netloggedon.py7271%14–20
   netshares.py7271%14–20
   windowlist.py7271%14–19
   wmi_query.py8362%14–25
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.py544811%15–97
   invoke_reflectivepeinjection.py322425%19–62
   invoke_script.py14936%14–30
   invoke_shellcode.py20385%34–35, 41
   invoke_shellcodemsil.py15940%16–38
empire/server/modules/powershell/credentials
   credential_injection.py352529%20–70
   tokens.py292128%18–65
empire/server/modules/powershell/credentials/mimikatz
   dcsync_hashdump.py211529%16–42
   golden_ticket.py342526%21–66
   lsadump.py15940%16–34
   mimitokens.py342818%16–58
   pth.py342526%21–64
   silver_ticket.py393121%18–73
   trust_keys.py14843%16–31
empire/server/modules/powershell/exfiltration
   PSRansom.py221627%17–42
empire/server/modules/powershell/exploitation
   exploit_eternalblue.py171135%16–37
empire/server/modules/powershell/lateral_movement
   inveigh_relay.py322619%16–81
   invoke_dcom.py332718%16–80
   invoke_executemsbuild.py524513%17–108
   invoke_psexec.py464013%16–120
   invoke_psremoting.py413417%17–92
   invoke_smbexec.py373116%16–88
   invoke_sqloscmd.py443716%16–80
   invoke_sshcommand.py312423%17–64
   invoke_wmi.py463915%17–101
   invoke_wmi_debugger.py574914%17–157
   jenkins_script_console.py251828%17–58
   new_gpo_immediate_task.py332621%17–93
empire/server/modules/powershell/management
   invoke_bypass.py13746%15–23
   logoff.py10550%14–21
   psinject.py332718%16–72
   reflective_inject.py423419%18–84
   runas.py332621%17–71
   shinject.py292224%17–63
   spawn.py282221%15–73
   spawnas.py443716%16–69
   switch_listener.py14843%16–35
   user_to_sid.py7271%14–18
empire/server/modules/powershell/management/mailraider
   disable_security.py231726%15–59
   get_emailitems.py161038%15–39
empire/server/modules/powershell/persistence/elevated
   registry.py645612%19–157
   schtasks.py787010%19–197
   wmi.py87799%19–251
   wmi_updater.py736511%19–213
empire/server/modules/powershell/persistence/misc
   add_sid_history.py15940%16–33
   debugger.py352917%16–108
empire/server/modules/powershell/persistence/powerbreach
   deaduser.py372922%18–138
   eventlog.py342624%18–115
   resolver.py372922%18–124
empire/server/modules/powershell/persistence/userland
   backdoor_lnk.py484017%19–112
   registry.py746611%19–197
   schtasks.py756711%19–190
empire/server/modules/powershell/privesc
   ask.py201430%16–61
   bypassuac.py221627%16–54
   bypassuac_env.py231726%16–54
   bypassuac_eventvwr.py231726%16–55
   bypassuac_fodhelper.py373116%15–88
   bypassuac_sdctlbypass.py231726%16–55
   bypassuac_tokenmanipulation.py282029%19–57
   bypassuac_wscript.py221627%16–54
   ms16-032.py181233%16–46
   ms16-135.py181233%16–46
empire/server/modules/powershell/privesc/powerup
   service_exe_stager.py302420%16–61
   service_stager.py251924%16–52
   write_dllhijacker.py262023%16–67
empire/server/modules/powershell/situational_awareness/host
   SharpChromium.py261638%22–48
   WireTap.py181044%18–34
   computerdetails.py464013%16–104
   fetch_brute_local.py251924%15–42
   find_fruit.py221627%16–57
   get_sql_column_sample_data.py393315%15–70
   minidump.py191142%18–34
   packet_capture.py171229%14–31
   screenshot.py221627%16–43
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.py383118%18–95
   get_subnet_ranges.py352820%17–78
empire/server/modules/python/code_execution
   invoke_script.py161131%14–31
empire/server/modules/python/collection/osx
   imessage_dump.py151033%14–176
   native_screenshot_mss.py11555%16–20
   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.py16944%18–41
   CVE-2021-4034.py211338%19–47
   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.py49590%91–93, 103–104
empire/server/stagers/multi
   generate_agent.py371073%121–122, 124–125, 128–136
   go_exe.py11555%51–57
   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
   cmd_exec.py453424%104–161, 164–174
   csharp_exe.py471666%120, 125–130, 146, 148, 151–155, 160–168
   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
   teensy.py1131057%82–218
   war.py443423%85–170
   wmic.py423419%93–156
empire/server/utils
   bof_packer.py491178%27–28, 51–53, 56, 62–63, 65, 69, 75
   data_util.py521375%34–43, 47–56, 69–70, 72
   file_util.py24388%33, 55, 57
   git_util.py22291%37–38
   listener_util.py463230%13–19, 43–52, 57–68, 76, 95–106
   math_util.py5340%9–11
   option_util.py1041883%26, 178–192, 201–209, 219
   string_util.py15193%26
TOTAL15719651959% 

Tests Skipped Failures Errors Time
529 0 💤 0 ❌ 0 🔥 4m 33s ⏱️

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 <[email protected]>
@vinnybod vinnybod merged commit a54ea9b into main Feb 16, 2026
9 checks passed
@vinnybod vinnybod deleted the release/6.4.1 branch February 16, 2026 17:39
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.

5 participants