Siber Güvenlik Nedir?
Konuya giriş yapmadan önce açıklamamız gereken soruların başında Siber Güvenlik nedir? geliyor. Siber Güvenlik bize göre; Siber dünyada ki varlığımız ve bu varlık bütünlüğümüzün sağlığı. Bilimsel olarak Siber Güvenlik; Siber kelimesi, bilişim sistemleri alt yapısında çalışan soyut ve geniş bir alt yapıdır. Buna kısaca siber âlem denilmektedir. Siber Güvenlik, siber âlemdeki hayatın güvenliği ve gizliliğinin korunmasıdır.
Siber âlemde ne kadar güvendeyiz, güvenliğimizi nasıl sağlayabiliriz? Aslında söz konusu güvenlik ise bu durum karmaşık bir hale gelebiliyor. Ne kadar güvende olduğumuzu düşünürsek o kadar güvende değiliz ve tehdit bütünlüğü de o kadar genişliyor demektir. Nasıl ki dev şirketler bu alan için büyük bütçeler ayırıyorsa bizim de kullandığımız bilgisayarlar için bir anti virüs yazılım lisansını çok görmememiz lazım. Bu yüzden güvenliğimiz için bazı fedakârlıklar yaparak elimizi taşın altına koymamız gerekiyor.
İNTERNET SİTELERİ NASIL HACKLENİYOR?
İnternet sitelerinin her biri birer sunucuya yani local bilgisayara bağlıdır, bu local bilgisayarlar veri merkezleri tarafından çevrim içi hale getirilerek kullanmakta olduğumuz internet ağına dâhil edilmektedir. Bu sunuculara kullandıkları donanımlardan yola çıkarak gelişmiş bilgisayarlar da diyebiliriz. Çevrim içi hale gelen bu bilgisayarlar her zaman siber bir tehdide ev sahipliği yapar çünkü bünyesinde çalıştırdığı çoğu yazılımların kullandığı portlar dışarıdan erişime açıktır ve yine içerisinde bulunan yazılımlar da manipüle edilebilen hatalar yüzünden sisteme erişim sağlanabilmektedir. Siber korsan olarak nitelendirilen siyah şapkalı hackerlar bu sistemlere nasıl girmeyi başarıyor? Bu konuyu örnekler üzerinden ele alalım ve basit bir senaryo yazalım.
HEDEF VE HACKER İLİŞKİSİ
Hedef internet adresimiz www.e-cloud.web.tr olsun öncelikle öğrenilmesi gereken bilgiler vardır. Bu bilgiler whois (domain kayıt bilgisi), ip reverse (internet sitesinin kurulu olduğu sunucunun ip adresi ve ip adresine bağlı olan internet siteleri), dns check (Alan adı adresinin sistemde kullanılan isminin sorgulanması) bu taramaları manuel yada yardımcı uygulamalar ile yaparak hedef internet sitesinden bilgiler toplanılır. Örnek verdiğimiz internet sitesi Wordpress tabanlı bir cms (içerik yönetim sistemi) olsun. Elde edilen bilgiler bize hedef internet sitesinde kullanılan mimarinin Wordpress tabanlı olduğunu söyledi. Bu durumda yapılması gereken Wordpress tabanlı bu internet sitesinde kullanılan tema ve eklentileri incelemek olacaktır. Yardımcı uygulamalar (bu uygulamalar Github gibi bir çok yerde vardır) ile hedef internet sitesinde bulunan eklentileri tek tek tarama işleminden geçirerek versiyon kontrolü yapılır ve ardından versiyonları tespit edilen eklentilerin arama motorları aracılığıyla exploit (web alanında ki açıklaması; kod hatalarındaki zafiyet tespiti ve sonrasında yapılacak olan sisteme sızma girişiminde kullanılabilecek kod betikleri) araması yapılır. İlk etapta bu exploitler hemen bulunamayabilir biz de senaryomuz da exploit bulamayıp diğer yöntemlere geçeceğiz.
Tüm eklentileri taradık ve temayı inceledik herhangi bir zafiyet türüne rastlamadık. Bu durumda sunucuda yer alan diğer internet adreslerini kontrol edip onlar üzerinden yola çıkacağız.
SUNUCUDA YER ALAN İNTERNET SİTELERİNE SIZMAK
Sunucuda bizimle beraber aynı ip adresini kullanan 20 internet sitesi olsun ve bu internet sitelerini de yine aynı şekilde inceleyelim. Karşılaştığımız bazı internet sitelerinde yazılım üzerinden güvenlik duvarlarının olması mümkündür yada çevrim içi olarak sunulan hizmetlerden faydalanmaları muhtemeldir. Bu durumda ele aldığımız sunucunun ip adresi kontrol edilir ve yine yardımcı uygulamalar üzerinden tarama işlemi yapılır. Yapılan tarama sonucunda bulanan güvenlik zafiyetleri not edilir ve uygulanmaya başlamak üzere hazırlık yapılır, bu hazırlık aşaması elde edilen verilerin analizi ve kullanılacak uygulamalardır. Sunucuda yer alan internet sitesinde var olan zafiyetler kontrol edilip giriş yapılıp yapılamayacağı tespit edilir, bu süreçte biz yine senaryomuzda giriş yapılamadı deyip ip tarama kısmına geçeceğiz.
İP ADRESİNİ TARAMA VE PORT DİNLEME İŞLEMİ
Sunucunun var olan dışarıya açık ip adresi üzerinden tarama yapılarak bu taramalar üzerinden kullanılan portları keşfedeceğiz. Yazımız da en dikkat çeken portları sıralayacağız, siz internet üzerinden diğer portları araştırabilirsiniz.
21 Portu : FTP - Dosya Aktarım Protokolünün kısaltmasıdır. Bu protokol sayesinde, yerel bilgisayarınız ile hosting paketinizdeki depolama alanı arasında verileri aktarmak mümkündür.
25 Portu : SMTP - Kısaltması, internet üzerinden e-posta akışı arkasındaki prosedür olan Simple Mail Transfer Protocol (Basit Posta Aktarım Protokolü) anlamına gelir.
80 Portu : HTTP – Genel olarak sunucunun çevrim içi olması için kullanılan port adresidir ve hemen hemen bir çok sunucuda bu port açıktır. Sunucunun internette çevrim içi olması için bu port aktif edilir ve tüm veriler bu port üzerinden kullanıcıya yansıtılır.
110 Portu : POP3 - İnternet erişiminde kullanılan protokollerden biri olan POP3 protokolünün görevi, epostaları görüntüleyebilmek ve bunun için de epostanın size yollandığı bilgisayardan, onun indirilmesini sağlamaktır. Yani bu sistem eğer olmasaydı epostalarımızı sağlıklı bir şekilde indirip, görüntülememiz bir hayli zor olacaktı.
143 Portu : İMAP - Internet Message Access Protocol'un (İnternet Mesaj Erişim Protokolü) kısaltmasıdır. IMAP size eposta iletilerinizi doğrudan eposta sunucusu üzerinde yönetme olanağı sunar.
443 Portu : HTTPS - (Secure Hyper Text Transfer Protocol): Kısaca güvenli metin aktarma iletişim protokolü olarak tanımlayabiliriz. Klasik HTTP protokolüne SSL (Güvenli Soket Katmanı) protokolü eklenmesi ile oluşur. Yani, web sitelerinin metinlerle kurduğu iletişimin şifrelenmesi demektir.
3306 Portu : MySQL - MySQL güçlü ve çok hızlı bir veritabanı sunucusudur. Birçok programlama dilini destekler ve birden fazla kullanıcı ile birlikte kullanılabilir. Sunucuda kurulu olan bu sistem 3306 portu üzerinden işlem yapmaktadır.
Genel olarak bir sunucuda ön planda olan aktif portlar bu şekildedir. Yaptığımız tarama sonucunda gözümüze çarpan ve bizi tetikleyen bir port ile karşılaşırsak ilk yapacağımız şey o portu sunucu ip adresi ile beraber ziyaret etmek olacaktır. Ziyaret ettiğimiz adres veri depolama için kullanılan bir uygulama olabilir ve bu uygulama erişime açık olabilir. Genellikle büyük şirketler bu portları açık tutarlar ve personeller arasında kullanımı olduğu için basit bir şifre ile güvenliğini sağlarlar. Elde ettiğimiz veriler ile giriş ekranına Brute Force (deneme yanılma yöntemi) kullanan yardımcı uygulamalar ile test girişimimiz olabilir. Yaptığımız girişimler sonucu hedef internet sitesinde bazı güvenlik zafiyetlerini tespit ettik ve bazı portları dinledik. Sahip olduğumuz veriler ile hedef internet sitesine henüz tamamen sızma işlemini gerçekleştirememiş olsak da mevcut bilgiler ile bu aşamaya doğru ilerlemekteyiz.
Senaryomuzda yer alan girişimlerin tamamen olumsuz olmasına karşın aşağıda yer alan bilgiler ile durumu toparlayalım.
HEDEF İNTERNET SİTESİNE SIZMA İŞLEMİ
Hedef internet sitesinde bulunan SQL zafiyeti ile manuel olarak SQL komutları sayesinde adres satırından yazılım kullanıcısının bilgilerine ulaşmamız mümkün, bu bilgiler yönetici ve yönetici şifresidir. En çok tespit edilen zafiyet türlerinden biri olmakla beraber internet sitesinin dosyalarına bu zafiyet sayesinde ulaşmanız mümkündür. İnternet sitemizde XSS (Cross Site Scripting) açığının tespit edildiğini varsayalım. HTML kodlarının arasına istemci tabanlı kod girilmesiyle kullanıcının tarayıcısında istenen istemci tabanlı kodun çalıştırılabilmesi olarak tanımlanır. Günümüzde bu zafiyet sadece ekrana hata mesajı yazdırmak için kullanılır ama oldukça büyük bir riske sahip olan zafiyettir. Günümüzde en çok bilindik zafiyetler bunlardır ve bu zafiyetler üzerine yoğunlaşarak internet sitesine sızma işlemi gerçekleştirilebilir. Eklentiler de yer alan güvenlik zafiyeti sayesinde bulunan exploitler kullandığımız bilgisayarlar üzerinden çalıştırılıp hedef internet adresine sızma işlemi gerçekleştirilebilir. Bu exploitler genellikle internet ortamında bulunabilir ve birçoğu ücretsiz olarak sunulmaktadır. Kullandığımız tema içeriğinde kullanılan eklentiler sayesinde hedef internet sitesine dosya yüklememiz mümkün, yüklenen dosya genellikle sistemi ele geçirmek için tasarlanan bir içeriğe sahiptir ve internet ortamında buna Shell denilmektedir. Shellerin içeriğinde çoğunlukla anti virüs yazılımlarının dikkatini çeken kodlar bulunur ve birçok anti virüs programı bu kodları virüs olarak algılar.
Port dinleyerek bulduğumuz web uygulama sayesinde deneme yanılma yöntemini kullanabilir ve sisteme giriş yapabiliriz. Giriş yaptıktan sonra sistemde yer alan verileri silebilir veya Shell yükleyerek sistemi ele geçirebiliriz.
Bu girişimlerin haricinde neler yapılabilir ve hangi aşamaları izlemeliyiz konusunu bir sonraki yazımızda sizlere aktarıp senaryomuz üzerinden devam edeceğiz. Temel Siber Güvenlik Kavramı konusunun ilk etabı buraya kadar arkadaşlar, bir sonraki konumuz da tekrar görüşmek üzere.
Bilgiyle kalın.