CyberFlow Logo CyberFlow BLOG
Mssql Pentest

MSSQL ile Yanal Hareket Analizi: Güvenlik ve Önlemler

✍️ Ahmet BİRKAN 📂 Mssql Pentest

MSSQL üzerinden yan hareket analizi yaparak kurumsal güvenliğinizi artırın. Aktif bağlantılar ve güven ilişkilerini inceleyin.

MSSQL ile Yanal Hareket Analizi: Güvenlik ve Önlemler

MSSQL üzerinde yan hareket analizi, sistemler arası erişim yollarını görünür hale getirirken güvenlik zafiyetlerini azaltmanıza yardımcı olur. Bu blogda, makalede yer alan önemli adımları keşfedin.

Giriş ve Konumlandırma

Siber güvenlik alanında, bilgi sistemlerinin korunması amacıyla yapılan çeşitli analiz yöntemleri giderek önem kazanmaktadır. Bu yöntemlerden biri, MSSQL (Microsoft Structured Query Language) ortamlarında yanal hareket analizi olarak bilinen süreçtir. Yanal hareket, bir sistemden diğerine geçiş yaparak yetkisiz erişim sağlamaya yönelik bir saldırı tekniğidir. Bu tür bir hareketin izlenmesi ve analiz edilmesi, sistem yöneticileri için kritik öneme sahiptir, çünkü saldırganların potansiyel olarak kullanabileceği erişim yollarını gün yüzüne çıkarır.

Yanal Hareketin Önemi

Yanal hareket analizi, kurumsal ağlarda güvenlik açıklarını tespit etmede etkili bir yöntemdir. Bir siber saldırgan, genellikle bir sisteme sızdıktan sonra, bu sisteme bağlı diğer sistemlere geçerek daha fazla bilgiye veya kritik verilere ulaşmayı hedefler. MSSQL ortamlarında, sistemler arası hareket, hangi hesapların hangi sistemlere erişim sağladığını gözlemleyerek analiz edilir. Bu, hem mevcut güvenlik boşluklarını tespit etmek hem de gelecekteki saldırılara karşı önlemler almak amacıyla önemlidir.

Siber Güvenlik ve Pentest Bağlantısı

Penetrasyon testleri (pentest), sistemlerin güvenliğini değerlendirmenin bir yoludur ve genellikle yanal hareket analizi ile ilişkilendirilir. Testler sırasında, bir saldırganın içeri girebildiği ve başka sistemlere nasıl erişim sağlayabileceği modellikler. MSSQL üzerinden yanal hareketin incelenmesi, bu tür testlerin kritik bir bileşenidir. Yeterince iyi planlanmış bir yanal hareket analizi, ağdaki zayıf bağlantıların ve yetkisiz erişim yollarının belirlenmesine yardımcı olur, bu da siber güvenlik stratejilerinin güçlendirilmesine katkı sağlar.

Teknik Bağlamda Hazırlık

Yanal hareket analizi yapılırken, MSSQL ortamındaki sunucu bağlantılarının, kullanıcı hesaplarının ve sistemler arası autentikasyon süreçlerinin detaylı bir şekilde incelenmesi gerekmektedir. Bu sürecin ilk adımı, sunucu bağlantılarını görüntülemektir. Aşağıda, MSSQL üzerinde aktif bağlantıların nasıl listeleneceğine dair bir örnek sorgu verilmiştir:

SELECT * FROM sys.dm_exec_connections;

Bu sorgu, mevcut tüm bağlantıları göstererek sistemler arasındaki erişim yollarının tespit edilmesine yardımcı olur. Öte yandan, yanal hareketin nasıl gerçekleştirildiğini anlamak için farklı hareket türlerini de fark etmek gerekir. MSSQL üzerinde, yanal hareket gerçekleştiren bir saldırgan, genellikle kurumsal ağın yapısını gözlemleyerek hangi sistemlerin birbirine bağlı olduğunu bilmelidir.

Yanal Hareketin Belirtileri ve İzleme

