PurpleLab: Saldırı Simülasyonu ve Tespit Test Laboratuvarı
Contents

PurpleLab (GitHub), algılama kurallarını test etmek, Atomic Red Team ile saldırı simülasyonları yürütmek ve malware detonation süreçlerini izole bir ortamda incelemek için tasarlanmış web tabanlı bir purple teaming platformudur.
Platform mimarisi temel olarak şu bileşenlerden oluşur:
- Saldırı simülasyonu, malware yükleme ve kural yönetimini sağlayan web arayüzü ve Flask backend
- Telemetri üreten ve adli analiz araçları (Forensictools) kurulu Windows 10 sandbox VM (VirtualBox)
- Log toplama ve analiz için Elasticsearch ve Kibana (ELK) altyapısı
Ortam varsayılan kimlik bilgileriyle çalışır ve hardening yapılmamıştır. Laboratuvarı mutlaka izole bir sanal ağda (Host-Only / Internal) barındırın.
Sistem Gereksinimleri
Platformu barındıracak ana sunucu (Ubuntu Server 22.04 LTS) için önerilen minimum kaynaklar:
- 200 GB disk alanı
- 8 vCPU
- 13 GB RAM
Ubuntu VM üzerinde VirtualBox ile Windows sandbox çalıştırılacağı için hipervizörde Nested Virtualization (VT-x/AMD-V) etkinleştirilmelidir.

VMware Workstation kullanıyorsanız: VM Ayarları -> İşlemciler -> Sanallaştırma Motoru sekmesinden “Virtualize Intel VT-x/EPT or AMD-V/RVI” seçeneğini aktif edin.
Kurulum
Depoyu klonlayıp kurulum betiğini çalıştırın:
git clone https://github.com/Krook9d/PurpleLab.git
cd PurpleLab
sudo bash install.sh
Kurulum sırasında varsayılan ELK SIEM’in kurulup kurulmayacağı sorulur. Arayüzün hazır panolarla tam entegre çalışması için ELK kurulumunu onaylayarak devam edin. Kurulum tamamlandığında yönetici hesabı bilgileri ev dizinindeki admin.txt dosyasına yazılır.
Analist Hesabı

Kurulumun ardından tarayıcıdan sunucu IP adresine gidip Register düğmesi üzerinden analist hesabınızı tanımlayın. Giriş sonrası ilk ekranda log akışı henüz başlamadığı için uyarılar görünebilir; sonraki adımda VM telemetrisini bağlayacağız.
ELK Entegrasyonu
admin.txtdosyasındaki enrollment token’ı kopyalayın. Web arayüzünde “Hunting” sayfasına giderek ELK ekranında token’ı girin.- Doğrulama kodunu almak için sunucuda şu komutu çalıştırın:
sudo /usr/share/kibana/bin/kibana-verification-code
Token süresi dolarsa yeniden oluşturabilirsiniz:
sudo /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token --scope kibana
Windows Sandbox ve Winlogbeat Yapılandırması
Sandbox VM’den SIEM’e telemetri akışını sağlamak için winlogbeat.yml yapılandırmasını tamamlayacağız.
- VM’nin IP adresini Health sayfasından veya ana makinede CLI üzerinden öğrenin:
sudo VBoxManage guestproperty get sandbox "/VirtualBox/GuestInfo/Net/0/V4/IP"
- VM içerisinde yönetici PowerShell oturumu açarak Winlogbeat dizinine gidin:
cd 'C:\Program Files\winlogbeat'
winlogbeat.ymldosyasını düzenleyin:password:alanınaadmin.txtiçindeki Elastic şifresini yazın.- IP adresini ELK sunucunuzun adresiyle güncelleyin.
ca_trusted_fingerprintdeğerini PurpleLab sunucusunda şu komutla alıp ekleyin:
sudo openssl x509 -fingerprint -sha256 -in /etc/elasticsearch/certs/http_ca.crt | awk -F '=' '/Fingerprint/{print $2}' | tr -d ':'
- Yapılandırmayı doğrulayıp Kibana ingest pipeline’larını kurun:
& "C:\Program Files\Winlogbeat\winlogbeat.exe" test config -c "C:\Program Files\Winlogbeat\winlogbeat.yml" -e
.\winlogbeat.exe setup -e
Loaded Ingest pipelines çıktısını gördükten sonra VM’yi yeniden başlatın.
Temiz Durum Snapshot’ı (Baseline)
Testler, malware detonation ve saldırı simülasyonları sonrasında sandbox ortamını saniyeler içinde temiz haline döndürebilmek için baseline snapshot’ını alın:
sudo VBoxManage snapshot "sandbox" take "Snapshot1" --description "baseline clean state"
Kibana Discover sekmesinde Windows event loglarının aktığını doğruladıktan sonra ortam kullanıma hazırdır.
Kullanım ve Modüller
Flask backend servisini başlatmak için:
sudo python3 /home/$(logname)/app.py
Sandbox VM’nin çalıştığını kontrol edip gerekirse headless modda başlatabilirsiniz:
sudo VBoxManage showvminfo sandbox --machinereadable | grep "VMState=" | awk -F'"' '{print $2}'
sudo VBoxManage startvm sandbox --type headless
Windows 10 Sandbox Ortamı

