Atomic Red TeamGüvenlikOpenSource

Atomic Red Team İhlal ve Saldırı Simülasyon Kütüphanesi

Günümüzde siber güvenlik, organizasyonlar için giderek daha önemli bir konu haline gelmiştir. Yeni tehditler ve saldırı yöntemleri sürekli olarak ortaya çıkmaktadır ve geleneksel güvenlik önlemleri yeterli olmayabilir. Bu nedenle, organizasyonların kendi güvenlik önlemlerini sürekli olarak test etmeleri ve güçlendirmeleri gerekmektedir. Bu ihtiyaca yanıt olarak, Atomic Red Team (ART) gibi güvenlik test araçları ortaya çıkmıştır. ART, organizasyonların saldırıları simüle ederek güvenlik önlemlerini test etmelerine yardımcı olan bir uygulamadır. Bu yazıda, Atomic Red Team uygulamasının ne olduğunu, nasıl çalıştığını ve organizasyonlar için neden önemli olduğunu ele alacağım.

Atomic Red Team, otomatik ve tekrarlanabilir bir siber güvenlik testi süreci sağlayan bir güvenlik test aracıdır. ART, organizasyonların savunma mekanizmalarını test etmek için kullanılabilir ve organizasyonlara saldırganların kullanabileceği yaygın saldırı yöntemlerini simüle etme imkanı sunar. ART, MITRE ATT&CK Framework’e dayalı olarak geliştirilmiştir ve organizasyonların güvenlik açıklarını tespit etmelerine, zayıf noktalarını belirlemelerine ve güvenlik önlemlerini test etmelerine yardımcı olur.

ART, saldırganların kullanabileceği birçok saldırı tekniklerini simüle edebilir. Bu, kötü amaçlı yazılım saldırılarından ağ penetrasyon testlerine, sosyal mühendislik saldırılarından uygulama zafiyetlerine kadar geniş bir yelpazeyi kapsar. ART, kullanıcıların kendi test senaryolarını oluşturmalarına, çeşitli saldırı vektörlerini kullanmalarına ve sonuçları analiz etmelerine olanak tanır. Ayrıca, ART’nin geniş bir kütüphanesi bulunmaktadır ve kullanıcılar bu kütüphaneden hazır saldırı senaryolarını kullanabilir veya kendi senaryolarını oluşturabilir.

ART, organizasyonlar için bir dizi avantaj sunar. İlk olarak, organizasyonların güvenlik önlemlerini etkili bir şekilde test etmelerine ve zayıf noktalarını belirlemelerine yardımcı olur. ART, saldırganların kullandığı yaygın saldırı yöntemlerini simüle ederek organizasyonların saldırganlar tarafından kullanılabilecek zayıf noktalar ve güvenlik açıklarını belirlemelerine olanak tanır. Bu sayede organizasyonlar, eksiklikleri tespit ederek güvenlik önlemlerini güçlendirebilir ve savunma mekanizmalarını daha etkili hale getirebilir.

Diğer bir avantajı, ART’nin otomatik ve tekrarlanabilir bir süreç sağlamasıdır. ART, test senaryolarını otomatik olarak çalıştırabilir ve sonuçları analiz edebilir. Bu, organizasyonların sürekli olarak güvenlik önlemlerini test etmelerini ve değişen tehditlere karşı güncel kalabilmelerini sağlar. Ayrıca, ART’nin kapsamlı kütüphanesi sayesinde, organizasyonlar farklı saldırı senaryolarını deneyebilir ve güvenlik önlemlerini geniş bir perspektiften değerlendirebilir.

Atomic Red Team, organizasyonların güvenlik önlemlerini test etmek için etkili ve otomatik bir araç olarak öne çıkmaktadır. ART, saldırganların kullanabileceği yaygın saldırı yöntemlerini simüle ederek organizasyonlara güvenlik açıklarını belirleme, zayıf noktalarını tespit etme ve güvenlik önlemlerini güçlendirme imkanı sunar. Otomatik ve tekrarlanabilir süreçleri sayesinde organizasyonlar, güvenlik önlemlerini sürekli olarak test edebilir ve güncel tehditlere karşı daha hazırlıklı olabilir.

Bu nedenle, organizasyonlar için ART gibi güvenlik test araçları, siber güvenlik stratejilerinin önemli bir parçası olmalıdır. ART, organizasyonların saldırganların kullanabileceği saldırı yöntemlerini simüle ederek güvenlik önlemlerini güçlendirmelerine yardımcı olurken, aynı zamanda otomatik ve tekrarlanabilir bir süreç sağlayarak zaman ve kaynak tasarrufu sağlar. Organizasyonlar, ART gibi güvenlik test araçlarını kullanarak güçlü ve güncel güvenlik önlemleri oluşturabilir ve siber saldırılara karşı daha dirençli hale gelebilir.

Kurulum & Kullanım

