BuildParameters: []agentstructs.BuildParameter{
{
Name: "mode",
Description: "Choose the build mode option. Select default for executables, c-shared for a .dylib or .so file, or c-archive for a .Zip containing C source code with an archive and header file",
Required: false,
DefaultValue: "default",
Choices: []string{"default", "c-archive", "c-shared"},
ParameterType: agentstructs.BUILD_PARAMETER_TYPE_CHOOSE_ONE,
},
{
Name: "architecture",
Description: "Choose the agent's architecture",
Required: false,
DefaultValue: "AMD_x64",
Choices: []string{"AMD_x64", "ARM_x64"},
ParameterType: agentstructs.BUILD_PARAMETER_TYPE_CHOOSE_ONE,
},
{
Name: "proxy_bypass",
Description: "Ignore HTTP proxy environment settings configured on the target host?",
Required: false,
DefaultValue: false,
ParameterType: agentstructs.BUILD_PARAMETER_TYPE_BOOLEAN,
GroupName: "egress",
},
{
Name: "garble",
Description: "Use Garble to obfuscate the output Go executable.\nWARNING - This significantly slows the agent build time.",
Required: false,
DefaultValue: false,
ParameterType: agentstructs.BUILD_PARAMETER_TYPE_BOOLEAN,
},
{
Name: "debug",
Description: "Create a debug build with print statements for debugging.",
Required: false,
DefaultValue: false,
ParameterType: agentstructs.BUILD_PARAMETER_TYPE_BOOLEAN,
},
{
Name: "egress_order",
Description: "Prioritize the order in which egress connections are made (if including multiple egress c2 profiles)",
Required: false,
ParameterType: agentstructs.BUILD_PARAMETER_TYPE_ARRAY,
DefaultValue: []string{"http", "websocket", "dynamichttp", "httpx"},
GroupName: "egress",
},
{
Name: "egress_failover",
Description: "How should egress mechanisms rotate",
Required: false,
ParameterType: agentstructs.BUILD_PARAMETER_TYPE_CHOOSE_ONE,
Choices: []string{"failover"},
DefaultValue: "failover",
GroupName: "egress",
},
{
Name: "failover_threshold",
Description: "How many failed attempts should cause a rotate of egress comms",
Required: false,
ParameterType: agentstructs.BUILD_PARAMETER_TYPE_NUMBER,
DefaultValue: 10,
GroupName: "egress",
},
{
Name: "static",
Description: "Statically compile the payload",
Required: false,
ParameterType: agentstructs.BUILD_PARAMETER_TYPE_BOOLEAN,
DefaultValue: false,
SupportedOS: []string{agentstructs.SUPPORTED_OS_LINUX},
},
},