Commit Graph
238 Commits
Author SHA1 Message Date
Michael 4fae9e56cf Shellcode clean (#21)
* feat: shellcode output via Donut (Windows) + memfd stub (Linux)

- Donut (Windows): PE → PIC shellcode (.bin) via donut-manager.ts
  Flags: -f1 -a<arch> -b3 -x1 (continue on AMSI fail, thread exit)
- Linux shellcode: 113-byte x86_64 memfd_create+execveat stub
  (linux-shellcode-manager.ts) wraps ELF for memfd_create+execveat
- Two-pass build for shellcode+persistence: Pass 1 = normal agent with
  persist compiled in; Pass 2 = selfembed agent that drops+registers
  Pass 1 on first run (isRunningInMemory() gates the path)
- Show console option: shellcode_console build tag calls AllocConsole()
  on start for debug builds; AttachConsole fallback included
- isRunningInMemory() Windows: VirtualQuery on .data sentinel
  (MEM_PRIVATE = injected, MEM_IMAGE = normal disk load) replaces
  os.Executable() which returned host process path when injected
- Build UI: Donut mode, Linux shellcode mode, show-console checkboxes;
  settings persisted across sessions via collectFormSettings()
- GODEBUG=netdns=cgo hardcoded in build env (fixes IPv6 DNS on VPN)
- Dockerfile: pre-seed Go module cache; add curl to runtime image
- docker-compose.yml: switch healthcheck to wget (curl absent in slim)

* fix: add missing shellcode UI functions and restore dynamic linking

applyDonutMode, applyLinuxShellcodeMode, and updateShellcodeCheckboxVisibility
were called throughout build.js but never defined, breaking platform selection
and the build button. Add the missing implementations.

Also remove forced -extldflags '-static' on Linux CGO builds; fully static
glibc binaries cannot call dlopen, which broke native plugin loading entirely.

* fix: call updateShellcodeCheckboxVisibility on page load

Shellcode rows were hidden on initial load because the function was only
wired to checkbox change events. Call it at startup and in applyFormSettings
so pre-selected platforms correctly show their shellcode options immediately.

* feat: Linux plugin subprocess shim for static-agent compatibility

Static musl binaries cannot call dlopen. Introduce a small C shim
(plugin_host.c) that is compiled at agent-build time into a
dynamically-linked binary, embedded via go:embed, and fork+exec'd to
load .so plugins on behalf of the static agent over a Unix socketpair.

Empty placeholder files allow go:embed to compile without error; the
real binaries are produced by build-process.ts before go build runs and
are never committed. Documents the IPC protocol and build matrix in
PLUGINS.md Section 12.

* fix: define sp_memfd_create/sp_write_all in subproc CGO preamble

CGO preamble functions are per-file translation units; so_memfd_create
and so_write_all from loader_linux.go are not visible in
loader_linux_subproc.go. Add local equivalents with sp_ prefix.

* fix: use CGO helper for shim memfd_create instead of syscall.SYS_MEMFD_CREATE

syscall.SYS_MEMFD_CREATE is not defined in Go stdlib syscall package.
Replace with sp_memfd_create_nocloe() CGO helper (flags=0, no CLOEXEC).

* fix: compile plugin host shim statically to avoid glibc version mismatch

A dynamically-linked shim compiled on Debian Bookworm (glibc 2.36) fails
on older glibc targets. Compile with -static so the shim is self-contained
and runs on any glibc version. Static glibc can still call dlopen at runtime
via the system ld-linux.so.2.

Also surface subprocess errors instead of silently falling through to dlopen
so failures are visible in the build log.

* Restore docker build cache
2026-05-13 22:55:51 -05:00
KingKDot 5b2d827607 2.2.2 2026-05-13 22:33:07 -05:00
KingKDot 6ae44625f8 improved rev console 2026-05-13 22:32:49 -05:00
KingKDot 27225566f4 auto fix 2026-05-13 21:37:16 -05:00
KingKDot bf093f5a7d web rtc for webcam, audio, etc. 2026-05-13 20:19:21 -05:00
KingKDot 75adccfedd 2.2.1 2026-05-13 13:48:47 -05:00
KingKDot 8e97a32567 WebRTC 2026-05-13 13:44:33 -05:00
KingKDot 637f7b5a4f 2.1.3 2026-05-11 21:40:24 -05:00
KingKDot b485b5cc17 fix tele issue + fix issue with mac that double prompts. 2026-05-11 20:36:27 -05:00
KingKDot 2a1554b111 2.1.2 2026-05-10 17:07:16 -05:00
KingKDot 05eb7385c1 make keylogger optional 2026-05-10 17:06:39 -05:00
KingKDot 7ebfe1a694 2.1.1 2026-05-10 00:15:02 -05:00
KingKDot 9b2f10ee34 allow all apps to be opened in HVNC and show their icons as well. (exe only for best support) 2026-05-10 00:03:49 -05:00
KingKDot 1d46e79fbe 2.1.0 2026-05-09 22:00:45 -05:00
KingKDot 2353c40832 new dashboard UI 2026-05-09 20:47:44 -05:00
KingKDot 9c4969996e 2.0.7 2026-05-08 22:38:32 -05:00
KingKDot 6433f3b989 2.0.6 2026-05-07 20:38:52 -05:00
KingKDot dd6007fb74 run another check against the duplication api. Also fix mac building with CGO enabled. 2026-05-07 20:16:02 -05:00
KingKDot 1a0dc05222 safety and hopefully fix crashing bug with GPU mode. 2026-05-07 19:41:47 -05:00
KingKDot 63d0425f70 2.0.5 2026-05-07 09:53:17 -05:00
KingKDot b0c88f8c08 2.0.4 2026-05-06 22:00:12 -05:00
KingKDot 5759b19a89 better logging for plugins + fix caps lock not working keylogger 2026-05-06 21:59:07 -05:00
KingKDot 7a47090447 2.0.3 2026-05-05 22:22:50 -05:00
KingKDot 355470c657 fix updating and also check path before downloading compilers (can't even fucking download them on windows) 2026-05-05 22:22:29 -05:00
KingKDot 54da22bb8c fuck timeout 2026-05-05 20:49:54 -05:00
KingKDot 877a56e123 fix updating 2026-05-05 20:22:27 -05:00
KingKDot dddcd19628 2.0.2 2026-05-05 19:32:53 -05:00
KingKDot ec62401911 fix hvnc issue, fix build watcher issue, fix wrong type of exe being sent on updates. 2026-05-05 19:31:55 -05:00
KingKDot fefa30e7b9 2.0.1 2026-05-05 15:44:52 -05:00
KingKDot 2014af0d93 2.0.0 2026-05-05 13:40:03 -05:00
KingKDot b00f759f16 test 2026-05-04 19:56:36 -05:00
KingKDot c71af228b4 stability fixes 2026-05-04 09:58:59 -05:00
KingKDot 8a7217cda2 change how plugins are sent to clients (https is better than whatever tf I can do) 2026-05-03 22:37:08 -05:00
KingKDot e0587a1331 1.9.1 2026-05-02 22:19:55 -05:00
KingKDot 5380282726 1.9.0 2026-04-29 00:39:40 -05:00
KingKDot 1c52917f74 mfs would somehow think I'm fixing ts without AI LMFAO. 2026-04-29 00:39:20 -05:00
KingKDot 636bee7617 1.8.14 2026-04-25 21:12:41 -05:00
KingKDot 98afc99d98 toggle UIA support 2026-04-24 19:20:58 -05:00
KingKDot b51c187c20 kill all process in hvnc button 2026-04-24 09:53:28 -05:00
KingKDot 666bbfac4d fix linux and mac 2026-04-23 12:20:23 -05:00
KingKDot 8c3c6de1c3 add scroll wheel support to remote desktop 2026-04-22 16:15:53 -05:00
KingKDot 01cb4f73ab persistent storage for plugins + bump version 2026-04-22 13:24:05 -05:00
KingKDot 506e6c3746 add more plugin options + don't inject in HVNC if DXGI is set to off. 2026-04-20 18:58:27 -05:00
KingKDot 76337628fb 1.8.11 2026-04-20 13:58:38 -05:00
KingKDot 1a43938982 fix arm and x86 building 2026-04-20 13:58:11 -05:00
KingKDot a58e0fadf1 add control flow obf for garble 2026-04-20 13:46:59 -05:00
KingKDot a43da5e047 1.8.11 2026-04-19 18:48:37 -05:00
KingKDot 86c1897406 Get AI to make me a POC. Will need to push to the git so I can test. Will revert if it doesn't work and probably just delete commit history for it as well. 2026-04-19 15:07:44 -05:00
KingKDot b1d2cab242 1.8.10 2026-04-18 21:50:48 -05:00
KingKDot bee4b379d6 1.8.9 2026-04-18 21:20:37 -05:00