AdaptixC2 β A Free Alternative to Cobalt Strike?
Welcome back, aspiring cyberwarriors!
At Hackers-Arise, weβve previously examined various command and control frameworks, including Havoc and Sliver. The market is filled with numerous options, each presenting its unique advantages and drawbacks. And while news about another C2 may not typically raise eyebrows among cyberwarriors, AdaptixC2 stands out as an exception worth attention.
In this article, weβll delve into the features of AdaptixC2 and guide you through the installation and initial configuration process on Kali Linux. Letβs get rolling!
AdaptixC2 β Overview
AdaptixC2 is a red teaming tool designed for adversarial actions, offering a wide range of customization options. If a cyberwarrior were to utilize this tool, they would gain extensive control over the affected machines. This control allows them to manipulate the file system, manage directories, and create, modify, or delete files and folders at will. Moreover, they can enumerate running processes, terminate specific applications, and launch new programs. Such capabilities allow threat actors to establish a foothold within the environment, delve deeper into the compromised system, and maneuver laterally across the network.
To facilitate covert communication and bypass network restrictions, the framework contains tunneling features, including SOCKS4/5 proxy functionality and port forwarding. These options enable cyberwarriors to maintain communication channels even in heavily secured environments.
AdaptixC2 is inherently modular, leveraging βextendersβ that act as plugins for both listeners and agents. This modular design allows hackers to create customized payloads and detection-evasion techniques tailored to their target systems. Additionally, it supports Beacon Object Files (BOFs), which let attackers execute small, custom programs written in C directly within the agentβs process, helping to evade detection.
The beacon agents in AdaptixC2 come loaded with specialized commands for quick and discreet data transfer. They are compatible with both x86 and x64 architectures and can be produced in various formats such as standalone executables, dynamic-link libraries, service executables, and raw shellcode. With this framework, cyberwarriors can efficiently exfiltrate data from the compromised network by configuring chunk sizes during file downloads and uploads, making smaller segments appear less suspicious to network detection systems.
Installation
AdaptixC2 is published on GitHub, and we can easily install it with the following command:
kali> git clone https://github.com/Adaptix-Framework/AdaptixC2.git

When we visit the AdaptixC2 folder and list the content, weβll see the output as below.

Weβre interested in the pre_install_linux_all.sh script, which will install everything we need for the server and client parts.
kali> sudo bash ./pre_install_linux_all.sh server

The next step is running make:
kali> make server-ext

This will build the AdaptixC2 server and Go plugins (extenders). All compiled files will be located in the dist directory.
Lastly, we need to generate some SSL certificates.
kali> openssl req -x509 -nodes -newkey rsa:2048 -keyout server.rsa.key -out server.rsa.crt -days 3650

This command generates a self-signed SSL/TLS certificate along with its private key using OpenSSL.
Breaking down what happens: req -x509 tells OpenSSL to create a self-signed X.509 certificate rather than a certificate signing request. -nodes means the private key wonβt be encrypted with a passphrase, so it can be used without prompting for a password each time. -newkey rsa:2048 generates a new 2048-bit RSA key pair at the same time. -keyout server.rsa.key specifies the file where the new private key will be saved, and -out server.rsa.crt specifies the file where the resulting certificate will be saved. Finally, -days 3650 sets the certificateβs validity period to 3650 days (10 years).
Since it doesnβt specify a -subj flag, OpenSSL will interactively prompt you for details like country when you run it, but we can just Tab and skip it all.
At this stage, we should have an SSL certificate and need to copy it to a dist directory:
kali> cp server.rsa.* ./dist

In the dist directory, we can also see a file called profile.yaml. It contains configuration for the AdaptixC2 server. This is different than what you normally expect from profiles such as Cobalt Strike or Nighthawk, which have everything tied together.

For this demonstration, Iβll leave everything at the default.
To start the AdaptixC2 server, run the following command:
kali> sudo ./adaptixserver -profile profile.yaml

Thatβs it; weβre ready to move into client configuration.
We need to begin with the pre_install script, but now run it for the client:
kali> sudo bash ./pre_install_linux_all.sh client

Lastly, what we need to do is make the client:
kali> make client

Getting Started
To get started, we just need to run the AdaptixC2 client binary:
kali> ./AdaptixClient
Youβll see a window like the one below.

In the profile.yaml we saw operator1 and operator2, but technically we can set up any username we want. But the default password is pass.

When everything is entered, weβre ready to click Connect. Youβll be greeted by the very clean UI.

From here, you can take a look at the tabs on the interface pane. In order of appearance from left to right, you have:
Notifications β View system and agent-related alerts.
Listeners & Sites β Here you can create, edit, and delete listeners.
Extension Docks β Manage and configure loaded extensions.
Session Table β List all connected agents with details like OS, user, computer, domain, sleep, and status.
Session Graph β Visual map of agent chains, lateral movement, and active tunnels.
Jobs & Tasks β View current and completed tasks assigned to agents.
Chat β Team chat for operator communication within the project.
Tunnels table β View current tunnels deployed by agents.
Downloads β View downloads from agents.
Targets table β Track and manage target hosts and networks.
Credentials β Store and manage harvested credentials (usernames, passwords, hashes, tickets, etc.).
Screens β View screenshots captured from agents.
The bottom pane is the agent console and acts very similarly to other GUI-based C2 clients such as Cobalt Strike.
Extension-Kit
So, the server is running, and the client is running. And the last step we need to do is to install Extension-Kit. This will add all the capabilities that will gonna make this tool worth using.
Installation is straightforward:
kali> git clone https://github.com/Adaptix-Framework/Extension-Kit.git
But besides the repository, we need to install the required utilities:
kali> apt install g++-mingw-w64-x86-64-posix gcc-mingw-w64-x86-64-posix mingw-w64-tools

Next, we need to run a make command:
kali> cd Extension-Kit
kali> make

During the installation, youβll see a lot of BOFs, or Beacon Object Files. Basically, theyβre small C programs that modularly fit into AdaptixC2 to give more functionality.
After running the make command, we need to open AdaptixC2 > Extensions > Script Manager. Then, right-click and select Open New. Load extension-kit.axs from the Extension-Kit directory.

At this point of time weβre ready to go. Next time, we will teach you how to operate and control the victim machine with your C2.
Summary
AdaptixC2 shows great promise, and I highly recommend giving it a try. It could become a valuable addition to your toolkit. By following the steps outlined in this article, youβll set up a fully functional framework. Stay tuned for future articles where we will continue to delve into command and control frameworks.
If you found this information useful, you might also be interested in our Hacking Infrastructure course. Additionally, consider joining our community by becoming a Subscriber PRO.
The post AdaptixC2 β A Free Alternative to Cobalt Strike? first appeared on Hackers Arise.