Başlamadan önce bir test makinamızın olması ve bu test makinasında gerçek ortamımızda bulunan güvenlik uygulamalarının aynısının bulunması (örn: Antivirus / EDR vb) gerekmektedir. Çünkü burada asıl amacımız olan şey, gerçek ortamımızın eğer varsa zafiyetlerini bulmak. Hatta bu makinaya ait logların da bir SIEM aracında toplandığından emin olmalıyız. Böylelikle sadece prevention değil detection tarafımızın da ne kadar kuvvetli olup olmadığını görmemizi sağlayacak ve bu sayede eksikliklerimizi gidereceğiz.

Normal şartlarda atomic testlerini doğrudan komut satırı kullanarak kuruluma gerek duymadan yapabiliriz. Fakat ben bu yazımda daha güçlü bir test deneyimi için  Invoke-Atomic  framework’ünü kullanacağım. Kendisi Powershell modülüdür ve atom klasörü içerisinde bulunan bütün atakları oynatmamızı sağlar. Bu klasörde ise MITRE ATT&CK™ framework’ünde tanımlanan her teknik için bir klasör bulunmaktadır.

Invoke AtomicRedTeam ve Atomic Klasörünün Kurulması

Öncelikle bu framework’ün cross platform olarak çalıştığından yani Windows, macOS ve Linux işletim sistemlerinde çalıştığını belirtmek isterim fakat macOS ve Linux’ta kullanmak isterseniz öncelikle Powershell Core’un kurulması gerekecektir. Ben bu yazıda Windows Server 2019 sanal makina üzerinden devam ediyorum.
 Not: Desteklenen minimum Powershell sürümü 5.0’dır 

Aşağıdaki komut ile kurulumumuzu yapıyoruz.


IEX (IWR 'https://raw.githubusercontent.com/redcanaryco/invoke-atomicredteam/master/install-atomicredteam.ps1' -UseBasicParsing);
Install-AtomicRedTeam -getAtomics

Kurulum tamamlandığında C:\AtomicRedTeam dizininde atomics ve invoke-atomicredteam adında 2 tane klasör görüyor olmalıyız.

Eğer daha önceden kalan bir kurulum varsa tekrar üzerinde güncel kütüphaneyi yazdırmak isterseniz -Force parametresi ile bu işlemi yapabiliriz.


IEX (IWR 'https://raw.githubusercontent.com/redcanaryco/invoke-atomicredteam/master/install-atomicredteam.ps1' -UseBasicParsing);
Install-AtomicRedTeam -getAtomics -Force

Modülü İçeri Aktarmak

Invoke-AtomicTest işlevini mevcut Powershell oturumumuzda kullanılabilir hale getirmek için modülü içe aktarmamız gerekir. Eğer kurulum yolunu değiştirmediyseniz varsayılan komut aşağıdaki gibidir.


Import-Module "C:\AtomicRedTeam\invoke-atomicredteam\Invoke-AtomicRedTeam.psd1" -Force

Atom Testlerini Listeleme

Artık framework kurulduğuna ve modül içe aktarıldığına göre, kullanım aşamasına geçebiliriz. Başlangıç olarak uygulama için mevcut olan Teknik numaralarını ve test adlarını listeleyebiliriz.

Belirli bir tekniğe ait mevcut testleri listelemek için.


Invoke-AtomicTest T1003 -ShowDetailsBrief

 

Tüm tekniklerin ayrıntılarını göstermek istiyorsak, teknik numarası olarak  “All”  kullanabiliriz.


Invoke-AtomicTest All -ShowDetailsBrief

 

Belirli bir teknik numarası için saldırı komutları, giriş parametreleri ve ön koşullar dahil olmak üzere test ayrıntılarını göstermek için  -ShowDetails  parametresini kullanabiliriz.


Invoke-AtomicTest T1003 -ShowDetails

Atomik Testler İçin Ön Koşulların Kontrol Edilmesi

Her atomik test tanımı, testin Windows, Linux veya MacOS üzerinde çalıştırılmasının amaçlanıp amaçlanmadığını tanımlar. Bununla birlikte, bir atak senaryosu için alt kırılımlı gereksinimler olabilir. Örneğin, atomik testin bir workstation yerine bir domain controller veya server üzerinde yürütülmesi amaçlanmış olabilir. Diğer gereksinimler (Önkoşullar olarak da bilinir), belirli dosyaların veya kullanıcıların mevcut olması ve belirli araçların yüklenmiş olması olabilir.

Kullanmakta olduğunuz sistemin her test için gereken ön koşulları karşılayıp karşılamadığını kontrol etmek için testi gerçekleştirmeden önce  -CheckPrereqs  parametresini kullanabiliriz.


Invoke-AtomicTest T1003 -TestName “Windows Credential Editor” -CheckPrereqs

Yukarıdaki komut, sistemin Teknik 1003 altında “Windows Credential Editor” testini çalıştırmak için ön koşulları karşılayıp karşılamadığını kontrol eder. Çıktıda [*] Elevation required but not provided, görüyorsanız komutu Administrator haklarında çalıştırmanız gerektiği söylemektedir.