Yanal hareketin göstergeleri genellikle belirli kullanıcı aktiviteleri, bağlantı kayıtları ve sistem yapılandırmalarında ortaya çıkar. Örneğin, bir sistemin başka bir sistemi otomatik olarak tanıması, "trust relationship" (güven ilişkisi) kavramıyla ifade edilen bir durumdur. Bu durum, saldırganların başka sistemlere geçiş yapabilmesi için bir kapı açar. MSSQL ortamları incelenirken, güven ilişkilerini ve bu ilişkilerin zayıf noktalarını belirlemek kritik bir adımdır.

Veritabanı login hesaplarının envanterinin çıkarılması, bu analizin bir diğer önemli bileşenidir. Kullanıcı hesaplarının hangi sistemlerde kullanıldığını belirlemek, bir saldırganın aynı kimlik bilgilerini kullanarak sistemi ihlal etme olasılığını değerlendirmenin bir yoludur. Ayrıca, servis hesaplarının hangi sistemlerde kullanıldığını görmek de, potansiyel geçiş yollarının analiz edilmesine olanak tanır. Aşağıdaki sorgu ile MSSQL üzerinde kullanılan servis hesaplarının görüntülenmesi sağlanabilir:

SELECT servicename, service_account FROM sys.dm_server_services;

Sonuç olarak, MSSQL ile yanal hareket analizi, siber güvenlik çalışmalarının vazgeçilmez bir parçasıdır. Bu analizin çeşitli kriterleri ve göstergeleri göz önüne alındığında, sistem yöneticileri ve güvenlik uzmanları, organizasyonlarının maruz kalabileceği tehditleri daha iyi anlayabilir ve bunlara karşı etkili savunmalar geliştirebilir. Yanal hareket analizi, saldırılara karşı sistemlerin savunulmasında kritik bir rol oynar ve bu nedenle sürekli olarak güncellenmeli ve uygulanmalıdır.

Teknik Analiz ve Uygulama

MSSQL ile Yanal Hareket Analizi: Güvenlik ve Önlemler

Sunucu Bağlantılarını Görüntüleme

MSSQL sunucuları üzerinde herhangi bir güvenlik analizi yapmadan önce, aktif bağlantıların ve onların özelliklerinin incelenmesi esastır. Bu, sunucular arasındaki geçiş yollarını anlamaya yardımcı olur. MSSQL üzerinde aktif bağlantıları listelemek için aşağıdaki sorgu kullanılabilir:

SELECT * FROM sys.dm_exec_connections;

Bu sorgu, sunucuya bağlı olan tüm kullanıcıların ve uygulamaların bağlantı bilgilerini gösterir. Özellikle client_net_address sütunu, bağlantının nereden geldiğini belirlemek adına kritik öneme sahiptir.

Hareket Türleri

Yanal hareket analizi, farklı türlerdeki erişim akışlarını incelemeyi gerektirir. İki temel hareket türü üzerinde durulmalıdır:

  • Yatay Hareket (Lateral Movement): Bir sistemden diğerine doğru olan erişim akışıdır. Bu tür hareket, birden fazla cihaza veya hizmete yayılmak için kullanılır.
  • Dikey Hareket (Vertical Movement): Daha yüksek erişim hakları elde etmek amacıyla yapılan hareketlerdir. Genellikle sistem yöneticisi yetkilerine ulaşma çabasını içerir.

Linked Server Yapılandırmalarını Listeleme

MSSQL ortamında linked server'lar, diğer veri kaynaklarına bağlanmayı sağlar. Linked server'ların yanlış yapılandırmaları, bir sistemden diğerine geçiş için potansiyel yollar yaratabilir. Linked server kayıtlarını listelemek için aşağıdaki sorgu kullanılabilir:

SELECT name FROM sys.servers WHERE is_linked = 1;

Bu sorgu, tüm linked server'ları listeleyerek sistemler arası olası erişim yollarını anlamaya yardımcı olur.

Lateral Movement Göstergeleri

Yanal hareket analizinde dikkat edilmesi gereken bazı göstergeler bulunmaktadır. Bu göstergeler, bir sistemin başka sistemlerden gelen kimlikleri veya erişim taleplerini nasıl değerlendirdiğine dair ipuçları sunar. Örneğin, linked server yapılandırmaları ya da ortak hizmet hesapları gibi unsurlar, bu analiz için kritik bilgiler sunar.