Windows 10 Sandbox VM üzerinde Atomic Red Team modülleri ve adli bilişim incelemelerinde kullanılan Forensictools araç seti hazır olarak gelir.
Home Paneli

Elasticsearch üzerinden toplanan telemetrileri özetler: toplam Windows event log sayısı, gözlemlenen tekil IP adresleri, tetiklenen MITRE ATT&CK teknikleri ve log türlerinin dağılımı gerçek zamanlı izlenebilir.
Hunting
Kibana Discover paneline doğrudan geçiş sağlar. Sandbox VM olayları ve simüle edilen trafik burada KQL sorgularıyla filtrelenebilir.
MITRE ATT&CK Simülasyonu

MITRE ATT&CK matrisindeki teknikleri listeler ve Invoke-Atomic altyapısı üzerinden ilişkili test payload’larını sandbox VM üzerinde yürütür. Arama kutusuna teknik ID’si (örneğin T1070) girilerek ilgili teknik seçilir ve simülasyon başlatılır.
Malware Detonation

İki temel işlev sunar:
- Malware Downloader: Abuse.ch MalwareBazaar üzerinden etiket bazlı (örneğin
Trojan) güncel zararlı örneklerini indirir ve VM’ye aktarır. CSV listesi üzerinden örnekler tek tıkla çalıştırılabilir. - Malware Uploader: Analiz edilmek istenen özel çalıştırılabilir dosyaları, betikleri veya DLL’leri (
.exe,.dll,.bin,.py,.ps1) doğrudan sandbox ortamına yükler.
Log Simülasyonu

Tespit kurallarını meşru trafik gürültüsü içinde test etmek amacıyla sentetik loglar üretir. Güvenlik duvarı logları için rastgele IP adresleri, Accept/Deny aksiyonları ve zaman damgaları tanımlanarak SIEM’e aktarılır.
Use Case Senaryoları

Gerçek dünya ihlallerini taklit eden uçtan uca saldırı senaryolarını çalıştırır. Her senaryo, adım adım saldırı akışını, çalıştırılan komutları ve beklenen IOC’leri içerir.
Sigma Kural Gezgini

Teknik ID veya anahtar kelimeye göre Sigma kurallarını listeler. Seçilen kuralı tek tıkla Splunk SPL veya Elasticsearch Lucene sorgu sözdizimine dönüştürür.
Sistem ve Sağlık Takibi

ELK servisleri, VirtualBox durumu ve Flask backend kaynak tüketimini gösterir. Sandbox VM’nin durumu ve snapshot geri yükleme aksiyonları da bu panelden yönetilebilir.
Splunk Entegrasyonu ve API
Splunk üzerinde analiz yapmak isteyenler için PurpleLab Integration App for Splunk eklentisi mevcuttur. Dış araçlar ve CI/CD otomasyonları ile entegrasyon için PurpleLab REST API kullanılabilir.