BC-SECURITY / Empire

Empire is a post-exploitation and adversary emulation framework that is used to aid Red Teams and Penetration Testers.
https://bc-security.gitbook.io/empire-wiki/
BSD 3-Clause "New" or "Revised" License
4.06k stars 564 forks source link

v5.10.2 into main #727

Closed vinnybod closed 2 months ago

vinnybod commented 2 months ago

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.

github-actions[bot] commented 2 months ago

Coverage

Coverage Report
FileStmtsMissCoverMissing
empire/server
   server.py1293573%58–60, 63–66, 94, 98, 116–122, 131–132, 139–142, 153–156, 166, 174, 179, 183–184, 196–214
empire/server/api
   app.py1062477%25–27, 31, 36–43, 60–66, 91–97, 159, 164–174
   jwt_auth.py721086%53, 55, 57, 66, 85, 87–88, 91, 102, 113
   middleware.py12283%39–40
empire/server/api/v2
   shared_dto.py60395%68, 84, 90
empire/server/api/v2/agent
   agent_api.py50198%88
   agent_file_api.py34197%72
   agent_task_api.py1802288%113–137, 204, 280–281, 312, 321, 338, 359, 388, 403, 422, 439, 456, 475, 494, 517, 532, 546, 561, 567
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.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
   agents.py71958718%103–108, 122, 137–143, 165–203, 210–220, 226–240, 277–328, 332–339, 345–395, 402, 431–444, 459–475, 481–499, 506–519, 525–538, 544–562, 642–692, 721–736, 742–745, 757–775, 781–792, 817–1089, 1105–1179, 1189–1249, 1258–1304, 1341–1374, 1380–1389, 1393–1451, 1456–1470, 1475, 1478–1500, 1503–1504, 1509, 1513–1514, 1531, 1545–1797
   credentials.py443032%39–52, 61–122, 130–161
   encryption.py17311633%42–44, 48, 57–59, 67–68, 77–81, 96–109, 113–118, 125–127, 135–144, 151–158, 166–172, 179–193, 200–204, 211–212, 242, 267–288, 294–309, 315–326, 332, 338, 345–351, 358–362, 368–381, 387
   helpers.py35418049%84–88, 95–96, 111, 196–197, 239, 246–248, 394–429, 439–565, 586, 593–606, 619–629, 634–638, 641–650, 664–672, 679–680, 682–683, 685–686, 710, 722–723, 746–748, 755, 778, 781–784, 787–789, 796–798
   listeners.py8275%15–20
   packets.py1137534%160, 181–186, 211–248, 256–294, 321–375, 428–431
   plugins.py18383%28, 33, 38
   pylnk.py59044225%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–640, 643–650, 655, 660–688, 693–716, 719–734, 737–753, 756–789, 792–820, 823, 826–827, 832, 835–837, 842, 845–846, 851, 854–855, 860, 863–864, 869, 872–873, 878, 881–882, 887, 890–894, 899, 904–926, 933–935, 939–954
   socks.py433030%12–13, 17–19, 25–31, 35–42, 46–57, 60
   stagers.py35629417%27–28, 55–63, 93, 100–101, 130, 153, 161–182, 190–205, 213–250, 258–279, 287–301, 308–354, 360–411, 417–572, 576–646, 649–687, 690–702, 705–807, 811–823
   templating.py30970%61–63, 72–74, 83–85
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_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, 373–381
   bypass_service.py65494%31, 37, 60–61
   config.py97694%123–126, 135–136
   credential_service.py49394%32–33, 41
   download_service.py972277%45, 51, 57, 61, 67–70, 73, 93, 95, 97, 99, 104, 109, 130–141
   hooks.py67888%77–79, 88–90, 124, 127
   hooks_internal.py1156643%29, 32, 42–46, 115–145, 155–190, 203–222, 232–256
   listener_service.py1852984%107, 135–136, 146, 156, 187–194, 244–253, 274, 284–286, 289–293, 324–328
   module_models.py74889%84–95, 99–101
   module_service.py37110372%97, 133, 146, 154–158, 162, 169–173, 177–207, 223–268, 347–349, 360, 375–384, 411, 432, 435, 502–525, 528–530, 541–543, 587–588, 605, 619, 628, 632–634, 658, 678–697, 706–707, 725, 758
   obfuscation_service.py1391788%95–97, 108, 120, 125–127, 144–148, 155–158, 234, 252–257
   plugin_service.py1852785%63, 98–99, 103–104, 120–121, 135, 177, 183–187, 275–278, 294, 300, 303, 306, 314, 316, 318, 323, 328
   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.py3001097%262–266, 278, 281, 329, 353, 356, 420, 423
