Categories: Güvenlik

Web Güvenliğinde Bilinmesi Gerekenler

Yazıma başlamadan önce size bazı gerçeklerden bahsetmek istiyorum. Özellikle gerçekten bilimsel anlamda bilgisayar sektörü ile ilgilenmemişseniz, bu söyleyeceklerim sizin için altın değerinde olacaktır.

1. Kural : Hiçbir Hacker yada Saldırgan, sihirbaz değildir. Bir şekilde var olan bir açık varsa, o saldırgan, bilgi, yetenek, tecrübe ve şans kriterleri ile o açığı bulur ve kullanır. Her saldırganda bu kriterler aynı olmayacağı için bazıları için atak başarısız olur, bazılar için ise atak karşı tafa büyük hasarlar verir.

2. Kural : Tamamiyle güvenli sistem diye birşey yoktur.

3. Kural : Güvenlik işinde garanti yoktur.

Bu kurallar gerçekten altın niteliğinde. Eğer ki bunların doğru olduğunu bilerek düşünürseniz, yaptığınız işlerde ve yapacağınız yorumlarda bir çok şeyi kolayca elde edersiniz.

İnternet ortamı, bir çok bilgisayarın, farklı protokoller üzerinden birbirine bağlandığı, büyük bir paylaşım ağıdır. Bunu söylememin sebebi, satırlarımı doldurmak için değil. Burdaki önemli bir şeyi vurgulamak içindir. Az önceki cümlede “Paylaşım” denilen birşeyden bahsettim. Evet, ineternette bulunan her bilgisayar bir paylaşım içindedir…

Şimdi kısaca internette bir web sitesi için gereken birimlerden bahsedeceğim.

Domian Name: Alan adıdır. Örneğin, www.olympos.org bir Top-Level domaindir. “olympos.org” kısmı domainin adıdır. *.org kısmı domainin hangi level olduğunu belirtir. www.* kısmı ise, domainin gösterdiği Ipdeki www klasör veya hizmetinin yoludur. Domain Name her zaman bir Ipnin yerini alır. Bu IP ise bir bilgisayara ait olan, ve o bilgisayarın internete erişimini sağlayan numaradır. Her internete bağlanan makinaya verilen ve birbirinden farklı olan bu numaraya, internet protokolü numarası denir.

Host: İnterenete sürekli bağlı olan, belli bir ipsi olan ve içinde internette yayınlanacak dosyaları barındıran, multi-user işletim sistemi barındıran ve farklı kullanıcıların, biribirinden bağımsız kullanabilecekleri bir bilgisayardır. Eğer siz kendi bilgisayarınıza bu işletim sistemlerinden birini kurup, makinanızı ayarlarsanız bu makine sizinki bile olabilir.

Bu makinalarda web sunucusu dediğimiz programlar bulunur. Bu programlar sayesinde sizin herkese paylaşıma açacağınız internette yayınlayacağınız sitenin dosyalarını 80 numaralı port üzerinden yada başka bir port üzerinden web tarayıcılarının okuyabileceği şekilde yayınlanabilir.

Bir web sitesi aldığınızda, aldığınız yer size bir bilgisayarda hesap açar. Bu hesap sizin dosyalarını koyabileceğiniz bir hesaptır. Bu hesap sayesinde size izin verilen şeyleri yapabilirsiniz. Örneğin izin verilen miktarda dosyalarınızı koyabilir, yayınlayabilir veya karşı makinede dosyalarınızı çalıştırabilir, irc server gibi şeyler kurabilirsiniz. Yada şu anda geocities gibi yerlerin yaptığı sadece dosyalarınızı depo edip, yayınlanmasını sağlayabilirsiniz. Yani bu web yayımcılığının en temel ve basit işini yapmış olursunuz.

Ancak web yayımcılığı daha karmaşık ve daha çok şekilde yapılabilmekte. Bunları sağlayan şeylerin başında script dediğimiz, web browserlarından yollanan komutlarla karşı makinada çalışan uygulamalardır. Bir script, sınırlandırılmış bir *.exe uygulaması gibi çalışır. Belli bir yorumlayıcısı vardır ve tüm görevleri bu yorumlayıcı yapar. Scriptte ise bu yorumlayıcının anlayacağı komutlar vardır. Bu yüzden yaptığınız uygulamanın sınırları bu yorumlayıcının yeteneklerine bağlıdır. Bilinen en yaygın yorumlayıcılar ASP, PHP ve Perl yorumlayıcılarıdır.

Aynı şekilde size verilen bir hesapta, bazı normal *.exe uygulamaları yada ortamına göre sadece uygulama çalıştırabilir, bunlarla oyun serverları, chat serverları kurabilirsiniz. Elbette bu aldığınızın hostun yeteneklerine bağlıdır.

Böylece internete bağlı bir bilgisayarı bazı server uygulamaları sayesinde internette bilgi paylaşabilen bir sistem haline getirip, adına web sunucusu yada host demiş oluyoruz. Bir host içinde yüzlerce kullanıcı ve buna bağlı olarak yüzlerce web sitesi barındırabilir. Bunun böyle olması sağlayan şey ise Domain Name Server dediğimiz sistem ve Multi-User dediğimiz, işletim sistemleridir.

