sliver icon indicating copy to clipboard operation
sliver copied to clipboard

The cmd window is not hidden when executing the command

Open 23jdn opened this issue 1 year ago • 1 comments

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}

23jdn avatar Jul 13 '24 11:07 23jdn

Any solution? Facing a similar situation.

orangex avatar Sep 17 '24 01:09 orangex