Belirli bir teknik numarası dahilindeki tüm atomik testlerin ön koşullarını kontrol etmek için aşağıdaki komutu kullanabiliriz.


Invoke-AtomicTest T1003 -CheckPrereqs

Atomik Testler İçin Ön Koşulların Karşılanması

Sisteminizin ön koşulları karşılamadığını tespit ederseniz, bu ön koşulları aşağıdaki gibi karşılamaya çalışmak için  -GetPrereqs  parametresini kullanabiliriz.


Invoke-AtomicTest T1003 -TestName “Windows Credential Editor” -GetPrereqs

 

Bu komut başarılı olursa, output, ön koşulların artık başarıyla karşılandığını gösterecektir. Ancak bazen output, gereksinimlerin manuel olarak karşılanması gerektiğini gösterebilir.

 Not: Ön koşullar karşılanmasa bile bir saldırı gerçekleştirebilirsiniz ancak yürütme başarısız olabilir. 

Atomik Testlerinin Gerçekleştirilmesi (Lokal)

Bir atom testi yapmadan önce aşağıdaki maddeleri uygulamış olmamız gerekmektedir.

Atomic Red Team’in kurulması

Modülün içeriye aktarılması

Önkoşulların kontrol edilmesi ve herhangi bir eksiğin bulunmaması

Belirli Bir Tekniğe Özel Saldırılar (Atomik Test Numarasına Göre)


Invoke-AtomicTest T1218.010 -TestNumbers 1,2
# ya da yukarıdaki komutun yerine aşağıdaki kısa formunu da kullanabiliriz..
Invoke-AtomicTest T1218.010-1,2

 

Belirli Bir Teknik İçin Spesifik Saldırılar Gerçekleştirmek (Atomik Test Adına Göre)


Invoke-AtomicTest T1218.010 -TestNames “Regsvr32 remote COM scriptlet execution”,”Regsvr32 local DLL execution”

 

Belirli Bir Teknik İçin Spesifik Saldırılar Gerçekleştirmek (Atomik Test GUID ile)


Invoke-AtomicTest T1003 -TestGuids 5c2571d0-1572-416d-9676-812e64ca9f44,66fb0bc1-3c3f-47e9-a298-550ecfefacbc

 

Belirli Bir Teknik İçin Tüm Saldırıları Gerçekleştirmek


Invoke-AtomicTest T1218.010

ya da timeout değeri de verebiliriz.

Invoke-AtomicTest T1218.010 -TimeoutSeconds 15

 

Tüm Testlerin Simüle Edilmesi

 Not: Önerilmez ama dilendiği takdirde aşağıdaki komut ile çalıştırılabilir. 

Eğer bütün atomik testlerinin simüle edilmesi planlanıyorsa bu işlemi aşağıdaki Powershell scripti ile yapmak daha mantıklı olacaktır çünkü, her test için ön koşulları alacaktır ve tek tek çalıştıracaktır her yürütülen atak senaryosundan sonra cleanup yaparak kendisini temizleyecektir.


$techniques = gci C:\AtomicRedTeam\atomics\* -Recurse -Include T*.yaml | Get-AtomicTechnique

foreach ($technique in $techniques) {
    foreach ($atomic in $technique.atomic_tests) {
        if ($atomic.supported_platforms.contains("windows") -and ($atomic.executor -ne "manual")) {
            # Get Prereqs for test
            Invoke-AtomicTest $technique.attack_technique -TestGuids $atomic.auto_generated_guid -GetPrereqs
            # Invoke
            Invoke-AtomicTest $technique.attack_technique -TestGuids $atomic.auto_generated_guid
            # Sleep then cleanup
            Start-Sleep 3
            Invoke-AtomicTest  $technique.attack_technique -TestGuids $atomic.auto_generated_guid -Cleanup
        }
    }
}

 

Şimdilik bu kadar bir sonraki konu atak senaryolarının remote cihazda çalıştırılması ve bazı hazır scriptlerin kullanılması olacaktır.

 

Referans

Atak teknikleri ile alakalı detaylı bilgi

MITRE ATT&CK®

Serdar Kurt

Merhaba, 1986 Ankara doğumluyum. Sakarya Üniversitesi Bilgisayar Programcılığı mezunuyum. Şu an özel bir şirkette Security Engineer pozisyonunda görev yapıyorum. Bilişim Teknolojileri alanında kendimi geliştirmeye devam ediyorum.

İlgili Makaleler

Abone ol
Bildir
guest
0 Yorum
Satır İçi Geri Bildirimler
Tüm yorumları görüntüle
Başa dön tuşu

Reklam Engelleyici Algılandı

Bana destek olmak için lütfen reklam engelleyicinizi devre dışı bırakınız ya da bu siteyi izin verilenler listesine ekleyiniz.