Güven İlişkisi Kavramı

Bir sistemin başka bir sistemden gelen kimliği kabul etmesi, güvenilirliği etkileyen bir faktördür. Bu durum, özellikle eski sistemler arasında varlık gösteren güven ilişkileri ile ilgili olabilir. "Legacy Trust Relationships" olarak bilinen bu durum, sistemler arasında görünmeyen erişim yolları oluşturabilir ve analiz sırasında dikkate alınmalıdır.

SQL Login Envanterini İnceleme

MSSQL ortamında etkili bir Yanal Hareket analizi yapabilmek için SQL login hesaplarının envanterinin çıkarılması gerekmektedir. Bu, hangi kullanıcıların ve hesapların hangi sistemlerde olduğunu belirlemeye yardımcı olur. Aşağıdaki sorgu ile SQL login envanteri çıkartılabilir:

SELECT name FROM sys.sql_logins;

Bu sorgu ile kullanıcı hesapları hakkında bilgi edinerek potansiyel risklere karşı önlemler alınabilir.

Potansiyel Geçiş Yolları

SQL Server üzerindeki yapılandırmalar ve hizmet hesapları, sistemler arası geçiş yollarını etkileyebilir. Shared Service Accounts gibi ortak hesaplar, birden fazla sistemde kullanıldığında güvenlik riski oluşturabilir. Buna ek olarak, Credential Propagation (kimlik bilgilerinin yayılması) gibi kavramlar da yanal hareketin nasıl gerçekleşebileceği konusunda fikir verir.

Savunma Önlemleri

Yanal hareketi sınırlamak için bazı önlemlerin alınması gerekmektedir. Bu bağlamda aşağıdaki stratejiler dikkate alınabilir:

  1. Segment Network Access: Veri tabanı sunucularının yalnızca gerekli sistemlerle iletişim kurmasını sağlayarak saldırı yüzeyini azaltır.
  2. Unique Service Accounts: Her sistem için farklı servis hesapları kullanarak erişim zincirlerini özelleştirir ve riski azaltır.
  3. Review Trust Relationships: Sistemler arası güven ilişkilerini düzenli olarak gözden geçirmek, potansiyel zafiyetleri ortaya çıkarmaya yardımcı olur.

Nihai Güvenlik Hedefi

MSSQL üzerindeki yanal hareket analizi, yalnızca mevcut güvenlik durumunun değerlendirilmesi değil, aynı zamanda potansiyel risklerin önlenmesi açısından da kritik öneme sahiptir. Amaç, sistemler arası görünmeyen erişim yollarını minimize etmek ve veri tabanı altyapısını daha güvenli hale getirmektir. Savunma önlemleri ve yapılandırma iyileştirmeleri, siber saldırılara karşı korunma açısından önemli bir rol oynamaktadır.

Risk, Yorumlama ve Savunma

Risk ve Güvenlik Anlamının Yorumlanması

MSSQL üzerinde yanal hareket analizi, bir siber saldırganın bir sistemden diğerine geçiş yapmasını anlamaya yardımcı olur. Bu analiz, özellikle kurumsal ağlardaki güvenlik açıklarının belirlenmesi ve bu açıkların etkilerinin değerlendirilmesi açısından kritik öneme sahiptir. MSSQL ortamında gerçekleştirilen bir denetim, aşağıdaki gibi derinlemesine bir risk değerlendirmesi yapmayı gerektirir:

  1. Aktif bağlantıları görüntüleme: MSSQL'deki mevcut bağlantıları gözlemlemek, sistemler arası geçiş yollarının belirlenmesinde önemlidir. Örneğin, aşağıdaki SQL sorgusu, mevcut bağlantıları listeler:

    SELECT * FROM sys.dm_exec_connections;
    
  2. Geçiş yollarını değerlendirme: SQL Server ortamındaki yapılandırmaların doğru olmadığı veya güvenlik açısından risk oluşturduğu durumlar, sistemler arası erişim yollarının açılmasına neden olabilir. Örneğin, "linked server" yapılandırmaları, veri kaynakları arası doğrudan bağlantılar oluşturabilir. Bu tür bir yapılandırma, veri akışını kolaylaştırsa da kötü niyetli bir kullanıcı tarafından saldırı yüzeyi olarak kullanılabilir.

