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 \
qtwebsocketsEnsure 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/nullApple 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 AdaptixClientConfigure 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:
./AdaptixClientIf Homebrew reports linking conflicts with qt@5, unlink it temporarily:
brew unlink qt@5This 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
./AdaptixClientInspect linked Qt libraries:
otool -L ./AdaptixClient | grep QtIf configuration fails, verify that the required Qt modules are installed:
brew list | grep qtExpected output should include:
qtbase
qtdeclarative
qtsvg
qtwebsockets
Please push сhanges to the dev branch. Otherwise, changes will be made manually in the dev branch.



