Skip to content

v6.0.0-rc1 into main #769

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 161 commits into from
Mar 10, 2025
Merged

v6.0.0-rc1 into main #769

merged 161 commits into from
Mar 10, 2025

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.

vinnybod and others added 30 commits December 3, 2023 09:00
* begin removing functions

* add additional validations to option_util

* initial refactor of Agents class

* stub tests and remove _db suffixes

* consolidate closing socks client

* some refactoring and additional tests

* break out a new socks service to resolve circular dependency

* move save_agent_log

* add more tests

* fix process hook test
* initial stager gen service

* rename arguments on generate_launcher
* rename all server/client config options to be snake case

* remove socketport from client config
* drop support for python 3.10 and debian 10

* update lockfile

* update matrix
* make starkiller accessible at the root

* update client message
* Added initial implementation of c# bof yamls

* updated bof yamls to take in formatting types

* added clipboard and secinject

* added nanodump

* added tgtdelegation

* fixed formatting

* update folders and changelog

* added pytest

* fixed pytest

* fixed seatbelt

* Update empire/server/modules/bof/secinject.py

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

* trying to figure this out

* Update empire/server/modules/bof/nanodump.py

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

* Update empire/server/core/module_service.py

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

* Update empire/server/core/module_service.py

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

* fixed dashes

* fixed vinnybod comments and nanodump.yaml

* fixed formatting

* fixed formatting

* simplified redundant functions

* formatting

* Update empire/server/core/module_service.py

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

* Update empire/server/core/module_models.py

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

* Update empire/server/modules/bof/tgtdelegation.py

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

* sim108 fixes

* fixed nanodump and removed pytest

* second round of SA modules

* added 2nd round of bofs

* fixed errors

* formatting

* updated changelog

* added docs for bof-modules

* Update docs/module-development/bof-modules.md

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

* made fixes

---------

Co-authored-by: Vincent Rose <[email protected]>
* Backwards compatible plugin updates

* file renames

* changelog

* rename example plugin back

* fix docs

* remove csharpserver warning
* 6.0 Plugin updates

* update docs

* rename mainMenu

* rename mainMenu

* upgrade the submodule plugins
* updated plugins to new format

* fixed csharp plugin to record taskings

* removed csharp folder for submodule empire-compiler

* removed old submodules

* formatting

* Update CHANGELOG.md
* remove 3.11 from support

* remove iptools
* Add plugin lifecycle functions

* docs

* cleanup

* more code fixes

* remove test reset client

* remove unused import

* suppress exception on fixture shutdown
vinnybod and others added 25 commits February 21, 2025 08:34
…eta2-private

v6.0.0-beta2 into private-main
…beta3-private

v6.0.0-beta3 into private-main
* remove embedded websockify plugin

* disable PERF

* use example plugin for test

* fix test
…roject#1006)

* converted python agent and http listener to have server generate ids

* added sessionid changes to powershell agent

* fixed formatting

* updated gopire to pass keys but fails on sessionkey generation

* staging working for go, beacon gives aes error

* fixed gopire agent to use new keys

* fixed c# staging with DH

* removed print statements

* updated shapire program.main

* updated c# staging

* removed http_com and updated malleable

* updated malleable python

* updated staging process for other listeners

* fixed ps staging

* updated docs and changelog

* fixed formatting

* formatting fix 2

* fixed malleable staging

* fixed recommendations

* updated stager fixes

* fixed go compiling

* formatting

* remove outdated listener files that were readded in merge
* Updated Mitre tagging

* Update empire/server/modules/powershell/recon/http_login.yaml

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

* fixed formatting issues and BOF tactics

* add validation for tactics and techniques

* fixed yammls

* fixed yammls

* fixed yammls, hopefully last

* a few more typos

* fix sherlock.yaml and disallow extra fields on module yamls

* update changelog

---------

Co-authored-by: Vincent Rose <[email protected]>
* converted python agent and http listener to have server generate ids

* added sessionid changes to powershell agent

* fixed formatting

* updated gopire to pass keys but fails on sessionkey generation

* staging working for go, beacon gives aes error

* fixed gopire agent to use new keys

* fixed c# staging with DH

* removed print statements

* updated shapire program.main

* updated c# staging

* removed http_com and updated malleable

* updated malleable python

* updated staging process for other listeners

* fixed ps staging

* updated docs and changelog

* fixed formatting

* formatting fix 2

* fixed malleable staging

* fixed recommendations

* updated stager fixes

* fixed go compiling

* formatting

* remove outdated listener files that were readded in merge

* updated python and ironpython agents

