FEB, 28: What has changed in version v1.2?
Adaptix is an extensible post-exploitation and adversarial emulation framework made for authorized penetration testing. The Adaptix server is written in Golang and to allow operator flexibility. The GUI Client is written in C++ QT, allowing it to be used on Linux, Windows, and MacOS operating systems. Full documentation is available here.
This tool is designed for AUTHORIZED security testing and red team operations ONLY. Unauthorized use is strictly prohibited and may violate local and international laws. Use at your own risk.
Please checkout the wiki.
- Server/Client Architecture for Multiplayer Support
- Cross-platform GUI client
- Fully encrypted communications
- Listener and Agents as Plugin (Extender)
- AxScript Engine
- Task and Jobs storage
- Credentials Manager
- Targets Manager
- Remote Terminal / Shell
- Files and Process browsers
- Socks4 / Socks5 / Socks5 Auth support
- Local and Reverse port forwarding support
- BOF & Async BOF support
- Linking Agents and Sessions Graph
- Agents Health Checker
- Agents KillDate and WorkingTime control
- Windows/Linux/MacOs agents support
- HTTP/S Beacon Listener
- DNS/DoH Beacon Listener
- SMB Beacon Listener
- TCP Beacon Listener
- Beacon Agent
- TCP/mTLS Gopher Listener
- Gopher Agent
Official Extension-Kit on GitHub
After installation using the setup-macos.sh script, ensure the following requirements are met before building the client.
- macOS Intel (
x86_64) - macOS Apple Silicon (
arm64/ M1, M2, M3, M4)
Install the required packages using Homebrew:
brew install \
cmake \
openssl \
qtbase \
qtdeclarative \
qtsvg \
qtwebsockets
Ensure the following Qt6 configuration files exist:
find /opt/homebrew /usr/local -name Qt6Config.cmake 2>/dev/null
find /opt/homebrew /usr/local -name Qt6SvgConfig.cmake 2>/dev/null
find /opt/homebrew /usr/local -name Qt6WebSocketsConfig.cmake 2>/dev/null
find /opt/homebrew /usr/local -name Qt6QmlConfig.cmake 2>/dev/null
Apple Silicon users should typically see paths under:
/opt/homebrew/Cellar/
Intel users should typically see paths under:
/usr/local/Cellar/
From the repository root:
cd AdaptixClient
Configure CMake using the detected Qt paths:
cmake . \
-DQt6_DIR="$(dirname $(find $(brew --prefix) -name Qt6Config.cmake | head -1))" \
-DQt6Svg_DIR="$(dirname $(find $(brew --prefix) -name Qt6SvgConfig.cmake | head -1))" \
-DQt6WebSockets_DIR="$(dirname $(find $(brew --prefix) -name Qt6WebSocketsConfig.cmake | head -1))" \
-DQt6Qml_DIR="$(dirname $(find $(brew --prefix) -name Qt6QmlConfig.cmake | head -1))"
make -j$(sysctl -n hw.ncpu)
If the client launches with the error:
qt.qpa.plugin: Could not find the Qt platform plugin "cocoa"
set the Qt plugin paths before running:
export QT_PLUGIN_PATH="$(find $(brew --prefix) -path '*share/qt/plugins' | grep qtbase | head -1)"
export QT_QPA_PLATFORM_PLUGIN_PATH="$QT_PLUGIN_PATH/platforms"
Then launch the client:
./AdaptixClient
If Homebrew reports linking conflicts with qt@5, unlink it temporarily:
brew unlink qt@5
This project requires Qt 6. Having Qt 5 linked may prevent Qt 6 modules such as QtSvg, QtWebSockets, or QtQml from being discovered correctly.
Enable Qt plugin debugging:
export QT_DEBUG_PLUGINS=1
./AdaptixClient
Inspect linked Qt libraries:
otool -L ./AdaptixClient | grep Qt
If configuration fails, verify that the required Qt modules are installed:
brew list | grep qt
Expected output should include:
qtbase
qtdeclarative
qtsvg
qtwebsockets
Please push сhanges to the dev branch. Otherwise, changes will be made manually in the dev branch.