Kısaca bilmeyenler için, bir web sitesi için gereken bir server yazılımı ve internete bağlı bir bilgisayar diyebiliriz. Ancak gerçekte durum daha Complex bir haldedir. Bu complex yerleşim ise bu sistemleri iyi bilen kişiler için bazı avantajlar sağlamakta ve başkasının sahip olduğu sistemlere bile onların istemleri dışında hükmetme şansı vermektedir.

Şimdi kısaca şu anda Türkiye’de Hack adı altında dolaşan, insanların Hack ettim diyerek övündüğü basit ve karmaşık olmayan sistemleri açıklamakta. Bunların başlıcaları şunlardır:

Mass Scannerlar: En yaygın olanı son dönemde budur. Bazı scannerlar, internetteki ipleri yani bilgisayarları tarayarak, onların paylaşım izni olup olmadığını ve ftp gibi protokolllerinde erişim izinlerine Anonymous kullanıcılara izin verip vermediğini kısa zamanda tarayıp bulan scannerlardır. Netbios ve Vulnerability scanner diye bir kaç türleri vardır. Kullanıcının bilgili biri olması gerekmez. Tek yapacağı ip aralığını girip tarama yapmasıdır. Aynı şekilde scriptlerdeki açıkları ve hataları bulmak hazırlanmış scannerlarda vardır. Bunlarla mesela, internette bulunan Alış-Veriş scriptlerinin bilinen açıkları veya Permission ayarları hatalarıyla kredi kartları bilgilerine ulaşım yapılmaktadır. Oldukça kolay ve basit birşeydir. Bir mass scanner çok iyi Up ve Down stream bağlantıya ihtiyaç duyar. DSL ve Tx bağlantılar biçilmiş kaftandır.

Eğer internette gecede 100-200 site hack ettik yada saatte 1000 site hack ettik gibi şeyler görürseniz, bunların Mass toolarla sadece butonlara basılarak yapıldığını rahatlıkla söyleyebilirsiniz. Özellikle bu hack edilen sitelerin bir ortak yanı olmaz. Diğelim bu 1000 siteyi hack etmiş adama 1 site adresi verseniz onu hack edemediğini görebilirsiniz. Çünkü kendi rastgele belli ip aralıklarını tarayarak bu işi yapmıştır, belki hack edilen sitelerin adını kendi bile daha önceden duymamıştır. Diyelimki sadece Amerikan sitelerini hack edicek biri, Amerikan hostlarının bulunduğu ve bulunabileceği, belli Amerikan IP aralıklarını tarama yapar ve içinde açıkların olduğu siteleri bularak işlemi yapar. Böylece saatte bağlantı hızına göre 1000 Amerikan sitesi hack edebilir. Ancak bu sitelerin çoğu uyduruk kişisel siteler olacaktır yada kendi çabasıyla hosting hizmeti vermeye çalışan deneyimsiz insanların siteleri olacaktır.

Başka bir şekilde de saatte yüzlerce site hack etmek mümkündür. Bunun için atak yapan şahıs, içinde yüzlerce hesabın bulunduğun bir Host’un açığını bulup, Root, Admin konumuna yada yetki düzeyi olacak bir konuma erişmiş ise tüm hesapları kitleyebilir yada hesapların indexlerine erişim varsa, hazırlayacağı ufak bir uygulama ile tüm indexleri değiştirebilir. Diyelim ki permission ayarları yapılmamış ve tüm kullanıcılarının Home klasörleri chmod 777 gibi bir izinle hazırlanmış bir hostta, açacağınız yada alacağınız bir hesapla, bir script yazmanız yada hostun işletim sistemine göre bir uygulama yazmanız sonucunda, tüm klasörlerdeki indexleri değiştirip, sistemi hack edilmiş havasına sokabilirsiniz. Bu işi eğer hostta 1000 site varsa, hepsine yapmış ve aynı anda yüzlercesini hack etmiş olursunuz… Bu verdiğim örnek bile en azından yetenek isteyen bir örnektir ancak yukarıda verilen tool örneği herkesin yapabileceği ve hali hazırda tüm hack sitelerinin kullanıcıların gözünü boyamak ve kendilerini tatmin etmek için kullandıkları yöntemdir. Bilgisayar bilimi hakkında bilgisi olmayan kişiler ise bu insanların arkasından gitmeye çalışmakta ve onların ağlarına düşmektedirler. Unutmayın ki bu iş sihirle yapılmıyor. Size mantığı açıklanmamış hiçbir hack girişimini gerçek sanmayın.

Fake Yollarla: Özellikle bedava siteler dağıtan geocities gibi yerlerden sitesi olan kişilerin sitelerini çalmak için kullanılan yöntemdir. Kişinin mail adresine sahte şifre isteyen mailler yollanır yada user’ın hesabında şifreler denenir. Hiç bişey yapamayan lamer siteyi şikayet etmekte bulur çareyi. Eğer User ile bir chat ortamında bağlantısı varsa ona bir Trojan yada Keylogger yollayarak şifreyi almaya çalışır. İnternet kafe gibi ortamlarda user ve oturduğu makineleri takip ederek şifreyi almaya çalışır. Buda çok kullanılan bir yöntem. Her zamanki gibi bilgisayar bilimi ile ilgisi olmayan kişilerin yolu veya karşısındaki user’ı bilgisi az olunca denen yoldur.

