Skip to content

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.