* updated stageless for python

* code cleanup

* doc fix for staging diagram

* updated docs

* added tests

* vinnybod fixes

* yamlfmt

* fuck this formatting

* reverted version of pre-commit
…rc1-private

v6.0.0-rc1 into private-main
@vinnybod vinnybod changed the base branch from main to 6.0-dev March 10, 2025 00:02
Copy link

Coverage

Coverage Report
FileStmtsMissCoverMissing
empire/server
   server.py785332%29–31, 39–45, 52–65, 69–73, 77–82, 86–131
empire/server/api
   app.py1122578%24–26, 30, 35–42, 48–57, 99–105, 170, 173–185
   jwt_auth.py711086%53, 55, 57, 66, 84, 86–87, 90, 101, 112
   middleware.py12283%39–40
empire/server/api/v2
   shared_dto.py66494%12, 78, 94, 100
empire/server/api/v2/admin
   admin_api.py14193%32
empire/server/api/v2/agent
   agent_api.py50198%88
   agent_file_api.py34197%72
   agent_task_api.py1561988%110–134, 201, 277–278, 307, 316, 333, 348, 367, 384, 401, 420, 439, 454, 468, 483, 489
empire/server/api/v2/download
   download_api.py37197%57
empire/server/api/v2/listener
   listener_api.py68494%86, 91, 105, 117
   listener_dto.py51296%340, 343
   listener_template_api.py18194%47
empire/server/api/v2/obfuscation
   obfuscation_api.py69199%133
empire/server/api/v2/plugin
   plugin_api.py78297%58, 114
   plugin_dto.py45198%14
   plugin_task_api.py42490%75–95, 155
empire/server/api/v2/profile
   profile_api.py46296%61, 76
empire/server/api/v2/stager
   stager_dto.py44295%248, 251
   stager_template_api.py18194%44
empire/server/api/v2/tag
   tag_api.py36197%77
empire/server/api/v2/user
   user_api.py67593%60, 83–85, 136, 160
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.py1679344%44, 48, 57–59, 77–81, 96–108, 112–117, 124–125, 134, 136, 152, 164–170, 177–191, 198–202, 209–210, 240, 264–285, 291–306, 312–323, 329, 335, 342, 353–355, 361–375, 381
   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.py1126938%154, 205–242, 250–288, 315–364, 416–419
   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.py64246627%27, 57, 60, 66, 69–81, 122, 153–154, 168–201, 225, 366–367, 381–383, 390–391, 395–397, 415–754, 770–849, 856–858, 867, 886–889, 902–903, 918, 925–978, 1019–1062, 1068–1077, 1081–1138, 1143–1153, 1158, 1161–1163, 1166–1167, 1172, 1176–1177, 1198–1427, 1432–1446, 1449
   agent_file_service.py23196%9
   agent_service.py1221092%17, 32, 88, 91, 173, 176, 179, 228, 260–261
   agent_socks_service.py482254%14, 42, 45–65, 68–69, 73–76
   agent_task_service.py1972388%25, 70–73, 91, 97, 103, 111, 113, 115, 120, 125, 226, 235–236, 248, 250, 280–297
   bypass_service.py64494%14, 35, 57–58
   credential_service.py52492%10, 37–38, 46
   dotnet.py50786%41, 52, 57–58, 99, 104–105
   download_service.py1031684%19, 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
   host_process_service.py15193%9
   host_service.py14193%8
   ip_service.py74692%14, 57, 108–114
   listener_service.py1893383%17–19, 71, 112, 140–141, 150, 160, 170–172, 195–198, 248–257, 278, 288–290, 293–297, 328–332
   listener_template_service.py51198%13
   module_service.py46911476%39–41, 175, 182–197, 207–210, 226, 234–253, 265–267, 349–351, 364–365, 372, 383, 442–483, 500–536, 561, 586, 588, 667–668, 679–683, 694–696, 714–715, 779, 789, 796, 798, 802, 830, 833, 839, 857–868, 874–875, 885–887, 900, 913, 917–919, 935–939, 975, 1003
   obfuscation_service.py79692%15, 94–97, 140–143
   plugin_registry_service.py1101685%16, 34, 69, 75–84, 89–91, 94–97
   plugin_service.py2352589%37, 77, 109, 175–180, 236–246, 284–299, 341, 345
   plugin_task_service.py651478%15, 49–52, 68, 74, 77, 80, 88, 90, 92, 97, 102
   plugins.py941089%13–15, 134–136, 139–141, 145
   profile_service.py58297%12, 79
   stager_generation_service.py3357877%13–14, 24, 52, 84, 89–90, 107, 141–142, 181–183, 197–199, 246–248, 318–320, 331–372, 382–385, 387, 395–396, 435–436, 456–460, 469–470, 509–515, 524–525, 598–599, 608–610, 641–651, 679, 720, 742
   stager_service.py101991%14–17, 57, 92, 134, 139, 162
   stager_template_service.py55296%13, 64
   tag_service.py741876%13, 50, 52, 54, 56, 58, 60, 64–67, 70, 73, 81–84, 89, 92
   user_service.py44491%9–10, 20, 55
