From d6608d687c9ff2665941473d01d6d0297866ca12 Mon Sep 17 00:00:00 2001 From: its-a-feature Date: Thu, 30 Jan 2025 12:18:41 -0600 Subject: [PATCH] bug fix for command augment containers --- CHANGELOG.MD | 6 ++++++ VERSION | 2 +- mythic-docker/src/VERSION | 2 +- mythic-docker/src/rabbitmq/recv_pt_sync.go | 12 +++++++----- 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.MD b/CHANGELOG.MD index 551c3d68..42b47d60 100644 --- a/CHANGELOG.MD +++ b/CHANGELOG.MD @@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [3.3.1-rc39] - 2025-01-30 + +### Changed + +- Fixed a syncing bug that wasn't auto adding commands to new callbacks for command augmentation containers + ## [3.3.1-rc38] - 2025-01-30 ### Changed diff --git a/VERSION b/VERSION index df5c41e5..7eef4e3c 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -3.3.1-rc38 \ No newline at end of file +3.3.1-rc39 \ No newline at end of file diff --git a/mythic-docker/src/VERSION b/mythic-docker/src/VERSION index df5c41e5..7eef4e3c 100644 --- a/mythic-docker/src/VERSION +++ b/mythic-docker/src/VERSION @@ -1 +1 @@ -3.3.1-rc38 \ No newline at end of file +3.3.1-rc39 \ No newline at end of file diff --git a/mythic-docker/src/rabbitmq/recv_pt_sync.go b/mythic-docker/src/rabbitmq/recv_pt_sync.go index 3f1354a8..6150e1c4 100644 --- a/mythic-docker/src/rabbitmq/recv_pt_sync.go +++ b/mythic-docker/src/rabbitmq/recv_pt_sync.go @@ -403,7 +403,7 @@ func payloadTypeSync(in PayloadTypeSyncMessage) error { if !in.ForcedSync { go CreateGraphQLSpectatorAPITokenAndSendOnStartMessage(payloadtype.Name) if in.PayloadType.AgentType == "command_augment" { - go updateAllCallbacksWithCommandAugments(in.PayloadType.Name) + go updateAllCallbacksWithCommandAugments() } } return nil @@ -1279,19 +1279,21 @@ func updatePayloadBuildSteps(in PayloadTypeSyncMessage, payloadtype databaseStru } } -func updateAllCallbacksWithCommandAugments(payloadTypeName string) { +func updateAllCallbacksWithCommandAugments() { callbacks := []databaseStructs.Callback{} err := database.DB.Select(&callbacks, `SELECT callback.id, callback.operator_id, - payload.os "payload.os" + payload.os "payload.os", + payloadtype.Name "payload.payloadtype.name" FROM callback - JOIN payload on callback.registered_payload_id = payload.id`) + JOIN payload on callback.registered_payload_id = payload.id + JOIN payloadtype ON payload.payload_type_id = payloadtype.id`) if err != nil { logging.LogError(err, "failed to get callbacks for updating with newly synced command augmentation container") return } for _, callback := range callbacks { - addCommandAugmentsToCallback(callback.ID, callback.Payload.Os, payloadTypeName, callback.OperatorID) + addCommandAugmentsToCallback(callback.ID, callback.Payload.Os, callback.Payload.Payloadtype.Name, callback.OperatorID) } }