Türkiye’de tek yazılan bu blog yazımızda Cobalt Strike Command and Control aracını birlikte tanımış olacağız.

Cobalt Strike Nedir?

Cobalt strike APT grupları tarafından kullanılan, saldırı simülasyonları ve red team operasyonları için hazırlanmış bir platformdur , apt gruplarının kullandığı bu araç , gerçekleştireceği operasyonları bir platform üzerinden yönetip hackledikleri sistemleri bu platform üzerinden gui sayesinde kolayca yönetebilir,hacklenilen sistemler üzerinden aynı networkte bulunulan bilgisayarlarda ki zafiyetlere göre diğer bilgisayarları hackleyebilir (lateral movement),hacklenilen bilgisayar üzerinde çalışan zararlı yazılımın trafiğini yönetebilir kolaylığı sağlıyor.


Tabi birkaç terimi var bunları öğrenip direct çalıştırmasına geçebiliriz pratikte çoğu şey daha iyi oturacaktır.


TEAM SERVER & CLIENT

Cobalt strike , içerisinde team server ve client olmak üzere 2 tane componenti bulunur.Server , team server olarak adlandırılır yani takım sunucusu çünkü yapılacak işin bir operasyon olduğunu ve hackerların toplandığı yer olarak bilinir ve team server zararlı yazılımlarımızı (ki cobalt strike için beacon payloadları olacak ilerde değinilecek konu), cobalt strike tarafından toplanan dataları loglama işlemlerinden sorumludur.

Loglamada karşı sistemden aldığımız screenshotlar , indirdiğimiz dosyalar , çalıştırdığımız keylogger çıktıları hepsini detaylı görebiliriz.

Team server sadece (Debian,Ubuntu,Kali Linux) Linux sistemlerinde çalışır windows yada macOs sistemleri üzerinde çalıştırılamaz.

Team serveri çalıştırmak için :


$ sudo ./teamserver <ip_address> <password> [malleableC2profile] [kill_date]



1) IP Address : Girilmesi zorunludur.Team server için ip adress girilmesi gerekir.Team server için IP adresim 192.168.1.2

2) Password : Girilmesi zorunludur.Bu passwordün girilmesinin sebebi , takım arkadaşlarımızın bağlanacağı teamserver’ın parolasını girmek ve bunun sonucunda takım arkadaşlarımızla birlikte aynı teamserver’ı kullanabiliriz. (Passwordumuz : dotnetguard)

3) Malleable C2 Profile : Girilmesi zorunlu değildir.Geçerli bir Malleable C2 Profile girilmesi gerekiyor.Malleable C2 Profileyi ,ileride daha ayrıntılı göreceğiz , bizim karşı sistemde çalışan zararlı yazılımımızın trafiğini yönetmek için kullandığımız bir mini language olarak düşünebilirsiniz.

4) Kill Date : Girilmesi zorunlu değildir. Tarih değeri girilmesi durumunda, YYYY-MM-DD formatındadır ve team server bu tarihi her bir zararlı yazılımımızın kodlarının içerisine gömecek.Bunun sonucunda zararlı yazılımımız bu tarihten sonra çalışmayı reddedecek yani bu tarihten sonra herhangi bir tetikleme bile olsa da kapanacaktır.

Team server başladığında , default olarak 50050. Portta çalışacaktır , kendi SSL sertifikasının SHA256 Hash’ini publish edecek.Bu hash’i takım üyelerinin bağlanması için kendilerine dağıtmamız gerekir çünkü kendileri team server’a bağlanmaya çalıştığında, Cobalt Strike Client Client GUI’si size, bu hash hakkında bilgi sahibi misiniz diye hash gösterir ve hashlerin karşılaştırılması sonucunda bağlantı gerçekleşir.Eğer ki hash’lerin uyuşmaması durumunda MITM atağı gerçekleşiyor diyebiliriz.




Cobalt Strike Client (GUI) Başlatalım

Client server gibi değildir , yani herhangi bir OS, windows , linux , macOS da çalıştırabilirsiniz.

Client için Linux’da :

./cobaltstrike komutu girilmelidir.


Windows için :

Cobalt strike klasörüne gidildikten sonra cobaltstrike.exe çalıştırılmalıdır.


MacOS için :

Cobalt strike klasörüne gidildikten sonra , cobaltstrike çift tıklanıp açılması sağlanır.


Çalıştırma sonucunda , connection dialog ekranı görüntülenir.

Peki üstteki parametreler ne işe yarıyor Alias , Host , Port , User , Password tek tek kısaca değinelim.


  1. Alias : Host için bir kısaltma girmede kullanılır , boş olamaz ve “*” (asterisk) ile başlayamaz.
  2. Host : Team server’ın ip adresi bu alana girilir.Ayrıca , bu alanda boş olamaz.
  3. Port : Team server’a bağlanmak için port adresi girilir (Default olarak 50050) . Tabi nadiren değiştirilebilir.Boş olamaz ve içerisine sayısal karakterler girilmelidir.
  4. User : Bu alan team server da kullandığınız nick name olarak bilir.Hacker nameniz , tabi bu alanda boş olamaz çünkü ilerde başka bir hacker amcamız size mesaj atmaya kalktığında bu username’nizi kullanarak özelden mesaj atabilir.
  5. Password : Team server’a bağlanmak için size paylaşılan password girilir.


Tabi daha sonra Connect’e basıp cobalt strike team server’a bağlanabiliriz.



Eğer ki ilk bağlantınız ise bu server’a Cobalt Strike size SHA256 hash’ini gösterecek bu server’ın doğru mu değil mi diye ? Yes’e tıklarsanız Cobalt Strike client server’a bağlanacak ve client user GUI ‘ ı açacak.

Cobalt Strike’ın güzel özelliklerinden bir tanesi siz önceden eğer ki bir teamserver’a bağlantı gerçekleştirdiyseniz bunu kendisi bize hatırlatır.Yani herhangi bir fingerprint göstermeden direkt olarak GUI’yı bize açacaktır.

Cobalt strike zaten bu hash’i bilecek , onu da Cobalt Strike -> Preferences -> Fingerprints bölümünde yazıyor olacak.