- Katılım
- 15 May 2013
- Konular
- 1,207
- Mesajlar
- 7,321
- Çözüm
- 6
- Online süresi
- 2mo 16d
- Reaksiyon Skoru
- 5,958
- Altın Konu
- 410
- Başarım Puanı
- 349
- MmoLira
- 45,963
- DevLira
- 3
ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!
Ağ Saldırıları
Ağda barındırılan protokollere ve uygulamalara yönelik saldırılar çoktur. Web Uygulamaları bu kursun ayrı bir bölümünde ele alınmaktadır.
Hizmetlerde, saldırganlar tarafından istismar edilmelerine olanak tanıyan doğal hatalar olabilir. Bu saldırılar tipik olarak, savunmasız hizmet aracılığıyla işletim sistemine özel talimatlar göndererek ağ hizmetini çalıştıran süreci kontrol altına almayı içerir. Tampon Taşmaları (Buffer Overflows) bu tür saldırıların bir kategorisidir.
Bir ağ tipik olarak birçok uygulama barındırır; bazıları basit oturum açma işlemleri içerirken, diğerleri karmaşık işlevselliğe sahiptir. Saldırı yüzeyine genel bir bakış elde etmenin ve kolayca istismar edilebilecek güvenlik açıklarını belirlemenin bir yolu, hedef ortamdaki tüm varlıkları port taramasıyla taramak ve ardından ekran görüntülerini almaktır.
EyeWitness gibi araçlar bunu gerçekleştirir. Araç, ağda hangi varlıkların temsil edildiğine dair hızlı bir genel bakış elde etmemizi sağlar ve ardından her hizmetin ekran görüntülerini sunar. Ekran görüntülerine sahip olarak, hangi sistemlere daha yakından bakmamız gerektiğini kolayca ve hızlı bir şekilde değerlendirebiliriz.
Bir hizmeti istismar etmek, hizmeti amaçlanmadığı şekillerde kötüye kullanmak anlamına gelir. Genellikle bu istismar faaliyeti, saldırganların kendi kodlarını çalıştırabilmelerini sağlar; buna RCE ("Uzaktan Kod Yürütme") denir.
Hizmetlerde, saldırganlar tarafından istismar edilmelerine olanak tanıyan doğal hatalar olabilir. Bu saldırılar tipik olarak, savunmasız hizmet aracılığıyla işletim sistemine özel talimatlar göndererek ağ hizmetini çalıştıran süreci kontrol altına almayı içerir. Tampon Taşmaları (Buffer Overflows) bu tür saldırıların bir kategorisidir.
Bir ağ tipik olarak birçok uygulama barındırır; bazıları basit oturum açma işlemleri içerirken, diğerleri karmaşık işlevselliğe sahiptir. Saldırı yüzeyine genel bir bakış elde etmenin ve kolayca istismar edilebilecek güvenlik açıklarını belirlemenin bir yolu, hedef ortamdaki tüm varlıkları port taramasıyla taramak ve ardından ekran görüntülerini almaktır.
EyeWitness gibi araçlar bunu gerçekleştirir. Araç, ağda hangi varlıkların temsil edildiğine dair hızlı bir genel bakış elde etmemizi sağlar ve ardından her hizmetin ekran görüntülerini sunar. Ekran görüntülerine sahip olarak, hangi sistemlere daha yakından bakmamız gerektiğini kolayca ve hızlı bir şekilde değerlendirebiliriz.
Bir hizmeti istismar etmek, hizmeti amaçlanmadığı şekillerde kötüye kullanmak anlamına gelir. Genellikle bu istismar faaliyeti, saldırganların kendi kodlarını çalıştırabilmelerini sağlar; buna RCE ("Uzaktan Kod Yürütme") denir.
Tampon Taşması
Ağ hizmetlerinin istismarı bazen bir uygulamanın bellek yönetimi işlevlerinin kötüye kullanılmasını içerir. Bellek yönetimi mi? Evet, uygulamaların çalışması için bilgisayarın belleğinde veri taşımaları gerekir. Programlama dilleri geliştiriciye bellek üzerinde kontrol sağladığında, Tampon Taşması gibi sorunlar ortaya çıkabilir. Benzer birçok güvenlik açığı vardır ve bu bölümde Tampon Taşmalarını inceleyeceğiz.
C ve C++ programlama dilleri, geliştiricilere belleğin nasıl yönetileceği konusunda çok fazla kontrol sağlar. Bu, geliştiricilerin donanıma çok yakın programlama yapmasını gerektiren uygulamalar için idealdir, ancak güvenlik açıklarına yol açar. Java, JavaScript, C#, Ruby, Python ve diğerleri gibi programlama dilleri, geliştiricilerin bu hataları kolayca yapmasına izin vermez, bu da bu dillerde yazılan uygulamalarda Tampon Taşmalarının daha az olası olmasını sağlar.
Tampon taşmaları, temizlenmemiş girdinin değişkenlere yerleştirilmesiyle oluşur. Bu değişkenler, işletim sisteminde yığın adı verilen bir bellek yapısı aracılığıyla temsil edilir. Saldırgan daha sonra yığın üzerindeki "Dönüş İşaretçisi" adı verilen bir bölümü üzerine yazabilir.
Dönüş işaretçisi, CPU'nun ("Merkezi İşlem Birimi") bir sonraki kod yürütme yerini belirler. CPU, sistemin herhangi bir anda hangi talimatları yerine getirmesi gerektiğini kontrol eder. Dönüş işaretçisi, yürütmenin gerçekleşmesi gereken bellekteki bir adrestir. CPU'ya her zaman kodun nerede yürütüleceği söylenmelidir ve dönüş işaretçisi bunu sağlar.
Saldırgan dönüş işaretçisini kontrol edebildiğinde, bu, saldırganın CPU'nun hangi talimatları yürütmesi gerektiğini kontrol edebileceği anlamına gelir!
Örneğin, aşağıdaki C kod örneğini ele alalım (endişelenmeyin, C geliştiricisi olmanıza gerek yok, ancak bu basit uygulamanın ne yaptığını anlamaya çalışın):
C dahil birçok programlama dilinde, uygulama main adlı bir fonksiyon içinde başlar. Bu, yukarıdaki kodda int main (int argc, char **argv) { ifadesiyle belirtilmiştir. Süslü parantezler { ve } içinde program, storeName(argv[1]); adlı bir fonksiyonu çalıştırır. Bu fonksiyon, kullanıcının programa yazdığı her şeyi alır ve storeName fonksiyonuna iletir.
Uygulama 11 satır koddan oluşmaktadır, ancak dikkatinizi strcpy(name, input); satırına odaklayın. Bu, input'tan name adlı değişkene metin kopyalamaya çalışan bir fonksiyondur. name değişkeni, char name[12]; satırında belirtildiği gibi en fazla 12 karakter tutabilir. Kodda, verilen name değişkeninin 12 karakterden uzun olmasını engelleyen bir yer var mı? name değişkeni, uygulamayı kullanan kullanıcı tarafından sağlanır ve doğrudan storeName fonksiyonuna iletilir.
Bu uygulamada, girdilerin uzunluğunun uygulamanın beklediği uzunlukta olduğundan emin olmak için herhangi bir temizleme veya sanitasyon işlemi yapılmamıştır. Programı çalıştıran herkes, ad değişkeninin tutabileceği maksimum değerden daha büyük bir değer kolayca girebilir. Ad değişkeni 12 karakter tutabilir, ancak CPU'ya 12 karakterden fazla yazması söylendiğinde ne olur? Sadece kendisine söyleneni yapar ve ihtiyaç duyduğu kadar belleği üzerine yazar!
Beklenenden daha büyük bir değer yazılmaya çalışıldığında, CPU yine de bu değeri belleğe yazmaya çalışır. Bu, CPU'nun bellekteki diğer şeyleri, örneğin Dönüş İşaretçisini (Return Pointer) üzerine yazmasına neden olur ve saldırganların CPU'yu kontrol etmesine olanak tanır. Tekrar ediyorum, saldırgan Dönüş İşaretçisini üzerine yazabilir ve kontrol edebilirse, CPU'nun hangi kodu çalıştırması gerektiğini kontrol eder.
C ve C++ programlama dilleri, geliştiricilere belleğin nasıl yönetileceği konusunda çok fazla kontrol sağlar. Bu, geliştiricilerin donanıma çok yakın programlama yapmasını gerektiren uygulamalar için idealdir, ancak güvenlik açıklarına yol açar. Java, JavaScript, C#, Ruby, Python ve diğerleri gibi programlama dilleri, geliştiricilerin bu hataları kolayca yapmasına izin vermez, bu da bu dillerde yazılan uygulamalarda Tampon Taşmalarının daha az olası olmasını sağlar.
Tampon taşmaları, temizlenmemiş girdinin değişkenlere yerleştirilmesiyle oluşur. Bu değişkenler, işletim sisteminde yığın adı verilen bir bellek yapısı aracılığıyla temsil edilir. Saldırgan daha sonra yığın üzerindeki "Dönüş İşaretçisi" adı verilen bir bölümü üzerine yazabilir.
Dönüş işaretçisi, CPU'nun ("Merkezi İşlem Birimi") bir sonraki kod yürütme yerini belirler. CPU, sistemin herhangi bir anda hangi talimatları yerine getirmesi gerektiğini kontrol eder. Dönüş işaretçisi, yürütmenin gerçekleşmesi gereken bellekteki bir adrestir. CPU'ya her zaman kodun nerede yürütüleceği söylenmelidir ve dönüş işaretçisi bunu sağlar.
Saldırgan dönüş işaretçisini kontrol edebildiğinde, bu, saldırganın CPU'nun hangi talimatları yürütmesi gerektiğini kontrol edebileceği anlamına gelir!
Örneğin, aşağıdaki C kod örneğini ele alalım (endişelenmeyin, C geliştiricisi olmanıza gerek yok, ancak bu basit uygulamanın ne yaptığını anlamaya çalışın):
Kod:
#include <string.h>
void storeName (char *input) {
char name[12];
strcpy(name, input);
}
int main (int argc, char **argv) {
storeName(argv[1]);
return 0;
}
C dahil birçok programlama dilinde, uygulama main adlı bir fonksiyon içinde başlar. Bu, yukarıdaki kodda int main (int argc, char **argv) { ifadesiyle belirtilmiştir. Süslü parantezler { ve } içinde program, storeName(argv[1]); adlı bir fonksiyonu çalıştırır. Bu fonksiyon, kullanıcının programa yazdığı her şeyi alır ve storeName fonksiyonuna iletir.
Uygulama 11 satır koddan oluşmaktadır, ancak dikkatinizi strcpy(name, input); satırına odaklayın. Bu, input'tan name adlı değişkene metin kopyalamaya çalışan bir fonksiyondur. name değişkeni, char name[12]; satırında belirtildiği gibi en fazla 12 karakter tutabilir. Kodda, verilen name değişkeninin 12 karakterden uzun olmasını engelleyen bir yer var mı? name değişkeni, uygulamayı kullanan kullanıcı tarafından sağlanır ve doğrudan storeName fonksiyonuna iletilir.
Bu uygulamada, girdilerin uzunluğunun uygulamanın beklediği uzunlukta olduğundan emin olmak için herhangi bir temizleme veya sanitasyon işlemi yapılmamıştır. Programı çalıştıran herkes, ad değişkeninin tutabileceği maksimum değerden daha büyük bir değer kolayca girebilir. Ad değişkeni 12 karakter tutabilir, ancak CPU'ya 12 karakterden fazla yazması söylendiğinde ne olur? Sadece kendisine söyleneni yapar ve ihtiyaç duyduğu kadar belleği üzerine yazar!
Beklenenden daha büyük bir değer yazılmaya çalışıldığında, CPU yine de bu değeri belleğe yazmaya çalışır. Bu, CPU'nun bellekteki diğer şeyleri, örneğin Dönüş İşaretçisini (Return Pointer) üzerine yazmasına neden olur ve saldırganların CPU'yu kontrol etmesine olanak tanır. Tekrar ediyorum, saldırgan Dönüş İşaretçisini üzerine yazabilir ve kontrol edebilirse, CPU'nun hangi kodu çalıştırması gerektiğini kontrol eder.
Grafiksel bir örnek, Alice'in adını yukarıdaki örnekte kullandığımız uygulamaya yazmasını göstermektedir:
Alice düzgün davranır ve uygulamanın doğru şekilde çalışmasını sağlayan bir isim verir. Alice adını verir ve bu isim uygulamanın belleğine yazılır.
Ancak Eve uygulamaya çok fazla karakter gönderir. O zaman ne olur? İşlemci, girdiyi alır ve belleğe yazar, ayrıca mevcut diğer değerlerin üzerine yazar!
Eve'in girdisi, CPU'nun uygulamanın beklediğinden çok daha fazla veri yazmasına ve dönüş işaretçisinin üzerine yazılmasına neden oldu. CPU bir sonraki komutu yürütmeye çalıştığında, artık AAAAAAA... konumundaki kodu yürütmesi söyleniyor.
Eğer Eve bu sunucunun kontrolünü ele geçirseydi, A'lar yazmak yerine, CPU'nun anlayabileceği kodu belleğe yazması gerekirdi. Ardından, dönüş işaretçisinin değerini, CPU'ya Eve'in kendi CPU kodunu yürütmesini söyleyen bir değere ayarlaması gerekirdi.
Güvenlik Açığı Tarayıcıları
Bir güvenlik açığı tarayıcısı, ağ genelindeki yazılımlarda ve yapılandırmalarda yaygın güvenlik açıklarını otomatik olarak arar. Yeni güvenlik açığı sınıflarını bulmak için tasarlanmamıştır; bunun yerine, hizmetleri sorunlar ve güvenlik açıkları açısından taramak için önceden tanımlanmış eklentiler (veya modüller) listesini kullanır. Mutlaka sıfır gün güvenlik açıklarını aramaz! Sıfır gün güvenlik açığı, yazılımın satıcısı ve savunucuları tarafından daha önce bilinmeyen yepyeni bir güvenlik açığıdır; sıfır gün güvenlik açığı için şu anda soruna yönelik bilinen bir yama bulunmamaktadır.
Tarayıcılar, ağ haritalama ve port tarama özelliklerine sahiptir ve karşılaştığı farklı uygulamalardaki güvenlik açıklarını keşfetme ve bulma yollarını içerir.
Bir güvenlik açığı tarayıcısı genellikle kimlik bilgileriyle yapılandırmayı destekler; bu da sistemlere giriş yapmasına ve güvenlik açıklarını kimlik doğrulaması yapılmamış bir bakış açısından bulmak yerine değerlendirmesine olanak tanır.
Tarayıcılar, ağ haritalama ve port tarama özelliklerine sahiptir ve karşılaştığı farklı uygulamalardaki güvenlik açıklarını keşfetme ve bulma yollarını içerir.
Bir güvenlik açığı tarayıcısı genellikle kimlik bilgileriyle yapılandırmayı destekler; bu da sistemlere giriş yapmasına ve güvenlik açıklarını kimlik doğrulaması yapılmamış bir bakış açısından bulmak yerine değerlendirmesine olanak tanır.
Kod Yürütme
Saldırganlar, istismar edebilecekleri bir güvenlik açığı bulduklarında, çalıştırmak istedikleri yükü belirlemeleri gerekir. Yük, saldırganın bir istismar yoluyla iletilmesini istediği koddur.
Saldırganların kullanmaya karar verebileceği birçok farklı yük vardır, işte bazı örnekler:
Kurbanın, saldırganlardan komut kabul eden bir C2 ("Komut ve Kontrol") sunucusuna kaydolmasını sağlamak
Saldırganın daha sonra kullanabileceği şekilde sistemde yeni bir arka kapı kullanıcı hesabı oluşturmak
Saldırganın uzaktan kontrol edebilmesi için kurbanla birlikte bir GUI ("Grafiksel Kullanıcı Arayüzü") açmak
Saldırganın komut gönderebileceği bir komut satırı terminali, bir kabuk almak
Saldırganlar tarafından yaygın olarak kullanılan bir yük, bind-shell'dir. Kurbanın bir portta dinlemesine neden olur ve saldırgan bağlandığında bir kabuk alır.
Güvenlik duvarları, saldırganların kurbanlara bağlanmasını engellemede yardımcıdır. Bir güvenlik duvarı, izin verilmeyen bir port olduğu sürece kurbana gelen bağlantıları etkili bir şekilde reddeder. Bir portta yalnızca bir uygulama dinleyebilir, bu nedenle saldırganlar, o hizmeti devre dışı bırakmadıkları sürece zaten kullanımda olan portlarda dinleme yapamazlar.
Bu savunma önlemini aşmak için saldırganlar, kurbanın kendilerine bağlanmasını sağlayarak, kurbanın zararlı yazılıma erişim sağlamasına neden olmaya çalışırlar. Ne yazık ki birçok güvenlik duvarı giden trafiği engellemek üzere yapılandırılmamıştır, bu da bu saldırıyı saldırganlar için oldukça uygulanabilir hale getirir.
Bu örnekte, bir saldırganın kurbanın kendilerine bağlanmasını sağlamak için ters kabuk kullandığını görüyoruz.
Saldırganların kullanmaya karar verebileceği birçok farklı yük vardır, işte bazı örnekler:
Kurbanın, saldırganlardan komut kabul eden bir C2 ("Komut ve Kontrol") sunucusuna kaydolmasını sağlamak
Saldırganın daha sonra kullanabileceği şekilde sistemde yeni bir arka kapı kullanıcı hesabı oluşturmak
Saldırganın uzaktan kontrol edebilmesi için kurbanla birlikte bir GUI ("Grafiksel Kullanıcı Arayüzü") açmak
Saldırganın komut gönderebileceği bir komut satırı terminali, bir kabuk almak
Saldırganlar tarafından yaygın olarak kullanılan bir yük, bind-shell'dir. Kurbanın bir portta dinlemesine neden olur ve saldırgan bağlandığında bir kabuk alır.
Güvenlik duvarları, saldırganların kurbanlara bağlanmasını engellemede yardımcıdır. Bir güvenlik duvarı, izin verilmeyen bir port olduğu sürece kurbana gelen bağlantıları etkili bir şekilde reddeder. Bir portta yalnızca bir uygulama dinleyebilir, bu nedenle saldırganlar, o hizmeti devre dışı bırakmadıkları sürece zaten kullanımda olan portlarda dinleme yapamazlar.
Bu savunma önlemini aşmak için saldırganlar, kurbanın kendilerine bağlanmasını sağlayarak, kurbanın zararlı yazılıma erişim sağlamasına neden olmaya çalışırlar. Ne yazık ki birçok güvenlik duvarı giden trafiği engellemek üzere yapılandırılmamıştır, bu da bu saldırıyı saldırganlar için oldukça uygulanabilir hale getirir.
Bu örnekte, bir saldırganın kurbanın kendilerine bağlanmasını sağlamak için ters kabuk kullandığını görüyoruz.
Ağ İzleme
Saldırganlar çoğu durumda bir hedefi uzaktan kontrol etmek için ağa ihtiyaç duyarlar. Saldırganlar bir hedefi uzaktan kontrol edebildiklerinde, bu genellikle C&C veya C2 olarak adlandırılan bir Komuta ve Kontrol kanalı aracılığıyla yapılır.
C2'ye ihtiyaç duymayan, önceden yüklenmiş zararlı yazılımlar aracılığıyla yapılan güvenlik açıkları mevcuttur. Bu tür zararlı yazılımlar, hava boşluklu ağları bile tehlikeye atabilir.
Güvenlik açıklarının tespiti genellikle C2 kanalını bularak yapılabilir. C2 herhangi bir biçimde olabilir, örneğin:
Saldırgan sunucularıyla iletişim kurmak için HTTPS kullanmak. Bu, C2'nin ağda gezinme gibi görünmesine neden olur.
Sosyal ağları kullanarak otomatik olarak mesaj göndermek ve okumak.
Google Dokümanlar gibi sistemler kullanarak kurbanlara komut eklemek ve düzenlemek.
C2'nin sınırını yalnızca saldırganların zekası belirler. Akıllı C2 kanallarına sahip saldırganları nasıl durduracağımızı düşünürken, genellikle ağdaki istatistiksel anormallikleri ve tutarsızlıkları tespit etmeye güvenmeliyiz. Örneğin, ağ izleme araçları şunları tespit edebilir:
C2 tarafından kullanılan, ancak söz konusu protokol için doğal olmayan uzun bağlantılar. HTTP, uzun bağlantıların çok yaygın olmadığı protokollerden biridir, ancak uzaktan kontrol için kullanan bir saldırgan bunu yapabilir.
Kurbanın hayatta olduğunu ve komutlara hazır olduğunu belirtmek için C2 tarafından kullanılan işaretçiler. İşaretçiler yalnızca saldırganlar tarafından değil, birçok yazılım türü tarafından kullanılır, ancak hangi işaretçilerin mevcut olduğunu ve hangilerini beklediğinizi bilmek iyi bir uygulamadır.
Ağdan aniden patlayan veri flaşları. Bu, bir uygulamadan büyük bir yüklemeyi veya bir saldırganın veri çalmasını gösterebilir. Hangi uygulamanın ve kullanıcının veri flaşlarına neden olduğunu anlamaya çalışın ve buna bağlam uygulayın. Normal mi, değil mi?
Savunmacıların anormallikleri bulmaya çalışabileceği birçok yol vardır. Bu anormallikler, veriyi gönderen kaynak sistemden gelen verilerle daha da ilişkilendirilmelidir.
Ağ izleme için, gürültüyü sinyalden ayırmaya yardımcı olmak amacıyla bağlam uygulanmalıdır. Bu, bir SOC'nin ("Güvenlik Operasyon Merkezi") verileri, örneğin Kaynak ve Hedef IP Adreslerini bağlamla zenginleştirerek verileri daha değerli hale getirmeye çalışması gerektiği anlamına gelir.
Bağlam uygulaması aşağıdaki senaryo ile açıklanabilir: İnternetten bir saldırı gelir, ancak bir Windows hizmetine karşı Linux güvenlik açığını istismar etmeye çalışır. Bu genellikle gürültü olarak kabul edilir ve güvenle göz ardı edilebilir; ancak, saldırıyı gerçekleştiren IP adresi kendi ağınızdan veya güvendiğiniz bir sağlayıcıdan bir IP adresi ise durum farklıdır. Uygulayabileceğimiz bağlam, saldırıyı daha ayrıntılı olarak incelememize değerli bilgiler sağlayabilir. Sonuçta, güvendiğimiz sistemlerin herhangi bir saldırı başlatmasını istemeyiz!
C2'ye ihtiyaç duymayan, önceden yüklenmiş zararlı yazılımlar aracılığıyla yapılan güvenlik açıkları mevcuttur. Bu tür zararlı yazılımlar, hava boşluklu ağları bile tehlikeye atabilir.
Güvenlik açıklarının tespiti genellikle C2 kanalını bularak yapılabilir. C2 herhangi bir biçimde olabilir, örneğin:
Saldırgan sunucularıyla iletişim kurmak için HTTPS kullanmak. Bu, C2'nin ağda gezinme gibi görünmesine neden olur.
Sosyal ağları kullanarak otomatik olarak mesaj göndermek ve okumak.
Google Dokümanlar gibi sistemler kullanarak kurbanlara komut eklemek ve düzenlemek.
C2'nin sınırını yalnızca saldırganların zekası belirler. Akıllı C2 kanallarına sahip saldırganları nasıl durduracağımızı düşünürken, genellikle ağdaki istatistiksel anormallikleri ve tutarsızlıkları tespit etmeye güvenmeliyiz. Örneğin, ağ izleme araçları şunları tespit edebilir:
C2 tarafından kullanılan, ancak söz konusu protokol için doğal olmayan uzun bağlantılar. HTTP, uzun bağlantıların çok yaygın olmadığı protokollerden biridir, ancak uzaktan kontrol için kullanan bir saldırgan bunu yapabilir.
Kurbanın hayatta olduğunu ve komutlara hazır olduğunu belirtmek için C2 tarafından kullanılan işaretçiler. İşaretçiler yalnızca saldırganlar tarafından değil, birçok yazılım türü tarafından kullanılır, ancak hangi işaretçilerin mevcut olduğunu ve hangilerini beklediğinizi bilmek iyi bir uygulamadır.
Ağdan aniden patlayan veri flaşları. Bu, bir uygulamadan büyük bir yüklemeyi veya bir saldırganın veri çalmasını gösterebilir. Hangi uygulamanın ve kullanıcının veri flaşlarına neden olduğunu anlamaya çalışın ve buna bağlam uygulayın. Normal mi, değil mi?
Savunmacıların anormallikleri bulmaya çalışabileceği birçok yol vardır. Bu anormallikler, veriyi gönderen kaynak sistemden gelen verilerle daha da ilişkilendirilmelidir.
Ağ izleme için, gürültüyü sinyalden ayırmaya yardımcı olmak amacıyla bağlam uygulanmalıdır. Bu, bir SOC'nin ("Güvenlik Operasyon Merkezi") verileri, örneğin Kaynak ve Hedef IP Adreslerini bağlamla zenginleştirerek verileri daha değerli hale getirmeye çalışması gerektiği anlamına gelir.
Bağlam uygulaması aşağıdaki senaryo ile açıklanabilir: İnternetten bir saldırı gelir, ancak bir Windows hizmetine karşı Linux güvenlik açığını istismar etmeye çalışır. Bu genellikle gürültü olarak kabul edilir ve güvenle göz ardı edilebilir; ancak, saldırıyı gerçekleştiren IP adresi kendi ağınızdan veya güvendiğiniz bir sağlayıcıdan bir IP adresi ise durum farklıdır. Uygulayabileceğimiz bağlam, saldırıyı daha ayrıntılı olarak incelememize değerli bilgiler sağlayabilir. Sonuçta, güvendiğimiz sistemlerin herhangi bir saldırı başlatmasını istemeyiz!
Eşler Arası Trafik
Çoğu ağ, istemci-sunucu şeklinde yapılandırılmıştır. İstemciler bilgi için sunuculara erişir ve istemcilerin birbirleriyle etkileşim kurması gerektiğinde bunu genellikle bir sunucu aracılığıyla yaparlar.
Ancak bir saldırgan, kimlik bilgilerinin yeniden kullanılması veya zayıf veya savunmasız istemcilerin istismar edilmesi gibi kolay hedefleri kullanmak için büyük olasılıkla eşler arası, yani istemciden istemciye iletişimi kullanmak isteyecektir.
Örneğin, SMB tarafından kullanılan 445 numaralı port, bir güvenlik açığını tespit etmek için iyi bir göstergedir. Çoğu ortamda istemciler birbirleriyle SMB üzerinden iletişim kurmamalıdır, ancak bir güvenlik açığı sırasında saldırganın sistemleri daha fazla tehlikeye atmak için SMB'yi kullanmaya çalışması muhtemeldir.
Ancak bir saldırgan, kimlik bilgilerinin yeniden kullanılması veya zayıf veya savunmasız istemcilerin istismar edilmesi gibi kolay hedefleri kullanmak için büyük olasılıkla eşler arası, yani istemciden istemciye iletişimi kullanmak isteyecektir.
Örneğin, SMB tarafından kullanılan 445 numaralı port, bir güvenlik açığını tespit etmek için iyi bir göstergedir. Çoğu ortamda istemciler birbirleriyle SMB üzerinden iletişim kurmamalıdır, ancak bir güvenlik açığı sırasında saldırganın sistemleri daha fazla tehlikeye atmak için SMB'yi kullanmaya çalışması muhtemeldir.
Yanal Hareket ve Yön Değiştirme
Bir sistem ele geçirildikten sonra, saldırgan bu sistemi kullanarak ele geçirilen sistemin erişebildiği ek ağları keşfedebilir. Bu, ele geçirilen sistemin güvenlik duvarı üzerinden daha fazla ayrıcalığa sahip olduğu veya sistemin örneğin ek bir ağ kartı aracılığıyla diğer ağlara erişebildiği bir ortamda mümkün olabilir.
Yön değiştirme, bir saldırganın ele geçirilmiş bir ana bilgisayarı kullanarak diğer ağlara ulaşması anlamına gelir. Bunun bir örneği burada gösterilmiştir; Eve bir sistemi ele geçirmiş ve diğer sistemleri taramak ve keşfetmek için kullanmaktadır:
Yanal Hareket, pivot noktasından yararlanarak ve pivot noktasını kullanan başka bir sistemi istismar etme eylemidir. Bu yeni sistem artık daha fazla pivotlama ve yanal hareket yapmak için kullanılabilir. Bu örnekte Eve, Sistem B'yi daha fazla keşfetmek için Sunucu X'i kullanıyor.
Yön değiştirme, bir saldırganın ele geçirilmiş bir ana bilgisayarı kullanarak diğer ağlara ulaşması anlamına gelir. Bunun bir örneği burada gösterilmiştir; Eve bir sistemi ele geçirmiş ve diğer sistemleri taramak ve keşfetmek için kullanmaktadır:
Yanal Hareket, pivot noktasından yararlanarak ve pivot noktasını kullanan başka bir sistemi istismar etme eylemidir. Bu yeni sistem artık daha fazla pivotlama ve yanal hareket yapmak için kullanılabilir. Bu örnekte Eve, Sistem B'yi daha fazla keşfetmek için Sunucu X'i kullanıyor.
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 2
- Görüntüleme
- 31
- Cevaplar
- 2
- Görüntüleme
- 43
- Cevaplar
- 1
- Görüntüleme
- 20












