Siber Güvenlik Simülasyonları için MITRE Caldera Kullanımı

MİTRE CALDERA MITRE Corporation tarafından geliştirilmiştir. Temelinde MİTRE ATT&CK Framework yapısını barındıran CALDERA savunma sistemlerini güçlendirme, saldırgan davranışlarını analiz etme ve taklit etme, siber güvenlik takımlarının iş birliği ve perspektifini artırma gibi amaçlarla oluşturulmuş bir üründür. Bu blog yazısında kurulumu ve ürün kullanımı test edilip log akışı kontrol edilmektedir.

Siber Güvenlik Simülasyonları için MITRE Caldera Kullanımı

MİTRE ATT&CK Framework Nedir?

Dünya geçmişten günümüze kadar olan sürede birçok siber saldırı modeli kullanılmıştır. Eskiden siber saldırılar basit ve anlaşılabilirken şuanda daha karmaşık ve gelişmiş yöntemlere evrilmeye başlamış olup anlaşılması zor hale gelmiştir. Bu durum da saldırıları tam olarak anlayabilmek için saldırıların detaylarını belirli gruplar içerisinde gruplayarak tehdit gruplarının kullanmış olduğu stratejilerin analiz edilmesinde kolaylık sağlayan bir model çerçevesi oluşturma ihtiyacı oluşturmuştur. Bu modelleme ihtiyacını karşılayan önemli çerçevelerden biri de MITRE ATT&CK çerçevesidir.

MİTRE CALDERA Nedir?

MİTRE CALDERA MITRE Corporation tarafından geliştirilmiştir. Temelinde MİTRE ATT&CK Framework yapısını barındıran CALDERA savunma sistemlerini güçlendirme, saldırgan davranışlarını analiz etme ve taklit etme, siber güvenlik takımlarının iş birliği ve perspektifini artırma gibi amaçlarla oluşturulmuş bir üründür. Açık kaynaklı olmasının yanı sıra düşük maliyetlerle testler gerçekleştirmeye imkan sağlamaktadır.  İçerisinde ajan tabanlı bir yapıya sahiptir ve bu yapı sayesinde yüklenilen sistemde hafiflik sağlamaktadır. Analiz ve raporlama araçlarıyla da yapılan işlemlerin sonuçlarını incelemede kolaylık sağlamaktadır. Splunk, Elastick gibi SIEM araçları ile entegre edilebilmektedir.

Mitre Caldera Genel Özellikleri:

MİTRE CALDERA Sistem Gereksinimleri

  1. Donanım Gereksinimleri
  • CPU: Modern bir x64 işlemci (minimum 2 çekirdek önerilir).
  • RAM: Minimum 2 GB, ancak 4 GB ve üzeri önerilir (senaryoların karmaşıklığına bağlı).
  • Depolama Alanı: 10 GB boş disk alanı (loglar ve eklentiler için daha fazla alan gerekebilir).
  • Ağ: Ağ erişimi olan bir cihaz (ajanlarla iletişim için).

Şekil 1 Sistem Donanım Bilgileri

  1. Yazılım Gereksinimleri

İşletim Sistemi:

  • Linux (Önerilen): Ubuntu 20.04.6
  • Windows: Windows 10/11 veya Windows Server 2019.

Python:

  • Python 3.8 veya daha yeni bir sürüm.
  • pip (Python paket yöneticisi).
  • Git: Git sürüm kontrol sistemi yüklü olmalı

MİTRE CALDERA Kurulumu:

  • Kurulum işlemlerine başlamadan önce sistem güncellemelerinin yapılması gerekmektedir.

sudo apt update

  • Sistemde git, python, pip yazılım yükleyicilerinin yüklü olması gerekmektedir.

sudo apt install -y git python3 python3-pip

  • Şekilde gösterilmiş olan github reposu üzerinden CALDERA’yı indirme işlemi başlatılır. –recursive parametresinin çalıştırılma nedeni submodulleri otomatik olarak klonlamak içindir.

git clone https://github.com/mitre/caldera.git --recursive

Şekil 2 Github reposu yükleme komutu

  • Github indirme işlemi tamamlandıktan sonra sanallaştırılımış bir çalışma ortamı sağlamak için kullanılan python3-venv kurulumu gerçekleştirilir.

