Commit Graph
335 Commits
Author SHA1 Message Date
KingKDot b975907b20 let mac re-prompt + modularize more code. 2026-05-29 15:41:08 -05:00
KingKDot 006d3730b8 2.3.1 2026-05-22 21:35:21 -05:00
KingKDot 38cdf609b0 family friendly naming 2026-05-22 20:34:20 -05:00
KingKDot 238ea09214 system health in settings 2026-05-22 10:49:29 -05:00
KingKDot eb75f1a49f large purgatory improvements 2026-05-22 10:12:40 -05:00
KingKDot ce5095ad61 optional purgatory, fix mem usage screenshot wall 2026-05-22 09:32:03 -05:00
KingKDot 6e57f2ec1f fix building issue 2026-05-21 16:28:12 -05:00
KingKDot b693cbbbf5 big update 2026-05-21 09:51:12 -05:00
KingKDot ea77515aa3 add elevate to windows and linux, add hvnc visualization + more debug stuff (20 seconds for watching chrome, edge, etc). 2026-05-20 15:26:41 -05:00
KingKDot e62f6b83fe fix test for github actions blazing fucking fast mac machines 2026-05-19 20:36:44 -05:00
KingKDot 3aa6194672 2.2.11 2026-05-19 20:32:01 -05:00
KingKDot 40c72acb2e fix rev console to make it not buns. 2026-05-19 20:31:36 -05:00
KingKDot bd192f7076 fix spamming from purgatory 2026-05-19 17:29:50 -05:00
KingKDot 0c6863b702 2.2.10 2026-05-19 10:44:03 -05:00
KingKDot 16169d7465 rbac standardization 2026-05-19 09:57:47 -05:00
KingKDot c4f6172143 audit log permissions 2026-05-19 09:42:44 -05:00
KingKDot 116beff515 RBAC 3.0 2026-05-19 00:46:30 -05:00
KingKDot 423e41854f bug fixes. 2026-05-18 23:07:11 -05:00
KingKDot 59a2622b47 2.2.9 2026-05-18 21:34:50 -05:00
KingKDot af05a807c6 RBAC changes + fix rev console and process view in shellcode 2026-05-18 21:34:35 -05:00
KingKDot 9e4a6468d3 2.2.8 2026-05-18 11:02:06 -05:00
KingKDot c76d2aaa44 add firewall notification and fix GPU mode in shellcode 2026-05-18 11:01:42 -05:00
KingKDot b8121ade9a fix socks issue 2026-05-18 10:10:19 -05:00
KingKDot 95f7db5dd5 fix thumbnails 2026-05-18 09:55:05 -05:00
KingKDot 4129fc2164 2.2.7 2026-05-17 22:37:23 -05:00
KingKDot bab5054b47 Add screenshot page, add polling screenshots, better screenshot memory cleanup, better visualization/no jitter when screenshots are shown now. 2026-05-17 22:02:23 -05:00
KingKDot 7574988e3b give the ability to auto upload builds 2026-05-17 19:49:50 -05:00
KingKDot 372646e4a5 fix tele issue 2026-05-17 17:12:31 -05:00
KingKDot 5b0964935c fix rbac and crit process 2026-05-17 16:46:03 -05:00
KingKDot 34ff881c4e oops again + more 2026-05-17 13:31:47 -05:00
KingKDot 5b64b6fb50 oops 2026-05-17 13:19:46 -05:00
KingKDot b7502643a6 2.2.6 2026-05-17 13:11:44 -05:00
KingKDot c499b76227 fix reflective injection 0xc5 errors (c5 reference) and then add sgn and windows shellcode building. 2026-05-17 13:11:21 -05:00
KingKDot f53b1cf2c8 add context menu to processes view + add more shit you can do. 2026-05-17 02:35:48 -05:00
KingKDot 0cd05547e8 2.2.5 2026-05-17 01:36:09 -05:00
KingKDot c2b0d31578 438 tests per windows builds now 2026-05-17 01:15:52 -05:00
KingKDot 6dbbedfec1 file browser 2.0 2026-05-17 00:51:17 -05:00
KingKDot d691c5b804 show running process in process viewer and add limiting to the notification system 2026-05-16 23:19:46 -05:00
KingKDot e2ef4a375f add deadmans key, fix downloading randomly stopping halfway through, add scripts to context menu. 2026-05-16 16:33:40 -05:00
KingKDot 2697e289e2 2.2.4 2026-05-15 21:02:00 -05:00
KingKDot 0c9e156d95 add more info for when chrome gets killed 2026-05-15 21:01:42 -05:00
KingKDot b68aa4a4c7 clear notification by toggling them off and back on 2026-05-15 18:57:23 -05:00
KingKDot 5aa3a304a8 hvnc status and muting users. 2026-05-15 18:29:25 -05:00
KingKDot 12972d6e8b UI updates and remove CSP for plugins 2026-05-15 11:52:26 -05:00
KingKDot da3bec8de1 optional public IP fetching 2026-05-14 19:56:50 -05:00
KingKDot 390e0c0347 2.2.3 2026-05-13 23:26:41 -05:00
KingKDot 09576231c9 allow domains to get ips of users instead of docker 172 2026-05-13 23:25:49 -05:00
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