Script Açıkları: Bilinen scriptlerin açıklarıyla, sistemdeki bir şifreye ulaşarak yapılan yöntemdir. Örneğin bir forum scriptinin admin şifresini ele geçirip, bu şifreyle sistemin diğer yerlerine ulaşıp, forumun anasayfasını değiştirme, şifre FTP şifresiyle aynı ise siteyi ele geçirme gibi, bilinen ve hala kullanılan yöntemlerdir. Bunlar için bir örneği 2001 yılında yazıp yayınladığım kredi kartlarının çalınması ile ilgili bir yazıdan alıntı yaparak vermek istiyorum bu örnek Permission açıkları ile ilgili bölüm içinde geçerlidir.:

——————————————————————————

“……….İşte Log Kurulumlarından doğan açıklardan çıkan riskler…

Bu yöntemde zor olan tek bir yer var o da CClerin hangi program tarafından alınıp log edildiğini bulmak. Programı bulduktan sonra ise ona bazı parametreler girerek onun log dosyasını bulmak. Zor değil, kolay. Bazı web siteleri bile bu yöntemlerle hack ediliyor. Yapılması gereken şey scripte bazı parametreler girerek istenene ulaşmak.

Şimdi, ilk iş kıytırık ama CC ile alışveriş yapılan bir site bulmak ve bu sitenin CC verilerinin girildiği alana gitmek. Karşınıza CClerin girildiği form alanı gelince kaynağı görüntüleyip, içindeki POST methodunun bulunduğu yere bakın. Diyelim ki şu an zaten çalışan ve aktif olan http://www.xxxx.com/cgi-local/shopper linkini POST verisinin yollanacağı yerde buldunuz. İşte o zaman bu durumda şans dileyip şunları deneyin:

Orda yazan URLyi kopayalaın, eğer URL yerinde “/cgi-local/shopper” yazıyorsa başına sitenin adresini koyun, yani http://www.xxxx.com daha sonra URLyi browserınızın git çubuğuna yapıştırın. Şimdi LOG’u bulmaya çalışcaz, ilk önce bu adrese şu TAGları ekliycez, http://www.xxxx.com/cgi-local/shopper?search=action bu sayede scriptten bir arama yapmasını istiycez. Tabii ki arıycak ama ne? tabii ki ufak bir keyword, arama yapmamızın nedeni, log’u görüntülemek için başka şansımızın olmaması. Çünkü log’u print edecek bir girdi giremiyoruz, bunun için her zaman otomatik print yapan search tagını kullanıyoruz.

Bunun üstüne bir keyword girdisi ve üstüne de aranacak harfleri giriyoruz www.xxxx.com/cgi-local/shopper?search=action&keywords=yeye şu an yeye yazdık ve yeye kelimesini aratmaya başladık ama nerde; Bunun için asıl karışık olan kısmı yapıcaz ve yapılan alışverişlerin nerede LOGlandığını bulucaz. İşte bu durumda devreye zeka giriyor ve denemeye başlıyoruz.
www.xxxx.com/cgi-local/shopper?search=action&keywords=yeye%20&template=sales.log diyoruz. Burdaki %20 boşluk anlamına, template ise aranacak kütüphane anlamına geliyor ve tabii ki sales.log ise aranacak olan döküman. Deniyoruz ve tabii ki olmuyor çünkü sales.log yok. O zaman devam ediyoruz ve oraya sales.log yerine sale.log yazıyoruz deniyoruz, olmazsa sell.log yazıyoruz, olmazsa order.log yazıyoruz ve tatam, oldu İşte bütün log karşınızda, yada şöyle diyim, bütün log değil yanlızca içinde yeye kelimesi olanlar karşınızda… Yukarda anlatılırken kullanılan taglar değişebilir.

Mesela, ?search=actin yerine ?action=search olabilir. yada direkt ?search de olabilir bunu bilmeyeiz bu yüzen deniycez. Mesela keywords yerine keyword de olabilir. Sonuç URL www.xxxx.com/cgi-local/shopper?search=action&keywords=yeye%20&template=order.log

Şu ana kadar anlattığım Shopper.Cgi için olan açıktı. Birde Cart32.exe gibi windows için hazırlanmış olan scriptin açığı var. Onun hack edilmesi daha kolay.Cart32 kullanan bir sitede http://www.michaeljackson.com/cgi-bin/cart32.exe olarak scripti bulduğunuzda, bunu http://www.michaeljackson.com/cgi-bin/cart32/herhangibisi-ORDERS.txt yada OUTPUT.txt olarak girerek CClere ulaşabilirsiniz. Tabii dediğim ORDERS başka bişi de olabilir ama genelde orders dır.

Ayrıca Cart32 de CC dışında:

Admin Şifresi için-> http://www.michaeljackson.com/cgi-bin/(Cart32/)cart32.ini

Müşteri Şifreleri için-> http://www.michaeljackson.com/cgi-bin/cart32/cart32clientlist

