sliver
sliver copied to clipboard
The cmd window is not hidden when executing the command
I found the control command in sliver/implant/sliver/handlers/handlers.go. In line 556, I used cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true} to hide the window, but after the modification, I used make or go build to compile the client and server, but the line of code did not take effect
func executeHandler(data []byte, resp RPCResponse) {
var (
err error
stdErr io.Writer
stdOut io.Writer
errWriter *bufio.Writer
outWriter *bufio.Writer
)
execReq := &sliverpb.ExecuteReq{}
err = proto.Unmarshal(data, execReq)
if err != nil {
// {{if .Config.Debug}}
log.Printf("error decoding message: %v", err)
// {{end}}
return
}
execResp := &sliverpb.Execute{}
exePath, err := expandPath(execReq.Path)
if err != nil {
execResp.Response = &commonpb.Response{
Err: fmt.Sprintf("%s", err),
}
proto.Marshal(execResp)
resp(data, err)
return
}
cmd := exec.Command(exePath, execReq.Args...)
cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true}
Any solution? Facing a similar situation.