empire/server/listeners
   dbx.py45036220%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–1030, 1036–1039
   http.py54434038%231–234, 275, 288, 296–307, 318–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–1257
   http_com.py36328322%165–166, 173–187, 208–209, 229–234, 243–246, 276–283, 289, 307–311, 317, 340–423, 439–481, 491–517, 523–851, 858–864, 870–873
   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–478, 489–490, 498–539, 547–594, 600
   http_malleable.py62947125%163–164, 191, 239, 246–251, 277–278, 296–302, 358, 368–371, 378–389, 399, 408, 418–423, 430, 460–461, 465, 474–475, 486–502, 542–547, 554, 562–565, 570–579, 584, 601–733, 747–831, 842–1367, 1375–1782
   onedrive.py37630818%158, 161–191, 210–211, 223–227, 247–249, 255–260, 279–283, 288, 312–374, 381–418, 432–475, 478–885, 892–898, 904–907
   port_forward_pivot.py36926628%75–76, 82, 104–105, 124–128, 139, 151–154, 161–172, 183–186, 210–218, 234–238, 244, 255, 259–262, 292–296, 302–303, 315–331, 341–344, 349–356, 360–394, 411–521, 537–625, 636–677, 685–854, 861–952
   smb.py20517913%67–68, 74, 93–229, 246–310, 326–372, 383–416, 424–482, 489
empire/server/modules/bof
   clipboard_window_inject.py221627%16–50
   nanodump.py55509%14–84
   secinject.py221627%16–50
   tgtdelegation.py10460%16–22
empire/server/modules/bof/situational_awareness
   netGroupList.py8362%14–19
   netGroupListMembers.py8362%14–19
   netLocalGroupList.py8362%14–19
   netLocalGroupListMembers.py8362%14–19
   netloggedon.py8362%14–19
   netshares.py8362%14–19
   windowlist.py9456%14–21
   wmi_query.py9456%14–21
empire/server/modules/csharp
   Assembly.Covenant.py191332%16–45
   AssemblyReflect.Covenant.py191332%16–45
   Inject_BOF.Covenant.py291934%23–63
   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.py332524%19–68
   invoke_shellcode.py21386%34–35, 41
   invoke_shellcodemsil.py161038%16–44
empire/server/modules/powershell/collection
   SharpChromium.py261638%22–48
   WireTap.py181044%18–34
   get_sql_column_sample_data.py403415%15–76
   minidump.py191142%18–38
   packet_capture.py181328%14–37
   screenshot.py231726%16–49
empire/server/modules/powershell/credentials
   credential_injection.py352529%20–70
   tokens.py312519%16–82
empire/server/modules/powershell/credentials/mimikatz
   dcsync_hashdump.py221627%16–48
   golden_ticket.py352626%21–72
   lsadump.py161038%16–40
   mimitokens.py352917%16–64
   pth.py352626%21–70
   silver_ticket.py403220%18–79
   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.py332718%16–91
   invoke_dcom.py342818%16–90
   invoke_executemsbuild.py534613%17–113
   invoke_psexec.py363017%16–95
   invoke_psremoting.py423517%17–98
   invoke_smbexec.py383216%16–96
   invoke_sqloscmd.py453816%16–88
   invoke_sshcommand.py322522%17–70
   invoke_wmi.py474015%17–109
   invoke_wmi_debugger.py585014%17–164
   jenkins_script_console.py261927%17–64
   new_gpo_immediate_task.py342721%17–104