Bilgisyar Klasörünü görüntülemek için->
http://www.michaeljackson.com/cgi-bin/cart32/error

Unutmayın, michaeljackson.com yerine Vulnerable olan scriptin bulunduğu site adresi yazılacaktır. Pathler değişebilir ama v4.00 a kadar olan tüm scriptlerdeki açık aynı yöntem ve komutlarla sabit kalır.”

——————————————————————————

Kişiyi Kandırma: Yöntemlerin en ilginci budur J Karşınızdaki kişiyi, bir şekilde kandırıp, ondan bir mail şifresi yada buna benzer bir şey (gizli soru cevabı) alınarak şifreye ulaşma yoludur. Tavsiye edilmez….

Brute Ve Dict. Force: Bir dosya içine yazılmış şifrelerin bir programla denenmesi işlemine Dictionary Attack, var olabilecek tüm şifre kombinasyonlarının denenmesi olayına Brute Force Attack denir. Bu iki yöntem çok uzun sürecek yöntemlerdir. Eğer ki bekleyecek bir kaç yüz yılınız varsa sonuç alabilirsiniz J Ama hiç belli olmaz, kısa zamanda da sonuç alınabilir, hiç sonuçta alınmayabilir.

Şimdi bir Dictionary Attack için şifre hazırlamak isteyenlere 2001 yılında yazmış olduğum şifre kırma mantığı ile ilgili yazımdan bir alıntıyı koymak istiyorum.

———————————————————————————————-

“… İşte bu deneyeceğiniz şifreleri hazırlamada yardım edecek bir kaç şey anlatmak istiyorum. Bunları şu güne kadar yaşadığım olaylardan esinlenerek yazıyorum.

Şimdi diyelim ki X (12-03-1984) yaşında olan Ali adında birinin Hotmailini kıracağız. Bu adamı az buçuk tanıyoruz. Mesela aynı okulda aynı sınıftasınız, ne kadar bu işlerden çaktığınıda biliyorsunuz. O zaman başalyalım. Bu adamında soyadı Veli olsun yani Ali Veli. Cep telefonuda 0 535 543 21 09 olsun.

Bu adam en basitinden şifresini bir 1984 koymak ister sonra olamdı der 19841984 koymak ister o da olmadı 12031984 koymak ister. Bunlarla doğum tarihine göre kombinasyonlar yapabiliriz. Daha çok seçenek var. En çok 19841984 tutar. Bu adamın şifresi 05355432109 olabilir. Yada 5432109 olabilir.

Şifre VeliAli olabilir AliVeli olabilir, babasının adı Ahmet olsun, AhmetVeli olabilir. VeliAhmet olabilir. AlVel olabilir.Aliv84 olabilir. yada Galatasaraylı olsun benim gibi, o zaman GS84 olabilir. aliGS84 olabilir. AGS84 olabilir. Yada ev telefonuda olabilir.

Diyelim ki gizli sorusunu bulucaz. Soru yanlızca “ALIM” diye bir kelime. O zaman onun cevabı yukardakinin aynısı yani “ALIM” olabilir.

Yada şifre yedi tane 7 , üç tane 3 de olabilir. 54321 olabileceği gibi 123456789 da olabilir. 0000 da olabilir 9876543210 da olabilir.

Oturduğu apartman, şehir, sokak isimleride kullanılır. Annesinin kızlık soyadı. Yada okul numarası. Sonuçta kişi unutmamak için herkesin bildiği ve kullanılan bazı numaralardan ve isimlerden bir kombinasyon yapmak isteycektir. Bizim burda yapmamaız gereken burda bu kişiye göre yapılabilecek kombinasyonları tahmin edip bir sözlük hazırlayarak. Dict. attack yapmak olacaktır. Baya uzun süren bir iş olabilir ama bu tarz şifreler kullanan biriyse kesin düşer zokaya.

Mesela bazı klavye oyunları vardır. Q klavyeler QWERTY harfleriyle başlar, bunlar rahatlıkla şifre olabilir. Yada QAZWSXEDC harfleride olabilir. Bakın bakalım bu harfler klavyede nasıl dizilmiş?

Yada rakamlardan 98745632210 olabilir. Bu sizin düşünce kabiliyetinize bağlı daha çok üretebilirsiniz.

Bu tarz klavye oyunlarıyla hazırlanmış, ayrıca kişiye özel olarakta hazırlanmış bir sözlüğün; sanıyorum ki başakalarının şifrelerini bulmakta büyük yararı olur, ki oluyor zaten.
Bazen şahıslar en sevdikleri hayvanı, eşyayı, şarkıcıyı, futbolcuyu falanda yazarlar.
Demek ki şahsi olan biligilere ve klavye oyunlarına dikkat etmemiz gerekiyormuş. Önemli olan kişi için kolay hatırlanabilecek bir şey yazmak. Herkes şifrelerini bu mantıkla bulur. Eminimki bu yazıyı okuyanlardan, yani sizlerden birileri de burda kendi şifresinin formülünüde görmüştür. Dedim ya herkes bu tarz şeyler kullanıyor. Ama bilmiyor ki bu yöntemleri bazıları zaten biliyor. İnsan mantığı işte, her yerde aynı…”

