app.api.v2.managers namespace
Submodules
app.api.v2.managers.ability_api_manager module
- class app.api.v2.managers.ability_api_manager.AbilityApiManager(data_svc, file_svc)
Bases:
BaseApiManager
- async create_on_disk_object(data: dict, access: dict, ram_key: str, id_property: str, obj_class: type)
- async remove_object_from_disk_by_id(identifier: str, ram_key: str)
- async replace_on_disk_object(obj: Any, data: dict, ram_key: str, id_property: str)
- async update_on_disk_object(obj: Any, data: dict, ram_key: str, id_property: str, obj_class: type)
app.api.v2.managers.adversary_api_manager module
- class app.api.v2.managers.adversary_api_manager.AdversaryApiManager(data_svc, file_svc)
Bases:
BaseApiManager
app.api.v2.managers.agent_api_manager module
- class app.api.v2.managers.agent_api_manager.AgentApiManager(data_svc, file_svc)
Bases:
BaseApiManager
- async get_deploy_commands(ability_id: str = None)
app.api.v2.managers.base_api_manager module
- class app.api.v2.managers.base_api_manager.BaseApiManager(data_svc, file_svc, logger=None)
Bases:
BaseWorld
- async create_on_disk_object(data: dict, access: dict, ram_key: str, id_property: str, obj_class: type)
- static dump_object_with_filters(obj: Any, include: List[str] = None, exclude: List[str] = None) dict
- find_and_dump_objects(ram_key: str, search: dict = None, sort: str = None, include: List[str] = None, exclude: List[str] = None)
- find_and_update_object(ram_key: str, data: dict, search: dict = None)
- async find_and_update_on_disk_object(data: dict, search: dict, ram_key: str, id_property: str, obj_class: type)
- find_object(ram_key: str, search: dict = None)
- find_objects(ram_key: str, search: dict = None)
Find objects matching the given criteria
- property log
- async remove_object_from_disk_by_id(identifier: str, ram_key: str)
- async remove_object_from_memory_by_id(identifier: str, ram_key: str, id_property: str)
- replace_object(obj: Any, data: dict)
- async replace_on_disk_object(obj: Any, data: dict, ram_key: str, id_property: str)
- update_object(obj: Any, data: dict)
- async update_on_disk_object(obj: Any, data: dict, ram_key: str, id_property: str, obj_class: type)
app.api.v2.managers.config_api_manager module
- class app.api.v2.managers.config_api_manager.ConfigApiManager(data_svc, file_svc, config_interface=None)
Bases:
BaseApiManager
- get_filtered_config(name)
Return the configuration for the input name with sensitive fields removed.
- async update_global_agent_config(sleep_min: int = None, sleep_max: int = None, watchdog: int = None, untrusted_timer: int = None, implant_name: str = None, bootstrap_abilities: List[str] = None, deadman_abilities=None)
- update_main_config(prop, value)
- exception app.api.v2.managers.config_api_manager.ConfigNotFound(config_name, message=None)
Bases:
Exception
- exception app.api.v2.managers.config_api_manager.ConfigUpdateNotAllowed(property, message=None)
Bases:
Exception
- app.api.v2.managers.config_api_manager.filter_keys(mapping, keys_to_remove)
- app.api.v2.managers.config_api_manager.filter_sensitive_props(config_map)
Return a copy of config_map with top-level sensitive keys removed.
- app.api.v2.managers.config_api_manager.is_sensitive_prop(prop)
Return True if the input prop is a sensitive configuration property.
app.api.v2.managers.contact_api_manager module
- class app.api.v2.managers.contact_api_manager.ContactApiManager(data_svc, file_svc, contact_svc)
Bases:
BaseApiManager
- get_available_contact_reports()
- get_contact_report(contact: str = None)
app.api.v2.managers.fact_api_manager module
- class app.api.v2.managers.fact_api_manager.FactApiManager(data_svc, file_svc, knowledge_svc)
Bases:
BaseApiManager
- async static copy_object(obj)
- async static extract_data(request: Request)
- async verify_fact_integrity(data)
- async verify_operation_state(new_fact)
- async verify_relationship_integrity(data)
app.api.v2.managers.fact_source_manager module
- class app.api.v2.managers.fact_source_manager.FactSourceApiManager(data_svc, file_svc, knowledge_svc)
Bases:
BaseApiManager
app.api.v2.managers.operation_api_manager module
- class app.api.v2.managers.operation_api_manager.OperationApiManager(services)
Bases:
BaseApiManager
- async create_object_from_schema(schema: SchemaMeta, data: dict, access: Access, existing_operation: Operation = None)
- async find_and_update_object(ram_key: str, data: dict, search: dict = None)
- get_agents(operation: dict)
- async get_hosts(operation: dict)
- async get_operation_event_logs(operation_id: str, access: dict, output: bool)
- async get_operation_link(operation_id: str, link_id: str, access: dict)
- async get_operation_link_result(operation_id: str, link_id: str, access: dict)
- async get_operation_links(operation_id: str, access: dict)
- async get_operation_object(operation_id: str, access: dict)
- async get_operation_report(operation_id: str, access: dict, output: bool)
- async get_potential_links(operation_id: str, access: dict, paw: str = None)
- async get_reachable_hosts(agent: dict = None, operation: dict = None)
NOTE: When agent is supplied, only hosts discovered by agent are retrieved.
- async setup_operation(data: dict, access: Access)
Applies default settings to an operation if data is missing.
- async update_object(obj: Any, data: dict)
- validate_link_data(link_data: dict)
app.api.v2.managers.schedule_api_manager module
- class app.api.v2.managers.schedule_api_manager.ScheduleApiManager(services)
Bases:
OperationApiManager
- find_and_update_object(ram_key: str, data: dict, search: dict = None)
- update_object(obj: Any, data: dict)