FreeBSD
FreeBSD ExecUnits are native libraries built for the FreeBSD operating-system interface. Their broad structure resembles Linux ExecUnits, but binary compatibility and build baselines require separate consideration.
Supported combinations
The current commercial FreeBSD agent targets amd64 and supports native Executable and Linkable Format (ELF) shared objects in its own process, called the self context.
| Component | Available FreeBSD artifacts | Coverage |
|---|---|---|
| Default command ExecUnits | Native FreeBSD ELF shared objects | The supported Portable Operating System Interface (POSIX) command subset |
| Simple Hypertext Transfer Protocol (HTTP), Transmission Control Protocol (TCP), and Domain Name System (DNS) listeners | Native FreeBSD ELF shared objects | All three families |
| TCP bind and TCP reverse listeners | Native FreeBSD ELF shared objects | Both families |
| TCP listener-owned commands | Native FreeBSD ELF shared objects | Both corresponding command families |
| Server Message Block (SMB) listener and its owned command | None | Windows-only |
Shared POSIX source can reduce implementation differences, but it does not make Linux and FreeBSD binaries interchangeable. The current agent does not provide the Windows managed, shellcode, or alternative-process execution combinations on FreeBSD.
Loading model
A compatible artifact needs the correct architecture, FreeBSD application binary interface (ABI), and required runtime libraries. Identifying an artifact as ELF is insufficient because that container format is shared by multiple operating systems.
Current build baselines differ between component groups: the commercial agent and default command builds target FreeBSD 13.0, while the default listener repository, including its listener-owned commands, targets FreeBSD 12.2. These are build targets, not a claim that a particular mixed set is supported on every FreeBSD release. Assess the actual agent and selected artifacts together, including their dependencies.
Local communication
The standard local channel uses two filesystem first-in, first-out (FIFO) endpoints, each carrying one direction. FreeBSD shares this broad transport model with Linux and macOS; Windows uses a single duplex named-pipe connection.
See the FIFO model and Stream Behavior for endpoint ownership and message-boundary considerations.
Lifetime and limitations
The current FreeBSD context keeps ExecUnits within the agent process. Shared POSIX helpers do not establish that every component has identical concurrency or shutdown behavior; consult command limitations and listener limitations. Lifetimes and Outcomes explains the shared completion and cleanup boundaries.