———————————————————————————————-

Bilgisayar Bilimiyle uğraşan yada bu işlerden daha çok anlayanların kullandılkları yöntemler:

Bu kişiler yukardaki yöntemleri kullanabilir ama yukardaki bilgileri kullanabilen kişiler bu yöntemleri kullanamaz…

Enjeksiyon Yöntemleri: Bilinen scriptler veya bilinmeyen scriptler içindeki açık ve hataları kullanarak, bir database’e kod girme yada benzeri bir kodun çalışmasını sağlamaktır. Örnek vermem gerekirse, 2003 mayıs ayında, bir siteyi bu yöntemle hack etmiştim. Site bir arama motoru koymuştu. Arama motorunda yazdığınız kelime en son arananlar diye bir liste çıkıyordu ve orda da ana sayfada gözüküyordu. Ancak aramaya girilen kelime “, , /, , içerse bile bu içerilen HTML koduna aynen yazılıyordu. Yani Special Chars dediğimiz bu karakterler doğal halleriye yazılıyor &NbSp; gibi özel HTML dili ile yazılmıyordu. Bende arama kısmına ufak bir Java Script yönlendirme kodu girdim ve anasayfayı spymastersnake.org’a yönlendirdim. Böylece o siteye giren kişi 1 saniye sonra direkt bizim siteye yönlenmiş oluyordu.
Bu örnekte olduğu gibi, bazı forum scriptlerinin kullandığı DataBase’lere bazı kodlama hatalarından yararlanarak, değerler girilebiliyor. Bunların en ünlülerinden birisi, 2002 yılında bulunan Snitz forumları açığıdır.

Permission Açıkları: Gerek HTTP gerek FTP üzerinden olsun, bu açıklar her şekilde risk oluşturur. En güvenli sistem, Unix/Linux sistemidir. Bildiğiniz üzere Multi-User işletim sistemlerinde, bir dosyaya sizden başka kimin ulaşıp, ulaşamayacağını ayarlayabileceğiniz, Kernel tarafından yönetilen bir Permission Tablosu vardır. Linux ile bir örnekle açıklayayım:
Bir Linux makinada benim Home klasörüm “gokhan” olsun ve yolum aşağıdaki gibi olsun:

İçinde de MichaelJackson.mp3 diye bir dosya olsun.

“ /etc/home/gokhan/spymastersnake/MichaelJackson.mp3”

Burdaki “etc” klasörü herkesin okumasına açık, ancak yazma işlemlerine kapalı bir klasördür. Ben klasörün içeriğini görebilirim ama içine dosya koyamam. Diyelimki “etc” altında BeatIt.mp3 isimli bir dosya olsun. Klasörün herkese açık okunabilir READ ayarı açık oldukça bu dosyayı alabilirim. Eğerki Herkese açık EXECUTE ayarı açıksa ben bu dosyayı Shell den komut girerek bir mp3 playerla açabilirim. Eğerki Dosyanın READ ayarı herkese kapalı ise ben sadece bu dosyayı okuyamam. Aynı şekilde dosyanın READ ayarı açık olursa fakat klasörün READ ayarı kapalı olursa “etc” klasörünün içi boş görünsede dosyanın direk yolu yani “/etc/BeatIt.mp3” girilirse ben bu dosyayı okuyabilirim. İşte burda anlattığım klasör ve dosya Permission ayarlarında bir kullanıcı bir klaörün READ ayarını kaldırarak o klasörün içindeki bir dosyanın erişime kapalı olduğu sanmaktadır. Halbuki burda erişime kapalı olan klasörün içeriğidir. Yani TOC dediğimiz Table Of Contets öğesidir. Ki bu öğe yine KERNEL tarafından düzenlenir. Elbette bu anlattıklarım Web serverları üzerinden yaptığınız istemler için değil, makinada sahip olduğunuz shell ile yada FTP ile yapabileceğiniz şeyler.

“gokhan” klasörü burda sadece benim grubuma yada bir değişle sadece bana açık olan kısımdır. Öyleki sadece yazma yetkisi Group ve Admin elindedir. Eğerki biri bu ayarı herkesin yazıp okuabileceği moda getirirse, bu “gokhan” klasörü halka mal olmuş umumi bir klasör olur J Ve sonuçta altında bulunan tüm dizinler riske girer. Bu tarz Permission hataları ile hacklenen yada veri kaçırılan sitelerin sayısı saymakla bitmez. Şu an hala Kredi Kartları çalınabiliyorsa bunun nedeni bu ayarların yapılamamasıdır.

Bir klasöre uyguladığınız izin ayarı, sadece o klasör’ün TOC’i içindir. İçindeki bir dosya bundan etkilenmez. Fakat dosyanın EXECUTE edilebilmesi gibi klasörün durumununda sorulduğu zamanlarda bu önem taşır. Bir dosyanın edit edilmesi demek, o dosyanın silinip yerine bir yenisini yazmaktan farksızdır, bu yüzden Write izni açık olmayan bir klasördeki dosyayı editleyemezsiniz yada klasöre yeni dosya koyamazsınız. Permission ayarlarını bilmeyen yada detaylı bir webmaster için son her zaman 1 adım yakındadır. Nitekim bu ayarları bilmeden “Forum Kuracam” diye ortalığa çıkan ve her ne hikmetse her önüne gelenin forum kurduğu bir ülkede, bu ayarlardan çıkan açıklar önem taşımaktadır.