Yanlış Yapılandırmalar ve Zafiyetler

Yanlış yapılandırmalar, özellikle kurumsal MSSQL ortamlarında yaygın olarak karşılaşılan bir durumdur. Örneğin, aşağıdaki durumlar, sistemler arası hareketi kolaylaştırarak güvenlik açıklarına yol açabilir:

  • Geçmiş güven ilişkileri: Eski sistemler arası güven ilişkileri, görünmeyen erişim yolları oluşturur. Bu durum, "Legacy Trust Relationships" kavramı ile ifade edilir. Kurumlar, bu tür ilişkileri gözden geçirmeli ve gerekli yerlerde düzeltmeler yapmalıdır.
  • Hizmet hesaplarının yeniden kullanımı: Aynı hizmet hesabının birçok sunucuda çalıştırılması, "Service Account Reuse" olgusunu oluşturur. Bu durum, saldırganların bir sistemden diğerine kolayca geçiş yapabilmesini sağlar.

Verilerin Sızması ve Topoloji Analizi

Siber güvenlik analizleri sırasında sızan veri ve ağ topolojisi tespitinin yapılması, olası saldırıların belirlenmesi açısından kritiktir. MSSQL ortamında, aşağıdaki gibi analizler yapılmalıdır:

  • SQL login envanteri: Kullanıcı veritabanı login hesaplarını incelemek, güvenlik anlamında büyük bir avantaj sağlar. Aşağıdaki sorgu, mevcut SQL login hesaplarını listeler:

    SELECT name FROM sys.sql_logins;
    
  • Hizmet hesaplarının analizi: SQL Server servis hesabı ile hangi hesapların çalıştığını görmek, sistemler arası erişim zincirlerini anlamaya yardımcı olur. Aşağıdaki sorgu, servis hesaplarını listeler:

    SELECT servicename, service_account FROM sys.dm_server_services;
    

Savunma Önlemleri ve Güvenlik Sertleştirmeleri

MSSQL ortamında potansiyel olarak zarar verebilecek tüm geçiş yollarını azaltmak için stratejik güvenlik önlemleri uygulanmalıdır. Bu önlemler arasında şunlar yer alır:

  1. Erişim kontrolü: Her sistem için benzersiz hizmet hesapları kullanmak, erişim zincirlerini azaltır ve güvenliği artırır. "Unique Service Accounts" kavramı ile tanımlanır.

  2. Güven ilişkilerinin gözden geçirilmesi: Sistemler arası güven ilişkilerinin düzenli olarak gözden geçirilmesi, eski ve gereksiz bağlantıların kaldırılmasını sağlar. Bu durum, "Review Trust Relationships" işlemi ile gerçekleştirilmelidir.

  3. Ağ segmentasyonu: Veri tabanı sunucularının yalnızca gerekli sistemlerle iletişim kurmasını sağlamak, saldırı yüzeyini azaltır. "Segment Network Access" sayesinde iletişim gereksinimleri belirlenir.

  4. Kimlik bilgisi yönetimi: Aynı kimlik bilgilerinin farklı sistemlerde kullanılabilmesini ifade eden "Credential Propagation" önlemleri alınmalıdır. Bu, yetkisiz erişimleri sınırlamak için önemlidir.

Sonuç

MSSQL ile gerçekleştirilen yanal hareket analizi, sistemdeki güvenlik açıklarını tespit etmek ve bu açıkların etkilerini değerlendirmek açısından kritik bir süreçtir. Yanlış yapılandırmalar ve zafiyetlerin etkisi, güvenliğin ihlal edilmesi durumunda oldukça önemli bir risk unsuru oluşturur. Kurumsal düzeyde sıkı güvenlik önlemleri ve sertleştirme uygulamaları, MSSQL ortamında güvenliği artırmak için elzemdir. Bu önlemler, hem veri güvenliğini sağlamak hem de sistemler arası erişim yollarını asgariye indirmek için gereklidir.