Caldera İle Saldırı Simülasyonu; saldırganlar genellikle sistemlere sızdıktan sonra orada bulunmakla yetinmez daha fazlası ve mevcut konumunu korumak için işlemlerine devam ederler. Sisteme erişim sağlandıktan sonra yapılabileceklerden bazıları aşağıdaki gibi sıralanmıştır.
Hak Yükseltme: Sistemin yanlış yapılandırılmasından faydalanılarak üst seviye haklara erişilmesi olarak tanımlanmaktadır. Hak yükseltmeye neden olabilecek bazı eksik yapılandırmalar; zayıf servis izinleri, güvensiz kayıt defteri izinleri, dosya izinleri gibidir.
Kimlik Bilgilerine Erişim: Sistemde bulunan kullanıcılara ait parola ve hash bilgileri ele geçirilerek kırma girişimi gösterilebilir. Örnek senaryoda mimikatz ile ram üzerinden Windows kullanıcılarının şifrelenmiş parolaları ele geçirilir ve brute force yöntemi ile parola bulunur.
Tarama: Ortamda ulaşılabilecek ve ele geçirilebilecek olası cihazların tespiti için tarama gerçekleştirilebilir. Bir virüsün bir bilgisayardan diğerine atlaması örnek olarak gösterilebilir.
Komut Çalıştırma: Ele geçirilmiş sistem üzerinde komutlar çalıştırılabilir. Hazırlanmış bir powershell scripti aktifleştirilerek sistem yedeğinin düzenli olarak saldırgana aktarılması mümkündür.
Caldera İle Saldırı Simülasyonu
ATT&CK: MITRE Att & ck saldırgan taktik ve teknikleri kullanarak oluşturulmuş siber saldırılara yönelik davranışların analiz edilmesini sağlayan bir bilgi tabanı ve modeldir. ATT&CK ile entegre çalışan açık kaynak kodlu projelerin bazıları: Mitre Caldera, Endgame Red Team Automation, Uber Metta ve Red Canary Atomic Red’dir. ATT&CK ın kullandığı saldırı teknik ve taktikleri aşağıdaki görsellerdeki gibidir.
Caldera: Caldera, ATT&CK tabanlı otomatik saldırı simülasyonudur. Saldırı simülasyonları belli bir çizelgede ilerlemek yerine dinamik olarak değişkenlik gösterir, böylece daha gerçekçi bir ortam oluşturulmuş olunur.
Caldera Kurulumu: Caldera kurulumu server ve agent olmak üzere iki aşamadan oluşmaktadır. Ayrıca bir domain yapısının hazırlanması gerekir. Bu bölümde aşağıdaki yapı oluşturularak anlatım sağlanacaktır.
Caldera Server Kurulumu: Caldera server Linux ve Windows makinelerde çalışabilmektedir. Kolaylık olması açısından docker ile kurulum gerçekleştirilebilir.
root@bga:~# git clone https://github.com/mitre/caldera
Cloning into ‘caldera’…
remote: Counting objects: 613, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 613 (delta 0), reused 1 (delta 0), pack-reused 610
Receiving objects: 100% (613/613), 7.15 MiB | 1.07 MiB/s, done.
Resolving deltas: 100% (184/184), done.
Checking connectivity… done.root@bga:~# cd caldera
root@bga:~/caldera# docker-compose build
Building server
Step 1/10 : FROM python:3.6
—> d49c41b6e6c4
Step 2/10 : LABEL maintainer=”MITRE”
—> Using cache
—> 5afc175a980e
Step 3/10 : ARG crater=https://github.com/mitre/caldera-crater/releases/download/v0.1.0/CraterMainWin8up.exe
—> Using cache
—> c5b013605d41
…root@bga:~/caldera# docker-compose up
Starting caldera_db_1 …
Starting caldera_db_1 … done
Recreating caldera_server_1 …
Recreating caldera_server_1 … done
Attaching to caldera_db_1, caldera_server_1
…
Kurulumun ardından “https://localhost:8888” adresinen Caldera’nın web arayüzüne erişilebilir.
(Caldera web arayüzü)
NOT: Varsayılan giriş bilgileri “admin:caldera” dır.
NOT: Caldera server, domaine bağlı OLMAMALIDIR.
Caldera Agent Kurulum: Burada yapılacak olan işlemler simülasyona katılacak olan tüm cihazlar için uygulanmalıdır. Ayrıca makineler server ile iletişim kurabiliyor olmalıdır.
NOT: Desteklenen işletim sistemleri: Windows 7, 8, 8.1, 10 ve 64 bit
- Visual C++ Redistributable for Visual Studio 2015 kurulur.
- Son sürüm “cagent.exe” indirilir.
- “C:\Program Files\ cagent\” içerisine taşınır. (Klasör manuel olarak oluşturulmalıdır.)
- “C:\Program Files\ cagent\” içerisine “conf.yml” dosyası taşınmalıdır.
- “Conf.yml” dosyası “https://CALDERE_SERVER_IP:8888/conf.yml” adresi üzerinden indirilebilir.
- Admin haklarıyla çalıştırılmış olan cmd üzerinde aşağıdaki komutlar girilir.
cagent.exe –startup auto install
cagent.exe start
İlgili işlemlerin doğru bir şekilde yapılmasının ardından web arayüzünde “Debug > Connected Agents” sekmesi ile bağlantılı makineler listelenir.
NOT: Eğer işlemler yapıldığı halde bağlantı sağlanmıyorsa “conf.yml” dosyası bir text editörü ile açılarak “url_root” verisi IP adresi ile değiştirilir.
Operasyon Başlatma: Server ve Agent kurumlumlarının tamamlanmasının ardından saldırı simülasyonu için birkaç adım daha uygulanmalıdır. İlk olarak saldırıyı gerçekleştirecek saldırganın modellenmesi gerekir, bunun için “Threat > Create Adversary” sekmesi seçilir.
Name: Oluşturulan yapıya verilecek isim
Steps: Uygulanması istenen adımlar
Ardından saldırı simülasyonun gerçekleştirileceği ağın belirtilmesi gerekir. “Network > Create Network” sekmesine gidilir ve ilgili domain ve hostlar ağa dahil edilir. Son olarak operasyon oluşturulur. Bu bölümde daha önce oluşturulmuş olan ağ ve saldırgan modeli hostlar ile ilişkilendirilecektir.
Adversary: Saldırgan modelinin seçileceği bölümdür.
Network: Saldırı simülasyonun hangi ağ üzerinde gerçekleşeceğini belirler.
Starting Host: Simülasyonun hangi host üzerinden başlayacağını belirtir.
(Saldırıya uğrayan makinenin sistem bilgileri)
Saldırı Hakkında Bilgi için Sysmon
Sysmon, üzerine kurulmuş olduğu sistemde oluşan aktiviteleri kayıt altına alan araçtır. Araç ile alakalı kurulum, konfigürasyon ve daha detaylı bilgi için “Windows Sistemlerde Sysmon İle Log Analizi” bağlantısından faydalanılabilir.
Bu bölümde daha önce hazırlanmış olan test ortamındaki Windows 7 makineye Sysmon kurulmuştur. Amaç, yapılan saldırı simülasyonu sonrasında üretilen logları incelemek ve sistem eksikliklerini tespit etmektir.
(Test ortamına ait ağ topolojisi)
Çalışan Görevleri Listeleme: Gerçekleşen saldırı sonrasında Windows 7 makine üzerinde çalışan görevler “tasklist /FO CSV /V” komutu ile elde edilmiştir.
Sysmon loglarında Event ID değeri 1 olan kayıtlar incelendiğinde “tasklist.exe” üzerinde “tasklist /FO CSV /V” komutunun çalıştırıldığı görülür.
(Görev listelemesine karşı Sysmon un ürettiği log)
Tasklist.exe nin çağrılması ile log üretiminin yapılmasını sağlayan kural
Ağ bağlantı loglarına bakıldığında Windows 7 makinenin Caldera Server kurulu olan Ubuntu makine ile iletişim halinde olduğu görülür.
Sistem Bilgilerini Toplama: Systeminfo.exe kullanılarak hedefe ait sistem bilgileri toplanır.
Saldırı detayına bakıldığında hedef üzerinde “systeminfo.exe /fo csv” komutunun çalıştırıldığı görülür. Saldırıyı tespit etmek için “systeminfo.exe” izlemeye alınmalıdır ve Sysmon üzerinde Event ID değeri 1 olan (Proses oluşturma) loglar incelenmelidir.
(Sysmon için gerekli kural)
(Saldırıya karşı sysmonun ürettiği log)
Zaman Bilgisi Öğrenme: “net time” komutu hedefte çalıştırılarak sistemin zaman bilgisi öğrenilebilir.
“net.exe” Sysmon ile izlemeye alınarak çalıştırıldığı zaman log üretimi sağlanabilir.
(Sysmon kuralı)
Sysmon logları incelendiğine ATT&CK saldırısında olduğu gibi “net time \\win7machine.bga.local” komutu çalıştırıldığı görülür.
(Sysmon un ürettiği log)
Ayrıca Caldera üzerinde saldırı simülasyonu başlatıldığında “Operation Details” bölümünde bulunan “Jobs” sekmesi üzerinden gerçekleştirilen adımların detayları incelenerek gerekli önlemler alınabilir.
Sonuç: Caldera ile sistem ve ağ üzerinde içeride gerçekleşen saldırı simülasyonu gerçekleştirilerek temel düzeyde siber saldırılara karşı zayıflıklar belirlenebilir. Böylece olası bir iç saldırı veya içeri sızmış bir saldırgan için alınması gereken önlemler hakkında fikir sahibi olunur.
Kaynaklar:
- https://caldera.readthedocs.io/en/latest/
- https://attack.mitre.org/wiki/Main_Page
- https://github.com/mitre/caldera
- https://docs.microsoft.com/en-us/sysinternals/downloads/sysmon