Eğer bir yerden host almışsanız, o makinada bir hesabınız var demektir ve komut çalıştırabilirsiniz demektir. Bunu yapmak için scriptler birebirdir. Eğer ki SSH yetkiniz varsa bunu SSH Shelli üzerinden yada Telnet varsa onun üzerinden de yapabilirsiniz. Bunu en güzel örneği bir scriptle komut çalıştırmak için PHPde şudur..

PHP
——————–

——————–

Bir çok bilimsel bilgisi eksik kişi, bu olayı ASP için düşünerek, bunun bir açık olduğunu sanmaktadır. Ve adına FSO açığı demektedir. Halbuki bu bir açık değildir. Size verilen bir haktır.

Şimdi size 2001 yılında yazmış olduğum, Web Hack dökümanından bir alıntı ile konuyu açacağım.

———————————————————————————————

“……… Bir baktım ki onlarda bizim formumumuz olan IKONBOARD un aynısını kullanıyor. Neyse baktım xxxxx benim türkçeleştirmediği yerleri de türkçeleştirmiş forumun. Bende benim forumdan ve onun forumdan ona PM attım ve bu dosyaları istedim. Bana vereceğini söyledi, aradan vakit geçti dosyaları alamadım çünkü xxxxx sanıyorum ki evinde değilmiş şehir dışındaymış.

Bende baktım olmuyor bekle bekle, Allah’a şükür bu işlerden anladığım için hemen yapmam gerekeni yaptım ve onun bana yollayacağı dosyaları kendim aldım… nasıl mı?

Ben ikonboard’un dil dosyalarını falan nereye kurduğunu biliyorum. Yani tüm klasörlerin nerede ve hangi isimle olduğunu biliyorum. Çünkü bende ikonboard kullanıyorum. Bende madem öyle dedim, ve forumun dil dosyalarını indirmeye başladım yaptığım şu idi. Mesela hata mesajlarını bulunduran dil dosyasını istiyorsam http://www.xxxxx.com/cgi-bin/ikon3/Languages/en/ErrorWords.pm yazmam yeterli. Dan diye ben bu dosyayı download edebiliyorum.

İşte ben böylece tüm dosyaları download ettim ve gördüm ki onun forum ile benim forum farklı versiyonmuş dosyalar uyuşmadı.

Herneyse ben istediğimi aldım ama iyi bir insan olarak. Peki diyelim ki ben kötü biriyim ve neler yaparım. İlk yapıcağım iş forumun DATABASE dosyasını ele geçirmek olacaktır. Bu sayede ben tüm forumdaki kullanıcılara şifrelere ve maillere ulaşabilirim. Bu kadar basit! Ha bu şifereler HASH edilmiş olacağından siz okuyamazsınız bunları. Bunu CRACK etmeniz gerekir. Tabii ben okurum bunları. Olay basit aklını kullanacaksın.

Kendi bilgisayarımdaki COOKİE dosyasını açarım(programla), Forum adminin ID sini ve HASH edilmiş şifresini o databaseden alırım ve kendi COOKİE dosyama koyarım. Forumun sayfasına girince bir bakarım ki ADMİN olarak forumdayım. Daha sonra admin şifresini değiştiririm. Sonrada sitenin tamamını hack ederim. Bu da basit en önce aldığım şifre ile FTP de bir deneme yaparım. Baktım olmuyor, bu forumların File Managerları var, isteyin dosyayı Admin odasından siliyorsun değişitriyosun falan. Ona girerim ve gerisini siz düşünün artık. Bu iş bu kadar kolay! Bütün bir site bir anda ufak bir hata ile elinizin içine düşebilir….”

———————————————————————————————

Gördüğünüz gibi en ufak hata yada unutkanlık dediğiniz şey bile, bu işi bilen kişilerin eline geçtiği andan bir şeylerin sonu olabilir. Yukarda bahsedilen örnek büyütülerek, aynı host altında bulunan başka sitelerinde zarar görebileceği bir hale sokulabilir! Elbette bu şans gerektiren bir durum olur ama bu tarz olayların yaşanabileceği bir gerçektir.

Host Deface: Bir host gözde abartılacak bir sistem değildir. Hatta çoğu dedicated bir FireWall ile korunmaz bile. Çoğu 3-4 bilgisayardan oluşan amatör düzeyde hostlardır. Sadece bir kaç büyük firma, odalar dolusu büyüklükte Dedicated host makinlarına sahiptir. Ama bu onların açığı olmayacak anlamına gelmez. Açığı buluncak kadar büyük olmasa bile mutlaka saldırılara dayanma sınırları vardır. D.o.S dediğimiz saldırılara karşı bir çoğu kendini bazen yenik halde bulabilir. Hemde var olan FireWalllarıyla beraber. Peki nedir D.o.S?