apt install python3-venv

Şekil 3 Sanal Ortam kurulumu

  • Kurulum adımları tamamlandıktan sonra bir sanal çalışma ortamı kurulur ve başlatılır. Pip paket yükleyicisi upgrade edilir.

python3 –m venv

source /bin/activate

Şekil 4 Sanal ortam başlatma ve bağımlılık kurulumu

  • Sanal ortam aktif hale getirildikten sonra CALDERA için gerekli olan bağımlılıkları yüklenir. –r parametresinin kullanım amacı bağlımlılıkların toplu bir şekilde yüklenmesini sağlamaktır.

pip install –r requirments.txt

Şekil 5 Go dili indirme

  • Bağımlılıklar yüklendikten sonra Go dilinin kurulumu gerçekleştirilmelidir. Go dilinin kurulma sebebi CALDERA’nın içerisinde bulunan bazı agent’ları (Örneğin: sandcat) bu dili kullanmasıdır. Wget ile indirme işlemi yapılıp tar komutu ile /usr/local dizini altına dosyalar çıkartılır. Sonrasında ortam değişkenleri ayarlanarak ~/.profile dosyasının içerisine yazılır ve yeniden yükleme işlemi gerçekleştirilir. ~/.profile kullanıcı profil dosyasıdır.

wget https://go.dev/dl/go1.20.3.linux-amd64.tar.gz

sudo tar -C /usr/local -xzf go1.20.3.linux-amd64.tar.gz

export PATH=$PATH:/usr/local/go/bin

echo "export PATH=\$PATH:/usr/local/go/bin" >> ~/.profile

source ~/.profile

Şekil 6 Node.js betiği indirme komutu

  • Go dili kurulumu tamamlandıktan sonra sisteme node.js ‘in de yüklenmesi gerekmektedir. Node.js web arayüzü, API ’ler ve bazı modüller için kullanılaktadır. Curl komutu ile gerekli node.js betiği indirilip sonrasında betik çalıştırılır. Bu komutun çalıştırılma nedeni Ubuntu repolarında güncel node.js versiyonun bulunmamasıdır.

curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -

Şekil 7 Node.js yükleme komutu

  • Betik çalıştırma işlemi tamamlandıktan sonra repodaki güncel node.js sisteme yüklenir.

Şekil 8 CALDERA Server Çalıştırma komutu

  • Son adım olarak da işlemler tamamlandıktan sonra python komutu ile Caldera konfigürassyon dosyaları içerisinde bulunan server.py dosyası çalıştırılır.

--insecure: TLS/SSL doğrulamasını devre dışı bırakır. HTTPS sertifika yapılandırması yapılmadı ie kullanılır.

--build: Sunucu başlatılmadan önce modüllerin ve bağımlılıkların yeniden oluşturulmasını sağlar.

--log DEBUG: Hataların detaylı takibi ve sunucu işlemlerinin adım adım kaydedilmesi için kullanılır. Login işlemleri gibi işlemlerde servisin çalıştırıldığı terminalden log kontrolü yapmaya imkan sağlar.

python server.py --insecure --build --log DEBUG

Şekil 9 CALDERA Server Çalıştırma 2

  • İşlemler tamamlandıktan sonra terminalde CALDERA ’nın başladığını anlayabilmek için CALDERA yazısı görünmektedir.

Şekil 10 CALDERA Server Konfigürasyon dosyası

  • CALDERA kullanıcı ve şifre bilgileri gibi bilgilere conf/default.yml dosyası üzerinden ulaşılabilmekte ve şifre değiştirme gibi işlemler yapılabilmektedir.

Şekil 11 CALDERA Server Web Arayüzü

CALDERA Web arayüzüne erişim sağladıktan sonra 3 farklı user ile sisteme giriş yapılabilektedir:

  • admin=admin
  • red=admin
  • blue=admin

Şekil 12 CALDERA Server Dashboard

CALDERA ‘ya giriş işlemi yapıldıktan host entegrasyonu için CAMPAIGNS altında bulunan Agents alanına giriş yapılır.

Şekil 13 Agents Alanı