empire/server/core/config
   config_manager.py1661392%184, 191, 199–202, 219–220, 238–242
   data_manager.py39782%33, 37–38, 42–46
empire/server/core/db
   base.py931980%28–30, 38–43, 61, 75–84, 159, 166–172
   defaults.py53885%82, 85, 97–102, 110–111
   models.py3501197%165, 325–329, 341, 344, 388, 412, 415, 481, 484
empire/server/listeners
   http.py54331542%227–230, 271, 282, 290–301, 312–315, 336–343, 378, 388–390, 418–421, 427–428, 437–451, 461, 466–471, 475–506, 521–522, 564–570, 578, 586, 588–589, 616, 620, 623–625, 631–634, 649–650, 682, 712, 715–722, 733–734, 767–770, 778–1225
   http_foreign.py1687058%136, 143–148, 170–173, 192–196, 207, 219–221, 228–233, 239–242, 270, 279, 287, 291–294, 318–319, 331–347, 357, 362–367, 370–373, 388–389, 398–399, 407–447, 453, 459
   http_hop.py23314339%94, 101, 123–124, 142–146, 156, 168–170, 177–182, 217, 226, 236, 244–247, 275–276, 285–298, 308, 313–316, 319–322, 337–460, 469–470, 478–518, 526–570, 576
   http_malleable.py62747025%158–159, 186, 234, 241–246, 272–273, 291–297, 353, 363–366, 373–384, 394, 403, 413–418, 425, 453–454, 458, 467–468, 479–495, 532–534, 541, 549, 554–559, 562–565, 580–703, 717–799, 808–1296, 1304–1699
   port_forward_pivot.py36626328%75–76, 82, 104–105, 124–128, 139, 151–152, 159–170, 181–184, 208–216, 232, 241, 251, 255–258, 288–292, 298–299, 311–327, 337–340, 345–348, 351–380, 395–506, 520–608, 617–657, 665–829, 836–926
   smb.py20718113%67–68, 74, 93–220, 235–300, 314–363, 372–406, 414–470, 477
empire/server/modules/bof
   clipboard_window_inject.py231630%17–52
   secinject.py231630%17–52
   tgtdelegation.py9367%16–25
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
   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/collection
   SharpChromium.py261638%22–48
   WireTap.py181044%18–34
   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/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.py352917%16–82
   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.py262023%16–68
   spawnas.py443716%17–72
   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.py231726%16–55
   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/recon
   fetch_brute_local.py251924%15–42
   find_fruit.py221627%16–57
   get_sql_server_login_default_pw.py221723%14–44
empire/server/modules/powershell/situational_awareness/host
   computerdetails.py464013%16–104
empire/server/modules/powershell/situational_awareness/network
   get_sql_server_info.py292417%14–58
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.py67199%114
empire/server/plugins/example
   example.py35350%3–110
empire/server/stagers/linux
   bash.py221436%61–84
   pyinstaller.py49590%92–94, 104–105
empire/server/stagers/multi
   generate_agent.py372922%90–138
   go_exe.py11555%51–57
   launcher.py391074%122–130, 138–146, 169–170
   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.py473819%104–168
   dll.py401172%107–108, 112, 115–118, 121–132, 156–157
   ducky.py423419%94–161
   hta.py372922%86–145
   launcher_bat.py51982%90–91, 110, 125–135, 145–146
   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.py46883%34–43, 56–57, 59
   file_util.py22291%50, 52
   git_util.py22291%37–38
   listener_util.py28486%97–108
   log_util.py58198%44
   math_util.py5340%9–11
   option_util.py1041883%26, 178–192, 201–209, 219
   string_util.py15193%26
TOTAL15351653957% 

Tests Skipped Failures Errors Time
456 0 💤 0 ❌ 0 🔥 7m 8s ⏱️

@vinnybod vinnybod merged commit 1a8ff06 into 6.0-dev Mar 10, 2025
7 checks passed
@vinnybod vinnybod deleted the release/6.0.0-rc1 branch March 10, 2025 00:57
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