D.O.S (Denial of Service) dediğimiz ataklar, T1 T3 dediğimiz yüksek bağlantılı makinalar yada basit Win tabanlı ve Dial-up tabanlı makinalar tarafından yapılan ping gönderme aşırı paket yollama ve BandWitdh dediğimiz sınırlamalı veri transferi dediğimiz olayın üstüne çıkarak Rate Limit Exceded gibi server hataları almamızı ISPden kopmanızı ve bağlantımızın crash olmasını sağlayan NUKE de dediğimiz ataklardır. Bu atakları herkes programa ihtiyaç dumadanda yapabilir ama bu iyi bir bağlantı ve Win atağı değilse Unıx gibi sağlam bir sistem gerektirir. WinXP ve 2000 bu ataklar için önlem almış sistemlerdir ve internete hızlı bağlanırlar. Daha çok bilgi için Buaraya Bakın. Kısaca D.o.S bir server’a karşılayabileceğinden fazla istek ve paket yollama durumudur. Bu durumda sunucu programı kilitlenir ve iyi kodlanmamış stabil olmayan bir server programı ise hata verip kapanabilir. Ve o site siz bunu yaparken devre dışı kalır. Düşük bağlantılı bir bilgisayar ile yapılan D.o.S her zaman yüksek bağlantılı makinaları kullanarak olmak zorundadır. Bunun içinde başka bilgisayarlar kullanılır.

D.o.S benzeri başka ataklarda vardır. Bunlarda paket yollama yerine bir URL yada POST metodu için yüzlerce istek üretir. Bunlarda Flood programları denir. Bunların bir link’e tıklanması için hazırlanan versiyonlarına Clicker denir. Bu üç program türünün ve saldırı türününde mantığı aynıdır.

Bir forumun Search bölümüne yapacağınız binlerce istek o forum scriptinin ve hostun size ayrılan CPU bölümünün, istekleri artık daha geç karşılamasına ve bazende database’in bir hata ile çökmesine neden olabilir. Buda veri kaybı demektir. Bir forum scriptini yavaşlatıp hata vermesini sağlamak için, en güzel yöntem arama kısmında aynı anda yüzlerce arama yaptırmaktır. Çünkü arama işlemi database’i en çok yoran ve bol cpu harcayan işlemdir.

Aynı şekilde çoğu kez bir çok Host makinasında, farkında olmadan açık unutulan Control Panel arayüzleri ve benzeri Shell tarzı, Telnet tarzı sunucular olmaktadır. Bu tarz kullanılmayan sunucuların portlarını bulmak ve portlarından bir mesaj alarak hangi programın çalıştığını bulup şifre denemek, açık denemek en mantıklısıdır.

Bir FTP server’ına bağlandığınızda bazen sizin home klasörünüz dışındaki bir klasöre çıkmanıza izin verilir. Ama çıktığınız klasörlerin içini boş görürsünüz. Eğerki bazı Full Pathler bulursanız, bu tarz serverlar içinde diğer kullanıcıların home klasörlerine ulaşabilirsiniz.

Ayrıca bu kısımda incelenecek bir diğer kısım ise Vulnerabilites dediğimiz, korumanın zayıf noktalarını bize veren programlama hatalarıdır. Örneğin, Apache serverlerinda, kodlamadan çıkan bir hata size o server’a saldırma, sızma gibi imkanlar sağlayabilir. Aynı şekilde sürekli yama çıkarılması nedeniyle yamalı gömleğe dönen Windows 2000 de bulunan bir güvenlik açığı, size bir çok kapıyı açacaktır. Bu tarz açıkları, “securityfocus” gibi güvenlik haber sitelerinden takip edebilir, veya kendiniz sistemde denemeler yaparak yeni açıklar bulabilirsiniz.

Benim kendi kendime deneyerek bulduğum açıklar oldu, hiçbirini de program sahiplerine yada güvenlik haber sitelerine iletmedim. Ancak bu işleri yapıp, bu haberleri veren bir çok kişi bulunmakta. Ve çoğuda News yada Mail gruplarına üyedir. Eğer bir açığı herkesten önce öğrenmek istiyorsanız bu yerlere üye olunuz. Yanlış bilgilerle olduğunuz yerde saymak istemiyorsanız, Türkiye’de ki Hack adı altındaki sitelerin Hiçbirini sıkı bir şekilde takip etmeyiniz.

Çünkü bu siteler yanlış bilgi yanında, sürekli kavga, gürültü ve basit bilindik şeyleri söyleyip, güncel güvenlik gelişmelerini barındırmamaktadır. 2004’ün Mart ayı itibariyle baktığım hiçbir Hack sitesi, kendi adıma söylemem gerekirse, onay verilecek düzeyde değildi.

Bu işlerde ilerlemek isteyenlerin ilk işi, o siteleri bırakmak olmalıdır. Haftada 1-2 kez hepsini kolaçan etmek, sizin açınızdan faydalı olacaktır. Geri kalan vakitte ise sürekli ingilizce kaynaklardan yazılar okuyarak ve düşünüp, uygulama yapmalısınız.