empire/server/modules/powershell/management
   invoke_bypass.py14843%15–33
   invoke_script.py191332%15–38
   logoff.py11645%14–27
   psinject.py332718%16–81
   reflective_inject.py433519%18–94
   runas.py342721%17–77
   shinject.py302323%17–71
   spawn.py272122%16–74
   spawnas.py453816%17–78
   switch_listener.py15940%16–46
   user_to_sid.py8362%14–24
empire/server/modules/powershell/management/mailraider
   disable_security.py241825%15–65
   get_emailitems.py171135%15–50
empire/server/modules/powershell/persistence/elevated
   registry.py665812%19–166
   schtasks.py807210%19–206
   wmi.py89819%19–259
   wmi_updater.py756711%19–221
empire/server/modules/powershell/persistence/misc
   add_sid_history.py161038%16–39
   debugger.py373116%16–118
empire/server/modules/powershell/persistence/powerbreach
   deaduser.py383021%18–145
   eventlog.py352723%18–123
   resolver.py383021%18–132
empire/server/modules/powershell/persistence/userland
   backdoor_lnk.py494116%19–127
   registry.py756711%19–205
   schtasks.py766811%19–198
empire/server/modules/powershell/privesc
   ask.py211529%16–69
   bypassuac.py231726%16–61
   bypassuac_env.py241825%16–60
   bypassuac_eventvwr.py241825%16–62
   bypassuac_fodhelper.py241825%16–61
   bypassuac_sdctlbypass.py241825%16–61
   bypassuac_tokenmanipulation.py292128%19–65
   bypassuac_wscript.py231726%16–61
   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.py272122%16–74
empire/server/modules/powershell/recon
   fetch_brute_local.py262023%15–48
   find_fruit.py231726%16–63
   get_sql_server_login_default_pw.py231822%14–50
empire/server/modules/powershell/situational_awareness/host
   computerdetails.py524612%16–115
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.py393218%18–97
   get_subnet_ranges.py362919%17–80
empire/server/modules/python/collection/osx
   imessage_dump.py151033%14–176
   native_screenshot_mss.py12650%16–45
   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.py181044%18–138
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/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/plugins/basic_reporting
   basic_reporting.py775430%43–74, 86–99, 102–115, 118–134, 148–152
empire/server/plugins/csharpserver
   csharpserver.py1228233%49–54, 57, 72–118, 121–128, 131–157, 160–187, 198–202
empire/server/plugins/example
   example.py31310%3–112
empire/server/plugins/reverseshell_stager_server
   reverseshell_stager_server.py1098423%122–129, 132, 147–210, 215, 220–229, 232–248, 251–264
empire/server/plugins/websockify_server
   websockify_server.py553144%67–75, 78, 93–127
empire/server/stagers/multi
   bash.py221436%67–92
   generate_agent.py302227%93–133
   launcher.py34682%116–124, 147–148
   macro.py534319%120–253
   pyinstaller.py52688%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.py50982%90–91, 110, 125–135, 144–145
   launcher_lnk.py393023%118–182
   launcher_sct.py524415%96–174
   launcher_vbs.py342624%82–138
   launcher_xml.py837510%82–192
   macro.py791976%160, 164, 167–178, 201–202, 228–240
   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.py26196%28
   listener_util.py301163%13–19, 99–112
   log_util.py51786%41–43, 46–49
   math_util.py5340%9–12
   option_util.py741876%97, 117–131, 140–149, 157
TOTAL17740940147% 

Tests Skipped Failures Errors Time
347 0 :zzz: 0 :x: 0 :fire: 11m 3s :stopwatch: