Tehdit Avı: KillNet’in DDoS HEAD Flood Saldırıları – cc.py


[ This article was originally published here ]

Yönetici Özeti

Killnet, Rusya merkezli ve en az 2015’ten beri aktif olan bir gelişmiş kalıcı tehdit (APT) grubudur. Grup, eyalet ve yerel yönetimler, telekomünikasyon ve savunma dahil olmak üzere çok çeşitli sektörlere yönelik son derece karmaşık ve sürekli saldırılarıyla ünlüdür. .

Killnet, ABD başkanlık seçimleri sırasında Demokratik Ulusal Komite’nin (DNC) 2016 hacklenmesi de dahil olmak üzere birçok yüksek profilli saldırıyla ilişkilendirildi. Grup ayrıca ABD havaalanlarına ve Elon Musk’ın Starlink uydu geniş bant hizmetine yönelik dağıtılmış hizmet reddi (DDoS) saldırılarına da karıştı.

Bu saldırıların ardındaki motivasyonlar değişkendir, ancak son zamanlarda öncelikle Ukrayna’nın ve siyasi gündeminin en sesli destekçilerini hedef almıştır.

Bu tehdit avının amacı, Killnet’in taktiklerini, tekniklerini ve prosedürlerini (TTP’ler) simüle eden sanal bir saldırı ortamı yaratmaktır. Daha sonra, geleneksel IOC geçmiş aramalarının sınırlamalarını telafi ederken öykünülmüş TTP’leri proaktif olarak tanımlamak için algılamalar ve tehdit avı sorguları yazılacaktır.

Tehdit avının sonuçları, bir hipotezin nasıl oluşturulduğunu açıklamak için kullanılacak olan saldırı aralığından oluşturulan üst düzey panoları, kodu ve ağ yapılarını içerecektir. Sonuçlar ayrıca sözde ve çevrilmiş sorgu mantığını Suricata, Snort, Splunk ve Zeek gibi araçlar tarafından kullanılabilecek bir formatta içerecektir. Sorgu çıktısı daha sonra oluşturulan ilk hipotezi doğrulamak için kullanılacaktır.

Ağ Eserleri

Saldırıyı taklit etmek amacıyla, bir Apache sunucusuna karşı sürekli HEAD istekleri oluşturmak için cc.py kullanıldı, daha fazla ayrıntı için Ek A’ya bakın. Saldırı başlatıldıktan sonra, Şekil 1 ve Şekil 2’de gösterildiği gibi yakalanan log trafiği incelenmiştir. HEAD HTTP trafiği incelendiğinde, “HEAD /?” sürekli. Bu model, bir sonraki bölümde ana hatlarıyla belirtildiği gibi, ilk hipotezimizin temelini oluşturacaktır.

Şekil 3 ayrıca, saldırı komut dosyası ‘/var/www/html/’ dizinindeki farklı dosyalara erişmeye çalışırken sunucuda oluşturulan Apache günlüklerini de içerir. Komut dosyası, CPU kaynakları tamamen trafik hacmi tarafından tüketilene kadar kaba kuvvet türü stilinde yinelenir.

Öldürme ağı tel köpekbalığı

Şekil 1 –Wireshark – Dinamik Olarak Oluşturulan 11-12 Basamak

Wireshark IP'leri

Şekil 2 –Wireshark – Sahte Yönlendiren ve Anonimleştirilmiş IP’ler

Apache hata günlükleri

Şekil 3 – Splunk – Apache Sunucusu Hata Günlükleri – Başarısız Dosya Erişim Girişimleri

Algılama Kılavuzu

Şekil 1’de gösterildiği gibi, tehdit analizi sırasında paket yakalamadan türetilen bağlamdan yararlanmak için Perl uyumlu düzenli ifadeler kullanılabilir. Bu, başlıklarda gözlemlenen kalıplarla eşleşecek Suricata/Snort kuralları yazmamızı sağlar. Tespitler, tarama sorgularından daha fazla ölçeklenme eğilimindedir ve sensör bazında stratejik olarak uygulanabilir. Spesifik olarak, aşağıdaki kural, 11-12 basamak içeren bir HTTP HEAD isteği bir ağ sensörü tarafından ileriye dönük olarak yakalandığında herhangi bir örnekle eşleşecektir. Bu, DDoS HEAD taşkınlarının kullanımını belirlemek için ilk hipotezimiz olarak hizmet eder:

alert tcp herhangi biri -> herhangi biri (msg:”Killnet cc.py DDoS HTTP HEAD Flood”; içerik:”HEAD”; derinlik:4; içerik:” /?”; mesafe:0; içerik:” HTTP/1.1| 0d0a|Ana Bilgisayar: “; Distance:0; fast_pattern; içerik:”.”; Distance:1; Within:3; Content:”.”; Distance:1; Within:3; Content:”.”; Distance:1; inside:3; içerik:”|0d0a|Yönlendiren: https://”; mesafe:0; içerik:”|0d0a|Kabul-Dil: “; mesafe:0; içerik:”|0d0a|Kabul-Karakter Kümesi: “; mesafe:0; içerik:”|0d0a|Bağlantı: Hayatta Kalma|0d0a0d0a|”; mesafe:0; pcre:”/^HEADx20/?[0-9]{11,12}x20HTTP/”; sid:10000001;)

Hipotez #1

Av Süreci

Aşağıda, “Kısa bir süre içinde ortak kaynaktan gelen yüksek bağlantıları” belirlemek için Zeek/Bro veri kümesini kullanan bir Splunk arama sorgusu yer almaktadır. Sorgu, zaman sütununu (Şekil 2’de gösterilen) 1 saniyelik parçalara ayırır. Uygun bir eşik belirlendikten sonra, “sayım > 10” ifadesi, aktivitenin ilk gözlemlendiği tarihten itibaren son 7 gün içinde geriye dönük arama yapmak üzere uygun şekilde ayarlanabilir. Bu sorgu, DDoS HEAD taşkınlarının kullanımını belirlemek için ikinci hipotezimiz olarak hizmet eder:

index=zeek kaynak türü=zeek_conn | eval datetime=strftime(ts,”%Y-%m-%d %H:%M:%S”) | kova yayılımı=1s tarihsaat | tarih saatine göre istatistik sayısı, id.orig_h | burada sayı > 10 | tarih saatini “Tarih ve Saat” olarak yeniden adlandırın id.orig_h “Saldıran IP’si” olarak

Hipotez #2

Ek A – Düşman Emülasyonu

Cc.py, Katman 7 DDoS saldırıları için kullanılabilen, internette herkese açık bir Python aracıdır. 2020 yılında bir öğrenci tarafından oluşturulan araç, web varlıklarına yönelik DDoS saldırıları başlatmak için çeşitli dinamik özellikler kullanıyor. Komut dosyası, geleneksel IP tabanlı engelleme tekniklerini etkisiz hale getirebilen anonimliği korurken saldırıları iletmek için açık proxy sunucularını kullanma sürecini otomatikleştirir.

Şekil 4, bir hedef sunucuya HTTP HEAD isteği gerçekleştiren “head” adlı bir Python işlevini göstermektedir. İşlev iki bağımsız değişken alır: “olay” ve “proxy türü”. Bu bağımsız değişkenler, isteğin akışını kontrol eder ve yararlanılacak açık proxy türünü belirtir. Ek olarak kod, sahte/rastgele başlıkların kullanılacağı değişkenleri birleştirir.

cc piton

Şekil 4 – cc python betiği

Saldırgan adına saldırıları iletmek için kullanılacak güvenliği ihlal edilmiş açık proxy’lerin dinamik bir listesini oluşturmak için aşağıdaki komut kullanılır:

python3 cc.py –aşağı –f proxy.txt –v 5

Liste oluşturulduktan sonra, saldırı menzili içinde Apache web sunucusu çalıştıran bir sunucuya saldırı başlatmak için aşağıdaki komut kullanılır. Komut, “kafa” modülünün kullanımını belirtir ve saldırının süresini 30 saniye olarak ayarlar. “Kafa” modülü, hedef sunucuyu çevrimdışı duruma gelene kadar sürekli HTTP HEAD istekleriyle doldurur.

python3 cc.py –url http:// -f proxy.txt –m kafa –v 4 –s 30

Ek B – IOC’ler

OTX’te darbe, bu araştırmadan elde edilen 12K+ göstergeleri listeleyerek oluşturuldu.

Referanslar

reklam



Source link