Exploitler: İşin hem bilgili hemde bilgisiz kısmına hitap edebilen tek bölümdür. Exploit ingilizce bir kelime olup, anlamı “Sömürme” dir. Burda sömürülen şey, bir host’un size açmış olduğu yetenek ve olanaklardır. Örneğin bir host size Shell uygulamaları çalıştırmanıza izin veriyorsa ve siz bu izinle bir D.O.S programını saldırı yapmak için kullanıyorsanız bu bir Exploittir. Aynı şekilde, o hostun hack edilmesini sağlayacak, Kernel’e zarar verecek bir program açıyorsanız, yada bir MySQL serverına bulduğunuz şifre ile bir bilgi girecek yada bir bilgi alacaksanız ve o sistemi hack etmeye çalışcaksanız buda bir Exploittir. Kısacası, host’un yetenekleri ile, kendisi dahil olmak üzere, bir sistemde istenmeyen bir iş yapacaksanız, bu Exploittir. Bir hosting firmasından host alırken size bir sözleşme imzalatırlar. Bu sözleşmede, bir program çalıştıramıyacağınız yada bir server daha kuramayacağınız gibi şeyler yazar. Yani tüm host sağlayanlar sizin yapabilecklerinizin farkındadır ama çoğunlukla bu sözleşmeleri okumayan sizler onların farkında olmadığını sanırsınız.
Explotiler internette özellikle *.pl uzantılı Perl scriptleri halinde dolanırlar. Esas görevleri içinde kodlanmış olan şeyleri yapıp size bir kapı açmaktır. Bu işleri bilmeyenler bu hazır scriptleri alır ve kullanırlar. Bilen kişiler ise kendileri düşünüp, bu scriptleri yazarlar. Yukarlarda bir yerde verdiğim bir hosttan tüm userların hack edilmesi örneğinde kişinin yazacağı script yada program bir Exploit niteliği taşır. Çünkü tüm userların home klasöründeki indexleri değiştirmektedir. Ancak bu exploitlerin en güzeli Kernel’in işlevini bozmak için yazılanlarıdır. Öyledir ki, bir dönem WinNT için her normal user’a Administrator yetkileri atayan bir exploit bulunmuştu. Bu exploit açıldığı anda sistemi Unstable yapıp makinanın tekrar başlamasını sağlıyordu. Daha sonra ise kernel deki Permission sistemi bozuluyordu. Fakat burda unutulmaması gereken kısım, exploiti harekete geçirecek olan *.exe dosyasını açabilme yetkinizin olması. Ayrıca o *.exe dosyası da Token Proccess olan Privilige ayarlarını yapabilmeli. Aksi halde bir exploiti çalıştırıp Kernel’e zarar vermek kolay değildir.

Domain Hack: Hack etmeye çalıştığınız sitenin domanini elde etmek, bir şekilde onu devre dışı bırakmak en zor olanıdır. Bunun için bir şekilde domainin şifresi, domainin Registrar’ının açığının yakalanmış olması gerekir. Eğerki böyle bir şey yapılabilirse, o site ömür boyu size ait olabilir. Bunun yöntemleri çok fazla değildir ancak sonuç alma ihtimali az olduğu için fazla üzerinde durulması anlamzsızdır. Ancak böyle bir ihtimal ve yöntemin olduğunu bilmeniz size avantaj sağlayacaktır.
Yukarıda anlatılmış olan 10 yöntem grubundan elbette daha çok yöntem var. Ve hepside yetenek-zeka ikilisine dayanmakta. Ancak benim yukarda yazdığım 10 yöntem bunların en yaygınları.

İngilizcesi iyi olmayan bir yada hiç olmayan birinin, bu işleri yapması kısaca imkansızdır. Lütfen bol bol ingilizce çalışın ve dilinizi geliştirin. Hiçbir yöntem veya programı (trojan) aşağılamayın, çok ufakta görünse bir açık, sonuçta açıktır ve gün gelip başınıza bela olabilir.

belgesi-290

Belgeci

Share
Published by
Belgeci

Recent Posts

Kişilik Tipleri

Çeşitli kişilik testleri belli gruptan insanlar  arasındaki benzerlikleri vurgular. Yine de, diğerleriyle olan tüm benzerliklerine…

45 dakika ago

BİOGAZ

İnsanoğlunun çok süratli bir şekilde artan ihtiyaçlarına cevap veren sosyal ve endüstriyel gelişmeler, beraberinde bazı…

13 saat ago

Boşaltım Sistemi

Boşaltım sistemi vücutta homeostazın sağlanmasında çok önemli bir yere sahiptir.Böbrekler, üreterler ve mesaneden oluşan boşaltım…

1 gün ago

Atatürk ve Spor

Büyük Atatürk'ün ölümünü takip eden günlerde, o zamanlar yalnız Avrupa'nın değil, dünyanın en güçlü günlük…

2 gün ago

Atatürk’ün Hayatı

 Mustafa Kemal Atatürk 1881 yılında Selânik'te Kocakasım Mahallesi, Islâhhâne Caddesi'ndeki üç katlı pembe evde doğdu.…

2 gün ago

Özdeşlik

Bir şeyin başka bir şey değil de zorunlu olarak kendisi olması; bir şeyin kendisiyle bir…

3 gün ago