Skip to content
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

v5.8.1 into main #710

Merged
merged 32 commits into from
Dec 4, 2023
Merged

v5.8.1 into main #710

merged 32 commits into from
Dec 4, 2023

Conversation

vinnybod
Copy link

@vinnybod vinnybod commented Dec 4, 2023

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.

Cx01N and others added 30 commits October 28, 2023 12:14
…c by default (#710)

* updated listener ports to 80 and 443

* fixed pytests

* changelog

* update listener validation test to tests a different validation

---------

Co-authored-by: Vince Rose <[email protected]>
* separated out packet types to functions

* fixed task 40 with same function name

* initial mainagent class built

* more ipy updates for mainagent

* added core functions to mainagent and moved out packethandler

* moved rc4 to packethandler

* added todo

* Update http.py

* fix some mainagent mistakes

* moved packethandler to rc4.py

* reorganized staging for http listener

* extended packethandler class to include comms

* removed global variables from comms

* removed redundant packet_handler in staging and agent

* fixed killdate and workinghours

* removed redundant entries of workinghours and killdate, removed update_proxies since its unused and a problem with ipy

* dropbox staging updates

* malleable c2 updates - agent dies after initial checkin

* comms updates - still error

* fixed malleable ipy

* fixed dropbox

* dropbox error 404

* fixed dbx listener api

* formatting

* smb fixes

* fixed process job taskings

* updated stageless to work with new ipy formats

* updated python agent to new formatting

* initial agent docs

* Update CHANGELOG.md

* fixed python get_sysinfo task

* added auto sysinfo for stageless agents

* Update CHANGELOG.md

* Update empire/server/common/stagers.py

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

* added docs to summary.md

* moved execute_function util to stagers

---------

Co-authored-by: Vincent Rose <[email protected]>
* added option to enable mysql service

* updated changelog

* Update CHANGELOG.md

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

* fixed || true

* Update setup/install.sh

---------

Co-authored-by: Vincent Rose <[email protected]>
* initial install script updates

* more cleanup

* merge common code

* update Dockerfile

* update dependencies for python 3.12

* allow 3.12 for deps

* pysecretsocks compat

* bump minimum py version to 3.10, upgrade deps for 3.12, add 3.12 to supported versions

* bump to python 3.12

* upgrade deps

* update pr matrix

* ignore thread warnings

* take out the huge query

* take out the huge query in the perf test

* typos in compose file

* more tweaks

* bump time limit on install tests

* bump perf test again because py3.12 is slow on the runner for some reason

* disable some steps

* run ci

* remove token

* fix geo issue

* run py 3.12 tests

* uncomment

* move symlink to install script. use sudo for mysql setup

* fix symlinks

* add keyring bypass to kali

* setup keyring no matter the os. update nim symlinking

* Update CHANGELOG.md

* split install tests

* org agnostic check

* Fix function

* remove release token from checkout in python step

* remove release token from checkout in python step

* fix function

* syntax

* update run-all-tests script

* change var name

* add some echos

* split CI

* updates

* remove token

* wrong path

* re-enable token

* disable parrot for now

* install starkiller in the docker build. check or it in cst. update forked dep references

* update changelog with warning
#721)

* make donut install conditional so we can support arm machines. add warnings when donut is invoked but not installed

* post-merge fix
* bump black and ruff

* fix UP006 UP035

* more 3.9 fixes

* more 3.9 fixes

* run safe fixes for ruff with 3.10 compat

* apply ruff 3.10 lints

* add a type alias for taggable and fix client reset test

* missed a file
* initial dockerimage update

* use private-main

* use proper capture for private-main head

* get docker build working on arm

* temporarily swap out config.yaml

* cleanup

* remove comment
* Use path for config and config properties. Always expanduser and resolve to the absolute path

* fix obfuscation

* fix download test

* allow starkiller to be outside the dir too
* bump deps

* convert but still have some failing tests

* add validators to get v1 functionality

* remove unnecessary changes

* some more fixes

* remove a unnecessary change

* Initial conversion to use Annotated

* Changelog
* allow starkiller to be disabled

* allow port to be configured via the config.yaml

* changelog

* allow for unset field
* Add flake8-comprehensions

* update contributing.md
* remove usages of deprecated listener function

* remove usages of deprecated credential functions

* changelog, update imports, add typehinting

* remove usages of deprecated agent functions
* Apply suggestions from code review

* changelog

---------

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

github-actions bot commented Dec 4, 2023

Coverage

Coverage Report
FileStmtsMissCoverMissing
empire/server
   server.py1092676%83, 101–107, 116–117, 124–127, 133–136, 147, 152, 156–157, 169–187
empire/server/api
   app.py1042279%25–27, 31, 36–43, 60–66, 93–96, 156, 161–171
   jwt_auth.py721086%53, 55, 57, 66, 85, 87–88, 91, 102, 113
   middleware.py12283%39–40
empire/server/api/v2
   shared_dto.py64395%68, 84, 90
empire/server/api/v2/agent
   agent_api.py50198%88
   agent_file_api.py34197%72
   agent_task_api.py1702088%109–133, 200, 295, 304, 321, 342, 371, 386, 405, 422, 439, 458, 477, 500, 515, 529, 544, 550
empire/server/api/v2/download
   download_api.py37197%57
empire/server/api/v2/listener
   listener_api.py59493%85, 90, 104, 116
   listener_dto.py48296%303, 306
   listener_template_api.py18194%47
empire/server/api/v2/obfuscation
   obfuscation_api.py68199%132
empire/server/api/v2/plugin
   plugin_task_api.py44491%81–101, 163
empire/server/api/v2/profile
   profile_api.py46296%61, 76
empire/server/api/v2/stager
   stager_dto.py44295%222, 225
   stager_template_api.py18194%44
empire/server/api/v2/tag
   tag_api.py36197%77
empire/server/api/v2/user
   user_api.py68593%60, 83–85, 137, 161
empire/server/api/v2/websocket
   socketio.py904847%34–39, 42–46, 50–62, 66–68, 80–85, 101–106, 123–128, 140–143, 155, 158, 162–164
empire/server/common
   agents.py72964412%100–105, 119, 134–140, 162–200, 207–217, 223–237, 254–338, 344–396, 403, 433–446, 461–477, 483–501, 508–521, 527–540, 546–567, 573–611, 641–691, 720–735, 741–744, 756–774, 780–791, 816–1091, 1107–1177, 1187–1243, 1252–1300, 1308–1811
   credentials.py443032%38–51, 60–121, 129–160
   encryption.py17411733%41–43, 47, 56–58, 66–67, 76–80, 95–108, 112–117, 124–126, 134–143, 150–157, 165–171, 178–192, 199–203, 210–211, 241, 266–287, 293–308, 314–325, 331, 337, 344–347, 354–358, 364–377, 383
   helpers.py36019247%83–87, 94–98, 113, 132–133, 198–199, 241, 248–250, 396–431, 441–572, 593, 600–613, 626–636, 641–645, 648–657, 671–679, 685–695, 717, 729–730, 753–755, 762, 785, 788–791, 794–797, 804–806
   listeners.py8275%15–20
   packets.py1137534%160, 181–186, 211–248, 256–294, 321–375, 428–431
   plugins.py17382%27, 32, 37
   pylnk.py59244425%202, 206, 210, 214, 218–223, 227–235, 239–243, 247–251, 255–263, 267, 271, 275, 279, 284–287, 291–292, 296–301, 305–311, 315, 319–327, 337–338, 342–344, 364–366, 369–370, 375–378, 383, 386–388, 391, 394–399, 402, 407, 410–414, 419–452, 455–457, 473, 478–485, 488, 493, 498–526, 529–537, 542–556, 559–594, 599, 604–612, 615–634, 637–642, 645–652, 657, 662–690, 695–718, 721–736, 739–756, 759–792, 795–823, 826, 829–830, 835, 838–840, 845, 848–849, 854, 857–858, 863, 866–867, 872, 875–876, 881, 884–885, 890, 893–897, 902, 907–929, 936–938, 942–957
   socks.py433030%12–13, 17–19, 25–31, 35–42, 46–57, 60
   stagers.py35829617%27–28, 55–63, 93, 100–101, 130, 153, 161–182, 190–205, 213–250, 258–279, 287–301, 308–354, 360–426, 432–592, 596–666, 669–707, 710–722, 725–827, 831–843
   templating.py30970%62–64, 73–75, 84–86
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%182, 184, 186, 211, 222–223, 225, 233–234, 236, 282, 288, 292, 323–349, 354–394, 402–439, 454, 465–466, 468, 476–477, 479, 681, 683, 685, 687, 697–698, 722–726, 730, 734, 758, 771, 776, 788, 790–792, 794, 809, 811–813, 815, 833–838, 854, 859, 875–882, 898, 903
   utility.py431370%29, 45–48, 60–66, 120, 128
empire/server/core
   agent_service.py1021684%83, 86, 89, 138, 164–182, 197
   agent_task_service.py1903681%66–69, 85, 87, 93, 96, 99, 107, 109, 111, 116, 121, 141–146, 175, 206–209, 221, 226–229, 237, 239, 268–285, 371–379
   bypass_service.py65494%31, 37, 60–61
   config.py93990%15–17, 117–120, 129–130
   credential_service.py49394%29–30, 38
   download_service.py992278%45, 51, 57, 61, 67–70, 73, 93, 95, 97, 99, 104, 109, 130–141
   hooks.py66888%73–75, 84–86, 120, 123
   hooks_internal.py1005545%25, 28, 109–132, 142–170, 183–202, 212–236
   listener_service.py1852984%107, 135–136, 146, 156, 187–194, 244–253, 274, 284–286, 289–293, 324–328
   module_models.py66888%74–85, 89–91
   module_service.py2956877%91, 119, 132, 140–144, 154–158, 162–192, 272–274, 309, 330, 333, 396–420, 431–433, 477–478, 495, 509, 515, 539, 559–578, 587–588, 606
   obfuscation_service.py1371986%96–98, 107, 119, 124–126, 143–147, 154–157, 190–191, 234, 252–257
   plugin_service.py1622386%58, 75–76, 88, 127, 133–137, 219–222, 238, 244, 247, 250, 258, 260, 262, 267, 272
   profile_service.py61297%41, 85
   stager_service.py98595%53, 88, 130, 135, 158
   stager_template_service.py47198%57
   tag_service.py711776%45, 47, 49, 51, 53, 55, 59–62, 65, 68, 76–79, 84, 87
   user_service.py41295%15, 50
empire/server/core/db
   base.py881880%26–28, 36–41, 59, 73–82, 158–164
   defaults.py43588%87–91, 100–101
   models.py2951097%262–266, 278, 281, 329, 353, 356, 417, 420
empire/server/listeners
   dbx.py44936120%143, 150–161, 183–184, 207–211, 230, 241–245, 280–284, 290, 302–305, 328–329, 335–347, 357–360, 365–372, 389–494, 510–595, 605–658, 709–1015, 1024–1029, 1035–1038
   http.py54534337%230–233, 274, 287, 295–306, 317–321, 342–349, 386, 396–398, 426–429, 437–438, 447–461, 471–474, 479–485, 490–524, 541–542, 557–614, 638–639, 643, 646–648, 656, 673–674, 686–711, 715, 737–738, 741–746, 793–797, 805–1249
   http_com.py36528522%165, 172–186, 207–208, 228–233, 242–246, 276–283, 289, 307–311, 317, 340–423, 439–482, 492–518, 524–850, 857–862, 868–871
   http_foreign.py1707258%141, 148–153, 175–178, 197–201, 212, 224–226, 233–238, 244–247, 275–279, 285, 294, 298–301, 328–329, 341–357, 367–370, 375–384, 389, 406–407, 416–417, 425–466, 472, 478
   http_hop.py23814838%99, 106, 128–129, 147–151, 161, 173–175, 182–187, 222–226, 232, 243, 251–254, 282–283, 292–305, 315–318, 323–327, 332, 349–480, 491–492, 500–541, 549–596, 602
   http_malleable.py62948822%163, 190, 234, 241–246, 272–273, 291–297, 303, 306, 309, 353, 363–366, 373–384, 394, 403, 413–418, 425, 435–439, 444, 455–456, 460, 469–470, 481–497, 537–542, 549, 557–558, 561–570, 575, 592–724, 738–822, 833–1358, 1366–1765, 1772–1780, 1786–1789
   onedrive.py37630818%158, 161–191, 210–211, 223–227, 247–249, 255–260, 279–283, 288, 312–374, 381–418, 432–476, 479–886, 893–898, 904–907
   port_forward_pivot.py37026728%75–76, 82, 104–105, 124–128, 139, 151–154, 161–172, 183–187, 211–219, 235–239, 245, 256, 260–263, 293–297, 303–304, 316–332, 342–345, 350–357, 361–395, 412–522, 538–626, 637–678, 686–855, 862–953
   smb.py20517913%67–68, 74, 93–229, 246–310, 326–372, 383–416, 424–482, 489
empire/server/modules/csharp
   Assembly.Covenant.py191332%16–45
   AssemblyReflect.Covenant.py191332%16–45
   Inject_BOF.Covenant.py312132%23–66
   ProcessInjection.Covenant.py695914%3–4, 24–126
   Shellcode.Covenant.py221627%16–48
empire/server/modules/powershell/code_execution
   invoke_ntsd.py554911%15–103
   invoke_reflectivepeinjection.py342624%19–69
   invoke_shellcode.py22386%30–31, 37
   invoke_shellcodemsil.py181233%16–41
empire/server/modules/powershell/collection
   SharpChromium.py282029%20–61
   WireTap.py211529%16–47
   get_sql_column_sample_data.py403415%15–76
   minidump.py231726%16–49
   packet_capture.py181328%14–37
   screenshot.py241825%16–50
empire/server/modules/powershell/credentials
   credential_injection.py373019%17–78
   tokens.py322619%16–78
empire/server/modules/powershell/credentials/mimikatz
   dcsync_hashdump.py221627%16–48
   golden_ticket.py362725%21–68
   lsadump.py161038%16–40
   mimitokens.py352917%16–64
   pth.py352626%21–70
   silver_ticket.py413320%18–75
   trust_keys.py15940%16–37
empire/server/modules/powershell/exfiltration
   PSRansom.py251924%16–52
empire/server/modules/powershell/exploitation
   exploit_eternalblue.py181233%16–43
empire/server/modules/powershell/lateral_movement
   inveigh_relay.py363017%16–91
   invoke_dcom.py363017%16–93
   invoke_executemsbuild.py554813%17–116
   invoke_psexec.py383216%16–98
   invoke_psremoting.py443716%17–101
   invoke_smbexec.py403415%16–99
   invoke_sqloscmd.py474015%16–91
   invoke_sshcommand.py332621%17–66
   invoke_wmi.py494214%17–112
   invoke_wmi_debugger.py605213%17–167
   jenkins_script_console.py282125%17–67
   new_gpo_immediate_task.py373019%17–103
empire/server/modules/powershell/management
   invoke_bypass.py14843%15–31
   invoke_script.py191332%15–38
   logoff.py11645%14–27
   psinject.py352917%16–84
   reflective_inject.py453718%18–97
   runas.py352820%17–73
   shinject.py302323%17–71
   spawn.py292321%16–77
   spawnas.py453816%17–78
   switch_listener.py15940%16–46
   user_to_sid.py8362%14–24
empire/server/modules/powershell/management/mailraider
   disable_security.py251924%15–62
   get_emailitems.py171135%15–50
empire/server/modules/powershell/persistence/elevated
   registry.py696112%19–170
   schtasks.py837510%19–210
   wmi.py92849%19–263
   wmi_updater.py756711%19–221
empire/server/modules/powershell/persistence/misc
   add_sid_history.py161038%16–39
   debugger.py393315%16–121
empire/server/modules/powershell/persistence/powerbreach
   deaduser.py393121%18–142
   eventlog.py362822%18–120
   resolver.py393121%18–129
empire/server/modules/powershell/persistence/userland
   backdoor_lnk.py514316%19–130
   registry.py776910%19–208
   schtasks.py787010%19–201
empire/server/modules/powershell/privesc
   ask.py231726%16–72
   bypassuac.py251924%16–64
   bypassuac_env.py262023%16–63
   bypassuac_eventvwr.py262023%16–65
   bypassuac_fodhelper.py262023%16–64
   bypassuac_sdctlbypass.py262023%16–64
   bypassuac_tokenmanipulation.py292128%19–65
   bypassuac_wscript.py251924%16–64
   ms16-032.py191332%16–52
   ms16-135.py191332%16–52
empire/server/modules/powershell/privesc/powerup
   service_exe_stager.py312519%16–67
   service_stager.py262023%16–58
   write_dllhijacker.py292321%16–77
empire/server/modules/powershell/recon
   fetch_brute_local.py262023%15–48
   find_fruit.py241825%16–60
   get_sql_server_login_default_pw.py231822%14–50
empire/server/modules/powershell/situational_awareness/host
   computerdetails.py554911%16–119
empire/server/modules/powershell/situational_awareness/network
   get_sql_server_info.py302517%14–64
empire/server/modules/powershell/situational_awareness/network/powerview
   get_gpo_computer.py413417%18–91
   get_subnet_ranges.py373019%17–76
empire/server/modules/python/collection/osx
   imessage_dump.py151033%14–176
   native_screenshot_mss.py13746%16–46
   prompt.py14936%14–49
   search_email.py12192%19
   sniffer.py231822%14–151
empire/server/modules/python/lateral_movement/multi
   ssh_launcher.py181233%15–67
empire/server/modules/python/management/multi
   spawn.py14843%16–30
empire/server/modules/python/management/osx
   shellcodeinject64.py191142%18–139
empire/server/modules/python/persistence/multi
   desktopfile.py15940%15–59
empire/server/modules/python/persistence/osx
   CreateHijacker.py211433%23–480
   LaunchAgent.py221532%17–103
   LaunchAgentUserLandPersistence.py171135%15–78
   loginhook.py13838%14–64
   mail.py302227%18–190
empire/server/modules/python/privesc/multi
   CVE-2021-3560.py171041%18–43
   CVE-2021-4034.py221436%19–49
   bashdoor.py12742%15–47
   sudo_spawn.py191332%16–41
empire/server/modules/python/privesc/osx
   dyld_print_to_file.py181139%24–54
   piggyback.py181233%16–55
empire/server/modules/python/situational_awareness/host/osx
   situational_awareness.py14936%14–196
empire/server/plugins
   basic_reporting.plugin775430%43–74, 86–99, 102–115, 118–134, 148–152
   csharpserver.plugin1278632%48–53, 56, 71–117, 120–127, 130–159, 162–192, 203–207
   reverseshell_stager_server.plugin1118424%123–130, 133, 148–211, 216, 222–231, 234–250, 253–266
   websockify_server.plugin573146%68–76, 79, 94–128
empire/server/plugins/ChiselServer-Plugin
   chiselserver.plugin1017130%66–71, 89–184
empire/server/plugins/Report-Generation-Plugin
   advanced_reporting.plugin14710727%67–111, 134–151, 155–176, 179–188, 191–201, 204–220, 227–259, 262–276, 282–285, 298–300
   mitre.py1248531%17–18, 21, 24, 28, 31–40, 44–58, 62–65, 69–71, 74–75, 78–80, 84–103, 106–107, 110–111, 114–115, 118–119, 124–128, 131–135, 138, 143, 146–147, 155–156, 165–181, 189–201, 209, 217–225, 236–237, 245–259, 262–272, 275
empire/server/plugins/SocksProxyServer-Plugin
   socksproxyserver.plugin13610424%83–88, 103–122, 125–130, 137–141, 146–177, 180–188, 191–214, 217–232
empire/server/stagers/multi
   bash.py221436%67–92
   generate_agent.py302227%93–133
   launcher.py34682%116–124, 147–148
   macro.py534319%120–253
   pyinstaller.py54689%100–102, 113–114, 143
   war.py443423%91–183
empire/server/stagers/osx
   applescript.py191142%62–83
   application.py261735%81–113
   ducky.py251828%60–88
   dylib.py261831%73–103
   jar.py181139%60–79
   macho.py181139%60–83
   macro.py403220%85–187
   pkg.py282029%72–109
   safari_launcher.py231630%67–107
   shellcode.py241729%68–158
   teensy.py76699%61–144
empire/server/stagers/windows
   backdoorLnkMacro.py14812913%151–159, 163–484
   bunny.py483919%107–176
   cmd_exec.py463524%105–164, 167–179
   csharp_exe.py514316%102–172
   dll.py411173%107–108, 112, 115–118, 121–132, 156–157
   ducky.py423419%94–163
   hta.py372922%86–145
   launcher_bat.py541180%86, 93, 96–97, 116, 131–141, 150–151
   launcher_lnk.py393023%118–182
   launcher_sct.py524415%96–174
   launcher_vbs.py342624%82–138
   launcher_xml.py837510%82–192
   macro.py705916%114–218
   ms16-051.py352723%95–283
   nim.py524317%83–170
   reverseshell.py231343%61–67, 70–86
   shellcode.py584719%5–6, 107–185
   teensy.py1131057%82–218
   wmic.py423419%96–159
empire/server/utils
   data_util.py501080%34–44, 57–58, 60, 64
   file_util.py13192%24
   listener_util.py301163%13–19, 99–112
   log_util.py402148%11–39
   math_util.py5340%9–12
   module_util.py9367%14–16
   option_util.py741876%97, 117–131, 140–149, 157
TOTAL17462946746% 

Tests Skipped Failures Errors Time
317 0 💤 0 ❌ 0 🔥 10m 1s ⏱️

@vinnybod vinnybod merged commit f766c95 into main Dec 4, 2023
11 checks passed
@vinnybod vinnybod deleted the release/5.8.1 branch December 4, 2023 06:20
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.

3 participants