From c21949ec2dc43f4de8c7f952161bf6fb3b950965 Mon Sep 17 00:00:00 2001 From: Vincent Rose Date: Tue, 12 Jul 2022 23:04:21 -0700 Subject: [PATCH] 5.0 - Moving files (#415) * moving files around * move starkiller submodule * rename more files --- .gitignore | 2 +- .gitmodules | 4 +- empire/server/{v2 => api}/__init__.py | 0 .../EmpireApiRouter.py => api/api_router.py} | 0 empire/server/{v2/api/v2App.py => api/app.py} | 69 ++++++++++--------- empire/server/{v2 => }/api/jwt_auth.py | 2 +- .../middleware.py} | 0 empire/server/{v2/api => api/v2}/__init__.py | 0 .../{v2/api => api/v2}/agent/__init__.py | 0 .../agentv2.py => api/v2/agent/agent_api.py} | 14 ++-- .../{v2/api => api/v2}/agent/agent_dto.py | 2 +- .../v2/agent/agent_file_api.py} | 14 ++-- .../api => api/v2}/agent/agent_file_dto.py | 4 +- .../v2/agent/agent_task_api.py} | 22 +++--- .../v2/agent/agent_task_dto.py} | 4 +- .../{v2/api => api/v2}/bypass/__init__.py | 0 .../v2/bypass/bypass_api.py} | 14 ++-- .../{v2/api => api/v2}/bypass/bypass_dto.py | 2 +- .../{v2/api => api/v2}/credential/__init__.py | 0 .../v2/credential/credential_api.py} | 14 ++-- .../v2}/credential/credential_dto.py | 0 .../{v2/api => api/v2}/download/__init__.py | 0 .../v2/download/download_api.py} | 14 ++-- .../api => api/v2}/download/download_dto.py | 0 .../{v2/api => api/v2}/host/__init__.py | 0 .../hostv2.py => api/v2/host/host_api.py} | 10 +-- .../{v2/api => api/v2}/host/host_dto.py | 0 .../v2/host/process_api.py} | 14 ++-- .../{v2/api => api/v2}/host/process_dto.py | 0 .../{v2/api => api/v2}/listener/__init__.py | 0 .../v2/listener/listener_api.py} | 14 ++-- .../api => api/v2}/listener/listener_dto.py | 2 +- .../v2/listener/listener_template_api.py} | 10 +-- .../{v2/api => api/v2}/meta/__init__.py | 0 .../metav2.py => api/v2/meta/meta_api.py} | 10 +-- .../{v2/api => api/v2}/meta/meta_dto.py | 0 .../{v2/api => api/v2}/module/__init__.py | 0 .../v2/module/module_api.py} | 15 ++-- .../{v2/api => api/v2}/module/module_dto.py | 2 +- .../api => api/v2}/obfuscation/__init__.py | 0 .../v2/obfuscation/obfuscation_api.py} | 14 ++-- .../v2}/obfuscation/obfuscation_dto.py | 0 .../{v2/api => api/v2}/plugin/__init__.py | 0 .../v2/plugin/plugin_api.py} | 12 ++-- .../{v2/api => api/v2}/plugin/plugin_dto.py | 2 +- .../{v2/api => api/v2}/profile/__init__.py | 0 .../v2/profile/profile_api.py} | 14 ++-- .../{v2/api => api/v2}/profile/profile_dto.py | 0 .../{v2/api => api/v2}/shared_dependencies.py | 0 .../server/{v2/api => api/v2}/shared_dto.py | 0 .../{v2/api => api/v2}/stager/__init__.py | 0 .../v2/stager/stager_api.py} | 14 ++-- .../{v2/api => api/v2}/stager/stager_dto.py | 6 +- .../v2/stager/stager_template_api.py} | 10 +-- empire/server/api/v2/starkiller | 1 + .../{v2/api => api/v2}/user/__init__.py | 0 .../userv2.py => api/v2/user/user_api.py} | 14 ++-- .../{v2/api => api/v2}/user/user_dto.py | 0 .../{v2/api => api/v2}/websocket/__init__.py | 0 .../v2/websocket/socketio.py} | 10 +-- empire/server/common/agents.py | 2 +- empire/server/common/empire.py | 34 ++++----- empire/server/{v2 => }/core/__init__.py | 0 .../{v2 => }/core/agent_file_service.py | 0 empire/server/{v2 => }/core/agent_service.py | 2 +- .../{v2 => }/core/agent_task_service.py | 11 +-- empire/server/{v2 => }/core/bypass_service.py | 0 .../{v2 => }/core/credential_service.py | 2 +- .../server/{v2 => }/core/download_service.py | 8 +-- .../{v2 => }/core/host_process_service.py | 0 empire/server/{v2 => }/core/host_service.py | 0 .../server/{v2 => }/core/listener_service.py | 2 +- .../core/listener_template_service.py | 0 empire/server/{v2 => }/core/module_service.py | 10 +-- .../{v2 => }/core/obfuscation_service.py | 0 empire/server/{v2 => }/core/plugin_service.py | 0 .../server/{v2 => }/core/profile_service.py | 0 empire/server/{v2 => }/core/stager_service.py | 4 +- .../{v2 => }/core/stager_template_service.py | 0 empire/server/{v2 => }/core/user_service.py | 0 empire/server/database/models.py | 1 - empire/server/server.py | 7 +- empire/server/v2/api/starkiller | 1 - empire/test/conftest.py | 64 +++++++++-------- empire/test/test_modules.py | 2 +- empire/test/test_startup_loaders.py | 20 +++--- 86 files changed, 261 insertions(+), 264 deletions(-) rename empire/server/{v2 => api}/__init__.py (100%) rename empire/server/{v2/api/EmpireApiRouter.py => api/api_router.py} (100%) rename empire/server/{v2/api/v2App.py => api/app.py} (60%) rename empire/server/{v2 => }/api/jwt_auth.py (98%) rename empire/server/{v2/api/EmpireCORSMiddleware.py => api/middleware.py} (100%) rename empire/server/{v2/api => api/v2}/__init__.py (100%) rename empire/server/{v2/api => api/v2}/agent/__init__.py (100%) rename empire/server/{v2/api/agent/agentv2.py => api/v2/agent/agent_api.py} (84%) rename empire/server/{v2/api => api/v2}/agent/agent_dto.py (98%) rename empire/server/{v2/api/agent/agentfilev2.py => api/v2/agent/agent_file_api.py} (82%) rename empire/server/{v2/api => api/v2}/agent/agent_file_dto.py (95%) rename empire/server/{v2/api/agent/taskv2.py => api/v2/agent/agent_task_api.py} (96%) rename empire/server/{v2/api/agent/task_dto.py => api/v2/agent/agent_task_dto.py} (98%) rename empire/server/{v2/api => api/v2}/bypass/__init__.py (100%) rename empire/server/{v2/api/bypass/bypassv2.py => api/v2/bypass/bypass_api.py} (88%) rename empire/server/{v2/api => api/v2}/bypass/bypass_dto.py (92%) rename empire/server/{v2/api => api/v2}/credential/__init__.py (100%) rename empire/server/{v2/api/credential/credentialv2.py => api/v2/credential/credential_api.py} (89%) rename empire/server/{v2/api => api/v2}/credential/credential_dto.py (100%) rename empire/server/{v2/api => api/v2}/download/__init__.py (100%) rename empire/server/{v2/api/download/downloadv2.py => api/v2/download/download_api.py} (90%) rename empire/server/{v2/api => api/v2}/download/download_dto.py (100%) rename empire/server/{v2/api => api/v2}/host/__init__.py (100%) rename empire/server/{v2/api/host/hostv2.py => api/v2/host/host_api.py} (77%) rename empire/server/{v2/api => api/v2}/host/host_dto.py (100%) rename empire/server/{v2/api/host/processv2.py => api/v2/host/process_api.py} (85%) rename empire/server/{v2/api => api/v2}/host/process_dto.py (100%) rename empire/server/{v2/api => api/v2}/listener/__init__.py (100%) rename empire/server/{v2/api/listener/listenerv2.py => api/v2/listener/listener_api.py} (92%) rename empire/server/{v2/api => api/v2}/listener/listener_dto.py (99%) rename empire/server/{v2/api/listener/listenertemplatev2.py => api/v2/listener/listener_template_api.py} (82%) rename empire/server/{v2/api => api/v2}/meta/__init__.py (100%) rename empire/server/{v2/api/meta/metav2.py => api/v2/meta/meta_api.py} (66%) rename empire/server/{v2/api => api/v2}/meta/meta_dto.py (100%) rename empire/server/{v2/api => api/v2}/module/__init__.py (100%) rename empire/server/{v2/api/module/modulev2.py => api/v2/module/module_api.py} (86%) rename empire/server/{v2/api => api/v2}/module/module_dto.py (96%) rename empire/server/{v2/api => api/v2}/obfuscation/__init__.py (100%) rename empire/server/{v2/api/obfuscation/obfuscationv2.py => api/v2/obfuscation/obfuscation_api.py} (94%) rename empire/server/{v2/api => api/v2}/obfuscation/obfuscation_dto.py (100%) rename empire/server/{v2/api => api/v2}/plugin/__init__.py (100%) rename empire/server/{v2/api/plugin/pluginv2.py => api/v2/plugin/plugin_api.py} (85%) rename empire/server/{v2/api => api/v2}/plugin/plugin_dto.py (96%) rename empire/server/{v2/api => api/v2}/profile/__init__.py (100%) rename empire/server/{v2/api/profile/profilev2.py => api/v2/profile/profile_api.py} (88%) rename empire/server/{v2/api => api/v2}/profile/profile_dto.py (100%) rename empire/server/{v2/api => api/v2}/shared_dependencies.py (100%) rename empire/server/{v2/api => api/v2}/shared_dto.py (100%) rename empire/server/{v2/api => api/v2}/stager/__init__.py (100%) rename empire/server/{v2/api/stager/stagerv2.py => api/v2/stager/stager_api.py} (88%) rename empire/server/{v2/api => api/v2}/stager/stager_dto.py (98%) rename empire/server/{v2/api/stager/stagertemplatev2.py => api/v2/stager/stager_template_api.py} (82%) create mode 160000 empire/server/api/v2/starkiller rename empire/server/{v2/api => api/v2}/user/__init__.py (100%) rename empire/server/{v2/api/user/userv2.py => api/v2/user/user_api.py} (94%) rename empire/server/{v2/api => api/v2}/user/user_dto.py (100%) rename empire/server/{v2/api => api/v2}/websocket/__init__.py (100%) rename empire/server/{v2/api/websocket/v2_socketio.py => api/v2/websocket/socketio.py} (94%) rename empire/server/{v2 => }/core/__init__.py (100%) rename empire/server/{v2 => }/core/agent_file_service.py (100%) rename empire/server/{v2 => }/core/agent_service.py (95%) rename empire/server/{v2 => }/core/agent_task_service.py (97%) rename empire/server/{v2 => }/core/bypass_service.py (100%) rename empire/server/{v2 => }/core/credential_service.py (97%) rename empire/server/{v2 => }/core/download_service.py (97%) rename empire/server/{v2 => }/core/host_process_service.py (100%) rename empire/server/{v2 => }/core/host_service.py (100%) rename empire/server/{v2 => }/core/listener_service.py (99%) rename empire/server/{v2 => }/core/listener_template_service.py (100%) rename empire/server/{v2 => }/core/module_service.py (99%) rename empire/server/{v2 => }/core/obfuscation_service.py (100%) rename empire/server/{v2 => }/core/plugin_service.py (100%) rename empire/server/{v2 => }/core/profile_service.py (100%) rename empire/server/{v2 => }/core/stager_service.py (97%) rename empire/server/{v2 => }/core/stager_template_service.py (100%) rename empire/server/{v2 => }/core/user_service.py (100%) delete mode 160000 empire/server/v2/api/starkiller diff --git a/.gitignore b/.gitignore index ec59b2b9a..48b26f700 100644 --- a/.gitignore +++ b/.gitignore @@ -10,7 +10,7 @@ empire/server/data/misc/ToObfuscate.ps1 empire/server/data/misc/Obfuscated.ps1 empire/server/data/generated-stagers/* empire/server/downloads/* -empire/server/v2/api/static/* +empire/server/api/static/* # client empire/client/generated-stagers/* diff --git a/.gitmodules b/.gitmodules index 55acba5e7..b2cbbd092 100644 --- a/.gitmodules +++ b/.gitmodules @@ -43,6 +43,6 @@ [submodule "empire/server/plugins/ChiselServer-Plugin"] path = empire/server/plugins/ChiselServer-Plugin url = https://github.com/BC-SECURITY/ChiselServer-Plugin.git -[submodule "empire/server/v2/api/starkiller"] - path = empire/server/v2/api/starkiller +[submodule "empire/server/api/v2/starkiller"] + path = empire/server/api/v2/starkiller url = git@github.com:BC-SECURITY/Starkiller-Sponsors.git diff --git a/empire/server/v2/__init__.py b/empire/server/api/__init__.py similarity index 100% rename from empire/server/v2/__init__.py rename to empire/server/api/__init__.py diff --git a/empire/server/v2/api/EmpireApiRouter.py b/empire/server/api/api_router.py similarity index 100% rename from empire/server/v2/api/EmpireApiRouter.py rename to empire/server/api/api_router.py diff --git a/empire/server/v2/api/v2App.py b/empire/server/api/app.py similarity index 60% rename from empire/server/v2/api/v2App.py rename to empire/server/api/app.py index ad67811a6..38527b22a 100644 --- a/empire/server/v2/api/v2App.py +++ b/empire/server/api/app.py @@ -10,8 +10,8 @@ from starlette.middleware.gzip import GZipMiddleware from starlette.staticfiles import StaticFiles -from empire.server.v2.api.EmpireCORSMiddleware import EmpireCORSMiddleware -from empire.server.v2.api.websocket.v2_socketio import setup_socket_events +from empire.server.api.middleware import EmpireCORSMiddleware +from empire.server.api.v2.websocket.socketio import setup_socket_events log = logging.getLogger(__name__) @@ -42,20 +42,20 @@ def default(self, o): def initialize(): # Not pretty but allows us to use main_menu by delaying the import + from empire.server.api.v2.agent import agent_api, agent_file_api, agent_task_api + from empire.server.api.v2.bypass import bypass_api + from empire.server.api.v2.credential import credential_api + from empire.server.api.v2.download import download_api + from empire.server.api.v2.host import host_api, process_api + from empire.server.api.v2.listener import listener_api, listener_template_api + from empire.server.api.v2.meta import meta_api + from empire.server.api.v2.module import module_api + from empire.server.api.v2.obfuscation import obfuscation_api + from empire.server.api.v2.plugin import plugin_api + from empire.server.api.v2.profile import profile_api + from empire.server.api.v2.stager import stager_api, stager_template_api + from empire.server.api.v2.user import user_api from empire.server.server import main - from empire.server.v2.api.agent import agentfilev2, agentv2, taskv2 - from empire.server.v2.api.bypass import bypassv2 - from empire.server.v2.api.credential import credentialv2 - from empire.server.v2.api.download import downloadv2 - from empire.server.v2.api.host import hostv2, processv2 - from empire.server.v2.api.listener import listenertemplatev2, listenerv2 - from empire.server.v2.api.meta import metav2 - from empire.server.v2.api.module import modulev2 - from empire.server.v2.api.obfuscation import obfuscationv2 - from empire.server.v2.api.plugin import pluginv2 - from empire.server.v2.api.profile import profilev2 - from empire.server.v2.api.stager import stagertemplatev2, stagerv2 - from empire.server.v2.api.user import userv2 v2App = FastAPI() @@ -66,24 +66,24 @@ def shutdown_event(): log.info("Shutting down MainMenu...") main.shutdown() - v2App.include_router(listenertemplatev2.router) - v2App.include_router(listenerv2.router) - v2App.include_router(stagertemplatev2.router) - v2App.include_router(stagerv2.router) - v2App.include_router(taskv2.router) - v2App.include_router(agentv2.router) - v2App.include_router(agentfilev2.router) - v2App.include_router(userv2.router) - v2App.include_router(modulev2.router) - v2App.include_router(bypassv2.router) - v2App.include_router(obfuscationv2.router) - v2App.include_router(processv2.router) - v2App.include_router(profilev2.router) - v2App.include_router(credentialv2.router) - v2App.include_router(hostv2.router) - v2App.include_router(downloadv2.router) - v2App.include_router(metav2.router) - v2App.include_router(pluginv2.router) + v2App.include_router(listener_template_api.router) + v2App.include_router(listener_api.router) + v2App.include_router(stager_template_api.router) + v2App.include_router(stager_api.router) + v2App.include_router(agent_task_api.router) + v2App.include_router(agent_api.router) + v2App.include_router(agent_file_api.router) + v2App.include_router(user_api.router) + v2App.include_router(module_api.router) + v2App.include_router(bypass_api.router) + v2App.include_router(obfuscation_api.router) + v2App.include_router(process_api.router) + v2App.include_router(profile_api.router) + v2App.include_router(credential_api.router) + v2App.include_router(host_api.router) + v2App.include_router(download_api.router) + v2App.include_router(meta_api.router) + v2App.include_router(plugin_api.router) v2App.add_middleware( EmpireCORSMiddleware, @@ -121,11 +121,12 @@ def shutdown_event(): try: v2App.mount( "/", - StaticFiles(directory="empire/server/v2/api/starkiller/dist"), + StaticFiles(directory="empire/server/api/v2/starkiller/dist"), name="static", ) log.info("Starkiller served at http://localhost:1337/index.html") except Exception as e: + log.warning("Failed to load Starkiller: %s", e) pass cert_path = os.path.abspath("./empire/server/data/") diff --git a/empire/server/v2/api/jwt_auth.py b/empire/server/api/jwt_auth.py similarity index 98% rename from empire/server/v2/api/jwt_auth.py rename to empire/server/api/jwt_auth.py index 0a848acb9..888c0b706 100644 --- a/empire/server/v2/api/jwt_auth.py +++ b/empire/server/api/jwt_auth.py @@ -9,9 +9,9 @@ from sqlalchemy.orm import Session from starlette import status +from empire.server.api.v2.shared_dependencies import get_db from empire.server.database import models from empire.server.database.base import SessionLocal -from empire.server.v2.api.shared_dependencies import get_db # This all comes from the amazing fastapi docs: https://fastapi.tiangolo.com/tutorial/security/oauth2-jwt/ SECRET_KEY = SessionLocal().query(models.Config).first().jwt_secret_key diff --git a/empire/server/v2/api/EmpireCORSMiddleware.py b/empire/server/api/middleware.py similarity index 100% rename from empire/server/v2/api/EmpireCORSMiddleware.py rename to empire/server/api/middleware.py diff --git a/empire/server/v2/api/__init__.py b/empire/server/api/v2/__init__.py similarity index 100% rename from empire/server/v2/api/__init__.py rename to empire/server/api/v2/__init__.py diff --git a/empire/server/v2/api/agent/__init__.py b/empire/server/api/v2/agent/__init__.py similarity index 100% rename from empire/server/v2/api/agent/__init__.py rename to empire/server/api/v2/agent/__init__.py diff --git a/empire/server/v2/api/agent/agentv2.py b/empire/server/api/v2/agent/agent_api.py similarity index 84% rename from empire/server/v2/api/agent/agentv2.py rename to empire/server/api/v2/agent/agent_api.py index d2622952e..284425112 100644 --- a/empire/server/v2/api/agent/agentv2.py +++ b/empire/server/api/v2/agent/agent_api.py @@ -1,18 +1,18 @@ from fastapi import Depends, HTTPException from sqlalchemy.orm import Session -from empire.server.database import models -from empire.server.server import main -from empire.server.v2.api.agent.agent_dto import ( +from empire.server.api.api_router import APIRouter +from empire.server.api.jwt_auth import get_current_active_user +from empire.server.api.v2.agent.agent_dto import ( Agent, Agents, AgentUpdateRequest, domain_to_dto_agent, ) -from empire.server.v2.api.EmpireApiRouter import APIRouter -from empire.server.v2.api.jwt_auth import get_current_active_user -from empire.server.v2.api.shared_dependencies import get_db -from empire.server.v2.api.shared_dto import BadRequestResponse, NotFoundResponse +from empire.server.api.v2.shared_dependencies import get_db +from empire.server.api.v2.shared_dto import BadRequestResponse, NotFoundResponse +from empire.server.database import models +from empire.server.server import main agent_service = main.agentsv2 diff --git a/empire/server/v2/api/agent/agent_dto.py b/empire/server/api/v2/agent/agent_dto.py similarity index 98% rename from empire/server/v2/api/agent/agent_dto.py rename to empire/server/api/v2/agent/agent_dto.py index 34133018c..9d121d088 100644 --- a/empire/server/v2/api/agent/agent_dto.py +++ b/empire/server/api/v2/agent/agent_dto.py @@ -3,8 +3,8 @@ from pydantic import BaseModel +from empire.server.api.v2.shared_dto import PROXY_ID from empire.server.database import models -from empire.server.v2.api.shared_dto import PROXY_ID def domain_to_dto_agent(agent: models.Agent): diff --git a/empire/server/v2/api/agent/agentfilev2.py b/empire/server/api/v2/agent/agent_file_api.py similarity index 82% rename from empire/server/v2/api/agent/agentfilev2.py rename to empire/server/api/v2/agent/agent_file_api.py index 82c1ebe46..ecb1a2d1c 100644 --- a/empire/server/v2/api/agent/agentfilev2.py +++ b/empire/server/api/v2/agent/agent_file_api.py @@ -3,15 +3,15 @@ from fastapi import Depends, HTTPException from sqlalchemy.orm import Session +from empire.server.api.api_router import APIRouter +from empire.server.api.jwt_auth import get_current_active_user +from empire.server.api.v2.agent.agent_file_dto import AgentFile, domain_to_dto_file +from empire.server.api.v2.shared_dependencies import get_db +from empire.server.api.v2.shared_dto import BadRequestResponse, NotFoundResponse +from empire.server.core.agent_file_service import AgentFileService +from empire.server.core.agent_service import AgentService from empire.server.database import models from empire.server.server import main -from empire.server.v2.api.agent.agent_file_dto import AgentFile, domain_to_dto_file -from empire.server.v2.api.EmpireApiRouter import APIRouter -from empire.server.v2.api.jwt_auth import get_current_active_user -from empire.server.v2.api.shared_dependencies import get_db -from empire.server.v2.api.shared_dto import BadRequestResponse, NotFoundResponse -from empire.server.v2.core.agent_file_service import AgentFileService -from empire.server.v2.core.agent_service import AgentService agent_file_service: AgentFileService = main.agentfilesv2 agent_service: AgentService = main.agentsv2 diff --git a/empire/server/v2/api/agent/agent_file_dto.py b/empire/server/api/v2/agent/agent_file_dto.py similarity index 95% rename from empire/server/v2/api/agent/agent_file_dto.py rename to empire/server/api/v2/agent/agent_file_dto.py index 49a45f30e..12e560f50 100644 --- a/empire/server/v2/api/agent/agent_file_dto.py +++ b/empire/server/api/v2/agent/agent_file_dto.py @@ -6,11 +6,11 @@ from pydantic import BaseModel -from empire.server.database import models -from empire.server.v2.api.shared_dto import ( +from empire.server.api.v2.shared_dto import ( DownloadDescription, domain_to_dto_download_description, ) +from empire.server.database import models def domain_to_dto_file(file: models.AgentFile, children: List[models.AgentFile]): diff --git a/empire/server/v2/api/agent/taskv2.py b/empire/server/api/v2/agent/agent_task_api.py similarity index 96% rename from empire/server/v2/api/agent/taskv2.py rename to empire/server/api/v2/agent/agent_task_api.py index f697db932..25865927a 100644 --- a/empire/server/v2/api/agent/taskv2.py +++ b/empire/server/api/v2/agent/agent_task_api.py @@ -8,10 +8,9 @@ from starlette.responses import Response from starlette.status import HTTP_204_NO_CONTENT -from empire.server.database import models -from empire.server.database.models import TaskingStatus -from empire.server.server import main -from empire.server.v2.api.agent.task_dto import ( +from empire.server.api.api_router import APIRouter +from empire.server.api.jwt_auth import get_current_active_user, get_current_user +from empire.server.api.v2.agent.agent_task_dto import ( CommsPostRequest, DirectoryListPostRequest, DownloadPostRequest, @@ -30,18 +29,19 @@ WorkingHoursPostRequest, domain_to_dto_task, ) -from empire.server.v2.api.EmpireApiRouter import APIRouter -from empire.server.v2.api.jwt_auth import get_current_active_user, get_current_user -from empire.server.v2.api.shared_dependencies import get_db -from empire.server.v2.api.shared_dto import ( +from empire.server.api.v2.shared_dependencies import get_db +from empire.server.api.v2.shared_dto import ( PROXY_NAME, BadRequestResponse, NotFoundResponse, OrderDirection, ) -from empire.server.v2.core.agent_service import AgentService -from empire.server.v2.core.agent_task_service import AgentTaskService -from empire.server.v2.core.download_service import DownloadService +from empire.server.core.agent_service import AgentService +from empire.server.core.agent_task_service import AgentTaskService +from empire.server.core.download_service import DownloadService +from empire.server.database import models +from empire.server.database.models import TaskingStatus +from empire.server.server import main agent_task_service: AgentTaskService = main.agenttasksv2 agent_service: AgentService = main.agentsv2 diff --git a/empire/server/v2/api/agent/task_dto.py b/empire/server/api/v2/agent/agent_task_dto.py similarity index 98% rename from empire/server/v2/api/agent/task_dto.py rename to empire/server/api/v2/agent/agent_task_dto.py index 527fe18a7..2b7b85ab3 100644 --- a/empire/server/v2/api/agent/task_dto.py +++ b/empire/server/api/v2/agent/agent_task_dto.py @@ -4,11 +4,11 @@ from pydantic import BaseModel, Field -from empire.server.database import models -from empire.server.v2.api.shared_dto import ( +from empire.server.api.v2.shared_dto import ( DownloadDescription, domain_to_dto_download_description, ) +from empire.server.database import models class TaskOrderOptions(str, Enum): diff --git a/empire/server/v2/api/bypass/__init__.py b/empire/server/api/v2/bypass/__init__.py similarity index 100% rename from empire/server/v2/api/bypass/__init__.py rename to empire/server/api/v2/bypass/__init__.py diff --git a/empire/server/v2/api/bypass/bypassv2.py b/empire/server/api/v2/bypass/bypass_api.py similarity index 88% rename from empire/server/v2/api/bypass/bypassv2.py rename to empire/server/api/v2/bypass/bypass_api.py index d0b45f74c..3acbc4aae 100644 --- a/empire/server/v2/api/bypass/bypassv2.py +++ b/empire/server/api/v2/bypass/bypass_api.py @@ -3,19 +3,19 @@ from starlette.responses import Response from starlette.status import HTTP_204_NO_CONTENT -from empire.server.database import models -from empire.server.server import main -from empire.server.v2.api.bypass.bypass_dto import ( +from empire.server.api.api_router import APIRouter +from empire.server.api.jwt_auth import get_current_active_user +from empire.server.api.v2.bypass.bypass_dto import ( Bypass, Bypasses, BypassPostRequest, BypassUpdateRequest, domain_to_dto_bypass, ) -from empire.server.v2.api.EmpireApiRouter import APIRouter -from empire.server.v2.api.jwt_auth import get_current_active_user -from empire.server.v2.api.shared_dependencies import get_db -from empire.server.v2.api.shared_dto import BadRequestResponse, NotFoundResponse +from empire.server.api.v2.shared_dependencies import get_db +from empire.server.api.v2.shared_dto import BadRequestResponse, NotFoundResponse +from empire.server.database import models +from empire.server.server import main bypass_service = main.bypassesv2 diff --git a/empire/server/v2/api/bypass/bypass_dto.py b/empire/server/api/v2/bypass/bypass_dto.py similarity index 92% rename from empire/server/v2/api/bypass/bypass_dto.py rename to empire/server/api/v2/bypass/bypass_dto.py index 04a78759a..678a9859f 100644 --- a/empire/server/v2/api/bypass/bypass_dto.py +++ b/empire/server/api/v2/bypass/bypass_dto.py @@ -3,7 +3,7 @@ from pydantic import BaseModel -from empire.server.v2.api.shared_dto import Author +from empire.server.api.v2.shared_dto import Author def domain_to_dto_bypass(bypass): diff --git a/empire/server/v2/api/credential/__init__.py b/empire/server/api/v2/credential/__init__.py similarity index 100% rename from empire/server/v2/api/credential/__init__.py rename to empire/server/api/v2/credential/__init__.py diff --git a/empire/server/v2/api/credential/credentialv2.py b/empire/server/api/v2/credential/credential_api.py similarity index 89% rename from empire/server/v2/api/credential/credentialv2.py rename to empire/server/api/v2/credential/credential_api.py index 9e0c56f2f..2213d40ab 100644 --- a/empire/server/v2/api/credential/credentialv2.py +++ b/empire/server/api/v2/credential/credential_api.py @@ -5,19 +5,19 @@ from starlette.responses import Response from starlette.status import HTTP_204_NO_CONTENT -from empire.server.database import models -from empire.server.server import main -from empire.server.v2.api.credential.credential_dto import ( +from empire.server.api.api_router import APIRouter +from empire.server.api.jwt_auth import get_current_active_user +from empire.server.api.v2.credential.credential_dto import ( Credential, CredentialPostRequest, Credentials, CredentialUpdateRequest, domain_to_dto_credential, ) -from empire.server.v2.api.EmpireApiRouter import APIRouter -from empire.server.v2.api.jwt_auth import get_current_active_user -from empire.server.v2.api.shared_dependencies import get_db -from empire.server.v2.api.shared_dto import BadRequestResponse, NotFoundResponse +from empire.server.api.v2.shared_dependencies import get_db +from empire.server.api.v2.shared_dto import BadRequestResponse, NotFoundResponse +from empire.server.database import models +from empire.server.server import main credential_service = main.credentialsv2 diff --git a/empire/server/v2/api/credential/credential_dto.py b/empire/server/api/v2/credential/credential_dto.py similarity index 100% rename from empire/server/v2/api/credential/credential_dto.py rename to empire/server/api/v2/credential/credential_dto.py diff --git a/empire/server/v2/api/download/__init__.py b/empire/server/api/v2/download/__init__.py similarity index 100% rename from empire/server/v2/api/download/__init__.py rename to empire/server/api/v2/download/__init__.py diff --git a/empire/server/v2/api/download/downloadv2.py b/empire/server/api/v2/download/download_api.py similarity index 90% rename from empire/server/v2/api/download/downloadv2.py rename to empire/server/api/v2/download/download_api.py index 5d88b8fc0..889e943c3 100644 --- a/empire/server/v2/api/download/downloadv2.py +++ b/empire/server/api/v2/download/download_api.py @@ -5,22 +5,22 @@ from sqlalchemy.orm import Session from starlette.responses import FileResponse -from empire.server.database import models -from empire.server.server import main -from empire.server.v2.api.download.download_dto import ( +from empire.server.api.api_router import APIRouter +from empire.server.api.jwt_auth import get_current_active_user +from empire.server.api.v2.download.download_dto import ( DownloadOrderOptions, Downloads, DownloadSourceFilter, domain_to_dto_download, ) -from empire.server.v2.api.EmpireApiRouter import APIRouter -from empire.server.v2.api.jwt_auth import get_current_active_user -from empire.server.v2.api.shared_dependencies import get_db -from empire.server.v2.api.shared_dto import ( +from empire.server.api.v2.shared_dependencies import get_db +from empire.server.api.v2.shared_dto import ( BadRequestResponse, NotFoundResponse, OrderDirection, ) +from empire.server.database import models +from empire.server.server import main download_service = main.downloadsv2 diff --git a/empire/server/v2/api/download/download_dto.py b/empire/server/api/v2/download/download_dto.py similarity index 100% rename from empire/server/v2/api/download/download_dto.py rename to empire/server/api/v2/download/download_dto.py diff --git a/empire/server/v2/api/host/__init__.py b/empire/server/api/v2/host/__init__.py similarity index 100% rename from empire/server/v2/api/host/__init__.py rename to empire/server/api/v2/host/__init__.py diff --git a/empire/server/v2/api/host/hostv2.py b/empire/server/api/v2/host/host_api.py similarity index 77% rename from empire/server/v2/api/host/hostv2.py rename to empire/server/api/v2/host/host_api.py index 22ec24557..3e4ffb2d7 100644 --- a/empire/server/v2/api/host/hostv2.py +++ b/empire/server/api/v2/host/host_api.py @@ -1,13 +1,13 @@ from fastapi import Depends, HTTPException from sqlalchemy.orm import Session +from empire.server.api.api_router import APIRouter +from empire.server.api.jwt_auth import get_current_active_user +from empire.server.api.v2.host.host_dto import Host, Hosts, domain_to_dto_host +from empire.server.api.v2.shared_dependencies import get_db +from empire.server.api.v2.shared_dto import BadRequestResponse, NotFoundResponse from empire.server.database import models from empire.server.server import main -from empire.server.v2.api.EmpireApiRouter import APIRouter -from empire.server.v2.api.host.host_dto import Host, Hosts, domain_to_dto_host -from empire.server.v2.api.jwt_auth import get_current_active_user -from empire.server.v2.api.shared_dependencies import get_db -from empire.server.v2.api.shared_dto import BadRequestResponse, NotFoundResponse host_service = main.hostsv2 diff --git a/empire/server/v2/api/host/host_dto.py b/empire/server/api/v2/host/host_dto.py similarity index 100% rename from empire/server/v2/api/host/host_dto.py rename to empire/server/api/v2/host/host_dto.py diff --git a/empire/server/v2/api/host/processv2.py b/empire/server/api/v2/host/process_api.py similarity index 85% rename from empire/server/v2/api/host/processv2.py rename to empire/server/api/v2/host/process_api.py index 515ec3767..643f9182c 100644 --- a/empire/server/v2/api/host/processv2.py +++ b/empire/server/api/v2/host/process_api.py @@ -1,17 +1,17 @@ from fastapi import Depends, HTTPException from sqlalchemy.orm import Session -from empire.server.database import models -from empire.server.server import main -from empire.server.v2.api.EmpireApiRouter import APIRouter -from empire.server.v2.api.host.process_dto import ( +from empire.server.api.api_router import APIRouter +from empire.server.api.jwt_auth import get_current_active_user +from empire.server.api.v2.host.process_dto import ( Process, Processes, domain_to_dto_process, ) -from empire.server.v2.api.jwt_auth import get_current_active_user -from empire.server.v2.api.shared_dependencies import get_db -from empire.server.v2.api.shared_dto import BadRequestResponse, NotFoundResponse +from empire.server.api.v2.shared_dependencies import get_db +from empire.server.api.v2.shared_dto import BadRequestResponse, NotFoundResponse +from empire.server.database import models +from empire.server.server import main host_process_service = main.processesv2 host_service = main.hostsv2 diff --git a/empire/server/v2/api/host/process_dto.py b/empire/server/api/v2/host/process_dto.py similarity index 100% rename from empire/server/v2/api/host/process_dto.py rename to empire/server/api/v2/host/process_dto.py diff --git a/empire/server/v2/api/listener/__init__.py b/empire/server/api/v2/listener/__init__.py similarity index 100% rename from empire/server/v2/api/listener/__init__.py rename to empire/server/api/v2/listener/__init__.py diff --git a/empire/server/v2/api/listener/listenerv2.py b/empire/server/api/v2/listener/listener_api.py similarity index 92% rename from empire/server/v2/api/listener/listenerv2.py rename to empire/server/api/v2/listener/listener_api.py index ef1862297..86182e2b5 100644 --- a/empire/server/v2/api/listener/listenerv2.py +++ b/empire/server/api/v2/listener/listener_api.py @@ -3,19 +3,19 @@ from starlette.responses import Response from starlette.status import HTTP_204_NO_CONTENT -from empire.server.database import models -from empire.server.server import main -from empire.server.v2.api.EmpireApiRouter import APIRouter -from empire.server.v2.api.jwt_auth import get_current_active_user -from empire.server.v2.api.listener.listener_dto import ( +from empire.server.api.api_router import APIRouter +from empire.server.api.jwt_auth import get_current_active_user +from empire.server.api.v2.listener.listener_dto import ( Listener, ListenerPostRequest, Listeners, ListenerUpdateRequest, domain_to_dto_listener, ) -from empire.server.v2.api.shared_dependencies import get_db -from empire.server.v2.api.shared_dto import BadRequestResponse, NotFoundResponse +from empire.server.api.v2.shared_dependencies import get_db +from empire.server.api.v2.shared_dto import BadRequestResponse, NotFoundResponse +from empire.server.database import models +from empire.server.server import main listener_service = main.listenersv2 diff --git a/empire/server/v2/api/listener/listener_dto.py b/empire/server/api/v2/listener/listener_dto.py similarity index 99% rename from empire/server/v2/api/listener/listener_dto.py rename to empire/server/api/v2/listener/listener_dto.py index e528e19f8..bea70ebd9 100644 --- a/empire/server/v2/api/listener/listener_dto.py +++ b/empire/server/api/v2/listener/listener_dto.py @@ -3,7 +3,7 @@ from pydantic import BaseModel -from empire.server.v2.api.shared_dto import Author, CustomOptionSchema, to_value_type +from empire.server.api.v2.shared_dto import Author, CustomOptionSchema, to_value_type def domain_to_dto_template(listener, uid: str): diff --git a/empire/server/v2/api/listener/listenertemplatev2.py b/empire/server/api/v2/listener/listener_template_api.py similarity index 82% rename from empire/server/v2/api/listener/listenertemplatev2.py rename to empire/server/api/v2/listener/listener_template_api.py index b1f994af8..92ec0b8b6 100644 --- a/empire/server/v2/api/listener/listenertemplatev2.py +++ b/empire/server/api/v2/listener/listener_template_api.py @@ -1,14 +1,14 @@ from fastapi import Depends, HTTPException -from empire.server.server import main -from empire.server.v2.api.EmpireApiRouter import APIRouter -from empire.server.v2.api.jwt_auth import get_current_active_user -from empire.server.v2.api.listener.listener_dto import ( +from empire.server.api.api_router import APIRouter +from empire.server.api.jwt_auth import get_current_active_user +from empire.server.api.v2.listener.listener_dto import ( ListenerTemplate, ListenerTemplates, domain_to_dto_template, ) -from empire.server.v2.api.shared_dto import BadRequestResponse, NotFoundResponse +from empire.server.api.v2.shared_dto import BadRequestResponse, NotFoundResponse +from empire.server.server import main listener_template_service = main.listenertemplatesv2 diff --git a/empire/server/v2/api/meta/__init__.py b/empire/server/api/v2/meta/__init__.py similarity index 100% rename from empire/server/v2/api/meta/__init__.py rename to empire/server/api/v2/meta/__init__.py diff --git a/empire/server/v2/api/meta/metav2.py b/empire/server/api/v2/meta/meta_api.py similarity index 66% rename from empire/server/v2/api/meta/metav2.py rename to empire/server/api/v2/meta/meta_api.py index dc05d5a7f..d28c66e67 100644 --- a/empire/server/v2/api/meta/metav2.py +++ b/empire/server/api/v2/meta/meta_api.py @@ -1,11 +1,11 @@ -from fastapi import Depends, HTTPException +from fastapi import Depends import empire.server.common.empire +from empire.server.api.api_router import APIRouter +from empire.server.api.jwt_auth import get_current_active_user +from empire.server.api.v2.meta.meta_dto import EmpireVersion +from empire.server.api.v2.shared_dto import BadRequestResponse, NotFoundResponse from empire.server.server import main -from empire.server.v2.api.EmpireApiRouter import APIRouter -from empire.server.v2.api.jwt_auth import get_current_active_user -from empire.server.v2.api.meta.meta_dto import EmpireVersion -from empire.server.v2.api.shared_dto import BadRequestResponse, NotFoundResponse listener_service = main.listenersv2 diff --git a/empire/server/v2/api/meta/meta_dto.py b/empire/server/api/v2/meta/meta_dto.py similarity index 100% rename from empire/server/v2/api/meta/meta_dto.py rename to empire/server/api/v2/meta/meta_dto.py diff --git a/empire/server/v2/api/module/__init__.py b/empire/server/api/v2/module/__init__.py similarity index 100% rename from empire/server/v2/api/module/__init__.py rename to empire/server/api/v2/module/__init__.py diff --git a/empire/server/v2/api/module/modulev2.py b/empire/server/api/v2/module/module_api.py similarity index 86% rename from empire/server/v2/api/module/modulev2.py rename to empire/server/api/v2/module/module_api.py index a74fc682d..ad500f1cf 100644 --- a/empire/server/v2/api/module/modulev2.py +++ b/empire/server/api/v2/module/module_api.py @@ -4,19 +4,18 @@ from fastapi import Depends, HTTPException from sqlalchemy.orm import Session -from empire.server.common.module_models import EmpireModule -from empire.server.server import main -from empire.server.v2.api.EmpireApiRouter import APIRouter -from empire.server.v2.api.jwt_auth import get_current_active_user -from empire.server.v2.api.module.module_dto import ( +from empire.server.api.api_router import APIRouter +from empire.server.api.jwt_auth import get_current_active_user +from empire.server.api.v2.module.module_dto import ( Module, ModuleBulkUpdateRequest, - Modules, ModuleUpdateRequest, domain_to_dto_module, ) -from empire.server.v2.api.shared_dependencies import get_db -from empire.server.v2.api.shared_dto import BadRequestResponse, NotFoundResponse +from empire.server.api.v2.shared_dependencies import get_db +from empire.server.api.v2.shared_dto import BadRequestResponse, NotFoundResponse +from empire.server.common.module_models import EmpireModule +from empire.server.server import main module_service = main.modulesv2 diff --git a/empire/server/v2/api/module/module_dto.py b/empire/server/api/v2/module/module_dto.py similarity index 96% rename from empire/server/v2/api/module/module_dto.py rename to empire/server/api/v2/module/module_dto.py index 035b89cf0..5d99344b2 100644 --- a/empire/server/v2/api/module/module_dto.py +++ b/empire/server/api/v2/module/module_dto.py @@ -2,8 +2,8 @@ from pydantic import BaseModel +from empire.server.api.v2.shared_dto import Author, CustomOptionSchema, to_value_type from empire.server.common.module_models import EmpireModule, LanguageEnum -from empire.server.v2.api.shared_dto import Author, CustomOptionSchema, to_value_type def domain_to_dto_module(module: EmpireModule, uid: str): diff --git a/empire/server/v2/api/obfuscation/__init__.py b/empire/server/api/v2/obfuscation/__init__.py similarity index 100% rename from empire/server/v2/api/obfuscation/__init__.py rename to empire/server/api/v2/obfuscation/__init__.py diff --git a/empire/server/v2/api/obfuscation/obfuscationv2.py b/empire/server/api/v2/obfuscation/obfuscation_api.py similarity index 94% rename from empire/server/v2/api/obfuscation/obfuscationv2.py rename to empire/server/api/v2/obfuscation/obfuscation_api.py index c0140076b..39dc5fec3 100644 --- a/empire/server/v2/api/obfuscation/obfuscationv2.py +++ b/empire/server/api/v2/obfuscation/obfuscation_api.py @@ -4,11 +4,9 @@ from starlette.responses import Response from starlette.status import HTTP_202_ACCEPTED, HTTP_204_NO_CONTENT -from empire.server.database import models -from empire.server.server import main -from empire.server.v2.api.EmpireApiRouter import APIRouter -from empire.server.v2.api.jwt_auth import get_current_active_user -from empire.server.v2.api.obfuscation.obfuscation_dto import ( +from empire.server.api.api_router import APIRouter +from empire.server.api.jwt_auth import get_current_active_user +from empire.server.api.v2.obfuscation.obfuscation_dto import ( Keyword, KeywordPostRequest, Keywords, @@ -18,8 +16,10 @@ ObfuscationConfigUpdateRequest, domain_to_dto_obfuscation_config, ) -from empire.server.v2.api.shared_dependencies import get_db -from empire.server.v2.api.shared_dto import BadRequestResponse, NotFoundResponse +from empire.server.api.v2.shared_dependencies import get_db +from empire.server.api.v2.shared_dto import BadRequestResponse, NotFoundResponse +from empire.server.database import models +from empire.server.server import main obfuscation_service = main.obfuscationv2 diff --git a/empire/server/v2/api/obfuscation/obfuscation_dto.py b/empire/server/api/v2/obfuscation/obfuscation_dto.py similarity index 100% rename from empire/server/v2/api/obfuscation/obfuscation_dto.py rename to empire/server/api/v2/obfuscation/obfuscation_dto.py diff --git a/empire/server/v2/api/plugin/__init__.py b/empire/server/api/v2/plugin/__init__.py similarity index 100% rename from empire/server/v2/api/plugin/__init__.py rename to empire/server/api/v2/plugin/__init__.py diff --git a/empire/server/v2/api/plugin/pluginv2.py b/empire/server/api/v2/plugin/plugin_api.py similarity index 85% rename from empire/server/v2/api/plugin/pluginv2.py rename to empire/server/api/v2/plugin/plugin_api.py index 977aa4038..918bfe0f0 100644 --- a/empire/server/v2/api/plugin/pluginv2.py +++ b/empire/server/api/v2/plugin/plugin_api.py @@ -1,17 +1,17 @@ from fastapi import Depends, HTTPException from sqlalchemy.orm import Session -from empire.server.server import main -from empire.server.v2.api.EmpireApiRouter import APIRouter -from empire.server.v2.api.jwt_auth import get_current_active_user -from empire.server.v2.api.plugin.plugin_dto import ( +from empire.server.api.api_router import APIRouter +from empire.server.api.jwt_auth import get_current_active_user +from empire.server.api.v2.plugin.plugin_dto import ( PluginExecutePostRequest, PluginExecuteResponse, Plugins, domain_to_dto_plugin, ) -from empire.server.v2.api.shared_dependencies import get_db -from empire.server.v2.api.shared_dto import BadRequestResponse, NotFoundResponse +from empire.server.api.v2.shared_dependencies import get_db +from empire.server.api.v2.shared_dto import BadRequestResponse, NotFoundResponse +from empire.server.server import main plugin_service = main.pluginsv2 diff --git a/empire/server/v2/api/plugin/plugin_dto.py b/empire/server/api/v2/plugin/plugin_dto.py similarity index 96% rename from empire/server/v2/api/plugin/plugin_dto.py rename to empire/server/api/v2/plugin/plugin_dto.py index 9a90ad4d9..c070c02e4 100644 --- a/empire/server/v2/api/plugin/plugin_dto.py +++ b/empire/server/api/v2/plugin/plugin_dto.py @@ -2,8 +2,8 @@ from pydantic import BaseModel +from empire.server.api.v2.shared_dto import Author, CustomOptionSchema, to_value_type from empire.server.common.plugins import Plugin -from empire.server.v2.api.shared_dto import Author, CustomOptionSchema, to_value_type def domain_to_dto_plugin(plugin: Plugin, uid: str): diff --git a/empire/server/v2/api/profile/__init__.py b/empire/server/api/v2/profile/__init__.py similarity index 100% rename from empire/server/v2/api/profile/__init__.py rename to empire/server/api/v2/profile/__init__.py diff --git a/empire/server/v2/api/profile/profilev2.py b/empire/server/api/v2/profile/profile_api.py similarity index 88% rename from empire/server/v2/api/profile/profilev2.py rename to empire/server/api/v2/profile/profile_api.py index a7a2e6f77..93956f8a7 100644 --- a/empire/server/v2/api/profile/profilev2.py +++ b/empire/server/api/v2/profile/profile_api.py @@ -3,18 +3,18 @@ from starlette.responses import Response from starlette.status import HTTP_204_NO_CONTENT -from empire.server.database import models -from empire.server.server import main -from empire.server.v2.api.EmpireApiRouter import APIRouter -from empire.server.v2.api.jwt_auth import get_current_active_user -from empire.server.v2.api.profile.profile_dto import ( +from empire.server.api.api_router import APIRouter +from empire.server.api.jwt_auth import get_current_active_user +from empire.server.api.v2.profile.profile_dto import ( Profile, ProfilePostRequest, Profiles, ProfileUpdateRequest, ) -from empire.server.v2.api.shared_dependencies import get_db -from empire.server.v2.api.shared_dto import BadRequestResponse, NotFoundResponse +from empire.server.api.v2.shared_dependencies import get_db +from empire.server.api.v2.shared_dto import BadRequestResponse, NotFoundResponse +from empire.server.database import models +from empire.server.server import main profile_service = main.profilesv2 diff --git a/empire/server/v2/api/profile/profile_dto.py b/empire/server/api/v2/profile/profile_dto.py similarity index 100% rename from empire/server/v2/api/profile/profile_dto.py rename to empire/server/api/v2/profile/profile_dto.py diff --git a/empire/server/v2/api/shared_dependencies.py b/empire/server/api/v2/shared_dependencies.py similarity index 100% rename from empire/server/v2/api/shared_dependencies.py rename to empire/server/api/v2/shared_dependencies.py diff --git a/empire/server/v2/api/shared_dto.py b/empire/server/api/v2/shared_dto.py similarity index 100% rename from empire/server/v2/api/shared_dto.py rename to empire/server/api/v2/shared_dto.py diff --git a/empire/server/v2/api/stager/__init__.py b/empire/server/api/v2/stager/__init__.py similarity index 100% rename from empire/server/v2/api/stager/__init__.py rename to empire/server/api/v2/stager/__init__.py diff --git a/empire/server/v2/api/stager/stagerv2.py b/empire/server/api/v2/stager/stager_api.py similarity index 88% rename from empire/server/v2/api/stager/stagerv2.py rename to empire/server/api/v2/stager/stager_api.py index 23056d900..41f58b39f 100644 --- a/empire/server/v2/api/stager/stagerv2.py +++ b/empire/server/api/v2/stager/stager_api.py @@ -3,19 +3,19 @@ from starlette.responses import Response from starlette.status import HTTP_204_NO_CONTENT -from empire.server.database import models -from empire.server.server import main -from empire.server.v2.api.EmpireApiRouter import APIRouter -from empire.server.v2.api.jwt_auth import get_current_active_user -from empire.server.v2.api.shared_dependencies import get_db -from empire.server.v2.api.shared_dto import BadRequestResponse, NotFoundResponse -from empire.server.v2.api.stager.stager_dto import ( +from empire.server.api.api_router import APIRouter +from empire.server.api.jwt_auth import get_current_active_user +from empire.server.api.v2.shared_dependencies import get_db +from empire.server.api.v2.shared_dto import BadRequestResponse, NotFoundResponse +from empire.server.api.v2.stager.stager_dto import ( Stager, StagerPostRequest, Stagers, StagerUpdateRequest, domain_to_dto_stager, ) +from empire.server.database import models +from empire.server.server import main stager_service = main.stagersv2 diff --git a/empire/server/v2/api/stager/stager_dto.py b/empire/server/api/v2/stager/stager_dto.py similarity index 98% rename from empire/server/v2/api/stager/stager_dto.py rename to empire/server/api/v2/stager/stager_dto.py index 120c202a4..73d19fef7 100644 --- a/empire/server/v2/api/stager/stager_dto.py +++ b/empire/server/api/v2/stager/stager_dto.py @@ -1,16 +1,16 @@ from datetime import datetime -from typing import Dict, List, Optional, Union +from typing import Dict, List, Optional from pydantic import BaseModel -from empire.server.database import models -from empire.server.v2.api.shared_dto import ( +from empire.server.api.v2.shared_dto import ( Author, CustomOptionSchema, DownloadDescription, domain_to_dto_download_description, to_value_type, ) +from empire.server.database import models def domain_to_dto_template(stager, uid: str): diff --git a/empire/server/v2/api/stager/stagertemplatev2.py b/empire/server/api/v2/stager/stager_template_api.py similarity index 82% rename from empire/server/v2/api/stager/stagertemplatev2.py rename to empire/server/api/v2/stager/stager_template_api.py index 2dd352fcb..82aee8721 100644 --- a/empire/server/v2/api/stager/stagertemplatev2.py +++ b/empire/server/api/v2/stager/stager_template_api.py @@ -1,14 +1,14 @@ from fastapi import Depends, HTTPException -from empire.server.server import main -from empire.server.v2.api.EmpireApiRouter import APIRouter -from empire.server.v2.api.jwt_auth import get_current_active_user -from empire.server.v2.api.shared_dto import BadRequestResponse, NotFoundResponse -from empire.server.v2.api.stager.stager_dto import ( +from empire.server.api.api_router import APIRouter +from empire.server.api.jwt_auth import get_current_active_user +from empire.server.api.v2.shared_dto import BadRequestResponse, NotFoundResponse +from empire.server.api.v2.stager.stager_dto import ( StagerTemplate, StagerTemplates, domain_to_dto_template, ) +from empire.server.server import main stager_template_service = main.stagertemplatesv2 diff --git a/empire/server/api/v2/starkiller b/empire/server/api/v2/starkiller new file mode 160000 index 000000000..48ea05c1b --- /dev/null +++ b/empire/server/api/v2/starkiller @@ -0,0 +1 @@ +Subproject commit 48ea05c1b82c8a376d792dba18742a99d017788e diff --git a/empire/server/v2/api/user/__init__.py b/empire/server/api/v2/user/__init__.py similarity index 100% rename from empire/server/v2/api/user/__init__.py rename to empire/server/api/v2/user/__init__.py diff --git a/empire/server/v2/api/user/userv2.py b/empire/server/api/v2/user/user_api.py similarity index 94% rename from empire/server/v2/api/user/userv2.py rename to empire/server/api/v2/user/user_api.py index f7cf94091..b1991b1e2 100644 --- a/empire/server/v2/api/user/userv2.py +++ b/empire/server/api/v2/user/user_api.py @@ -5,10 +5,8 @@ from sqlalchemy.orm import Session from starlette import status -from empire.server.database import models -from empire.server.server import main -from empire.server.v2.api.EmpireApiRouter import APIRouter -from empire.server.v2.api.jwt_auth import ( +from empire.server.api.api_router import APIRouter +from empire.server.api.jwt_auth import ( ACCESS_TOKEN_EXPIRE_MINUTES, Token, authenticate_user, @@ -17,9 +15,9 @@ get_current_active_user, get_password_hash, ) -from empire.server.v2.api.shared_dependencies import get_db -from empire.server.v2.api.shared_dto import BadRequestResponse, NotFoundResponse -from empire.server.v2.api.user.user_dto import ( +from empire.server.api.v2.shared_dependencies import get_db +from empire.server.api.v2.shared_dto import BadRequestResponse, NotFoundResponse +from empire.server.api.v2.user.user_dto import ( User, UserPostRequest, Users, @@ -27,6 +25,8 @@ UserUpdateRequest, domain_to_dto_user, ) +from empire.server.database import models +from empire.server.server import main user_service = main.usersv2 diff --git a/empire/server/v2/api/user/user_dto.py b/empire/server/api/v2/user/user_dto.py similarity index 100% rename from empire/server/v2/api/user/user_dto.py rename to empire/server/api/v2/user/user_dto.py diff --git a/empire/server/v2/api/websocket/__init__.py b/empire/server/api/v2/websocket/__init__.py similarity index 100% rename from empire/server/v2/api/websocket/__init__.py rename to empire/server/api/v2/websocket/__init__.py diff --git a/empire/server/v2/api/websocket/v2_socketio.py b/empire/server/api/v2/websocket/socketio.py similarity index 94% rename from empire/server/v2/api/websocket/v2_socketio.py rename to empire/server/api/v2/websocket/socketio.py index 7bd5c5cdc..bd7b2ce44 100644 --- a/empire/server/v2/api/websocket/v2_socketio.py +++ b/empire/server/api/v2/websocket/socketio.py @@ -3,14 +3,14 @@ from sqlalchemy.orm import Session +from empire.server.api import jwt_auth +from empire.server.api.v2.agent.agent_dto import domain_to_dto_agent +from empire.server.api.v2.agent.agent_task_dto import domain_to_dto_task +from empire.server.api.v2.listener.listener_dto import domain_to_dto_listener +from empire.server.api.v2.user.user_dto import domain_to_dto_user from empire.server.common.hooks import hooks from empire.server.database import models from empire.server.database.base import SessionLocal -from empire.server.v2.api import jwt_auth -from empire.server.v2.api.agent.agent_dto import domain_to_dto_agent -from empire.server.v2.api.agent.task_dto import domain_to_dto_task -from empire.server.v2.api.listener.listener_dto import domain_to_dto_listener -from empire.server.v2.api.user.user_dto import domain_to_dto_user log = logging.getLogger(__name__) diff --git a/empire/server/common/agents.py b/empire/server/common/agents.py index 1d798e849..cc38b9709 100644 --- a/empire/server/common/agents.py +++ b/empire/server/common/agents.py @@ -47,11 +47,11 @@ from sqlalchemy.orm import Session from zlib_wrapper import decompress +from empire.server.api.v2.credential.credential_dto import CredentialPostRequest from empire.server.common.hooks import hooks from empire.server.database import models from empire.server.database.base import SessionLocal from empire.server.database.models import TaskingStatus -from empire.server.v2.api.credential.credential_dto import CredentialPostRequest from . import encryption, helpers, packets diff --git a/empire/server/common/empire.py b/empire/server/common/empire.py index aa812d5ad..16fd09da5 100755 --- a/empire/server/common/empire.py +++ b/empire/server/common/empire.py @@ -18,24 +18,24 @@ # Empire imports from empire.server.common import hooks_internal from empire.server.common.config import empire_config +from empire.server.core.agent_file_service import AgentFileService +from empire.server.core.agent_service import AgentService +from empire.server.core.agent_task_service import AgentTaskService +from empire.server.core.bypass_service import BypassService +from empire.server.core.credential_service import CredentialService +from empire.server.core.download_service import DownloadService +from empire.server.core.host_process_service import HostProcessService +from empire.server.core.host_service import HostService +from empire.server.core.listener_service import ListenerService +from empire.server.core.listener_template_service import ListenerTemplateService +from empire.server.core.module_service import ModuleService +from empire.server.core.obfuscation_service import ObfuscationService +from empire.server.core.plugin_service import PluginService +from empire.server.core.profile_service import ProfileService +from empire.server.core.stager_service import StagerService +from empire.server.core.stager_template_service import StagerTemplateService +from empire.server.core.user_service import UserService from empire.server.utils import data_util -from empire.server.v2.core.agent_file_service import AgentFileService -from empire.server.v2.core.agent_service import AgentService -from empire.server.v2.core.agent_task_service import AgentTaskService -from empire.server.v2.core.bypass_service import BypassService -from empire.server.v2.core.credential_service import CredentialService -from empire.server.v2.core.download_service import DownloadService -from empire.server.v2.core.host_process_service import HostProcessService -from empire.server.v2.core.host_service import HostService -from empire.server.v2.core.listener_service import ListenerService -from empire.server.v2.core.listener_template_service import ListenerTemplateService -from empire.server.v2.core.module_service import ModuleService -from empire.server.v2.core.obfuscation_service import ObfuscationService -from empire.server.v2.core.plugin_service import PluginService -from empire.server.v2.core.profile_service import ProfileService -from empire.server.v2.core.stager_service import StagerService -from empire.server.v2.core.stager_template_service import StagerTemplateService -from empire.server.v2.core.user_service import UserService from . import agents, credentials, listeners, stagers diff --git a/empire/server/v2/core/__init__.py b/empire/server/core/__init__.py similarity index 100% rename from empire/server/v2/core/__init__.py rename to empire/server/core/__init__.py diff --git a/empire/server/v2/core/agent_file_service.py b/empire/server/core/agent_file_service.py similarity index 100% rename from empire/server/v2/core/agent_file_service.py rename to empire/server/core/agent_file_service.py diff --git a/empire/server/v2/core/agent_service.py b/empire/server/core/agent_service.py similarity index 95% rename from empire/server/v2/core/agent_service.py rename to empire/server/core/agent_service.py index f8eccd024..9a2e04e9b 100644 --- a/empire/server/v2/core/agent_service.py +++ b/empire/server/core/agent_service.py @@ -1,7 +1,7 @@ from sqlalchemy.orm import Session +from empire.server.core.agent_task_service import AgentTaskService from empire.server.database import models -from empire.server.v2.core.agent_task_service import AgentTaskService class AgentService(object): diff --git a/empire/server/v2/core/agent_task_service.py b/empire/server/core/agent_task_service.py similarity index 97% rename from empire/server/v2/core/agent_task_service.py rename to empire/server/core/agent_task_service.py index a0029589a..443c91edc 100644 --- a/empire/server/v2/core/agent_task_service.py +++ b/empire/server/core/agent_task_service.py @@ -7,15 +7,18 @@ from sqlalchemy import and_, func, or_ from sqlalchemy.orm import Session, joinedload, undefer +from empire.server.api.v2.agent.agent_task_dto import ( + ModulePostRequest, + TaskOrderOptions, +) +from empire.server.api.v2.shared_dto import OrderDirection from empire.server.common import helpers from empire.server.common.config import empire_config from empire.server.common.hooks import hooks +from empire.server.core.listener_service import ListenerService +from empire.server.core.module_service import ModuleService from empire.server.database import models from empire.server.database.models import TaskingStatus -from empire.server.v2.api.agent.task_dto import ModulePostRequest, TaskOrderOptions -from empire.server.v2.api.shared_dto import OrderDirection -from empire.server.v2.core.listener_service import ListenerService -from empire.server.v2.core.module_service import ModuleService log = logging.getLogger(__name__) diff --git a/empire/server/v2/core/bypass_service.py b/empire/server/core/bypass_service.py similarity index 100% rename from empire/server/v2/core/bypass_service.py rename to empire/server/core/bypass_service.py diff --git a/empire/server/v2/core/credential_service.py b/empire/server/core/credential_service.py similarity index 97% rename from empire/server/v2/core/credential_service.py rename to empire/server/core/credential_service.py index 97cae166a..cc50a0fdc 100644 --- a/empire/server/v2/core/credential_service.py +++ b/empire/server/core/credential_service.py @@ -1,8 +1,8 @@ from sqlalchemy import and_, or_ from sqlalchemy.orm import Session +from empire.server.api.v2.credential.credential_dto import CredentialPostRequest from empire.server.database import models -from empire.server.v2.api.credential.credential_dto import CredentialPostRequest class CredentialService(object): diff --git a/empire/server/v2/core/download_service.py b/empire/server/core/download_service.py similarity index 97% rename from empire/server/v2/core/download_service.py rename to empire/server/core/download_service.py index ad8667a3e..3e93e2874 100644 --- a/empire/server/v2/core/download_service.py +++ b/empire/server/core/download_service.py @@ -6,13 +6,13 @@ from sqlalchemy import func, or_ from sqlalchemy.orm import Session -from empire.server.common.config import empire_config -from empire.server.database import models -from empire.server.v2.api.download.download_dto import ( +from empire.server.api.v2.download.download_dto import ( DownloadOrderOptions, DownloadSourceFilter, ) -from empire.server.v2.api.shared_dto import OrderDirection +from empire.server.api.v2.shared_dto import OrderDirection +from empire.server.common.config import empire_config +from empire.server.database import models class DownloadService(object): diff --git a/empire/server/v2/core/host_process_service.py b/empire/server/core/host_process_service.py similarity index 100% rename from empire/server/v2/core/host_process_service.py rename to empire/server/core/host_process_service.py diff --git a/empire/server/v2/core/host_service.py b/empire/server/core/host_service.py similarity index 100% rename from empire/server/v2/core/host_service.py rename to empire/server/core/host_service.py diff --git a/empire/server/v2/core/listener_service.py b/empire/server/core/listener_service.py similarity index 99% rename from empire/server/v2/core/listener_service.py rename to empire/server/core/listener_service.py index 722e02c2c..c31d55357 100644 --- a/empire/server/v2/core/listener_service.py +++ b/empire/server/core/listener_service.py @@ -6,10 +6,10 @@ from sqlalchemy.orm import Session from empire.server.common.hooks import hooks +from empire.server.core.listener_template_service import ListenerTemplateService from empire.server.database import models from empire.server.database.base import SessionLocal from empire.server.utils.option_util import set_options, validate_options -from empire.server.v2.core.listener_template_service import ListenerTemplateService log = logging.getLogger(__name__) diff --git a/empire/server/v2/core/listener_template_service.py b/empire/server/core/listener_template_service.py similarity index 100% rename from empire/server/v2/core/listener_template_service.py rename to empire/server/core/listener_template_service.py diff --git a/empire/server/v2/core/module_service.py b/empire/server/core/module_service.py similarity index 99% rename from empire/server/v2/core/module_service.py rename to empire/server/core/module_service.py index 9d3dae865..a442042d8 100644 --- a/empire/server/v2/core/module_service.py +++ b/empire/server/core/module_service.py @@ -7,18 +7,18 @@ import yaml from sqlalchemy.orm import Session +from empire.server.api.v2.module.module_dto import ( + ModuleBulkUpdateRequest, + ModuleUpdateRequest, +) from empire.server.common import helpers from empire.server.common.config import empire_config from empire.server.common.converter.load_covenant import _convert_covenant_to_empire from empire.server.common.module_models import EmpireModule, LanguageEnum +from empire.server.core.obfuscation_service import ObfuscationService from empire.server.database import models from empire.server.database.base import SessionLocal from empire.server.utils.option_util import convert_module_options, validate_options -from empire.server.v2.api.module.module_dto import ( - ModuleBulkUpdateRequest, - ModuleUpdateRequest, -) -from empire.server.v2.core.obfuscation_service import ObfuscationService log = logging.getLogger(__name__) diff --git a/empire/server/v2/core/obfuscation_service.py b/empire/server/core/obfuscation_service.py similarity index 100% rename from empire/server/v2/core/obfuscation_service.py rename to empire/server/core/obfuscation_service.py diff --git a/empire/server/v2/core/plugin_service.py b/empire/server/core/plugin_service.py similarity index 100% rename from empire/server/v2/core/plugin_service.py rename to empire/server/core/plugin_service.py diff --git a/empire/server/v2/core/profile_service.py b/empire/server/core/profile_service.py similarity index 100% rename from empire/server/v2/core/profile_service.py rename to empire/server/core/profile_service.py diff --git a/empire/server/v2/core/stager_service.py b/empire/server/core/stager_service.py similarity index 97% rename from empire/server/v2/core/stager_service.py rename to empire/server/core/stager_service.py index 8956e9aa3..f8e6dfd9f 100644 --- a/empire/server/v2/core/stager_service.py +++ b/empire/server/core/stager_service.py @@ -6,10 +6,10 @@ from sqlalchemy.orm import Session from empire.server.common.config import empire_config +from empire.server.core.listener_service import ListenerService +from empire.server.core.stager_template_service import StagerTemplateService from empire.server.database import models from empire.server.utils.option_util import set_options, validate_options -from empire.server.v2.core.listener_service import ListenerService -from empire.server.v2.core.stager_template_service import StagerTemplateService class StagerService(object): diff --git a/empire/server/v2/core/stager_template_service.py b/empire/server/core/stager_template_service.py similarity index 100% rename from empire/server/v2/core/stager_template_service.py rename to empire/server/core/stager_template_service.py diff --git a/empire/server/v2/core/user_service.py b/empire/server/core/user_service.py similarity index 100% rename from empire/server/v2/core/user_service.py rename to empire/server/core/user_service.py diff --git a/empire/server/database/models.py b/empire/server/database/models.py index 62905414a..30922f913 100644 --- a/empire/server/database/models.py +++ b/empire/server/database/models.py @@ -20,7 +20,6 @@ from sqlalchemy.orm import deferred, relationship from sqlalchemy_utc import UtcDateTime, utcnow -from empire.server.common.config import empire_config from empire.server.utils.datetime_util import is_stale Base = declarative_base() diff --git a/empire/server/server.py b/empire/server/server.py index 3d86861a9..24a11b482 100755 --- a/empire/server/server.py +++ b/empire/server/server.py @@ -11,13 +11,14 @@ import urllib3 +from empire.server.api import app + # Empire imports from empire.server.common import empire from empire.server.common.config import empire_config from empire.server.database import base from empire.server.utils import file_util from empire.server.utils.log_util import LOG_FORMAT, SIMPLE_LOG_FORMAT, ColorFormatter -from empire.server.v2.api import v2App log = logging.getLogger(__name__) main = None @@ -99,7 +100,7 @@ def reset(): def shutdown_handler(signum, frame): """ This is used to gracefully shutdown Empire if uvicorn is not running yet. - Otherwise, the "shutdown" event in v2App.py will be used. + Otherwise, the "shutdown" event in app.py will be used. """ log.info("Shutting down Empire Server...") @@ -153,6 +154,6 @@ def run(args): subprocess.call("./setup/cert.sh") time.sleep(3) - v2App.initialize() + app.initialize() sys.exit() diff --git a/empire/server/v2/api/starkiller b/empire/server/v2/api/starkiller deleted file mode 160000 index 441ee358d..000000000 --- a/empire/server/v2/api/starkiller +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 441ee358ddc3e1e5ee1f6835b9952d0b4a0c1bde diff --git a/empire/test/conftest.py b/empire/test/conftest.py index 31f334eb4..62428a6a7 100644 --- a/empire/test/conftest.py +++ b/empire/test/conftest.py @@ -1,7 +1,5 @@ import os -import random import shutil -import string import sys from pathlib import Path @@ -44,39 +42,39 @@ def client(empire_config): empire.server.server.main = MainMenu(args) - from empire.server.v2.api.agent import agentfilev2, agentv2, taskv2 - from empire.server.v2.api.bypass import bypassv2 - from empire.server.v2.api.credential import credentialv2 - from empire.server.v2.api.download import downloadv2 - from empire.server.v2.api.host import hostv2, processv2 - from empire.server.v2.api.listener import listenertemplatev2, listenerv2 - from empire.server.v2.api.meta import metav2 - from empire.server.v2.api.module import modulev2 - from empire.server.v2.api.obfuscation import obfuscationv2 - from empire.server.v2.api.plugin import pluginv2 - from empire.server.v2.api.profile import profilev2 - from empire.server.v2.api.stager import stagertemplatev2, stagerv2 - from empire.server.v2.api.user import userv2 + from empire.server.api.v2.agent import agent_api, agent_file_api, agent_task_api + from empire.server.api.v2.bypass import bypass_api + from empire.server.api.v2.credential import credential_api + from empire.server.api.v2.download import download_api + from empire.server.api.v2.host import host_api, process_api + from empire.server.api.v2.listener import listener_api, listener_template_api + from empire.server.api.v2.meta import meta_api + from empire.server.api.v2.module import module_api + from empire.server.api.v2.obfuscation import obfuscation_api + from empire.server.api.v2.plugin import plugin_api + from empire.server.api.v2.profile import profile_api + from empire.server.api.v2.stager import stager_api, stager_template_api + from empire.server.api.v2.user import user_api v2App = FastAPI() - v2App.include_router(listenertemplatev2.router) - v2App.include_router(listenerv2.router) - v2App.include_router(stagertemplatev2.router) - v2App.include_router(stagerv2.router) - v2App.include_router(taskv2.router) - v2App.include_router(agentfilev2.router) - v2App.include_router(agentv2.router) - v2App.include_router(modulev2.router) - v2App.include_router(bypassv2.router) - v2App.include_router(obfuscationv2.router) - v2App.include_router(profilev2.router) - v2App.include_router(pluginv2.router) - v2App.include_router(credentialv2.router) - v2App.include_router(hostv2.router) - v2App.include_router(userv2.router) - v2App.include_router(processv2.router) - v2App.include_router(downloadv2.router) - v2App.include_router(metav2.router) + v2App.include_router(listener_template_api.router) + v2App.include_router(listener_api.router) + v2App.include_router(stager_template_api.router) + v2App.include_router(stager_api.router) + v2App.include_router(agent_task_api.router) + v2App.include_router(agent_file_api.router) + v2App.include_router(agent_api.router) + v2App.include_router(module_api.router) + v2App.include_router(bypass_api.router) + v2App.include_router(obfuscation_api.router) + v2App.include_router(profile_api.router) + v2App.include_router(plugin_api.router) + v2App.include_router(credential_api.router) + v2App.include_router(host_api.router) + v2App.include_router(user_api.router) + v2App.include_router(process_api.router) + v2App.include_router(download_api.router) + v2App.include_router(meta_api.router) yield TestClient(v2App) diff --git a/empire/test/test_modules.py b/empire/test/test_modules.py index f4161066e..1b269171e 100644 --- a/empire/test/test_modules.py +++ b/empire/test/test_modules.py @@ -21,7 +21,7 @@ def test_load_modules(monkeypatch, caplog, db): that come with Empire can be loaded properly at startup and a script can be generated with the default values. """ - from empire.server.v2.core.module_service import ModuleService + from empire.server.core.module_service import ModuleService caplog.set_level(logging.DEBUG) diff --git a/empire/test/test_startup_loaders.py b/empire/test/test_startup_loaders.py index 9b6218114..b095d69a6 100644 --- a/empire/test/test_startup_loaders.py +++ b/empire/test/test_startup_loaders.py @@ -7,9 +7,7 @@ def test_bypass_loader(monkeypatch): sys.argv = ["", "server", "--config", SERVER_CONFIG_LOC] session_mock = MagicMock() - monkeypatch.setattr( - "empire.server.v2.core.bypass_service.SessionLocal", session_mock - ) + monkeypatch.setattr("empire.server.core.bypass_service.SessionLocal", session_mock) session_mock.begin.return_value.__enter__.return_value.query.return_value.first.return_value.install_path = ( "empire/server" @@ -19,7 +17,7 @@ def test_bypass_loader(monkeypatch): None ) - from empire.server.v2.core.bypass_service import BypassService + from empire.server.core.bypass_service import BypassService main_menu = Mock() main_menu.installPath = "empire/server" @@ -33,14 +31,14 @@ def test_listener_template_loader(monkeypatch): sys.argv = ["", "server", "--config", SERVER_CONFIG_LOC] session_mock = MagicMock() monkeypatch.setattr( - "empire.server.v2.core.listener_template_service.SessionLocal", session_mock + "empire.server.core.listener_template_service.SessionLocal", session_mock ) session_mock.begin.return_value.__enter__.return_value.query.return_value.first.return_value.install_path = ( "empire/server" ) - from empire.server.v2.core.listener_template_service import ListenerTemplateService + from empire.server.core.listener_template_service import ListenerTemplateService main_menu = Mock() main_menu.installPath = "empire/server" @@ -54,14 +52,14 @@ def test_stager_template_loader(monkeypatch): sys.argv = ["", "server", "--config", SERVER_CONFIG_LOC] session_mock = MagicMock() monkeypatch.setattr( - "empire.server.v2.core.stager_template_service.SessionLocal", session_mock + "empire.server.core.stager_template_service.SessionLocal", session_mock ) session_mock.begin.return_value.__enter__.return_value.query.return_value.first.return_value.install_path = ( "empire/server" ) - from empire.server.v2.core.stager_template_service import StagerTemplateService + from empire.server.core.stager_template_service import StagerTemplateService main_menu = Mock() main_menu.installPath = "empire/server" @@ -74,9 +72,7 @@ def test_stager_template_loader(monkeypatch): def test_profile_loader(monkeypatch): sys.argv = ["", "server", "--config", SERVER_CONFIG_LOC] session_mock = MagicMock() - monkeypatch.setattr( - "empire.server.v2.core.profile_service.SessionLocal", session_mock - ) + monkeypatch.setattr("empire.server.core.profile_service.SessionLocal", session_mock) session_mock.begin.return_value.__enter__.return_value.query.return_value.first.return_value.install_path = ( "empire/server" @@ -86,7 +82,7 @@ def test_profile_loader(monkeypatch): None ) - from empire.server.v2.core.profile_service import ProfileService + from empire.server.core.profile_service import ProfileService main_menu = Mock() main_menu.installPath = "empire/server"