Girilen başlıkta Deploy an agent butonuna tıklayarak işlemler başlatılır. Burada bir ajan seçimi yapılmalıdır. Çalışma amacına göre ajan seçim işlemi yapılabilir:

Şekil 14 Agent Ajan Seçimi

  • Manx: Genelde sızma saldırılarında kullanılan bir ajandır.
  • Ragdoll: Genelde kalıcı erişim sağlamak için kullanılan bir ajandır
  • Sandcat: Genelde daha çok bir hedefin uzun vadeli ele geçirilmesinde ve sürekli erişim sağlanmasında kullanılır

Şekil 15 Manx Agent Seçimi

Ajan seçimi yapıldıktan sonra ona uygun olan komut veya işlem gerçekleştirilir. Şekil 16 da görülen işlem Manx ‘e aittir.

Şekil 16 Powershell Agent bağlantısı

CALDERA ‘dan alınan komut powershell ‘ de çalıştırılmış ilk aşamada antivirüs servisi engel olmuştur.

Şekil 17 Bağlı agent listesi

İşlem tamamlandıktan sonra Agents başlığı altında bağlanılan host görüntülenebilmektedir. Bu aşamada Windows hostlarda bazen Ping sorunları yaşanabilmekte sorunu çözmek için Windows firewall’a giriş yapıp dışarı erişimlerini aktif hale getirmek gerekebilmektedir.

Şekil 18 Operations alanı

CAMPAIGNS altında bulunan Operations alandan ise istenilen host veya host grubu için seçilen framework için deneme işlemleri başlatılabilmektedir.

Şekil 19 Operation oluşturma

İşlemleri başlatabilmek için new operation butonuna basılarak Advarsary alanından yapılacak olan saldırı framework ‘ü seçilir ve sonrasında diğer adımlar isteğe bağlı olarak yapılandırılır. Bu alanda işlemleri ayrı gruplar veya tüm hostlar için gerçekleştirilebilir.

Şekil 20 Test Operation çalışması

Test amaçlı seçilen bir framework çalışması şekilde gösterilmektedir.

Şekil 21 Adversaies Alanı

CAMPAIGNS altında bulunan Adversaies alanından istenilen saldırı framework ‘ü oluşturulabilir ve kullanılabilir. Burada en önemli nokta iste işletim sistemlerine uygunluğa göre framework ‘ler oluşturmaktır.

Şekil 22 Framework Seçimi

Şekilde 22 de göründüğü üzere MİTRE framework ‘leri sıralı bir şekilde sıralanmakta ve bunlar arasından seçim yapılabilmektedir.

Şekil 23 Comğose Windows Adversaries

Şekilde23 de gösterilen örnek bir framework çalışmasıdır. Windows işletim sistemi için oluşturulmuştur.

Şekil 24 Compose operation örneği

Oluşturulan framework Operations alanından seçilerek test edilmiş ve denemelerin bazıları başarılı olmuştur.

Şekil 25 Abilities alanı

CAMPAIGNS altında bulunan Abilites alanından kullanılan framework ‘lerin filtreleme işlemlerini ve içeriğinde kullanılan veya kullanılacak olan parametrelerin yapılandırılması gibi işlemleri gerçekleştirmeye imkan sağlar.

Şekil 26 Ability Anydesk Files Detected Test on Windows

Şekil 26 de görüldüğü üzere T1219 teknik ID ‘li framework için gerçekleştirilen işlemler ve çalıştırılan komut gibi durumlar görüntülenebilmektedir.

Şekil 27 Graylog Oluşan Event logları

Bu incelemeler sonucunda yapılan ve çalıştırılan framework ’lerin Windows makine üzerinde oluşturulduğu loglar şekilde göründüğü üzere Graylog da bu şekilde bir akış yaratmıştır.  Bu nedenle loglar incelenmiş kurulum ve çalışma durumlarının sağlıklı bir şekilde oluştuğu görülmüştür.

I am studying Forensic Informatics Engineering at Firat University. I am a three-year student who actively enjoys working in communities, is compatible with teamwork, open to learning, participates in trainings and conferences, and takes an active part in community work. I have been interested in cybersecurity for more than 2 years and have been dealing with CTF and similar issues. I am interested in system analysis and log analysis. I am working in the pentest field and also improving myself in the network field.