Download CEH - Certified Ethical Hacker...
CEH – CHAPTER 1
Ethical Hacking, Etik ve Yasallık Kavramlarına Giriş Bir çok insan hackerları bilgisayarların içine girebilen ve değerli bilgileri bulabilen olağanüstü bir seviye ve bilgiye sahip kişiler olarak bilir. Hacker kelimesi akla bilgisayar ekranına bir kaç satır bir şeyler yazıp bilgisayarda istediğini yapabilen genç bilgisayar ustasını getirir. Iyi bir hacker, bilgisayar sistemlerinin nasıl çalıştığını anlayabilen ve güvenlik açığını bulmak için gerekli araçları kullanmasını bilen kişidir. Ethical Hacking Terminilojisi : Threat : Potansiyel güvenlik ihlaline neden olan bir durum veya ortamdır. Ethical hackerlar, güvenlik analizleri yaparken threat’leri (Tehlikeler) arar ve önceliklendirirler.
ün
Exploit : Bir bug, performans düşmesi veya savunmasız durumundan faydalanan bir yazılımdır. Exploitleri sınıflara ayırmanın iki yöntemi vardır : Remote Exploit : Network üzerinden çalışır ve saldırıya açık olan sisteme daha önce erişim yapılmasına gerek olmadan güvenlik hassasiyetlerini kullanır.
Local Expolit : Saldırıya açık olan sistemde ayrıcalıkları (hakları) artırmak için daha önceden erişimin yapılması gerekir.
Ü
st
n
Vulnerability : Mevcut yazılım hatası, mantıksal dizayn veya sistemde beklenmedik ve istenmeyen kötü veya hasar verici yönergeleri çalıştıran bir olaya neden olan hatanın meydana gelmesidir.
na
Target of Evaluation : Güvenlik analizi veya saldırının hedefi olan sistem, program veya network
Si
Attack : Atak veya saldırı, savunmasız olmaya bağlı olarak sistem tehlikeye düşdüğünde meydana gelir. Bir çok atak, exploitler vasıtasıyla sürekli olarak yapılır. Ethical hackerlar ise bir takım araçları kullanarak bu exploitleri bulur ve saldırıları önler. Güvenlik Unsurları :
Mevcut durum içinde güvenlik için bir çok görüntü mevcut. Sistemdeki kişi, sistemin yönergelere göre davranan sisteme güvenmesi gerekir. Bu rahatlatıcı bir durumdur. Sistemler, kullanıcılar, uygulamalar network ortamında birbiriyle etkileşim içindedir. Tanımlama ve otantikasyon, güvenlik için bir araçtır. Sistem adminleri ve diğer yekililer, sistem kaynaklarına kimlerin nereden ve nezaman hangi amaçlar için eriştiklerini bilmeye ihtiyaçları vardır. Audit (denetleme) veya log dosyaları sorumluluk açısından güvenlik ile ilgili bilgiler sağlayabilir. Tüm kullanıcılar için bütün kaynakların erişilebilir olmaması stratejik bir anlam ifade eder. Önceden tanımlanmış parametreler ile erişim kontrolünün yapılması bu tür güvenlik ihtiyaçlarının elde edilmesine yardımcı olacaktır.
1
CEH – CHAPTER 1
Diğer bir güvenlik durumu ise sistemin operasyonel seviyede tekrar kullanılabilirliğidir. Bir işlem tarafından kullanılan nesne tekrar kullanılamıyabilir veya başka bir process tarafından güvenliğin bozulmasından dolayı değiştirilmiş olabilir. Güvenlik , gizliliğe, güvenilirliğe, bütünlüğe ve erişilebilirliğe dayanır. Gizlilik : Kaynakların veya bilginin, saklanmasıdır. Güvenilirlik : Bilginin kaynağının kimliğinin doğrulanması ve bilgiye güvenilmesidir. Integrity (Bütünlük) : Yetkisiz ve hatalı değişiklikleri engellemek açısından data ve kaynakların güvenilir olmasını ifade eder. Erişebilirlik : Data veya kaynakların devamlı kullanılabilir olmasını ifade eder.
Ü
st
ün
Bir hacker’ın amacı yukarda saydığımız 4 unsurdan bir veya daha fazlası üzerinden network veya sistem içinde savunmasız yerlerden içeri girmektir. Dos ataklarında bir hacker sistemlerin veya networklerin bu unsurlardan erişilebilir olanlarını kullanır. Bununla birlikte Dos atakları bir çok formda meydana gelebilir ve ana amaca göre bandgenişliği veya sistem kaynaklarını kullanıp bitirir. Yoğun bir şekilde mesaj gönderilmesi ise sistemin kapanmasına neden olur ve kullanıcının sistemindeki normal servisler işini yapamaz hale gelir.
n
Password veya veya diğer data türleri network üzerinden düz metin olarak transfer edilirken çalınması ise gizlilik ile ilgili saldırıdır. Bu tür hırsızlıklar sadece serverlar üzerinde sınırlı değildir. Laptoplar, diskler, backup medialarda bu riske açıktır.
Si
na
Bit-flipping atakları ise integrity (Bütünlük) ile ilgili saldırılardır. Çünkü data transfer halindeyken veya bilgisayar üzerinde iken kurcalanabilir. Bu yüzden adminler datanın gerçek kişiden gönderildiğini anlayamazlar. Bit-flipping saldırısı, kriptografik şifreleme üzerinden yapılan saldırıdır. Bu tür saldırılar direk şifre üzerine değildir, saldırı mesaj veya mesaj serisine yapılır. Bu tür atak özellikle mesajın içeriği biliniyorsa tehlikelidir. Örneğin ; “sana 100 YTL borcum var” mesajı “sana 1000 YTL borcum var” şeklinde değiştirilebilir. MAC adres spoofing saldırısı ise authenticity (Gerçeklik, doğruluk) ataklarıdır. Çünkü Mac adres filtrelemesinin aktif olduğu sistemde yetkisiz cihazın network ile bağlantı kurmasına neden olur. Farklı Hacking Teknolojileri: Zaafları tespit etme, çalışan exploitleri ve sistemleri tehlikeye düşüren şeyleri bulmak için bir çok yöntem ve araçlar var. Trojanlar, backdoor’lar, sniffer’lar, rootkitler, buffer overflow’lar ve SQL injection gibi teknolojilerin hepsi bir sistemi veya network’ü hacklemek için kullanılacak yöntemlerdir. Zayıflığa neden olan hacking araçları şu 4 bölgeden biri için çalışır : 2
CEH – CHAPTER 1
İşletim Sistemleri : Bir çok sistem admini işletim sistemlerini default ayarları ile yükler. Patch’leri yüklenmemiş işletim sistemleri, potansiyel olarak saldırıya açık hale gelir.
Uygulamalar : Uygulamayı yazanlar genelde saldırıya açık olup olmıyacağını test etmezler.
Shrink-Wrap kod : Microsoft Word içindeki macrolar gibi uygulamalar, uygulama içind kod çalıştırılabilmesini sağlar.
Hatalı konfigürasyonlar : Kullanımı kolaylaştırmak için sistemlerde yapılan hatalı konfigürasyonlar ve düşük güvenlik ayarları saldırıya ve zaafa neden olur.
st
ün
Saldırılar farklı türde olabilir ve iki kategoride toplayabiliriz. Active veya Passive saldırılar. Akitf saldırılar, saldırı yapılan network veya sistemi değiştirmek için yapılırken, pasif ataklar ise bilgi çalmak için yapılır. Aktif ataklar, erişilebilirliğe, bütünlük ve orjinalliği etkiler. Pasif atak ise gizliliği etkiler.
Si
na
n
Ü
Saldırıları ayrıca inside ve outside olarak da kategoriye ayırabiliriz. Inside ataklar, genelde içerden ve içerdeki biri tarafından yapılan saldırılardır, outside ataklar ise uzaktan bağlantı veya internet üzerinden yapılan saldırılardır.
3
CEH – CHAPTER 1
Ethical Hacking İçindeki Farklı Evreleri Anlamak ve Ethical Hacking’in 5 Evresi :
na
n
Ü
st
ün
Bir Ethical Hacker, kötü niyetli bir hacker’ın gerçekleştirdiği benzer işlemleri takip eder. Bir bilgisayar sistemine girip elde etmek ve bunun devamlılığını sağlamanın adımları, hacker’ın tüm isteğine ve aşırığına rağmen aynıdır. Aşağıdaki şekil, bir hacker’ın bir sistemi ele geçirmek için genel olarak takip ettiği yolu gösterir.
1. Aşama : Pasif ve Aktif Keşif
Si
Pasif keşif, hedeflenen kişi veya şirket ile ilgili bir bilgiye sahip olmadan hedef hakkında bilgi toplamaktır. Pasif keşif, çalışanların binaya kaçta girdiğini veya kaçta çıktığını belirlemek için binayı izlemek kadar basit olabilir. Bununla birlikte genellikle bu işlem internet üzerinden veya google vasıtasıyla bir kişi veya şirket hakkında bilgi toplamak için arama yaparak gerçekleştirilir. Bu process genelde “bilgi toplamak” olarak isimlendirilir. Social enginnering ve dumpster diving (Çöp bidonuna dalmak) pasiv keşif için örneklendirilebilir. Network’ü koklamak (Sniffing) da pasif keşiftir ve size Ip adres aralıkları, isim kuralları, gizli serverlar ve networkler ve diğer sistem üzerindeki servisler hakkında bilgi edinmenizi sağlar. Sniffing, monitoring yapmakla aynı şeydir. Yani hacker, belirli işlemlerin ne zaman gerçekleştiğini ve trafiğin nasıl aktığını görmek için data akışını izler. Aktif keşif, hostları, ip adresleri ve servisleri keşfetmek için network’ü inceler (sondaj yapar). Bu işlem pasif keşife göre tespit edilme riski daha yüksektir ve bazen “rattling the doorknobs” (Kapı gıcırdaması) olarak da isimlendirilir. Aktif keşif bir hacker’a uygun 4
CEH – CHAPTER 1
güvenlik önlemlerinin işaretlerini verir (Ön kapı kilitlimi). Fakat bu işlem yakalanma riskini veya en azından şüpheyi artırır. Hem aktif hemde pasif keşif bir saldırıda kullanılacak olan faydalı bilgilerin toplanmasını sağlar. Örneğin kullanılan web server türünü veya işletim sistemi versiyon numarasının öğrenilmesi. Bu bilgi hacker’ın o işletim sisteminin versiyonunda bulunan zaafları bulmasını ve bu açığın giriş için kullanılmasını sağlar. 2. Aşama : Scanning
st
ün
Scanning, keşif sırasında elde edilen bilgileri almak ve bu bilgiyi network’ü incelemek için kullanma aşamasıdır. Aslında aktif keşif’in mantıksal uzantısıdır. Saldırgan, firewall’lar, router’lar gibi kritik network bilgilerini traceroute gibi bir araçla öğrenmeye çalışırlar. Hacker’ın bu aşama içinde kullanacağı diğer araçlar içinde dialer’lar, port scanner’lar, network mapper, sweeper (Süpürücü) ve zayıflıkları öğrenmek için tarayıcılar bulunur. Port tarayıcılar, hedef makine üzerinde çalışan servisler hakkında bilgi toplamak için dinlemedeki (Listening durumundaki) portları tespit etmek için kullanılır. Hackerlar saldırıyı yapmasına yardımcı olacak bilgisayar isimleri, Ip adresleri, kullanıcı hesapları gibi herhangi bir bilgiyi araştırırlar. Bununla ilgili araçları ilerde göreceğiz.
Ü
3. Aşama : Gainning Access
Si
na
n
Asıl hacking’in gerçekleştiği aşamadır. Potansiyel olarak zarar vermenin olduğu kısımdır. Zayıflıkların, keşif ve scanning aşamasında bulunmasından sonra erişimi gerçekleştirmek için bu bilgileri kullanma zamanıdır. Bu aşamada kullanılan spoofing tekniği ile hackerlar sisteme kendisini başka biri veya başka bir sistem gibi gösterip sistemi sömürmeye çalışırlar. Bu teknik ile sisteme içinde bug olan paketler gönderilir. Packet flooding (Yoğun paket saldırısı) ile de temel servislerin işleyişi durdurulmaya çalışılır. Smurf ataklar ile, network üzerindeki erişilebilir kullanıcılardan cevap alarak bunların ortaya çıkarılması sağlanır ve sonrada geçerli adresleri üzerinden kurbana yoğun saldırılar düzenlenir. Saldırgan sisteme işletim sistemi seviyesinde, uygulama seviyesinde veya network seviyesinde erişim sağlayabilir. Hacker bir exploit kullanmak için, LAN, bilgisayara local erişim, internet veya offline bağlantıyı kullanabilir. Buna örnek olarak , denial of service (DOS), stack-based buffer overflow ve session hijacking verilebilir. Bu aşama hacker dünyasında sistemin sahibi olma olarak da bilinir. 4. Aşama : Maintaining Access Hacker bir kez erişim sağladıktan sonra yapacağı saldırılar ve sömürme için bu erişimi ayakta tutması gerekir. Bazı durumlarda hacker, diğer hackerlar veya içerde çalışan personelin yardımıyla sistemi kuvvetlendirirler. Saldırgan, girişini sağlayan tespit edilemeyen kanıtı yok etmeyi seçebilir veya girişleri tekrarlamak için backdoor veya Trojan kullanabilir. Ayrıca kernel seviyesinde rootkit’ler yükleyip hesap kontrolü sağlayabilir. Bu işlemin nedeni rootkitlerin işletim sistemi seviyesinde giriş sağlamasıdır. 5
CEH – CHAPTER 1
Trojan atları uygulama seviyesinde erişim sağlar ve kullanıcının bunu yüklemesine bağlıdır. Windows sistemlerinde çoğu Trojan bir servis gibi kendi kendine yüklenir ve local sistem gibi çalışır. Hackerlar trojanları kullanarak kullanıcı adlarını, passwordleri, kredi kartı bilgileri gibi sistem de tutulan bilgileri transfer edebilir. Hacker bir kez sisteme sahip olursa bunu sonradan yapacağı saldırılar için kullanır. Bu nedenle owned system (Sahip olunan sistem), zombie sistem olarakda isimlendirilir. 5. Aşama : Covering Tracks (İzleri Kapatmak)
st
ün
Hackerlar bir kez erişimi gerçekleştirip devamlılığınıda sağladıktan sonra güvenlik personeli tarafından tespit edilmemek için izlerini kapatmaları gerekir. Bu sayede sistem sahiplikleri devam edebilir, hacking izleri silinebilir ve yasal bir cezadan uzak durabilirler. Hackerlar tüm log dosyaları , antivirus programlarının tespit etmesi veya intrusion detection system (IDS) alarmları gibi tüm saldırı izlerini silmeye çalışırlar. Bu aşama içindeki aktivitelere örnek olarak , stenografi, tunel protokollerinin kullanılması ve log dosyalarında değişiklikler gösterilebilir. Stenografi, datanın (ses dosyası veya imaj gibi) gizlenme işlemidir. Tunneling ise bir protokolün başka biri tarafından taşınması sayesinde taşıma protokolü üzerinde avantaj sağlar. TCP ve IP header’larındaki extra boşluk datanın gizlenmesini sağlıyacaktır.
Ü
Saldırı Çeşitleri :
n
Bir saldırganın bir sisteme giriş yapabilmesi için bir çok yol vardır. Saldırgan bir zayıflıktan veya sistemdeki savunmasız bir yerden yaralanmalıdır. Saldırı çeşitleri :
na
1. İşletim Sistemi saldırıları
2. Uygulama seviyesinde saldırılar
Si
3. Shrink-Wrap kod saldırıları
4. Misconfiguration (Hatalı konfigürasyon) saldırıları İşletim sistemleri günümüzde karmaşık bir yapıya sahiptir. Üzerlerinde bir çok servis, portlar ve erişim modları çalışır ve onları durdurmak için kapsamlı bir ayar gerektirir. Bir işletim sistemini yüklediğinizde default olarak çok fazla sayıda servis çalışır ve portlar açıktır. İşletim sistemi için çıkarılan hotfixlerin ve patchlerin düzenli olarak takip edilip eklenmesi gerekir. Fakat bu büyük sayıda bilgisayarın olduğu networklerde karmaşıktır. İşletim sisteminin bu açıklarını bilen saldırganlar daha zahmetsiz bir şekilde bu işletim sisteminin savunmasız kısımlarından girip tüm network’ü ele geçirmeye çalışırlar. Uygulama seviyesinde saldırılarda ise yazılım geliştiriciler uygulamayı zamanında yetiştirebilmek için genellikle sıkışık bir takvime sahiptirler. Yazılımlar bir çok fonksiyonellik ve özellikler ile birlikte gelir. Zaman sıkışıklığı yüzünden ürün çıkmadan önce gerekli testler yapılamaz. Ayrıca güvenlikte genelde sonradan düşünülür ve
6
CEH – CHAPTER 1
bunlarda add-on şeklinde kullanıcılara ulaştırılır. Hata denetlemesinin olmaması veya zayıf olması “Buffer Overflow” ataklarına neden olur. Shrink-Wrap code atakları : Bir uygulama yüklendiğinde adminlerin hayatını kolaylaştırmak için çok fazla örnek script ile birlikte gelir. Burdaki sorun bu scriptlerin özelleştirilememesi veya iyi ayarlanmamış olmasıdır. Buda shrink wrap code ataklarına neden olur. Misconfiguration saldırıları : Zayıf güvenliğe sahip olan sistemler hacklenir çünkü düzgün konfigure edilmemişlerdir. Sistemlerin karmaşık olması ve adminlerin gerekli seviye ve kaynaklara sahip olmaması sorun oluşturur. Adminler çalışabilecek en basit konfigürasyon ayarlarını yaparlar. Bir bilgisayarın düzgün konfigure edilme şansını artırmak için gerekli olmayan servisleri ve yazılımları mutlaka kaldırın.
ün
Unutulmaması Gereken Kural : Bir hacker, sisteminize girmeye karar vermiş ise bununla ilgili yapabileceğiniz bir şey yoktur. Yapacağınız tek şey içeri girmesini zorlaştırmaktır.
st
Hacktivism :
na
n
Ü
Hacktivism, bir neden için hack yapmayı ifade eder. Bu hackerlar, sosyal veya politik gündeme sahip olabilir. Niyetleri, kendileri veya amaçları ile ilgili olarak hacking faaliyeti vasıtasyla mesaj göndermektir. Bu hackerların çoğu, web sitelerine zarar vermek, virüsler yaratma, DoS veya kötü şöhret için diğer zarar verici saldırılar gibi aktivitelerde bulunabilir. Hacktivisim daha çok devlet kurumlarına, politik gruplara ve bu gruplar haricindeki diğer gruplar veya tekil olarak iyi veya yanlış gördükleri yerleri hedef olarak seçerler. Farklı Hacker Sınıfları :
Si
Hacker’lar 4 grupta toplanır. Black hats, White hats, Gray hats ve Suicide hackers. Black Hats : Black hat’ler kötü çocuklardır. Cracker olarakda bilinirler. Bu kişiler bilgilerini kötü veya illegal amaçlar için kullanırlar. Bunlar zorla girerler veya başka deyişle uzaktaki makinelerin sistem bütünlüğünü bozarlar. Yetkisiz erişim sayesinde black hat hackerlar çok önemli datayı yokederler, kullanıcı servislerinin çalışmasını engellerler ve hedefleri için basit sorunlara yol açabilirler. White Hats : White hat’ler iyi çocuklardır. Bu çocuklar hacking bilgilerini defansif amaçlar için kullanırlar. Security Analyst olarak da isimlendirilirler. White hat’ler hacking bilgisine sahip, hacker araçlarını kullanabilen ve bu araçları zayıflıkları tespit etmede kullanan güvenlik profesyonelleridir. Ethical hackerlar bu kategoridedir. Gray Hats : Gray hat’ler, duruma göre defansif veya ofansif olarak çalışan hackerlardır. Bu hacker ve cracker arasını bir çizgi ile ayırır. Her ikiside internet üzerinde güçlüdür.
7
CEH – CHAPTER 1
Suicide Hacker : Herhangi bir nedenden dolayı kritik altyapıyı çökerten ve 30 yıl gibi bir süre cezaevinde kalmaya karşı herhangi bir endişesi olmayan kişilerdir. Bunlara ek olarak kendi kendilerini ifşa eden ethical hackerlar vardır ve bu kişiler çoğu kez ilginç bir bakış açısı ile hacker araçlarına ilgi duyarlar. Bunlar sistemdeki güvenlik sorunlarına dikkati çekerler veya kurbanları sistemlerini daha iyi korumaları için eğitirler. Bu hackerlar kurbanlarına iyilik yaparlar.
st
ün
Görünüşteki en fazla tartışmaya yol açan noktadan, bazı insanların kırma ve giriş gibi işler ile kendi kendine hacking yapmalarını ahlaksızca buldukları söylenebilir. Fakat inanış şudurki, ethical (Ahlaki) hacking yıkımdan, zarar vermekten hariç tutulur ve buda onları iyi huylu hacker lar olarak düşünen insanlarında tavırlarını en azından yumuşatmış olur. Bu bakışa göre, system içine girmek için en nazik yöntemlerden biri olabilir ve sonrasında system adminine bunun nasıl gerçekleştiğini ve bu açiğın nasıl kapatılacağını anlatır. Hacker karşılıksız çalışan bir tiger team (Kiralık güvenlik rehberliği yapan bir grup) gibidir. Bu yaklaşım bir çok ethical hacker’a yasal sorun teşkil etmiştir. Ethical hacking ile uğraşırken yasaları ve yasal sorumluluklarınızı bilin.
n
Ü
Bir çok kendini ifşa etmiş olan ethical hackerlar, bir danışman veya rehber gibi güvenlik alanına girmeye çalışır. Bir çok firma önemli verilerinin bulunduğu kapılarının eşiğinde birisinin olmasını ve güvenlik açığınızı belli bir ücret karşılığı kapatıyim teklifine iyi niyetle karşılamaz. Cevap “Bilgi için teşekkürler, sorunu çözdük” gibisinden uzaktır ve polisi çağırıp size tutuklatabilirler.
na
Ethical Hacker’lar ve Cracker’lar. Kim bu Adamlar ?
Si
Bir çok insan hacking işleminin ahlaki olabilirmi diye sorar. Evet olabilir. Ethical hacker’lar, genelde kendi hacking bilgilerini ve bir takım araçları savunma ve koruma amaçlı olarak kullanan güvenlik uzmanları veya networke giriş testleri yapan kişilerdir. Güvenlik uzmanı olan ethical hackerlar kendi networklerini ve system güvenliklerini zayıflıklara karşı test eder ve bunuda bir hackerın network’ü tehlikeye düşürmek için kullandığı araçlar ile gerçekleştirir. Tüm bilgisayar uzmanlarının ethical hacking becerilerini öğrenebilir. Cracker terimi, kendi hacking becerilerini ve araçları, yıkmak veya saldırmak amaçlı olarak kullanan hacker’ı ifade eder. Bunlar arasında virüsleri yaymak, sistemleri ve networkleri tehlikeye atmak veya indirmek bulunur. Not : Cracker’ın diğer adı kötü niyetli hacker’dır. Ethical Hacker Sınıfları : Ethicak hacker’lar, bir firmaya saldırganlardan gelen tehlikeleri değerlendiren bilgi güvenlik uzmanlarıdır. Ethical hackerlar, yüksek seviyede bilgisayar uzmanlığına
8
CEH – CHAPTER 1
sahiptirler ve tamamen güvenilir insanlardır. Ethical hackerlarda kendi içlerinde kategorilere ayrılır. Bunlar : Former Black Hats : Bu grup, defans tarafında bulunan eski crackerların ıslah olmuş halidir. Tecrübe sıkıntıları olmadığı için güvenlik ile ilgili konularda çok daha iyi bilgiye sahiptirler ve doğru bilgiye ulaşabilirler.Yine aynı nedenlerden dolayıda güvenilirlik kazanamazlar.
White Hats : Daha öncede bahsetmiştik. Bu vatandaşlar Black hatlerden daha üstün olduklarını iddia ederler. Bununla birlikte black hatler kadar verimli bilgi toplayabildikleri görülmüştür. Bunlar tekil veya grup şeklinde bağımsız güvenlik danışmanları olarak çalışırlar.
Consulting Firms : 3. Parti güvenlik değerlendirmelerine talebi artırmak için ICT danışmanlık servislerinde görülen bir eğilimdir. Bu firmalar sahip oldukları yetenekler ve sicilleri ile övünürler.
ün
st
Ethical Hacker’lar Ne Yapar :
Ü
Ethical hackerlar farklı nedenlerden dolayı harekete geçerler fakat nedenleri genellikle cracker’lar ile aynıdır. Onlar hedef network veya sistem üzerinde bir saldırganın ne gördüğünü ve bu bilgi ile ne yapacağını belirlemeye çalışırlar. Network veya sistem üzerindeki test işlemine “penetration test” adı verilir.
na
n
Hackerlar sisteme zorla girerler. Yaygın inanışın aksine bunu yapmak, genelde hackerca bir mükemmelik için gizemli bir sıçrama yapmak anlamına gelmez. Bir çok cracker sıradan insanlardır.
Si
Bir çok ethical hacker, kötü niyetli hacker aktivitelerini bu işlemler için görevlendirilmiş güvenlik takımının bir parçası olarak tespit edebilir. Bir ethical hacker işe alındığında firmaya korunacak olan şeyi, kimden korunacağını ve hangi şirket kaynaklarının koruma sağlamak için kullanılacağını sorar. Hacking Etik Olabilirmi :
Hacking ifadesi, çok fazla kötü şöhrete sahip ve yıkıcılık veya istenmeyen faaliyetlerde bulunmayı ifade eder. Herhangi bir yetkisiz girişimin suç olduğu gerçeğinde hacking’in etik olması düşündürücüdür. İsim olarak hacker, bilgisayar sistemlerinin ayrıntıların öğrenmekten hoşlanan ve yapabildiklerini zorlayan kişidir. Fiil olarak hacking, hızlı bir şekilde yeni programlar oluşturmak veya reverse engineering ile mevcut programlar üzerinde kod düzeltilmesi veya daha verimli hale getirilmesidir. Cracker ifadesi, hacking bilgisini saldırı amacı ile kullanan kişidir. 9
CEH – CHAPTER 1
Ethical hacker ifadesi, hacking bilgisini defansif amaç için kullanan güvenlik uzmanlarıdır. Şirketler, sistemlerindeki savunmasız olan kısımları değerlendirme ve güvenlikteki hatalarını düzeltme ihtiyacını farketmeye başlamışlardır. Bu durum ethical hacker’lara ihtiyacı doğurmuştur. Aslında sistemlerin denetimi güvenlik hatalarına karşı kontrol amacıyla güvenlik değerlendirmesini kapsar. Cracker’lar, daha önceden tespit edilemeyen zaaflardan faydalanmaktan gurur duyarlar ve bundan dolayı methodolojik yaklaşım kafi gelmez. Firmalar cracker’lar gibi düşünen ve onun hareketlerini tahmin edebilen, bilgiye zarar vermeden veya tehlikeye düşürmeden işlemler yapabilecek birilerine ihtiyaçları vardır. Bunlarda yeni tür hackerlar olan ‘Ethical Hacker’ larda görülür.
Nasıl Ethical Hacker Olunur :
Ü
st
ün
Ethical hacking, çalışma ortamlarındaki mevcut bilginin zaaflarını bulmak için ethical hacker’lar tarafından yöntembilimsel olarak benimsenmiş geniş bir tarifidir.Ethical hackerlar genelde kötü niyetli saldırganlar ile aynı araçları ve teknikleri kullanır. Fakat ne sisteme zarar verirler nede bilgiyi çalarlar. Onların işi hedefteki güvenliği değerlendirmek ve şirketteki güvenlik açıklarını bulmak ve bunun etkisini azaltmak için uygun tavsiyelerde bulunmaktır.
n
Bir ethical hacker olmak için gerekli olanlar :
Programlama ve networking seviyesinin çok iyi olması
Saldırıya açık kısımları bulmak konusundaki araştırmaları iyi bilmek
Farklı hacking tekniklerinde usta olmak
Katı bir şekilde kanunları takip etmesi gerekir.
Si
na
Bir Ethical Hacker’ın Ustalık Profili : Bilgisayar uzmanı teknik konularda ustadır. Hedef platformlar hakkında tam bir bilgiye sahiptir. Networking , donanım ve yazılım konusunda mükemmmel bilgiye sahiptir. Güvenlik alanında ve ilişkili konularda çok bilgilidir. Bir saldırı sırasında hackerların neler yapabileceğinden bahsetmiştik. Bu durumdaki eylemler bir bilgisayar uzmanında seviye profile gerektirir. Ethical hackerlar, çok güçlü bilgisayar bilgisine ki bunun içinde programlama ve networking de dahil sahip olmaları 10
CEH – CHAPTER 1
gerekir. Ethical hackerlar hedef sistemde kullanılan işletim sistemlerinin yüklenmesi ve bakımı konusunda da usta olmak zorundalar. Ethical hackerların daima güvenlik konusunda ek uzamanlaşmaya ihtiyaçları yoktur. Bununla birlikte farklı sistemlerin kendi güvenliklerini nasıl sağlayacağını bilmeleride bir avantajdır. Bu sistemleri yönetmekteki beceri gerçek zaaflıkların testi ve test gerçekleştikden sonra raporların hazırlanmasıda gereklidir. Bir ethical hacker kötü niyetli olan bir hackerdan herzaman bir adım önde olmalı ve çok büyük bir sabır ve devamlı bir konsantrasyona sahip olmalıdır.Tipik bir değerlendirme günlerce sürebilir, belkide testlerden sonra analizler haftalarca sürebilir. Ethical hacker, sistemde bilmediği bir şeyle karşılaşırsa sistem hakkında her şeyi öğrenmesi zamanını alacaktır ve sistemindeki açık noktayı bulmaya çalışacaktır.
st
ün
Son olarak bilgisayar ve network güvenlik ihtiyaçlarının devamlı değiştiği dünyada ethical hacker kendini devamlı olarak eğitmelidir.Ethical hacker kötü niyetli olan hacker’ın yıkıcı metoduna karşılık yapıcı metodlar kullanmalıdır. Ethical hacker’ın yaptığı işlerin arkasında sistemi açıklardan korumak ve düzeltmek bulunur. Vulnerability Research Nedir ? :
na
n
Ü
Vulnerability Research, bir sisteme saldırıyı sağlayabilecek olan açık noktaları bulmak ve zayflıkların planını yapmaktır. Bir çok web sitesi ve araçlar ethical hackerlara sistemleri veya networklerindeki savunmasız bölümleri içeren listeler ve muhtemel exploitler konusunda yardımcı olur. Sistem adminlerinin temel görevi sistemlerin korumak için yeterli miktarda virüsler, Trojanlar ve exploitlere karşı kendilerini güncel tutmalarıdır. Vulnerability Araştırmasına Neden ihtiyaç var : Networkteki açıkları bulmak ve düzeltmek
Saldırganların yaptıkları ataklara karşı network’ü korumak
Güvenlik sorunlarını engellemeye yardımcı olmak için bilgi sahibi olmak
Virüsler hakkında bilgi toplamak
Networkteki zayıflıkları bulmak ve network saldırısından önce network adminini uyarmak
Network saldırısından nasıl kurtulunacağını bilmek
Si
Vulnerability Research Araçları : US-CERT (United States Computer Emergency Readiness Team), “US-CERT Vulnerabilities Notes” adı altında çeşitli zayıf noktaları içeren bir bilgi yayımlar. Bu liste : 11
CEH – CHAPTER 1
Alarmlara benzer fakat daha az bilgi içerir.
Tüm açıklar için çözümler içermez
Belli kritere uyan zayıflıkları içerir.
Admin için kullanışlı bilgi içerir.
Common Vunerabilities and Exposures (CVE) kataloğu ile karşılaştırılması yapılabilir.
www.securitytracker.com
www.microsoft.com/security
www.securiteam.com
www.packetstormsecurity.com
www.hackerstorm.com
www.hackerwatch.com
Ethical Hacking Nasıl Yapılır :
Ü
st
ün
Vulnerability Araştırma Siteleri :
na
n
Ethical hacking yapısal veya organizasyon nedenlerinden dolayı yürütülür ve etki testleri veya güvenlik denetiminin bir parçası olarak yapılır. Test edilecek olan sistemin veya uygulamanın testinin derinliği ve genişliği client’ın ihtiyacı ve ilgisine bağlı olarak belirlenir. Bir firmadaki güvenlik denetiminin adımları : Client ile konuşarak test boyunca ihtiyaçlarını belirlemek
Client için NDA (Nondisclosure Aggrement) dökümanının hazırlanması ve imzalatılması
Ethical hacking takımının ayarlanması ve testing işlerinin takvime bağlanması
Testin yürütülmesi
Test sonucunun analiz edilip raporunun hazırlanması
Client’a hazırlanan raporun teslim edilmesi
Si
12
CEH – CHAPTER 1
How Do They Go About It (Güvenlik Değerlendirme Planının Hazırlanması) : Güvenlik testleri üç aşamada gerçekleştirilir. Hazırlanma, Uygulama ve Bitirme. Preparation : Bu aşamada ethical hacker’ı davalara karşı koruyacak olan, hem yasal madde içeren hemde açıklanmayan maddeleri içeren resmi bir kontrat imzalanır. Bu kontratta ayrıca, altyapının sınırı çizilir, değerlendirme işlemleri, zaman çizelgesi, testin kapsamı, testin türü (White, black veya grey box) ve emrindeki kaynaklar belirtilir. Conduct : Bu aşamada değerlendirme teknik raporu test edilen potansiyel açıklıklara göre hazırlanır. Conclusion : Değerlendirmenin sonucu firma sponsorları ve düzeltecek olan danışmanlar ile konuşulur ve gerekli ise yapılacak işler belirlenir.
st
ün
Güvenlik değerlendirmesi, şirketin neyi koruyacağı, kime karşı koruyacağı ve maliyeti gibi sorulara dayanır. Bu açıdan bakıldığında güvenlik planı zayıflıklara karşı yapılan testte belirlenen sistemlerin tanımlanmasına göre hazırlnamsı gerekir. Diğer bir konu değerlendirmenin nasıl yapılacağıdır. Ethical hacking’i uygulamanın bir çok yolu vardır.
Ü
Ethical Hack Çeşitleri :
n
Ethical Hackerlar, şirket güvenliğindeki delikleri tespit etmek için, simule edilen saldırı veya etki testi boyunca bir çok yöntem kullanırlar. En fazla kullanılan yöntemlerin bazıları : Remote Network : Remote Network hack yöntemi saldırganın internet üzerinden atak yapmasını simüle eder. Ethical hacker, firewall, proxy veya router gibi network’ün dışarıya karşı olan savunmasında açık bulmaya veya kırmaya çalışır.
Remote Dial-up Network : Bu tür hack yöntemi bir saldırganın şirketin modemlerine karşı yapacağı saldırının simülasyonunu yapar. War dialing yöntemi ile devamlı aramalar gerçekleştirilerek açık sistem bulunmaya çalışılır ve örnek bir saldırı gerçekleştirilir. Burada ana hedefler PBX birimleri, fax makineleri ve merkezi ses mail serverlarıdır.
Local Network : Bu testte Local networkten fiziksel olarak erişime sahip birinin yetkisiz giriş yapabilmesi test edilir. Burada teslim alınacak olan birincil yerler, firewall’lar, içerdeki web serverlar ve server güvenlik konularıdır.
Stolen Equipment : Bir çalışana ait laptop gibi kritik bilgiye sahip olan cihazların çalınması test edilir. Bu bilgiler, kullanıcı adı, şifreler, güvenlik ayarları veya şifreleme türleri gibi bilgiler olabilir.
Si
na
13
CEH – CHAPTER 1
Social Enginnering : Bu saldırı, telefon veya yüz yüze konuşma ile firma çalışanlarının bilgilerinin kontrol edilmesidir. Social enginnering kullanıcı adı, passwordler ve diğer güvenlik bilgilerini elde etmek için kullanılabilir.
Physical Entry : Bu saldırı testinde, firmanın fiziksel yapısını tehlikeye düşürecek denemelerde bulunulur. Fiziksel erişimi gerçekleştiren ethical hacker, virüsler, Trojanlar, rootkitler veya keylogger yerleştirebilir.
Ethical Hacking Test Çeşitleri : Güvenlik veya etki testi yapılacağı zaman ethical hacker sistem üzerinde bir veya daha fazla test çeşidi uygulayabilir. Her bir çeşit test saldırganın hedef hakkındaki farklı seviyedeki bilgisini simüle eder. Test çeşitleri : Black box : Bu test, daha önceden testi yapılmayıpda herhangi bir bilgiye sahip olunmayan sistemler ve network altyapısının test edilmesi ve güvenlik değerlendirilmesinin yapıldığı test türüdür. Bir kötü niyetli saldırgan tarafından şirketin dışardaki kısmına yapılan saldırıyı simüle eder.
White box : Network adminin sahip olduğu tüm network altyapısı hakkındaki bilgiler kullanılarak test ve güvenlik değerlendirilmesinin yapılmasıdır.
Grey box : İçerden testin ve güvenlik değerlendirilmesinin yapılmasıdır. Bu test networkte bulunan içerdeki birinin erişim boyutu hesaplanmaya çalışılır.
Ethical Hacking Report :
n
Ü
st
ün
Si
na
Network etki testi veya güvenlik denetiminin sonucu bir ethical hacking raporudur. Bu rapor, hacking aktivitelerinin detaylarını, yapılan testin türünü ve kullanılan hacking yöntemini içerir. Bu sonuçlar daha önceki Conduct Security Evaluation aşaması ile karşılaştırılır. Her türlü saldırıya açık olan kısımlar detaylı olarak tanımlanmış ve karşı önlemler tavsiye edilmiştir. Bu döküman genelde firmaya hard-copy formatında teslim edilir. Ethical hacking raporu gizli tutulmalıdır çünkü şirketin güvenlik riskleri ve saldırıya açık olan yerleri belirtilmiştir. Hack İşinin Yasal Yönünü Anlamak : Bir ethical hacker, bir sistemi yasadışı olarak hacklemenin cezalarını bilmek zorundadır. Bir network’e grime testi veya güvenlik denetimi ile ilgili işlemler hedef firma tarafından gerekli izinlerin olduğu imzalı yasal dökümanlar olmadan yapılmamalıdır. Ethical hacker’lar kendi hacking becerileri ile tedbirli olmaya ve bu becerilerini kötüye kullanmalarının sonuçlarının neye mal olacağını bilmelerine ihityaçları vardır.
14
CEH – CHAPTER 1
Bilgisayar suçları iki geniş kategoride toplanabilir : Bir bilgisayar ile suça olanak tanımak ve bilgisayarın hedef olduğu suçlar. Bilgisayar suçları ile ilgili iki önemli Amerika yasası ilerleyen bölümde açıklanmıştır. Her nekadar CEH ululararası kapsamda olsada, hacking’e karşı Amerika kanunlarını ve cezalarını kendinize alıştırın. Unutmayın, amaç hacker’I kanunların üzerinde tutmaz;hatta bir ethical hacker hakkında kanunlara uymadığı için dava açılabilir. Cyber Security Act of 2002, diğer insanların hayatını düşünmeden tehlikeye atan hackerlar için ömür boyu hapis cezasını garantiler. Taşıma sistemlerin, enerji şirketlerine veya diğer kamu servislerine veya araçlarının bilgisayar networklerine saldırı yaparak, yaşamı tehdit eden kötü niyetli hackerlar bu kanuna dayalı olarak dava açılabilir.
ün
18 U.S.C. § 1029 ve 1030 Numaralı Amerika Yasasını Anlamak:
Si
na
n
Ü
st
U.S Code, Amerika kanunlarını başlıklara gore categorize eder ve tanımlar. Başlık 18 detayları “Crimes and Criminal Procedure.” Section 1029, “Fraud and related activity in connection with access devices,” şunu ifade eder; bir erişim cihazının veya iletişim aletinin taklidini yapmak, satmak veya kullanmak suretiyle sahtekarlık yapmak ve servisleri ve ürünleri bir değer veya 1000 dolar ile elde etmek kanunları çiğnemektir. Section 1029 bilgisayar şifrelerini ve erişim kartları gibi diğer erişim cihazlarını kötü amaçlı olarak kullanılması suretiyle suç işlenmesini belirten bölümdür. Section 1030 “Fraud and related activity in connection with computers,” korunan bilgisayarlara izinsiz girilmesini ve hasar verilmesini yasaklar. Bu kanun, wormları ve virüsleri dağıtmayı ve yetkisiz olarak sistemlere girmeyi suç olarak kabul eder.
15
CEH – CHAPTER 2
Footprinting ve Social Engineering Footprinting, hazırlık niteliğinde, atak öncesi bölümün bir parçasıdır ve hedefin bulunduğu ortam ve mimarisi hakkında bilgi toplamayı ifade eder, genelliklede amaç, saldırılacak ortama zorla girmek için yollar aramaktır. Footprinting , sistemin savunmasız yerlerini açığa çıkarabilir ve hackerların sömürebilecekleri kolay yerleri belirler. Bu yol, hackerlar için bir bilgisayar sistemi veya bu sisteme sahip olan şirketler hakkında bilgi toplamanın en kolay yoludur. Bu hazırlık aşamasının amacı, sistem hakkında olabildiğince fazla bilgi toplamak, uzaktan erişim imkanlarını öğrenmek, portları ve servisleri ve güvenliği ile ilgili özel bilgileri ele geçirmektir. Footprinting Kavramının Tanımı :
Si na
n
Ü
st
ün
Footprinting, bir şirket networkünün ve sistemlerinin bir kopyasını veya haritasını yaratma işidir. Bilgi toplama ayrıca bir şirketin ayak izi olarakta bilinir. Footprinting, hedef sistemi, uygulamaları ve hedefin fiziksel lokasyonunu belirlemek ile başlar. Birkez bu bilgiler ele geçirildiğinde şirket hakkında özel bilgiler normal yoldan elde edilir. Örneğin, bir şirketin web sayfası, hacker’ın bir hedefe ulaşmak için social enginnering yapabilmesini sağlayacak olan bir personel dizini veya çalışanların hayatı ile ilgili bilgiler tutuyor olması gibi. Bir hacker ayrıca google veya yahoo üzerinden arama yaparak çalışanlar hakkında bilgilerede ulaşabilir. Google arama motoru, bilgi toplama işini gerçekleştirebilmek için yaratıcı yöntemler ile kullanılabilir. Google arama motorunu kullanarak bilgiyi elde etmeye Google hacking olarak isimlendirilir. http://groups.google.com adresi Google habergruplarında arama yapmak için kullanılabilir. Aşağıdaki komutlar Google hacking’i gerçekleştirmek için kullanılacak komutları belirtir : Site : Belirli bir web sitesi yada domaini arar. Aranılacak web sitesi (: ) işaretinden sonra belirtilmeli. Filetype: Belirli türde dosyada ve sadece text içinde arama yapar. Arama yapılacak dosya tipi (: ) işareti sonrasında belirtilmelidir.Dosya uzantısından önce nokta olmamalı. Link : Aranılacak terimi bağlantılar içinde arar ve bağlı sayfaları belirtir. Cache : Bir web sayfasının versiyonunu bulur. Web sitesinin URL adresi (: ) işaretinden sonra belirtilmeliidir. Intitle : Aranılacak terimi döküman içinde arar. Inurl : Bir dökümanı URL (Web adres) içinde arar. Aranılacak kelime (: ) içaretinden sonra yazılmalıdır. Bir hacker örnek olarak şu komutu Google arama motorunda kullanabilir :
INURL:["parameter="] with FILETYPE:[ext] and INURL:[scriptname] , bu komut ile belirli tipteki savunmasız web uygulamalarını bulabilir. Veya bir hacker şu arama dizisini kullanarak Novell BorderManager Proxy/Firewall serverları bulabilir: intitle: "BorderManager information alert" Bloglar, habergrupları ve basın, şirketler ve çalışanlar ile ilgili bilgi toplamak için uygun yerlerdir. Şirket iş kayıtları şirketin networkünde kullandığı serverlar veya altyapı cihazları hakkında bilgi sağlayabilir. Elde edilen bilgi içinde, kullanılan internet
16
CEH – CHAPTER 2
teknolojileri, işletim sistemi ve kullanılan donanım, aktif Ip adresleri, mail adresleri ve telefon numaraları ve şirket politikaları ile prosedürleri bulunabilir. Not : Genellikle bir hacker hedef ile iligili bilgi toplamak ve profilini çıkarmak için zamanının %90’ını harcar, atak içinse zamanının %10’u harcar. Bilgi Toplama Yöntemi : Bilgi toplama 7 mantıksal adıma bölünebilir. Footprinting işlemi, bilgiyi ortaya çıkarmak ve network alanını belirlemenin ilk iki adımında gerçekleşir.
Si na
n
Ü
st
ün
Not : Diğer bilgi toplama adımları Chapter 3 içinde bulunmaktadır.
Şekil 1 :Bilgi toplamanın 7 adımı
Bilgi toplamada yaygın olarak kullanılan bazı kaynaklar : - Domain ismi arama - Whois - Nslookup - Sam Spade Bu araçlardan bahsetmeden önce unumayınki açık kaynağa sahip bilgi, hedef, telefon numaraları ve adresler hakkında bilgi bolluğu sağlayabilir. Whois isteklerini gerçekleştirmek, DNS tablolarını aramak ve açık portlar için Ip adreslerini taramak, diğer açık olan kaynaklar footprinting biçimleridir. Bu bilgileri ele geçirmek oldukça kolay ve yasaldır. DNS’in nasıl işlediği ve DNS kayıtlarının özellikleri, bu kitabın konusu dışındadır ve detaylarınıdan bahsedilmiyecektir. Bilgi toplamanın özelliği ile ilişkili en önemli detaylar bu kitabın kapsamındadır. Tüm Ceh adaylarının DNS bilgisine sahip olması ve isim çözümlemenin internet üzerinde nasıl gerçekleştiği bilgisine sahip olması tavsiye edilir.
17
CEH – CHAPTER 2
Sam Spade (www.samspade.org) , Whois, nslookup ve traceroute gibi araçları bulunduran bir sitedir. Web sitesi üzerinden çalıştığı için bu araçlar her türlü işletim sisteminde çalışabilir.
Competitive Intelligence’ın Açıklaması :
Competitive Intelligence, rakip ürünler, pazarlama ve teknolojiler hakkında bilgi toplamak anlamına gelir. Bir çok rekabet ile ilgili yapılan istihbarat, firmayı normal yollardan araştırmaktır ve tehlikesizdir. Bu, ürün karşılaştırması veya rakibin kendi ürünlerini ve servislerini nasıl konumlandırdığını anlamak için satış ve pazarlama taktiklerini öğrenmekte kullanılır. Competitive Intelligence (Rekabet için istihbarat) konusunda bir çok araç bulunur ve hackerlar bu araçları bilgi toplamak için potansiyel birer araç olarak kullanırlar.
ün
DNS Enumeration (DNS Dökümü)’nü Anlamak :
Dns enumeration, tüm DNS serverların yerini ve şirket ile iligili kayıtlarını belirleme
Ü
st
işlemidir. Bir şirket, hedef sistemler ile ilgili kullanıcı adları, bilgisayar isimleri ve IP adresleri gibi bilgiler sağlayan dahili ve harici DNS serverlara sahip olabilir. NSlookup, DNSstuff, the American Registry for Internet Numbers (ARIN) ve Whois DNS enumeration işlemini gerçekleştirmek amacıyla bilgi toplamakda kullanılabilir. Nslookup ve DNSstuff :
Si na
n
Aşina olmanız gereken en güçlü araçtır. Bu araç DNS serverlara kayıt bilgileri için sorgular gönderir. Bu araç, Linux, Unix ve Microsoft işletim sistemleri içinde gömülü olarak bulunur. Ayrıca Sam Spade gibi hacking araçlarıda bu aracı içerir.
Whois üzerinden bilgi toplanıyorsa, nslookup kullanılarak serverların ve bilgisayarların Ip adreslerinide bulabilirsiniz. Whois’den (AUTH1.NS.NYI.NET) yetkili name server bilgisi kullanılarak mail server’ın IP adresi bulunabilir. Kolay kullanılabilir araçlar sayesinde hacking’i daha kolay hale getirmiştir, tabi hangi aracı kullancağınızı biliyorsanız. DNSstuff bu araçlardan biridir. Komut satırından nslookup aracını sıkıcı parametreleri ile kullanmak yerine sadece http://www.dnsstuff adresine erişip online olarak DNS kayıt bilgileri toplanabilir.
18
CEH – CHAPTER 2
ün
Aşağıdaki şekil, dnsstuff.com sitesi kullanılarak http://www.eccouncil.org sitesi üzerinde online olarak DNS kayıt arama örneğini gösterir. Bu arama, http://www.eccouncil.org sitesinin tüm alias kayıtlarını ve Web server’ın IP adresini meydana çıkarır. Siz, tüm name servarların ve ilişkili IP adreslerini de bulabilirsiniz.
st
Şekil 2 : Eccouncil üzerinde DNS kayıt araması.
Ü
Whois ve ARIN Aramaları :
Si na
n
Whois, Unix işletim sistemi tarafından gelitirilmiştir fakat şu anda tüm işletim sistemleri içinde ve aynı zamanda hacking araçlarında ve internet üzerinde bulunmaktadır. Bu araç, web sitelerini ve email adrelerinin kimin tarafından kayıt ettirildiklerinin bulunmasını sağlar. Bir Uniform Resource Locator (URL), örneğin www.microsoft.com adresi Microsoft.com domain ismini ve www alias veya host ismini içerir. The Internet Corparation for Assigned Names and Numbers (ICANN) kurumu, sadece bir şirketin belirli bir domain ismini kullanmasını sağlamak için domain isimlerini kaydeder. Whois aracı, domain kaydını tutan şirket veya tekil kişinin kontak bilgilerini almak için kayıt veritabanını sorgular. Smart Whois, IP adresi, host ismi veya domain, ülke, şehir, network sağlayıcı, administrator ve tekni k destek kontak bilgisi hakkında tüm ulaşılabilir bilgilerin bulunmasını sağlayan bilgi toplama programıdır. Smart Whois programı basit Who is programının grafiksel versiyonudur.
ARIN, statik adreslerin sahibi gibi türden bilgiyide içeren bilgi veritabanıdır. ARIN veritabanı Whois aracı kullanılarak sorgulanabilir. http://www.arin.net/whois gibi. Aşağıdaki şekil, http://www.yahoo.com için ARIN Whois aramasını gösteriyor. Adresler, amail adresleri ve kontak bilgilerinin hepsi Whois aramasının içinde olduğuna dikkat edin. Bu bilgi hackerlar tarafından belli IP adresinden kimin sorumlu olduğunu ve hedef şirketten kimin sorumlu olduğunu bulmak için kullanılabilir veya kötü niyetli bir hacker tarafından şirkete karşı social engineering atakları için kullanılabilir. Bir güvenlik uzmanı olarak ARIN gibi halka açık olarak arama yapılabilen
19
CEH – CHAPTER 2
Ü
st
ün
veritabanlarından bu tür bilgilerin olmamasını sağlamalısınız ve kötü niyetli bir hacker’ın network’e karşı bir saldırı için kullanamıyacağından emin olmalısınız.
Si na
n
Şekil 3 : http://www.yahoo.com için ARIN çıktısı.
Not : Kuzey Amerika dışındaki bölgeler için kendi intenet kayıt kurumlarının olduğunun bilinmesi gerekir. Bunlar arasında RIPE NCC (Avrupa, Orta Doğu ve Orta Asyanın bir kısmı), LACNIC (Latin Amerika ve Karayip) ve APNIC (Asya Pasifik) örnek gösterilebilir. Whois Çıktısını Analiz Etmek : Whois’i çalıştırmanın basit yolu, web sitesine bağlanmak ve Whois aramasını gerçekleştirmektir. Aşağıdaki çktı, www.eccouncil.org sitesinin Whois arama sonucudur.
Not : Kontak isimleri ve server isimleri değiştirilmiştir. Domain ID:D81180127-LROR Domain Name:ECCOUNCIL.ORG Created On:14-Dec-2001 10:13:06 UTC Last Updated On:19-Aug-2004 03:49:53 UTC Expiration Date:14-Dec-2006 10:13:06 UTC
20
CEH – CHAPTER 2
Si na
n
Ü
st
ün
Sponsoring Registrar:Tucows Inc. (R11-LROR) Status:OK Registrant ID:tuTv2ItRZBMNd4lA Registrant Name: John Smith Registrant Organization:International Council of E-Commerce Consultants Registrant Street1:67 Wall Street, 22nd Floor Registrant Street2: Registrant Street3: Registrant City:New York Registrant State/Province:NY Registrant Postal Code:10005-3198 Registrant Country:US Registrant Phone:+1.2127098253 Registrant Phone Ext.: Registrant FAX:+1.2129432300 Registrant FAX Ext.: Registrant Email:
[email protected] Admin ID:tus9DYvpp5mrbLNd Admin Name: Susan Johnson Admin Organization:International Council of E-Commerce Consultants Admin Street1:67 Wall Street, 22nd Floor Admin Street2: Admin Street3: Admin City:New York Admin State/Province:NY Admin Postal Code:10005-3198 Admin Country:US Admin Phone:+1.2127098253 Admin Phone Ext.: Admin FAX:+1.2129432300 Admin FAX Ext.: Admin Email:
[email protected] Tech ID:tuE1cgAfi1VnFkpu Tech Name:Jacob Eckel Tech Organization:International Council of E-Commerce Consultants Tech Street1:67 Wall Street, 22nd Floor Tech Street2: Tech Street3: Tech City:New York Tech State/Province:NY Tech Postal Code:10005-3198 Tech Country:US Tech Phone:+1.2127098253 Tech Phone Ext.: Tech FAX:+1.2129432300 Tech FAX Ext.: Tech Email:
[email protected] Name Server: ns1.xyz.net Name Server: ns2.xyz.net
21
CEH – CHAPTER 2
Kalın olarak yazılmış satırlara dikkat edin. Birincisi hedef şirket veya kişiyi gösteriyor (Aynı zamanda fiziksel adresi, mail adresi, telefon numarası vs.). Bir sonraki, yönetim veya teknik destek sağlayan kişiyi ve bilgilerini gösteriyor. Son iki kalın olarak yazılmış olan bilgi ise domain isim server ‘larını (Name server’lar) gösteriyor. Network’ün Adres Aralığını Bulmak :
ün
Her ethical hacker, hedef sistemin ip adres aralığını ve subnet mask bilgisinin nasıl bulancağını bilmesi gerekir. Ip adresler, hedef sistemin yerini belirlemek, tarama yapmak ve bağlantı kurmak için kullanılır. Ip adreslerini ARIN veya IANA (Internet Assigned Numbers Authority) gibi internet kayıtlarından bulabilirsiniz. Bir ethical hacker ayrıca, hedef sistem veya network’ün coğrafik yerini bulmak isteyebilir. Bu görev hedef IP adrese gönderdiği mesajın izini takip ederek gerçekleştirilebilir.Hedefin yolunu belirlemek için, Traceroute, VisualRoute ve NeoTrace gibi araçlar kullanılabilir. Ayrıca hedef network’ü takip ederken başka önemli bilgilerde ele geçirilir. Örneğin, bilgisayarların içerde kullandıkları IP adresleri, hatta şirketin Internet IP gateway’leri listelenebilir. Bu adresler daha sonra gerçekleştirilecek saldırı ve tarama işlemleri için kullanılır.
st
Farklı DNS Kayıtlarını Tanımak :
Si na
n
Ü
Aşağıdaki liste yaygın DNS kayıt tiplerini ve kullanımlarını listeler : A (Host Kayıt) : Host ismini Ip adresine eşleştirir. SOA (Start of Authority) : Domain bilgisinden sorumlu olan yetkili DNS server’ı gösterir. CNAME (Canonical Name) : A kayıt için ek isimler veya takı sağlar. MX (Mail Exchanger) : Domain için mail server ismini sağlar. SRV (Service Locator) : Dizin servisleri gibi servisleri sağlayan bilgisayarları verir. PTR (Pointer) : Ip adresi host ismine eşleştirir. NS (Name Server) : Domain için yetkili olan diğer name server’ların isimlerini verir. TraceRoute Uygulamasının FootPrinting İçinde Kullanımı : Traceroute bir çok işletim sisteminde bulunan paket takip aracıdır. Yol üzerindeki her bir hop noktasına (router veya gateway) Internet Control Messaging Protocol (ICMP) echo paketlerini, hedefe ulaşana kadar gönderme mantığıyla çalışır. Her bir hop noktasına gönderilen ICMP mesajındaki Time to Live (TTL) değeri bir düşürülerek tekrar geri gönderilir. İlk gönderilen ICMP paketindeki TTL değeri 1’dir. Bu paket yol üzerindeki ilk router’a gelir. Router paketteki TTL değerini 1 eksiltir ve sıfır yapar. TTL değeri sıfır olduğu için paket bir sonraki hop noktasına gönderilmez ve ICMP paketini gönderen kaynağa echo reply mesajı gönderilir. İlk routerımız sağlam ve ayaktadır, kaynak TTL değeri 2 olan bir ICMP paketi daha gönderir. Yine yol üzerindeki ilk router paketi alır ve TTL değerini bir düşürür ve 1 yapar ve yol üzerindeki bir sonraki router’a paketi gönderir. İkinci router’da aynı işlemi gerçekleştirir ve bu şekilde devam eder taki hedefe ulaşılana kadar. Bu işlem hacker’a, yol üzerinde kaç tane router olduğunu öğrenmesini sağlar.
22
CEH – CHAPTER 2
Traceroute’daki bir sorun, bir firewall veya paket filtreleme yapan router ile karşılaşıldığında zaman aşımına uğramasıdır (* işareti ile gösterilir). Bununla beraber bir firewall, içerdeki hostların bulunmasına karşılık traceroute aracını durdurur, bir firewall’ın olduğuna dair ethical hacker’ı uyarır sonrada firewall’ı geçmek için farklı teknikler kullanılabilir.
Not : Bu teknikler sistem hacking konusudur ve 4. Chapter’da görülecektir.
Si na
n
Ü
st
ün
Sam Spade ve bir çok hacking aracı içinde bir traceroute versiyonu bulunur. Windows işletim sistemleri traceroute işlemini gerçekleştirmek için tracert hostname (veya IP adresi) komutunu kullanır. Aşağıdaki şekil www.yahoo.com adresi için traceroute çıktısını gösteriyor. Şekildeki ilk meydana gelen olayın ISP’nin Yahoo web server’ına ulaştırdığını ve server’ın IP adresini 68.142.226.42 olarak meydana çıkardığına dikkat edin. Bu Ip adresini bilmek ethical hacker’a, saldırının tarama aşamasında bu host üzerinde ek taramalar sağlayacaktır.
Şekil 4 : www.yahoo.com adresi için traceroute çıktısı Tracert, hedef network’ün yolu üzerindeki router’ları belirler. Routerlar genellikle fiziksel lokasyonlarına uygun olarak isimlendirilir ve tracert komutu sonucundaki bilgiler bu cihazların yerinin tespit edilmelerini sağlar. NeoTrace, VisualRoute ve VisualLookout, bir GUI veya görsel arayüze sahip paket izleme araçlarıdır. Bunlar paketin izlediği yolu bir harita üzerinde çizer ve görsel olarak routerların ve diğer bağlantı sağlayan cihazların lokasyonlarını görsel olarak gösterir. Bu araçlar traceroute ile benzer şekilde çalışır ve aynı bilgiyi sağlar bununla birlikte sonuçları E-Mail Takibinin görsel olarak sunar.Nasıl Çalıştığını Anlamak :
E-mail takip programları gönderen kişiye, mailin alındığına, okuduğuna, iletildiğine, değişiklik yapıldığına veya mailin silindiğine dair bilgi sağlar. Bir çok mail takip programı, readnotify.com gibi mail adresine domain ismi ekleyerek çalışır. Mail’e alıcının göremiyeceği tek pikselli bir grafik dosyası eklenir. Sonra, mail üzerinde bir işlem gerçekleştirildiğinde bu grafik dosyası server ile bağlantı kurar ve gönderene uyarı verir.
23
CEH – CHAPTER 2
eMailTracking Pro ve MailTracking.com bir ethical hacker’ın mail mesajlarını takip etmek için kullanabileceği araçlardır. Bir mail göndermek, forward etmek, mail’i reply etmek veya mail üzerinde değişiklik yapmak çin bu araçları kullandığınızda orjinal mailin izleri ve yapılan eylemlerin sonuçları loglanır. Gönderen kişi, otomatik yaratılan bir mail vasıtasıyla takip edilen mail ile ilgili tüm eylemler hakkında uyarılır.
Web Örümcekleri Nasıl Çalışır :
ün
Spamcılar ve mail adresleri toplamaktan hoşlananlar haricindekiler Web örümceklerini kullanabilirler. Bir web örümceği, mail adresleri gibi belirli bilgiyi toplamak için web sitelerini tarar. Web örümceği, @ gibi kodlama kullanarak mail adreslerini tespit eder ve bunları listeye ekler. Bu adresler daha sonra veritabanına eklenir ve belkide istenmeyen mailler göndermek için kullanılır. Web örümcekleri internet üzerindeki her türlü bilgiyi elde etmek için kullanılabilir. Bir hacker, bir web örümceği kullanarak bilgi toplama işlemini otomatiğe bağlayabilir. Web sitenizin bu örümcekler tarafından ziyaret edilmesini önlemenin yolu, web sitenizin root’una korumak istediğiniz dizinlerin listesini bulunduran robots.txt dosyasını koymaktır.
st
Social Engineering :
Si na
n
Ü
Social engineering, bir sistem veya network’e girmek için teknik olmayan bir yöntemdir. Bu yöntem, güvenlik mekanizmasını aşmak veya bozmak için kullanılabilecek bilgiyi vermek amaçlı, bir sistemin kullanıcılarını kandırmak şeklinde işler. Social engineering’i iyi anlamak gerekir, çünkü hackerlar bir sisteme saldırı yapmak için insan faktörünü kullanabilir ve bu sayede teknik güvenlik faktörlerini geçebilir. Bu yöntem, bir saldırı öncesi veya saldırı sırasında bilgi toplamak amaçlı kullanılır. Social engineering, insanları kandırmak için nüfuz ve ikna kabiliyetini kullanmak suretiyle bilgi edinmek veya bazı eylemleri gerçekleştirmek için kurbanı kandırma işidir. Bir social engineer, hassas bilgiyi ele geçirmek veya şirketin güvenlik politikalarına karşın bir şeyler yapmalarını istemek amacıyla insanları faka bastırmak için yaygın olarak internet veya telefonu kullanır. Bu yöntemle social engineer’lar, bilgisayarlardaki güvenlik açıklarından yararlanmak yerine insanların doğal eğilimlerini sömürerek kendi kelimelerine inanmalarını sağlar. Genelde kabul edilen nokta şudur ki, kullanıcı güvenlik içindeki zayıf halkadır. Şimdiki örnek Verisign firmasında çalışan Kapil Raina tarafından anlatılan gerçek bir social engineering örneğidir. Bir kaç yıl önce bir sabah, bir grup yabancı bir taşıma firmasına girer ve şirketin tüm network’üne erişirler. Bunu nasıl yaptılar ? Şirketteki farklı çalışanlardan küçük miktarlarda erişimler ile yavaş yavaş yaptılar bu işi. İlk olarak, ana yerlere saldırıyı başlatmadan önce 2 gün boyunca şirket hakkında araştırma yapılmış. Örneğin, insan kaynaklarını arayarak, kilit noktadaki çalışanların isimlerini öğrendiler. Daha sonra ön kapının anahtarını kaybetmiş gibi yaptılar ve biri onları içeri aldı. Daha sonra 3. Kattaki güvenlik bölgesi için kimlik kartlarını kaybetmiş gibi yaptılar, gülümsediler ve buna kanan bir çalışan onlara kapıyı açtı.
24
CEH – CHAPTER 2
Yabancılar, CFO’nun şehir dışında olduğunu biliyordu ve bu sayede odasına girip kilitli olan bilgisayardan finansal verileri aldılar. Şirket çöpünü karıştırdılar ve işe yarar olan tüm dökümanları buldular. Oda sorumlusundan (Kapıcı), aldıklarını koyabilmek ve elde ettikleri tüm verileri dışarı çıkarabilmek için çöp kovası istediler. Yabancılar CFO’nun sesinide çalışmışlardı, bu sayede telefon açabildiler, CFO gibi davranıp telaş içindeymiş gibi, çaresizce network şifresine ihtiyacı olduğunu bildirdiler. Sıradan hacking tekniğini kullanarak üst seviyeden sisteme girdiler. Bundan dolayı, yabancılar diğer hiç bir çalışanın bilmediği CFO için güvenlik denetimi gerçekleştiren network danışmanları idi. CFO tarafından verilmiş herhangi bir özel bilgi yoktu fakat social engineering sayesinde istedikleri tüm erişimi elde ettiler. Social engineering’in en tehlikeli bölümü, saldırılara alabildiğince açık olan VPN’ler, network monitoring programları, firewall’lar ve otantikasyon işlemlerine sahip olan şirketlerdir, çünkü social engineering direk olarak güvenlik tedbirlerine saldırmaz. Bunu yerine bu tedbirleri atlar ve şirketteki insan öğesini hedef alır.
ün
Hile Sanatı :
n
Ü
st
Social engineering, dışardaki biri tarafından hassas bilgiyi elde etme veya uygun olmayan erişim ayrıcalıklarını, uygun olmayan bir şekilde güven ilişkisi kurarak elde etmeyi içerir. Social engineer’ın amacı, birilerini kandırarak değerli bilgiyi elde etme veya bu bilgiye ulaşmaktır. İnsan doğasının özelliklerini av olarak kullanır örneğin, yardım etme isteği, insanlara güvenme eğilimi, sıkıntıya düşmekten korkma gibi. Uyumlu gibi gözüken veya şirketin bir parçası gibi gözükebilen hackerlar, social engineering ataklarında başarılı olur. Uyumlu olabilme yeteneğine yaygın olarak art of manipulation denir.
Si na
Art of Manipulation kullanımına örnek olarak şunu verebiliriz : Bir Computer Security Instute yöneticisinin canlı gösterisi, bir telefon şirketi telefon ile aranmak istendiğinde, telefonun istenen kişiye aktarılması ve help desk’e ulaşıldığında help desklerin saldırıya açık olduğunu gösteriyor. Konuşma şöyle geçiyor : “Bu gece kim sorumlu”,”Oh,Betty sorumlu”, “Betty ile görüştür beni”,[Betty’ye aktarır],”Merhaba Betty, berbat bir gece dimi?” “Hayır, Neden?...Sistemleriniz çökmüş” Betty; “benim sistemlerim çökmedi, gayet güzel çalışıyor”, Bizim eleman;”Sen en iyisi sistem çık”, Betty sistemden çıkar. Bizim eleman;” tekrar sisteme gir”, Betty tekrar sisteme girer. Bizim eleman;”Bir sinyal bile görünmüyor, değişiklik görmüyoruz”. Bizim eleman tekrar sistemden çıkmasını söyler ve Betty denileni yapar.”Betty, senin ID ile ne gibi bir sorun olduğunu anlayabilmek için senin adına sisteme girmem gerekiyo. Bana kullanıcı adın ve şifren lazım”. Böylece ordaki yönetici kullanıcı adını ve şifresini verir. Bir kaç dakika içinde hacker, kendisi için günlerce sürebilecek olan bilgiyi, trafiği yakalayarak ve şifre kırarak elde eder. Social engineering ile bilgiyi elde etmek teknik araçlardan çok daha kolaydır. İnsanlar güvenlik zincirindeki en zayıf halkadır. Başarılı bir savunma, uygun politikalara sahip olma ve bunları çalışanlara anlatmaktır. Social engineering, savunmaya karşı saldırının en sert şeklidir, çünkü şirket kendini donanım veya yazılım ile koruyamaz.
25
CEH – CHAPTER 2
En Yaygın Saldırı Çeşitleri : Social engineering iki çeşide ayrılabilir :
Human based (İnsan temelli): Bu tür social engineering, gerekli bilgiyi alabilmek için yüz yüze etkileşime girilmesidir. Örnek olarak help desk’in aranılıp, şifre istenmesi gibi.
Computer based (Bilgisayar temelli) : Bu tür social engineering ise, bilgisayar yazılımı ile istenilen bilgiyi almaya çalışmaktır.Örnek olarak, bir mail gönderilip bu mail içindeki web sitesi link’ine tıklatarak, onaylamak için şifresini tekrar girmesini istemek. Bu social engineering yöntemine phishing’de denir. İnsan Temelli Social Engineering :
ün
İnsan Temelli social engineering, aşağıdaki gibi geniş bir şekilde kategorilere ayrılabilir :
Ü
st
Bir çalışan veya geçerli bir kullanıcı gibi davranmak : Bu tür social engineering ataklarında hacker, sistem üzerinde geçerli bir kullanıcıymış gibi davranır. Hacker, sorumlu kimse, çalışan veya sözleşmeli biriymiş davranarak sisteme fiziksel olarak erişim sağlar.Bir kez içeri girdiğinde çöp kutularından,masaüstlerinden veya bilgisayar sistemlerinden bilgileri toplar.
Si na
n
Önemli biriymiş gibi davranmak : Bu atak şeklinde hacker, acil olarak sisteme veya dosyalara erişmek isteyen yüksek seviyede yönetici veya idareci gibi davranır. Hacker, tehdit ve gözdağı vererek help deskteki bir çalışan gibi kendinden düşük seviyedeki çalışanın sisteme girmesi için yardımını sağlar.Bir çok çalışanda yetkili görünen kişilere soru sormaktan çekinir. 3.Şahsı Kullanmak : Bu tür yaklaşımda, hacker sistemi kullanmak için yetkili bir kaynaktan izinlere sahipmiş gibi davranır. Bu atak özellikle yetkili kaynağın tatile çıktığı düşünüldüğünde veya doğrulamanın yapılabilmesi için ulaşılamaz olduğunda daha etkili olur. Teknik Desteğin Aranması : Yardım için teknik desteğin aranması klasik bir social engineering yöntemidir. Help desk ve teknik destek personeli insanlara yardım etmeleri yönünde eğitilirler ve buda onları social engineering saldırıları için iyi birer kurban yapmaktadır. Sholder Surfing (Çaktırmadan Bakmak): Bu yöntem, bir kullanıcı sisteme girerken omuz üstünden daha doğrusu çaktırmadan şifreleri toplamaktır. Çöp Karıştırma (Dumpster Diving): Dumpster Diving, bilgilere erişimde parça kağıtlara veya bilgisayar çıktılarına bakmak için çöp kutularını karıştırmak şeklinde gerçekleşir.Hacker, sıklıkla şifreler, dosya isimleri veya bazı önemli bilgilere bu şekilde ulaşabilir. İllegal bilgiye ulaşmanin daha gelişmiş yöntemi reverse social engineering olarak bilinir. Bu teknik kullanılarak, hacker yetkili bir posizyondaki bir karakter yaratır ve
26
CEH – CHAPTER 2
böylece çalışanlar hacker’a bilgiyi verirler. Örneğin, hacker help desk çalışanı gibi davranıp, şifreler gibi bilgileri isteyebilir. Bilgisayar Temelli Social Engineering : Bilgisayar Temelli saldırılar, aşağıdakileri içerebilir : E-Mail aklentileri Sahte Web siteleri Popup pencereleri İçerdeki Kişilerden Saldırılar :
st
ün
Eğer bir hacker, şirketi hacklemek için herhangi başka bir yöntem bulamazsa, diğer en iyi seçenek bir çalışan olarak işe girmek veya saldırıda yardımcı olacak hoşnut olmayan bir çalışan bulmaktır. İçerden yapılan saldırılar güçlü olabilir çünkü çalışanlar fiziksel olarak erişime sahiptir ve serbestçe şirket içinde dolaşabilirler. Örnek olarak, hacker,bir uniforma giyerek teslimatçı biriymiş gibi davranılabilir ve teslimat odasına veya yükleme bölümüne girilebilir. Diğer bir muhtemel içerden kişi olma örneği ise temizleme elemanı olarak davranmaktır. Bu sayede şirket içinde, odalarda rahatça dolaşabilir. Son çare olarak, hacker rüşvet verebilir veya bir çalışanı saldırının bir parçası olması için mecbur edebilir.
Ü
Kimlik Hırsızlığı :
Si na
n
Bir hacker saldırıyı gerçekleştirmek için bir çalışan gibi davranabilir veya çalışanın kimliğini çalabilir. Çöp kutularını karıştırarak veya omuz üstünden çaktırmadan bakarak toplanan bilgi sahte ID’li kimlik kartı yaratılarak şirket içine girilebilir. Binaya girebilen bir kişi yaratmak, kimlik kartı çalmanın tartışılmaz amacıdır. Phishing Saldırıları :
Phishing, genellikle bir banka, kredi kartı firması veya başka bir finansal firmadan gönderilmiş gibi mail gönderilmesi şeklinde yapılır. E-mail içinde maili alan kişinin banka bilgilerini doğrulaması veya şifresini veya PIN numarasını sıfırlaması istenir. Kullanıcı mail içindeki link’e tıklar ve sahte bir web sitesine yönlendirilir. Hacker daha sonra bu bilgileri yakalayabilir ve bir saldırı başlatmak için kullanabilir. Bu saldırılar sıradan insanı avlar ve banka hesaplarına erişimi veya gizli bilgilere erişimi amaçlar. Online Dolandırıcılık : Bazı siteler, ücretsiz teklifler veya başka özel teklifler yaparak kurbanı ayartıp belkide sisteme giriş yaptığı aynı kullanıcı adı ve şifresini girmesini ister. Hacker kullanıcının web sitesinden girdiği geçerli kullanıcı adı ve şifreyi kullanabilir. Mail ekleri, kurbanın sistemine, otomatik olarak çalışan, şifreleri çalan keylogger gibi kötü niyetli kod gönderebilir. Virüsler, worm’lar ve trojanlar mailler içine ustalıkla yerleştirilip kurbanın ekleri açması ikna edilebilir. Mail ekleri bilgisayar temelli social engineering saldırılarında görülür. Güvenli olmayan bir mail ekinin alıcı tarafından açılmasına bir örnek :
27
CEH – CHAPTER 2 Mail server report. Firewall’ımız sizin bilgisayarınızdan worm barındıran bir mail gönderildiğini belirledi. Bugünlerde bir çok bilgisayardan bu olay meydana gelmektedir, çünkü bu yeni bir virüs çeşididir (Network worms). Windows içindeki yeni bir bug’ı kullanan bu virüsler farkında olmadan bilgisayara bulaşmaktadır. Virüs bilgisayara nüfuz ettikden sonra tüm email’leri bulup topladıktan sonra bu adreslere kendini kopyalayıp göndermektedir. Worm’u bertaraf etmek ve bilgisayarınızı eski haline getirmek için lütfen güncellemelerinizi yükleyin .
ün
En iyi dileklerimle, Müşteri Destek Servisi
st
Popup pencereleride ayrıca bilgisayar temelli saldırılarda mail ekleri ile benzer amaçla kullanılır. Pop-up pencereleri özel teklifler veya ücretsiz bir şeyle kullanıcıyı teşvik edip istemeyerek kötü niyetli yazılımın yüklenmesine neden olur.
Ü
URL Şaşırtma :
Si na
n
URL’nin açılımı Uniform Resource Locator’dır ve genellikle web tarayıcısının adres çubuğuna yazılarak bir web sitesine ulaşmak için kullanılır. Terim olarak web sitesi adresidir. URL şaşırtma, URL’yi saklama veya fake web adresini gerçek gibi göstermektir. Örnek olarak ; 204.13.144.2 / Citibank web adresi Citibank’ın gerçek adresi gibi görünebilir fakat aslında gerçek değil. URL şaşırtmaca phishing saldırılarında kullanılır ve bazen online dolandırıcılık, dolandırıcılığı yasal gibi gösterir. Bir web sitesi adresi firmanın gerçek ismi ve logosu gibi görünebilir fakat içerdeki link sahte bir web sitesi veya Ip adresidir. Kullanıcı link’e tıkladığında hacker’ın sitesine yönlendirilir. Adresler, hexadecimal veya decimal yazımlar kullanılarak kötü niyetli linkler olarak gizlenebilir. Örnek olarak ;192.168.10.5 adresi decimal olarak 3232238085 şeklinde gösterilir. Açıklama : 3232238085 Ayn adres hex değer olarak C0A80A05 gibi görünür. Bu dönüştürme 3232238085 sayısını 16’ya bölümler ile gerçekleşir. Açıklama : 3232238085/16 = 202014880.3125 (.3125 * 16 = 5) 202014880/16 = 12625930.0 (.0 * 16 = 0) 12625930/16 = 789120.625 (.625 * 16 = 10 = A) 789120/16 = 49320.0 (.0 * 16 = 0) 49320.0/16 = 3082.5 (.5 * 16 = 8) 3082/16 = 192.625 (.625 * 16 = 10 = A) 192/16 = 12 = C”
28
CEH – CHAPTER 2
Social Engineering’e Karşı Önlemler :
Si na
n
Ü
st
ün
Social Engineering’e karşı nasıl mücadele edileceğini belirlemek her ethical hacker için kritik öneme sahiptir. Bunu yapmak için bir kaç yol var. Dökümantasyon ve güvenlik ilkelerinin uygulanmasını zorlamak ve güvenlik bilinci programları, her bilgi güvenlik programı içinde en kritik bileşenlerdir. İyi politikalar ve prosedürler eğer çalışanlara öğretilmez ve sağlamlaştırılmaz ise verimli olmayacaktır. İlkeler, çalışanlar ile iletişime geçilip önlemleri vurgulanmalı ve yöneticiler tarafından uygulanmalıdır. Güvenlik bilinci (Farkındalığı) eğitimi alındıktan sonra, çalışanlar şirketin güvenlik ilkelerinin destekçisi olacaklardır. Şirket güvenlik ilkesi, hesapların ne zaman nasıl oluşturulacağı ve kaldırılacağını, şifrelerin ne sıklıkla değiştirileceğini, kimin ne tür bilgiye erişebileceğini ve ihlallerin veya ilkelerin nasıl ele alınacağını göstermek zorundadır. Ayrıca deminki görevler için help desk prosedürlerinin aynı zamanda çalışanlara da açıklanmalıdır, örneğin,çalışan kişinin numarası veya başka bilgi isteyerek şifre değişiminin yapılması. Kağıt dökümanlarının yokedilmesi ve güvenlik ilkesine tabi ek bölgelere fiziksel erişimin kısıtlanmasıda tanımlanmalıdır.S on olarak şirket güvenlik politikası, modem kullanımları ve virüs kontrolü gibi teknik bölgeleride tanımlamalıdır. Güçlü güvenlik politikasının avantajlarından biride çalışanların hackerların isteklerine karşılık karar verme sorumluluklarını kaldırmasıdır. Eğer istek politikalara karşı bir istek ise çalışan bu isteği redetmek için bir rehbere sahip olacaktır. Social engineering’e karşı en önemli tedbir çalışanların eğitilmesidir. Tüm çalışanlar önemli bilgilerin nasıl korunacağı konusunda eğitilmek zorundadır.Yönetici takımları güvenlik politikalarını yaratmak ve yönetme işindedir. Bu sayede politikaları tam olarak anlayabilir ve uygulayabilirler. Şirket güvenlik bilinç politikası, tüm yeni çalışanların bir güvenlik programına gitmesini gerektirmelidir. Yıllık olarak açılacak sınıflar ile çalışanların bilgilerinin güncellenmesi ve kuvvetlendirilmesi gerekir. İlginin artırılmasının diğer bir yoluda aylık olarak çıkartılabilecek güvenlik bilinci ile ilgili yazılar içeren gazetedir.
29
CEH – CHAPTER 3
Scanning ve Enumeration Tarama ve döküm işlemi, hacking işleminin ilk aşamasıdır ve hacker’ın hedef sistemi veya networklerin yerlerinin belirlemesini ihtiva eder. Enumeration (Döküm işlemiListeleme), scanning (Tarama) işlemi bir kere tamamlandıktan sonra ara vermeden devam eden bir işlemdir ve bilgisayar isimleri, kullanıcı adları ve paylaşımların belirlenmesinde kullanılır. He iki işlemden birlikte bahsedilecek, çünkü bir çok hacking aracı her ikisinide gerçekleştirir. Scanning (Tarama) :
ün
Tarama sırasında, hacker network ve ayrı ayrı host sistemler ile ilgili bilgiyi toplamaya devam eder. IP adresleri, işletim sistemleri, servisler ve yüklü olan uygulamalar gibi veriler hacker’a hacking yapacağı sistemde ne gibi bir exploit kullanacağı konusunda yardımcı olacaktır. Scanning, ayakta olan ve networkte cevap veren sistemlerin yerini tespit etme işlemidir. Ethical Hacker’lar, hedef sistemin IP adreslerini bulmak için scanning’i kullanır.
st
Port Scanning, Network Scanning ve Vulnerability (Saldırıya Açık Yerlerin) Scanning :
Amacı Açık olan portları ve servisleri belirlemek IP adreslerini belirlemek Bilinen zayıf noktaları belirlemek
na
Scanning Çeşidi Port Scanning Network scanning Vulnerability Scanning
n
Ü
Sistemin aktif ve pasif keşif aşamaları tamamlandıktan sonra, scanning gerçekleştirilir. Scanning, sistemin network’te ve ulaşılabilir olduğunu belirlemek için kulanılır. Scanning araçları, hedef sistemin IP adresleri, işletim sistemleri ve çalışan servisleri ile ilgili bilgiyi toplamakta kullanılır.
Si
Port Scanning : Port taraması, sistem üzerindeki açık ve ulaşılabilir olan TCP/IP portlarının belirlenmesi işlemidir. Port tarama araçları, bir hacker’ın belirlenmiş sistem üzerinde ulaşılabilir servisler hakkında bilgi edinmesini sağlar. Bir makine üzerindeki her servis veya uygulama iyi bilinen (Well-known) port numaraları ile ilişkilidir. Örneğin, bir port tarama aracı 80 numaralı portun açık olduğunu belirlemiş ise bu, sistem üzerinde bir web server’ın olduğunu gösterir. Hacker’lar bu port numaraların bilmek zorundadır.
Not : Windows sistemleri üzerinde well-known port numaraları C:\Windows\system32\ drivers\etc\services dosyası içinde bulunur. Bu dosya gizli dosya olarak tutulur. Dosyayı görebilmek için Explorer üzerinden gizli dosyaları göster seçeneği aktif hale getirilmelidir. Daha sonra bu dosyayı notepad ile açabilirsiniz. CEH sınavında sizin yaygın uygulamaların kullandığı bu port numaralarını bilmeniz beklenir.FTP(21),Telnet (23), HTTP (80), SMTP(25), POP3 (110) ve HTTP (443) için port numaralarını bilmek zorundasınız.
30
CEH – CHAPTER 3
Network Scanning : Network tarama, hem saldırı hemde network güvenlik değerlendirmesi yapmak için, network üzerindeki aktif hostları belirleme işlemidir. Hostlar (Bilgisayarlar, routerlar...) kendi IP adresleri ile belilenir. Network scanning araçları, network üzerindeki cevap veren hostları veya ayakta olan hostları ve bunların IP adreslerini belirleme girişiminde bulunur. Vulnerability Scanning : Vulnerability scan, network üzerindeki bilgisayar sistemlerinin önceden saldırıya açık olan yerlerini belirleme işlemidir. Genel olarak, vulnerability taraması yapan kişi, ilk olarak işletim sistemi ve versiyon numarasını belirler ve ayrıca yüklü olan servis paketlerinin tespitinide yapabilir. Daha sonra işletim sistemindeki zayıf noktaları veya saldırıya açık olan noktaları belirler. Daha sonra yapılacak saldırı boyunca, hacker bu zayıf noktalardan sisteme girebilmek için kullanır.
Ü
CEH Tarama Yöntemini Anlamak :
st
ün
Intrusion Detection System (IDS) veya tecrübeli bir network güvenlik uzmanı uygun araçlar ile aktif port taraması işlemini tespit edebilir. Tarama araçları açık portları ve IP adreslerini bulmak için TCP/IP portlarını araştırır ve bu aramalar bir çok intrusion detection araçları tarafından farkedilir. Network ve vulnerability taramalarıda genelde tespit edilebilir çünkü tarayıcının network üzerinden sistem ile etkileşime geçmesi gerekir.
Si
na
n
Bir CEH olarak Şekil 1’deki tarama yöntemini bilmeniz beklenir. Bu yöntem, bir hacker’ın network’ü taradığı işlem sırasıdır. Bununla hiç bir sistem veya açıklığın gözden kaçırılmadığı ve hacker’ın bir saldırı için gerekli olan bilgiyi topladığı garantiye alınır. Bu yazıda bu tarama yönteminin ilk üç adımından başlayarak farklı bölümlerine bakacağız.
31
na
n
Ü
st
ün
CEH – CHAPTER 3
Şekil 1 : CEH tarama yöntemi
Si
Ping Sweep Tekniklerini Anlamak : CEH tarama yöntemi, network üzerinde ayakta olan sistemi kontrol etmek ile başlar. Bu, sistemin bağlantı isteğine veya araştırmaya cevap vermesi anlamına gelmektedir. En basit bununla beraber gerekli olmayan en kesin yol sistemlerin ayakta olduğunu anlamak için IP adres aralıklarını ping ile taramaktır. Tüm sistemler networkte ayakta olduklarını bildiren ping reply (ICMP Echo Reply)cevabını gönderir. ICMP (Internet Control Message Protocol) taraması networkteki tüm hostlara ICMP echo isteği veya ping göndererek kimin ayakta olduğunu veya ping isteklerine cevap vereceğini belirlemekte kullanılan bir tarama işlemidir. ICMP taramasının faydalarından biri paralel olarak çalışması yani, aynı anda tüm sistemleri taramasıdır, bu nedenle tüm networkte hızlı bir şekilde çalışır. Bir çok hacking aracı, temel olarak network üzerindeki her host’a ICMP isteği gönderen ping-sweep (Kısa zamanda çok sayıda ping atmak) seçeneğine sahiptir.
32
CEH – CHAPTER 3
Bu yöntemde dikkate alınması gereken sorun kişisel firewall yazılımlarının ve network tabanlı yazılımlarının ping ataklarını bloklamasıdır. Diğer bir sorunda bilgisayarın taranmış olmasıdır. Hacking Araçları Pinger, Friendly pinger ve WS_Ping_Pro araçları ICMP sorguları yaratır. Bu araçların CEH sınavı için bilinmesi gerekir.
Ping Sweep’leri Tespit Etme :
st
ün
Nerdeyse tüm IDS veya IPS (intrusion prevention system) sistemleri networkte meydana gelen ping ataklarını tespit edebilir ve sistem uzmanlarını uyarabilir. Bir çok firewall ve proxy serverlar ping cevaplarını bloklar ve bu sayede hacker ping sweep ile sistemlerin ulaşılabilir olduğunu doğru bir şekilde öğrenemez. Aşırı yoğun port taraması eğer sistem bir ping sweep işlemine cevap vermiyorsa kullanılmalıdır. Çünkü ping sweep networkteki hiç bir aktif hosttan geri dönüş sağlıyamaz bu da hiç bir hostun ulaşılamaz olduğu anlamına gelmez. Tespit işlemi için alternatif bir yönteme ihtiyacınız var. Unutmayınki hacking işlemi zaman, sabır ve süreklilik ister. Portları Tarama ve Servisleri Tespit Etme :
Si
na
n
Ü
CEH tarama yöneteminde açık olan portların kontrol edilmesi ikinci adımdır. Port scanning, açık olan portların kontrol edilmesi işlemidir. Port tarama işlemi, host üzerinde hangi portların açık olduğunu bulmak için tek tek portların araştırılması şeklinde yapılır. Port tarama işlemi, ping sweep işlemine göre host hakkında ve sistemdeki saldırıya açık olan noktalar hakkında daha değerli bilgiler elde edilmesini sağlar. Servislerin belirlenmesi CEH tarama yöntemindeki üçüncü adımdır. Port scanning gibi aynı araçlar ile gerçekleştirilir. Açık olan portların tespit edilmesi ile bir hacker genellikle bu portlar ile ilişkili servisleride tespit eder. Port Taramasına Karşı Önlemler : Karşı önlem (Countermeasure), networkünüz üzerindeki hostlarda port taramasını engellemek ve tespit etmek için güvenlik uzmanlarınca kullanılan araç setleri veya işlemlerdir. Aşağıdaki karşı önlemler ile ilgili liste hacker’ın port tarama işlemi boyunca bilgiyi elde etmesini önlemek için uygulanmalıdır : IDS ve firewall’lar gibi uygun güvenlik mimarisi takip edilmeli. Ethical hacker’lar kendi araç setlerini kullanarak yapılan port tarama işlemine karşılık önlem alırlar. Biran önce firewall uygulamasını gerçekleştirip bir port tarama aracının network üzerindek hostları tespit etmesini önlemeli ve bu tür taramayı tespit etmesi gerekir. Firewall, port tarama araçları tarafından yapılan incelemeleri tespit edebilmelidir. Firewall kesinlikle, paket verisini inceleyen ve sadece TCP header değil bunun yanında firewall üzerinden geçmesine izin verilecek trafiğin olup olmadığını belirlemek için kullanılan stateful inspection işlemini gerçekleştirmesi gerekir.
33
CEH – CHAPTER 3
Network IDS’nin, Nmap gibi bazı yaygın olarak kullanılan hacker araçları tarafından kullanılan OS (Operating System) tespit etme yöntemini tanımlaması gerekir. Sadece gerekli olan portlar açık olmalıdır.Diğerleri filtrelenmeli veya kapalı tutulmalıdır. Sistemi kullanan çalışanlar sistemin güvenlik zaafları konusunda eğitilmelidir. Ayrıca uymaları gereken güvenlik politikalarını bilmeleri gerekir.
Nmap Komut Anahtarlarını Anlamak :
Null Scan
Si
SYN stealth scan
Windows scan ACK scan
n
XMAS tree scan
Açıklama Saldıran kişi hedef sisteme tam bir TCP bağlantısı gerçekleştirir. Saldırgan TCP servislerini XMAS-tree scan paketleri ile kontrol eder, bu şekilde isimlendirilir çünkü tüm “light’lar” aktifdir yani FIN,URG ve PSH işaretleri ayarlanmıştır. Buna ayrıca half-open tarama da denir. Hacker bir SYN paketi gönderir ve serverdan SYN ack paketi alır. Bu çaktırmadan yapılır çünkü tam bir TCP bağlantısı yapılmamıştır. Bu firewallar üzerinden modifiye edilmeden ve tespit edilmeden geçebilen gelişmiş taramadır. Null taramada tüm işaretler kapalıdır veya ayarlanmamıştır. Sadece UNIX sistemlerde çalışır. Bu tür tarama ACK taraması ile benzerdir ve sadece açık portları tespit eder. Bu tür tarama firewall kurallarının ayrıntılı haritasını çıkarmak için kullanılır. ACK scan sadece UNIX üzerinde çalışır.
na
Nmap Tarama Çeşidi TCP connect
Ü
st
ün
Nmap, hızlı ve verimli bir şekilde, ping sweep, port tarama, servis belirleme, IP adres tespit etme ve işletim sistemi tespit etme işlemlerini gerçekleştiren ücretsiz açık kaynak programdır. Nmap, açılan tek bir oturumda büyük miktarda bilgisayarları tarama işlemini gerçekleştirebilir. Unix, Windows ve Linux dahil bir çok işletim sistemi tarafından desteklenir. Nmap tarafından belirlenen portların durumları open, filtered veya unfilltered olarak tanımlanır. Open ifadesinin anlamı, hedef makine bu port üzerinden gelen istekleri kabul ediyor. Filtered ifadesinin anlamı, firewall veya network filtrelemesi tarafından port perdeleniyor ve Nmap programının portun açık olup olmadığını belirlemesi engelleniyor. Unfiltered ifadesi, port kapalı olarak belirlendi ve herhangi bir firewall veya filtreleme ile Nmap isteklerine engel olunmuyor demektir. Nmap bir çok farklı taramayı destekler. Aşağıdaki tablo bazı yaygın tarama yöntemlerini gösterir.
Nmap farklı taramaları gerçekleştirmek için bir çok komut parametresine sahiptir. Yaygın olarak kullanılan bu anahtarlar aşağıdaki tabloda gösterilmiştir.
34
CEH – CHAPTER 3
n
Ü
st
ün
Scan Performed TCP connect scan SYN scan FIN scan XMAS tree scan Null scan Ping scan UDP scan Protocol scan ACK scan Windows scan RPC scan List / DNS scan Idle scan Don’t ping TCP ping SYN ping ICMP ping TCP ve ICMP ping ICMP timestamp ICMP netmask Normal çıktı XML çıktı Greppable output Tüm çıktı Serial scan; taramalar arasında 300 sn. Serial scan; tarmalar arasında 15 sn. Serial scan; .taramalar arasında 4 sn. Parallel scan Parallel scan, zaman aşımı 300 sn., ve 1.25 sn/probe Parallel scan, zaman aşımı 75 sn, ve .3 sn/probe(araştırma-sonda)
na
Nmap Command -sT -sS -sF -sX -sN -sP -sU -sO -sA -sW -sR -sL -sI -Po -PT -PS -PI -PB -PB -PM -oN -oX -oG -oA -T Paranoid -T Sneaky -T Polite -T Normal -T Aggressive -T Insane
Si
Bir Nmap taraması gerçekleştirmek için Windows’da komut satırına Nmap IP adres komutu ve devamında yapılmak istenen tarama tipi içinde parametre girilmelidir.Örnek olarak, 192.168.0.1 ip adresi için TCP bağlantı taraması yapılacaksa girilecek komut aşağıdaki gibi olmalıdır :
Nmap 192.168.0.1 –sT Not : Farklı türden Nmap taramaları, Nmap’ı çalıştırmak için soz dizilimini ve Nmap sonuçlarının nasıl analiz edileceğini bilin. SYN, Stealth, XMAS, NULL, IDLE ve FIN Taramalarını Anlamak : Bir Ceh olarak aşağıdaki tarama çeşitlerini bilmeniz, aşina olmanız gerekir :
SYN : Bir SYN veya stealth taramaya ayrıca half-open (Yarı açık) taramada denir çünkü tam bir TCP three-way anlaşma değildir. TCP/IP three-way anlaşma bir sonraki bölümde açıklanacaktır. Bir hacker hedefe bir SYN paketi gönderir; eğer SYN/ACK
35
CEH – CHAPTER 3
frame’i geri gelirse hedefin bağlantıyı sağladığı ve portun dinlemede olduğu düşünülür. Eğer hedeften RST mesajı alınırsa portun kapalı veya aktif olmadığı farzedilir. SYN stealth taramasının avantajı, az sayıdaki IDS sistemleri tarafından bir saldırı veya bağlantı girişimi olarak loglanmasıdır.
XMAS : XMAS taraması, FIN, URG veya PSH olarak etiketlenmiş bir paket gönderir. Eğer port açıksa cevap gelmez ; eğer port kapalı ise hedef RST/ACK paketi ile cevap verir. XMAS taramaları sadece TCP/IP’nin RFC 793’e uygun olarak uygulaması yapılmış sistemlerde çalışır ve Windows’un hiç bir versiyonuna karşı çalışmaz.
FIN : Bir FIN taraması XMAS taramasına benzer fakat sadece FIN etiketli paket gönderir. FIN taramaları aynı cevabı alır ve XMAS taramalarındaki sınırlamalara sahiptir.
ün
NULL : Bir NULL taraması XMAS ve FIN taramalarındaki sınırlamalara ve cevaplara sahiptir fakat sadece etiketsiz olarak paket gönderir. IDLE : IDLE tarama, hedefe hileli IP adres kullanarak bir SYN paketi gönderir.
Ü
TCP İletişim Etiket (Flag) Türleri :
st
Cevaba göre port’un açık veya kapalı olduğu belirlenir. IDLE tarama, port tarama cevabını IP header (Başlık) daki sıra numarasını (Sequence number) takip ederek belirler.
Si
na
n
TCP tarama çeşitleri TCP three-way (Üç yönlü) anlaşma üzerine kurulmuştur. TCP bağlantıları, gönderen ve alıcı arasında data transferinin yapılması ve bağlantının gerçekleştirilmesi için bağlantı öncesi üç yönlü anlaşma yapılmasını gerektirir. Aşağıdaki şekil TCP three-way anlaşmanın adımlarını gösterir.
Bu üç yönlü anlaşmanın tamamlanabilmesi ve iki host arasında başarılı bir iletişimin kurulabilmesi için, gönderen taraf synchronize (SYN) bit eklenmiş olan bir TCP paketi gönderir. Daha sonra bu paketi alan taraf datayı almaya hazır olduğunu belirten synchronize (SYN) ve acknowledge (ACK) bit’i ayarlanmış bir TCP paketi ile cevap verir. Data alışverişinde bulunmak isteyen kaynak sistem tekrar ACK mesajı göndererek bağlantıyı tamamlar ve data alışverişine hazır hale gelirler. TCP connection-oriented yani bağlantılı bir protokoldür, bağlantının oluşturulması (three-way anlaşma) için bir işlemin yapılması, bağlantı koptuğunda tekrar oluşturulması ve data alışverişinin tamamlandığında bağlantının sonlandırılması bu
36
CEH – CHAPTER 3
protokol’ün bir parçasıdır. Bu protokol bildirimlerine flag denir.TCP protokolü, ACK, RST, SYN, URG, PSH ve FIN flaglarını (etiket) kullanır. Aşağıdaki liste TCP flag’larının işlevlerini listeler.
SYN : Synchronize. Hostlar arasında iletişimi başlatır. ACK : Acknowledge. Hostlar arasında iletişimi kurar. PSH : Push. Sistem buffer’a alınmış veriyi iletir. URG : Urgent. Paket içindeki veri acilen işlenme koyulmalı FIN : Finish. Artık aktarım yok. RST : Reset. Bağlantı tekrar başlatılır.
st
SYN, daha sonra RST
n
Hacking Araçları
Hacker tarafından gönderilen Flag’lar Tüm flaglar belirtilmiş (ACK, RST, SYN, URG, PSH, FIN) FIN Flag belirtilmemiş SYN, daha sonra ACK
Ü
XMAS Tarama XMAS scan FIN scan NULL Scan TCP connect / full-open scan SYN scan / half-open scan
ün
Bir hacker normal bir TCP bağlantısını tamamlamak yerine flagları kullanarak tespit edilmeyi atlatma girişiminde bulunabilir. Aşağıdaki tablodaki TCP tarama çeşitleri bazı tarama araçları tarafından kullanılarak bir veya daha fazla flag kullanmak suretiyle bir sistemden cevap temin etmek için kullanılır.
na
IPEye aracı, SYN, FIN, NULL ve XMAS taramaları yapabilen TCP Port tarayıcısıdır. Komut satırından kullanılır.
Si
IPEye, hedef sistemdeki portları araştırır ve kapalı, reddetme, bırakma veya açık mesajlarından biri ile cevap verir. Kapalı (Closed) mesajının anlamı, öbür tarafta bir bilgisayar var ama port dinlemeye kapalı anlamındadır. Reddetmek (Reject), bir firewall porta olan bağlantıyı reddetti anlamındadır. Bırakmak (Drop), bir firewall port’a gelen tüm istekleri düşürüyor anlamındadır. Açık (open) ise, bazı servislerin port üzerinden dinlemede olduğu anlamını taşır. Bu cevap türleri ile bir hacker, karşısında ne tür bir sistemin cevap verdiğini anlamasını sağlar. IPSecScan aracı, IPSec’in aktif olduğu belli bir Ip adresi veya IP adres aralığını tarar. Netscan Tools Pro 2000, Hping2, KingPingicmpenum, ve SNMP Scanner araçlarının hepsi tarama araçlarıdır ve ayrıca işletim sisteminin parmak izini (Fingerprint) almak için kullanılır.
37
CEH – CHAPTER 3
Icmpenum aracı sadece networkleri araştırmak için ICMP Echo paketlerini kullanmaz, ayrıca ICMPTimestamp ve ICMP bilgi paketlerinide kullanır. Buna ilaveten cevap paketleri için spoofing (kandırma) ve sniffing (mesajları dinleme) eylemlerinide destekler. Icmpenum, firewall ICMP Echo paketlerini blokladığı zaman çok iyi bir network tarama aracıdır fakat Timestamp ve bilgi paketleri bloklandğında başarsızdır. Hping2 dikkate değer bir araçtır çünkü TCP, UDP, ICMP ve raw-Ip protokolleri gibi işletim sistemi parmak izini almanın yanında bir hostun diğer özelliklerinide içerir, traceroute mod özelliği bulunur ve kaynak ile hedef sistem arasında dosya gönderebilir. SNMP scanner, DNS, ping ve simple network management protocol (SNMP) sorguları gerçekleştiren, belli bir aralıktaki veya listedeki hostların taranabilmesine olanak sağlar.
ün
War Dialing Teknikleri :
Si
na
n
Ü
st
War dialing işlemi, hedef sisteme karşı bir saldırı başlatmak amacıyla bir network’e uzaktan erişimi sağlayan açık modem bağlantılarını bulmak için modem numaraları çevirmektir. War dialing terimi internetin eski günlerinde şirketlerin internete modem ile bağlandığı zamanlardan kalmadır. War dialing, tarama (Modem scanning olarakda bilinir) yöntemine dahildir çünkü internet üzerinden zayıf güvenliğe sahip network bağlantısı bulmaya çalışır. Bir çok firma modası geçmiş olan uzaktan erişim için modemler kullanır ve bu tür uzaktan erişim serverlarını kaldırmayı ihmal etmişlerdir. Buda hacker’lara daha zayıf güvenlik mekanizmalarına sahip olan networklere girmek için kolay bir yol sağlar. Örnek olarak, bir çok uzaktan erişim sistemi otantikasyon yöntemi olarak çok kötü güvenliğe sahip olan Password Authentication Protocol (PAP) yöntemini kullanır. Bu otantikasyon yönteminde şifreler encrypt edilmeden yani düz halde gönderilir. Yeni VPN teknolojisinde ise veri ve otantikasyon (Kullanıcı adı ve şifre) bilgileri encrypt edilerek gönderilir. War dialing araçları, şirketlerin, firewall kadar sıkı kontrol etmediği ve modemler artık kullanımda olmasalar bile modem takılı olan bilgisayarlardaki dial-in portları üzerinde etkisini gösterir. Şu an bir çok servarda telefon hattı bağlı olan modemler takılıdır ve bu modemler eğer birincil internet bağlantısı çökerse diye yedek bağlantı olarak kullanılır. İşte bu modemler sisteme uzaktan erişmek için ve içerdeki networke ulaşabilmek için bir war dialing programı tarafından kullanılabilir. Hacking Araçları THC-Scan, Phonesweep, war dialer ve telesweep araçları telefon numaralarını tespit eden araçlardır ve bu araçlar hedefi arayıp modem ile iletişim sağlayabilirler. Bu araçlar genellikle önceden belirlenmiş yaygın olarak kullanılan kullanıcı adlarını ve şifreleri kullanarak sisteme giriş yapamaya çalışır. Bir çok uzaktan erişim dial-in bağlantıları zayıf şifreler ile giriş yapıldığı için veya düşük güvenlik kullanıldığı için güvenli değildir.
Banner Grabbing ve OS Fingerprinting Teknikleri : Banner grabbing ve işletim sisteminin ne olduğunu belirleme (TC/IP protokoller kümesinin parmak izini alma (fingerprinting) olarak da tarif edilir) CEH tarama
38
CEH – CHAPTER 3
st
ün
yönteminin dördüncü adımıdır. Fingerprinting işlemi, özellikle savunmasız veya yüksek öneme sahip hedeflerin belirlenmesinde hacker’a kolaylık sağlar.Hacker’lar bir sisteme girmek için en kolay yolu ararlar. Banner grabbing, bir bağlantı açmak ve mesaj başlığını veya uygulamadan geri dönen cevabı okuma işlemidir. Bir çok mail, FTP ve Web serverları, isim ve yazılımın versiyonu ile birlikte telnet bağlantı isteklerine cevap verir. İşletim sisteminin ve uygulama yazılımının bulunmasında hackera yardımcı olur. Örneğin, Microsoft Exchange mail server sadece Windows işletim sistemine yüklenebilir. Active stack fingerprinting, fingerprintingyönteminin en yaygın kullanılan şeklidir. Sisteme veri gönderilerek, sistemin nasıl cevap vereceği belirlenir. Bu işlem, çeşitli işletim sistemlerinin TCP protokol kümesini farklı uygulamasından dolayı değişiklik gösterir ve geri gelen cevaplarda işletim sistemlerine göre farklılık gösterecektir. Geri gelen cevaplar daha sonra işletim sistemini belirlemek için bir database ile karşılaştırılır. Active stack fingerprinting tespit edilebilir bir işlemdir çünkü aralıksız olarak aynı hedef sisteme bağlanma girişimlerinde bulunur. Passive stack fingerprinting, gizlice gerçekleşir ve işletim sistemini belirlemek için network trafiğini denetler. Scanning teknikleri yerine sniffing tekniklerini kullanır. Passive stack fingerprinting genelde bir IDS sistemi veya diğer güvenlik sistemleri tarafından tespit edilemez fakat active fingerprinting’e göre daha az doğruluğa sahiptir.
Ü
Saldırıya Açık bilgisayarların Network Diagramlarını çizmek
Si
na
n
CEH sınavına dahil değildir, CEH tarama yönteminin altıncı adımında kullanılan araçların anlaşılması gerekir.Bir kaç network yönetim aracı bu adımda size yardımcı olacaktır. Bu gibi araçlar genelde network araçlarını yönetmekte kullanılır fakat hackerlar tarafından güvenlik uzmanlarına karşı kullanılabilir. Solarwinds, Queso, Harris Stat ve Cheops network yönetim araçlarının hepsi işletim sistemini tespit etme, network diagramını çıkarma, networkte çalışan servisleri dinleme, yaygın port tarama işlemi gibi eylemlerde kullanılabilir. Bu araçlar, routerlar, bilgisayarlar, serverlar ve firewall’lar da dahil tüm network’ün diagramını bir GUI arayüz üzerinden gösterir. Bu araçların bir çoğu IP adreslerini, bilgisayar isimlerini, servisleri, işletim sistemleri ve versiyon numaralarını bulabilir. Netcraft ve HTTrack bir işletim sistemini bulan (fingerprinting) araçlardır. Her ikiside işletim sistemlerini tespit edebildikleri gibi web server uygulamasının versiyon numaralarınıda tespit edebilir. Netcraft, periyodik olarak işletim sistemlerinin versiyon numarasını ve web server yazılım versiyon numarasını belirlemek için web serverları yoklayan bir web sitesidir. Netcraft, hackerlar için web serverlardaki zayıf noktaları belirlemekte işe yarar bilgiler sağlar. Ek olarak Netcraft anti-phishing toolbar’a sahiptir ve sahte web server yerine gerçek web server’ı kullandığınızı doğrulayan web server doğrulama aracı bulunur HTTrack, orjinal sitenin link yapısını düzenler. Web tarayıcınızdan mirror web sitesini açarsınız ve daha sonra online olarak baksanız bile linkten linke sitede dolaşabilirsiniz.HTTrack ayrıca mevcut mirror siteyi güncelleyebilir ve kesilen download’ınızn tekrar başlamasını sağlar.
39
CEH – CHAPTER 3
Bir Saldırıyı Başlatmak İçin Proxy Server’lar Nasıl Kullanılır : Proxy serverları hazırlamak CEH tarama yöntemindeki en son adımdır. Proxy server, hacker ile hedef bilgisayar arasında aracılık eden bir bilgisayardır. Proxy server kullanılması hacker’ın network üzerinde anonim olmasını yani bilinememesini sağlar. Hacker ilk olarak proxy server’a bağlantı kurar ve daha sonra hedef bilgisayara mevcut proxy server bağlantısı üzerinden bağlanmaya çalışır. Temel olarak hedef bilgisayara ulaşan proxy istekleri hacker’ın bilgisayarını göstermez bu nedenle hacker web üzerinde anonim olarak dolaşabilir veya saldırılarını gizleyebilir.
Hacking Araçları
st
ün
SocksChain, hackerlara proxy serverların olduğu bir zincir üzerinden saldırı imkanı sağlar. Bunun yapılmasının nedeni hacker’ın IP adresinin gizlenmesi ve böylece tespit edilebilmenin en aza indirilmesidir. Bir hacker sırayla bir çok proxy server üzerinden çalışırsa hacker’ın yerinin tespit edilmesi çok zordur. Saldırganın Ip adresinin bir çok proxy server üzerindeki loglardan takip edilebilmesi çok karışık ve yorucudur. Eğe bir tane proxy server üzerindeki log dosyaları kaybolur veya eksik olursa zincir kırılır ve hacker’ın IP adresi anonim olarak kalır.
Ü
Anonymizer’lar (Kimlik Gizleyiciler) Nasıl Çalışır :
Si
na
n
Anonymizer’lar, web client için proxy server gibi davranan bir web sitesini kullanarak, anonim bir şekilde web de surf yapmayı sağlayan servislerdir. İlk anonimyzer aracı anonymizer.com tarafından geliştirilmiştir.1997 yılında Lance Cottrell tarafından yaratıldı. Anonymizer, kullanıcı internet üzerinde dolaşırken kullanıcının bilgisayarından tüm kimlik bilgilerini kaldırır böylece kullanıcının gizliliği sağlanmış olur. Bir web sitesini kimliksiz olarak (Anonymous) ziyaret etmek için, hacker web sitesinn adresini anonymizer yazılımına girer ve bu yazılımda siteye isteği gönderir. Tüm istekler ve web siteleri anonymizer sitesi üzerinden aktarılır. Bu işlem, web sayfasını talep edeni takip etmeyi zorlaştırır. HTTP Tünelleme Teknikleri : Bir firewall veya IDS sistemini bypass etmenin en popüler yöntemi SMTP gibi bloklanmış bir protokolü HTTP gibi izin verilmiş bir protokol üzerinden tünellemektir. Hemen hemen tüm IDS ve firewall’lar internet ve bilgisayar arasında proxy server olarak çalışır ve sadece izin verilen trafiği geçirirler. Bir çok firma HTTP trafiğine izin verir çünkü Web erişiminde kullanılır. Bununla beraber hacker HTTP tünelleme aracı kullanarak, potansiyel zararlı portokolleri masum gibi gözüken paketler içine koymak süretiyle kullanarak (IM veya chat gibi) proxy server’ı çökertir.
40
CEH – CHAPTER 3
Hacking Araçları HTTPport, Tunneld ve BackStealth araçlarının hepsi HTTP kullanarak tünelleme yapar. İnterneti kullanan belirli protokolleri bloklayan bir HTTP proxy ‘nin bypass edilmesini sağlarlar. Bu araçlar HTTP proxy arkasında kullanılan aşağıdaki potansiyel tehlike teşkil eden yazılım protokollerine izin verir. E-mail IRC ICQ News AIM FTP
IP Spoofing Tekniklerini Anlamak :
n
Ü
st
ün
Bir hacker, hedef sistemi tararken tespit edilme ihtimalini en aza indirmek için sahte IP adresini kullanabilir. Sahte bir IP adresinin kullanılmasının bir sakıcası, TCP oturumunun başarıyla tamamlanamamasıdır. Source Routing (Kaynak yönlendirme), saldırganın paketin internet üzerinden gideceği yolu belirlemesini sağlar. Bu ayrıca saldırıyı engelliyecek olan IDS veya firewall’ları bypass ederek tespit edilme ihtimalini en aza indirir. Source routing, paketin saldırganın gerçek adresi yerine, IP header içindeki sahte IP adresine geri dönmesini sağlar. IP adres spoofing işlemini tespit etmek için TTL (Time to Live) değerlerini karşılaştırabilirsiniz. Saldırganın gönderdiği paketteki TTL değeri sahte adresin gerçek TTL değerinden farklı olacaktır.
na
Enumeration (Listeleme – Döküm çıkarma) :
Si
Enumeration, tarama işleminden sonra gerçekleşir ve kullanıcı adlarını, bilgisayar isimlerini, network kaynaklarını, paylaşımları ve servisler hakkında bilgiyi toplamak ve bunları liste haline getirme işlemidir. Ayrıca enumeration, bu bilgileri elde etmek için aktif olarak sorgulama veya hedef sisteme bağlantıyı sağlama olarak da ifade edilir. Enumeration Nedir ? :
Enumeration işleminin amacı, hedef sistemi hackleme işleminde potansiyel olarak kullanabilmek amacıyla bir kullanıcı hesabı veya sistem hesabını belirlemektir. Sistem Admin hesabını bulmak için gerekli değildir çünkü bir çok hesabın ayrıcalıkları önceden verilmiş olandan daha fazla erişim sağlayabilmesi için yükseltilebilir.
Not : Ayrıcalıkların yükseltilmesi işlemi bir sonraki chapter’da işlenecektir. Bir çok hacking aracı, NETBIOS isimlerini belirlemek için IP networkleri taramak amacıyla dizayn edilmiştir. Herbir cevap veren host için araçlar, Ip adreslerini, NETBIOS bilgisayar isimlerini, log in olmuş kullanıcı adlarını ve MAC adres bilgilerini listeler.
41
CEH – CHAPTER 3
Windows 2000 domain içinde built-in (yerleşik) bir araç olan net view komutu ile NETBIOS isimlerinin listelemesi yapılabilir. NETBIOS isimlerinin bu komut ile listelenmesi (enumerate) aşağıdaki syntax kullanılarak yapılır : net view / domain nbtstat -A IP address Hacking Araçları
Ü
Null Oturumlar Ne İfade Eder :
st
ün
DumpSec bir NETBIOS enumeration (listeleme) aracıdır. Hedef sisteme null kullanıcı olarak net use komutu ile bağlanır. Daha sonra kullanıcıları, grupları, NTFS izinlerini ve dosya sahiplik bilgilerinin dökümünü çıkarır. Hyena, NETBIOS paylaşımlarını listeler ve ek olarak hedef sisteme bağlanmak için null olan oturumun açıklarını kullanabilir ve paylaşımın yolunu değiştirebilir veya registry üzerinde değişiklik yapabilir. SMB Auditing aracı, Windows ve Server Message Block (SMB) platformları için şifre denetleme aracıdır. Windows, server ve client arasındaki iletişimde SMB’yi kullanır. SMB Auditing Tool, Windows sistemleri üzerinde, kullanıcı adlarını belirleyebilir ve şifreleri kırabilir. Diğer bir NETBIOS enumeration aracı NETBIOS Auditing Tool’dur. NETBIOS dosya paylaşım servisi çalışan uzaktaki serverlarda çeşitli güvenlik kontrollerini gerçekleştirmekte kullanılır.
na
n
Bir null session (oturum), sisteme giriş yaparken herhangi bir kullanıcı adı veya şifre kullanılmadığı zaman oluşur. NETBIOS null oturumları işletim sistemine bağlı olarak SMB veya Common Internet File System (CIFS) içinde saldırıya açık bir durum meydana getirir.
Not : Microsoft Windows SMB kullanır, Unix/Linux CFIS kullanır.
Si
Bir hacker bir kez sisteme null session kullanarak NETBIOS bağlantısı kurarsa null kullanıcı hesabını kullanarak tüm kullanıcı adlarını, grupları, paylaşımları, izinleri, servisleri, policy’leri ve daha fazlasının tam bir dökümünü kolayca elde eder. SMB ve NETBIOS, Windows içinde TCP port 139 üzerinden sistem hakkında bilgi veren API’leri kapsıyan standartlardır. Windows sistemine NETBIOS null session ile bağlantı kurmak için bir yöntemde gizli olan Inter Process Communication paylaşımını (IPC$) kullanmaktır. Bu gizli paylaşıma net use komutu ile ulaşılabilir. Daha önce bahsettiğimiz gibi net use komutu Windows içinde diğer bilgisayarlardaki paylaşımlara ulaşmakda kullanılan built-in (Yerleşik-işletim sistemi ile birlikte gelen) bir komuttur. Boş tırnak işareti (“ “) herhangi bir kullanıcı adı ve şifre olmadan bağlantı kurmak istediğinizi gösterir. IP adresi 192.21.7.1 olan bir sisteme yine built-in bir hesap olan anonymous kullanıcı hesabı ile ve net use komutu ile boş şifre kullanarak NETBIOS null oturumu oluşturmakda kullanılacak komut dizisi aşağıdaki gibidir. C: \> net use \\192.21.7.1 \IPC$ "" /u: ""
42
CEH – CHAPTER 3
Bir kez net use komutu başarı ile tamamlandıktan sonra hacker diğer hacking teknikleri ve araçlarını kullanacağı bir kanala sahip olur. Bir CEH olarak NETBIOS enumeration ve null oturumlara karşı nasıl savunma yapılacağını bilmeniz gerekir. Bu konu bir sonraki bölümde anlatılacaktır. NETBIOS Enumeration ve Null Session’a Karşı Önlemler :
Si
na
n
Ü
st
ün
NetBios null session hedef makinede özel port numaraları kullanır. Null oturumların, TCP port 135, 137, 139 ve/veya 445 numaralı portlara erişmeye ihtiyaçları vardır. Karşı önlemlerden biri hedef makine üzerinde bu portları kapatmaktır. Bu, tekil bir makinede network bağlantı özelliklerinden TCP/IP WINS client’ı açıp burdan SMB servisini kapatarak gerçekleştirilir. Bu önlemi uygulamak için takip edilecek adımlar : 1. Network bağlantınızın özelliklerini açın. 2. TCP/IP ve sonrada özellikler butonuna tıklayın 3. Gelişmiş (Advanced) butonuna tıklayın. 4. WINS tabına tıklayın,burda disable NetBIOS over TCP/IP seçeneğini seçin.
Şekil 2 : Network bağlantısını gerçekleştirdiğiniz bağlantının özelliklerine girin. En alttaki Internet Protocol (TCP/IP) seçeneğine tıklayın ve Proterties butonuna tıklayın.
43
Si
na
n
Ü
st
Şekil 3 : En alt sağ taraftaki Advanced butonuna tıklayın.
ün
CEH – CHAPTER 3
Şekil 4 : WINS tabına tıklayın ve en alttaki seçeneği seçin. Böylece bu bilgisayarda NETBIOS'un kullanılmasını iptal etmiş olursunuz.
Ayrıca bir güvenlik uzmanı, registry içinden anonymous kullanıcı hesabının sisteme login olmasını engelleyebilir. Bunun adımları aşağıdaki gibidir. 1. Start’a ve burdan Run’a tıklayın ve regedt32 yazın. HKLM\SYSTEM\CurrentControlSet\LSA girişini bulun. 2. Menüden Edit >Add Value seçeğine tıklayın ve aşağıdaki değerleri girin. a. Value Name : RestrictAnonymous b. Data Type : REG_WORD c. Value : 2
44
CEH – CHAPTER 3
Son olarak sistem Windows XP veya daha üst bir işletim sistemine yükseltilmeli ve NetBIOS null session zayıflığınının oluşmasını en aza indirmek için tüm güvenlik yamalarının yüklemesi yapılmalıdır. SNMP Enumeration Nedir ? : SNMP enumeration, SNMP kullanılarak hedef sistemde bulunan kullanıcı hesaplarının listesini veya dökümünü çıkarma işlemidir. SNMP, iletişim için yazılım bileşenlerinden iki ana türünü kullanır : network cihazında bulunan SNMP agent; ve agent ile iletişim sağlayan SNMP management station (Yönetim yeri).
na
n
Ü
st
ün
Routerlar, switch’ler ve Windows sistemleri dahil hemen hemen tüm network cihazları, sistem veya cihazı yönetmek için bir SNMP agent içerir. SNMP management station, agent’lara bir istek gönderir ve agent’lar reply mesajı ile cevap verir. İstekler (requests) ve cevaplar (replies) agent yazılımı tarafından erişilebilir olan konfigürasyon değişkenlerini işaret eder. Yönetim yerleri, belirli değişkenler için değerler ayarlamak amacıyla istekler gönderebilir. SNMP yöneticisine bir uyarıyı tetikleyen önceden tanımı yapılmış olaylara trap denir. Trap’lar yönetim yerinin bir arayüz hatası veya tekrar başlatma gibi önemli derecedeki bazı olayların bilmesini sağlar. Management Information Base (MIB), network cihazlarını üzerinde bulunan konfigürasyon değişkenlerinin tutulduğu bir veritabanıdır. SNMP, erişmek ve yönetim yerinden (management station) SNMP agent’ı konfigüre etmek için kullanılabilen iki şifreye sahiptir. İlkinin ismi read community string’ dir. Bu şifre cihazın veya sistemin konfigürasyonuna bakmanızı sağlar. İkincisinin ismi ise read/write community string ‘ dir. Bu şifre cihaz üzerindeki konfigürasyonu değiştirmek veya editlemek içindir. Genelde default read community string public’dir ve default read/write community string ise private (özel)’dir. Yaygın güvenlik açığı (kaçak noktası) oluşumu default ayarlar ile bırakıldığında oluşur. Bir hacker bu default (varsayılan) şifreleri, aygıt konfigürasyonuna bakmak veya bu ayarları değiştirmek için kullanabilir.
Si
Not : Bir aygıtın default şifrelerini nasıl kolayca belirlendiği sorusu için www.defaultpassword.com sitesine bakabilirsiniz.
Hacking Tools SNMPUtil ve IP Network Browser araçları SNMP enumeration araçlarıdır. SNMPUtil, Windows sistemleri içindeki SNMP üzerinden Windows kullanıcı hesaplarını toplar.Routing tabloları, ARP tabloları, IP adresleri, MAC adresleri, TCP ve UDP açık portları, kullanıcı hesapları, paylaşımlar gibi bilgiler SNMP protokolünün aktif olduğu sistemlerde SNMPUtil aracı ile okunabilir. Solarwinds araç setinden IP Network Browser, SNMP’yi kullanarak SNMP agent’ın olduğu aygıt hakkında daha fazla bilgi toplar.
45
CEH – CHAPTER 3
SNMP Enumeration’a (Listeleme-Döküm çıkarma) Karşı Önlemler : SNMP enumeration işlemini önlemek için en basit yol, potansiyel hedef sistem üzerinden SNMP agent’ı kaldırmaktır veya SNMP servisini kapatmaktır. Eğer SNMP’yi kapatmak bir seçenek olarak yoksa default read ve read/write community isimlerini değiştirin. Ayrıca bir admin, Group Policy güvenlik seçeneği olan ve SNMP bağlantılarını yasaklayan Additional Restrictions For Anonymous Connections seçeneğini uygulayabilir.
Not : Group Policy Windows domain controller üzerinden uygulanır. Network adminleri Group Policy ayarlarının nasıl yapıldığını bilmeleri gerekir. Bu konu bu kitabın konusu değildir.
ün
Windows 2000 DNS Zone Transferi :
st
Windows 2000 ve 2003 domainlerinde client’lar ve serverlar Active Directory, kerberos, ldap gibi domain servislerinin yerini tespit edebilmek için DNS içindeki SRV (Service Locator) kayıtlarını kullanır. Bunun anlamı Windows 2000 ve Windows 2003 Active Directory yapısı düzgün çalışabilmek için DNS servisine ihtiyaçları var demektir.
Nslookup komutu ile basit bir zone transferi bir çok network bilgisini listeler.
Ü
Listeleme işlemi için kullanılacak nslookup komutunun yazılışı aşağıdaki gibidir.
n
Nslookup ls –d domainismi
Global Catalog servisi (_gc._tcp) Domain Controller’lar (_ldap._tcp) Kerberos otantikasyonu (_kerberos._tcp)
Si
na
Nslookup komutunun sonuçları ile bir hacker aşağıdaki kayıtları yakından görebilir. Bu kayıtlar networkte çalışan network servisleri hakkında ek bilgiler verir.
Karşı bir önlem olarak zone transferleri Windows DNS server yönetim arayüzünden kapatılabilir. Active Directory veritabanı LDAP (Lightweight Directory Access Protocol) protokolünü kullanır. Buda veritabanında bulunan kullanıcıların ve grupların basit bir LDAP sorgusu ile dökümünün çıkarılabilmesine izin verir. Bu işlemin yapılması için gereken tek şey LDAP vasıtası ile otantikasyonu yapılmış bir oturumun açılmasıdır. Bir Windows 2000 veya 2003 LDAP kullanan client Active Directory Administration tool içinde bulunan ldp.exe komutunu çalıştırıp Domain Controller olan bilgisayar ile bağlantı kurabilir ve AD veritabanı içindeki verileri saptayabilir. Ldp.exe aracı Windows 2000 Server ve Windows 2003 server cd’leri içinde bulunur. Bir Active Directory enumeration saldırısı için hacker’ın yapması gerekenler : 1. 389 numaralı port üzerinden ldp.exe komutu kullanılarak domain controller olan bilgisayarlardan birine bağlantı kurulur. Bağlantı kurulduğunda server ile ilgili bilgiler sağ tarafta görünür.
46
CEH – CHAPTER 3
2. Connection menüsünden authenticate seçeneği seçilir. Kullanıcı adı, şifre ve domain ismi yazılır. Guest hesabı veya herhangi bir domain hesabı yazılabilir. 3. Otantikasyon yani kullanıcı adı ve şifrenin doğrulanması işlemi başarı ile tamamlandıktan sonra Browse menüsündeki Search seçeneğinden kullanıcılar ve built-in grupların listesi alınabilir. Hacking Tools
ün
User2SID ve SID2user Windows servis kimliklerine bakan komut satırı araçlarıdır. Enum, listeleme yapan komut satırı aracıdır. Null oturumlar ve kullanıcı adları, bilgisayar isimleri, paylaşımlar, group isimleri ve üye listeleri ve lokal güvenlik ilke bilgileri alınabilir. UserInfo, kullanıcı adlarını toplamak ve ayrıca yeni kullanıcılar yaratabilmek için kullanılan komut satırı aracıdır. GetAcct, bir sistem üzerinden kullanıcı hesaplarının dökümünü çıkarabilmek için kullanılan GUI tabanlı bir araçtır. SMBBF, kullanıcı adlarını ve şifresiz kullanıcı hesaplarını belirlemek için SMB brute force atakları yapanİşlemini bir araçtır. Enumeration Gerçekleştirmek İçin Gerekli Adımlar :
na
n
Ü
Enumeration kullanarak kullanıcı adlarını almak Null oturumlar ile host hakkında bilgi toplamak Superscan aracını kullanarak Windows enumeration işlemini gerçekleştirmek GetAcct aracı ile kullanıcı adlarını elde etmek SNMP port tarama işlemini gerçekleştirmek.
Si
1. 2. 3. 4. 5.
st
Hacker’lar hacking işlemine olan yaklaşımlarını sistemli bir şekilde gerçekleştirmek zorundadır. Aşağıdaki adımlar, bir hacker’ın bir sistemi hacklemek için yapmaları gereken hazırlık aşamalarını gösterir :
47
CEH – CHAPTER 4
System Hacking Password Kırma Tekniklerini Anlamak :
st
ün
Bir çok hacking girişimleri şifreleri kırma girişimi ile başlar. Password’ler (Şifreler), bir sisteme girmek için gerekli olan bilginin anahtar kısmıdır. Kullanıcılar şifrelerini yaratırken genelde kırılmaya meyilli şifreler seçer. Pek çok kez üst üste kullanılan şifreler veya hayvanlarının isimleri gibi basit şifreler kullanıcılara şifrelerini hatırlayabilmelerini sağlar. Bu insan faktöründen dolayı bir çok şifre kırma işlemi başarıyla gerçekleşir. Buda , ayrıcalıkları yükseltmek, uygulamaları çalıştırmak, dosyaları gizlemek ve izleri örtmek için başlangıç noktası olmasını sağlayabilir. Şifreler manuel olarak kırabileceği gibi dictionary veya brute force atakları gibi araçlar ile otomatik olarakda gerçekleştirilebilir. Manuel olarak şifre kırma farklı şifreler ile logon olmak şeklinde gerçekleştirilir. Bir hacker’ın izleyeceği adımlar : 1. Geçerli bir kullanıcı adı bulur (Administrator veya Guest hesabı gibi) 2. Mümkün olabilecek şifrelerin listesini çıkarır 3. Yüksek ihtimalden düşüğe doğru şifreleri derecelendirir 4. Her bir şifre için bilgisayara giriş yapar 5. Doğru şifreyi bulana kadar denemeye devam eder
Si
na
n
Ü
Ayrıca hacker bir liste içindeki şifreleri denemek için script dosyası hazırlayabilir. Bu işlem manuel cracking olarak gerçekleştirilmiş olur. Manuel cracking zaman ister ve genelde verimli değildir. Bir şifreyi kırmanın en verimli yollarından biri, sistemdeki password dosyasına erişim sağlamaktır. Bir çok sistem şifreleri tek yönlü encrypt olarak da bilinen veya karma algoritma da denilen hash işlemine tabi tutar ve bu şekilde depolar. Logon işlemi sırasında kullanıcı tarafından girilen şifre aynı algoritma kullanılarak hashing işlemi gerçekleştirilir ve daha sonra bilgisayar içindeki karma algoritma kullanılarak encryptlenmiş dosya ile karşılaştırılır. Hacker, guess veya başka bir kimlik üzerinden denemeler yapmak yerine serverda tutulan hashing algoritmasına ulaşmaya çalışabilir. Eğer hacker bu algoritmaya ulaşırsa şifreleri decrypt edebilir.
Not : Şifreler Windows sistemlerde, Security Accunt Manager (SAM) denilen dosyada, Linuxda ise password shadow denilen bir dosyada tutulur.
48
CEH – CHAPTER 4
Hacking Araçları Legion aracı, NetBIOS oturumlarında şifre tahminlerini otomatik olarak gerçekleştirir. Legion, birden fazla IP adres dizisini Windows paylaşımları için tarar ve ayrıca bir manuel dictionary saldırı aracı olarak çalışır. NTInfoScan, NT 4.0 için güvenlik tarayıcısıdır. Bu vulnerability tarama aracı hedef sistem üzerinde bulduğu güvenlik konuları ve diğer bilgiler hakkında HTML tabanlı bir rapor hazırlar. L0phtCrack, @stake software (Şu andaki sahibi Symantec) firması tarafından dağıtımı yapılan şifre denetleme ve kurtarma paketidir. Lokal network üzerindeki SMB paketlerini ve tekil login oturumlarını yakalar. L0phtCrack aracı, dictionary, brute force ve hybrid saldırı yapabilir. John the Ripper Unix ve NT şifrelerini kırmak için dizayn edilmiş komut satırı aracıdır. Kırılan şifrelerin, harf hassasiyeti yoktur ve gerçek büyük küçük harf karışımı olarak yazılmış şifreleri temsil etmez.
ün
KerbCrack iki programdan oluşur: kerbsniff ve kerbcrack. Sniffer, network’ü dinler ve Wndows 2000/XP oturumlarını yakalar. Cracker olan ise yakalanan dosyadan brute force veya dictionary saldırıları ile şifreleri bulmak için kullanılır.
st
LanManager Hash :
na
n
Ü
Windows 2000, şifrelerin network üzerinde seyahati sırasında güvenliğini sağlamak için NT Lan Manager (NTLM) hash yöntemini kullanır. Şifreye bağlı olarak NTLM zayıf ve kolay kıralabilir olur. Örneğin, şifrenin 123456abcdef olduğunu söyleyelim. Bu şifre NTLM ile encryptlendiğinde (Orjinal mesajın belli bir algoritma kullanılarak okunamaz hale getirilmesi) ilk olarak tüm karakterler büyük yazılır : 123456ABCDEF. Şifre boş karakterler (Null) kullanılarak 14 karakter uzunluğa getirilir. 123456ABCDEF_ _. Şifre encryptlenmeden önce 14 karakterlik bu dizi ikiye bölünür. 123456A ve BCDEF_ _. Her bir dizi ayrı olarak encrypt edilir ve sonuçlar birleştirilir.
Si
123456A = 6BF11E04AFAB197F BCDEF__ = F1E9FFDCC75575B15
Hash : 6BF11E04AFAB197FF1E9FFDCC75575B15
Not : Şifrenin ilk kısmı alfanumerik karakterler içeriyor ve L0pthCrack aracının bu parçayı kırması 24 saat alır. İkinci kısım ise harfler ve sembollerden oluşuyor ve bu kısmın kırılması ise 60 saniye sürer. Bunun nedeni, ikinci kısımda ki hash’lenmiş şifrede daha az sayıda kombinasyonun olmasıdır. Eğer şifre 7 karakterli veya daha az olsaydı ikinci kısmın hash’i daima AAD3B435B51404EE olacaktı. Windows 2000 Şifrelerini Kırmak : Windows içindeki SAM dosyası kullanıcı adlarını ve hash edilmiş şifreleri tutar. Bu dosya Windows\system32\config klasörü içinde bulunur. Bu dosya Windows işletim sistemi çalışırken kilitlidir ve bu sayede hacker bu dosyayı kopyalayamaz. Bu dosyayı kopyalayabilmenin yolu, bilgisayarı DOS veya Linux gibi Windows olmayan bir işletim sistemi ile CD üzerinden boot etmektir. Alternatif olarakda bu dosya repair
49
CEH – CHAPTER 4
klasöründen kopyalanabilir. Eğer bir sistem admini, sistemi yedeklemek için Windows’un RDISK özelliğini kullanıyorsa C:\Windows\repair içindeki SAM dosyasının bir kopyasını SAM._ismiyle sıkıştırır. Bu dosyayı açmak için komut satırından aşağıdaki komut kullanılır : C:\>expand sam._ sam Dosyanın sıkıştırması kaldırıldıktan sonra L0phtCrack gibi bir araç kullanarak SAM dosyasına brute force, dictionary veya hybrid gibi saldırılar düzenlenebilir. Hacking Araçları Win32CreateLocalAdminUser programı, X isimli ve şifreli bir yeni kullanıcı yaratır ve bu kullanıcıyı lokal administrators grubuna dahil eder. Bu eylem Metasploit Projesinin (www.metasploit.com) bir parçasıdır ve Windows üzerine yğklenmesi gereken Metasploit framework ile birlikte çalışır.
ün
Offline NT Password Resetter, sistem Windows ile boot edilmediğinde admin şifresini resetleme yöntemidir. En yaygın uygulama yöntemi, sistemi Linux CD’si ile boot edip artık korunmayan NTFS partition’a ulaşmak ve şifreyi değiştirmektir.
st
SMB Logon İşlemini Saldırgana Yönlendirme :
na
n
Ü
Şifrelerin elde edilmesinin bir başka yoluda Server Message Block (SMB) logon işlemini saldırganın bilgisayarına yönlendirmek ve böylece şifrelerin saldırgana gitmesini sağlamaktır. Bu işlemi yapmak için hacker’ın server’a giden NTLM cevaplarını kontrol etmesi gerekir ve kurbanı saldırganın bilgisayarı ile Windows otantikasyon girişiminde bulunması için kandırmalıdır. Bunun içinde kullanılan en yaygın yolda kurbana sahte SMB server’ın linki olan bir mail göndermektir. Kullanıcı gelen maildeki linke tıkladığında istemeden kimlik bilgilerini göndermiş olur. SMB Redirection (Tekrar Yönlendirme) :
Si
Bir çok hacking aracı otomatik olarak SMB yönlendirmesini gerçekleştirir. Hacking Araçları
SMBRelay, SMB trafiğinden gelen kullanıcı adı ve şifre hash’lerini yakalayan bir SMB server’dır.SMB Relay ayrıca man-in-the-middle saldırılarıda gerçekleştirebilir. SMBRelay2, SMBRelay ile benzerdir fakat kullanıcı adları ve şifreleri yakalamak için IP adresleri yerine NetBIOS isimlerini kullanır. Pwdump2, bir Windows sistemi üzerindeki bir SAM dosyasından password hash’lerini extract eden bir programdır. Bu açılan hash’ler L0phtCrack aracı ile şifreler kırılabilir. SamDump, bir SAM dosyasından NTLM hash’lerini extract eden başka bir programdır. C2MYAZZ, Windows client’ın şifrelerini düz metin olarak gönderdiği durumda kullanıcının şifresini elde eden bir spyware programdır. Server spoofing saldırısı için iyi bir örnektir. Kullanıcının NT server üzerinden logon olmasını bekler. Logon işlemini tespit ettiğinde C2MYAZZ, client’a LM otantikasyonunu kullanabileceğini belirten bir paket gönderir. Client bu mesaja güvenir ve kimlik bilgilerini encrypt etmeden düz metin olarak gönderir. 50
CEH – CHAPTER 4
SMB Relay MITM (Man-in-the-middle) Saldırıları ve Buna Karşı Önlemler :
st
ün
Bir SMB relay MITM saldırısı, hacker’ın başka bir yedek adresli sahte bir server’ı kurmasıyla gerçekleşir. Bir kurban client, sahte server ile iletişime geçtiğinde MITM server iletişimi keser, şifreyi hash işlemine tabi tutar ve iletişimi kurban olarak seçilmiş server’a geçirir.
Şekil 1 : SMB Relay MITM saldırısı
na
Hacking Araçları
n
Ü
SMB Relay saldırısına karşı önlemler, Windows 2000’in SMB imza kullanması ile yapılır. Bu işlem, her bir SMB iletişim bloğunun kriptografik olarak imzalanması şeklinde işler. Bu ayarlar Group Policy içinde Security Polices/Security Options altında bulunur.
SMBGrind, password tahmin etme yazılımıdır. L0pthCrack oturumlarının sniffer dumpları üzerinde çiflemeleri kaldırarark hızını artırır.
Si
SMBDie aracı, Windows 2000/XP/NT çalışan bilgisayarlara özel olarak hazırlanmış SMB istekleri göndererek bilgisayarların çökmesine neden olur. NBTdeputy aracı, bir bilgisayarın NetBIOS ismini network’te kaydını yapar ve NetBIOS over TCP/IP (NetBT) isim çözümleme isteklerine cevap verilmesini sağlar. SMB relay’ın kullanılmasını basitleştirir. IP adres yerine bilgisayar ismini kullanır.
NetBIOS DoS Saldırıları : NetBIOS Denial of Service saldırısı hedef sistemdeki NetBIOS isim servisinie (WINS) NetBIOS Name Release (Başlangıçta kaydettirdiği NetBios ismini artık kullanmıyacağını belirten mesaj) mesajı gönderir ve sistemin bilgisayar isminin çakışmasına zorlayıp bu sayede de ismin kullanılamaz hale gelmesini sağlar. Temel olarak client’ın NetBIOS’un aktif olduğu bir sistemde bu network’ün bir parçası olmasını önlemek ve bu sistem için network DoS saldırıları yaratmaktır.
51
CEH – CHAPTER 4
Hacking Araçları NBName, NetBIOS isim kayıt isteklerine negatif cevap verdiği için tüm LAN’ı disable edebilir ve clientların network’e dahil olmasını engelleyebilir. Networkteki bilgisayarlar, isimlerinin network içinde kullanıldığını düşündürten bu araç ile zarar görmüş olurlar.
Password Kırmaya Karşı Önlemler :
st
ün
Şifreleri kırılmaya karşı korumak için muhtemel en iyi yol çok güçlü şifrelerin kullanılmasıdır. Sistemler kullanıcıların şifrelerini belirlerken 8-12 karakter arası alfanumerik şifreler seçmesini zorlamalıdır. Aynı şifrenin kulanılmasının aralıkları bir sonraki bölümde anlatılacaktır. Server’da tutulan şifrelerin hashing algoritmalarının kırılmasını önlemek için server’ın fiziksel olarak izole edildiğine dikkat etmeniz ve korumanız gereklidir. Sistem adminleri Windows içindeki SYSKEY aracını kullanarak server’daki hard diskte tutulan hash’lere ilave koruma sağlayabilirler. Ayrıca server’da tutulan loglar düzenli bir şekilde takip edilerek brute force saldırıları gözlemlenmelidir. Sistem admini aşağıdaki güvenlik önlemlerini uygulayarak brute force şifre kırma girişimlerinin etkisini azaltabilir :
n
Ü
1. Default haliyle şifreleri asla bırakmayın 2. Asla sözlükte bulunabilecek şifreler kullanmayın 3. Asla host ismi, domain ismi veya Whois ile bulunabilecek başka bir isim ile ilişkili şifre kullanmayın. 4. Hobileriniz, hayvanlarınız, akrabalarınız veya doğum gününüz ile ilişkili şifre kullanmayın 5. Sözlükte 21 karakterden fazla olan bir kelimeyi şifre olarak kullanın.
na
Şifre Değiştirmek İçin Zaman Aralıkları :
Si
Şifreler, kesin olarak belli bir zamandan sonra kullanım süreleri dolmalı ve kullanıcılar şifrelerini değiştirmek zorunda bırakılmalıdır. Eğer şifrelerin kullanım süresi çok kısa olursa kullanıcılar şifrelerini unutabilirler ve sonuç olarakta adminler sık sık şifrelerini unutan kullanıcıların şifrelerini sıfırlamak zorunda kalacaklardır. Diğer taraftan eğer bu kullanım süresi çok uzun olursa güvenlik tehlikeye düşebilir. Tavsiye edilen şifre değiştirme aralığı 30 gündür. Ayrıca kullanıcıların son kullandığı 3 şifreyi tekrar kullanmaları engellenmelidir.
Not : Eğer hacker, paketin yaratıldığı orjinal yeri proxy server ile değiştirirse brute force şifre kırma saldırılarını tamamen önleyemeyebilirsiniz. Sistem admini brute force saldırılarının kullanılabilir olmasını azaltmak için sadece ek güvenlik özellikleri ekleyebilir. Event Viewer Üzerinden Log’ların Takip Edilmesi : Adminler, bir zorla girme teşebbüsü meydana gelirken veya yapılırken saldırıyı tespit edebilmek için Event Viewer içinde tutulan logları mutlaka takip etmelidir. Genelde başarılı bir giriş veya şifrelere saldırılar meydana gelemeden önce yapılan bir çok
52
CEH – CHAPTER 4
na
n
Ü
st
ün
başarısız giriş denemeleri sistem log’ları kısmına yazılır. Security loglarıda sadece onları takip eden sistem adminleri içindir. VisualLast gibi araçlar network adminlerine security logları yorumlayabilmek ve analiz edebilmekte yardım eder. VisualLast, NT içindeki olay günlüklerini (Event log) anlayabilme imkanı sağlar böylecede adminler network üzerinde meydana gelen olayları tam ve kesin bir şekilde değerlendirebilirler. Program, network adminlerinin tekil kullanıcıların logon ve logoff zamanlarına bakabilmek ve raporlama işlemini yapması için dizayn edilmiştir. Bu olaylar içinden belli bir zaman dilimi için arama yaptırılabilir ki bu güvenlik analizi yapan kişi için çok değerlidir. Bu loglar c:\windows\system32\config\Sec.Event.Evt içinde tutulur.
Si
Şekil 2 : Event Viewer penceresine ulaşmak için My Computer üzerine sağ tuşla tıklayın ve Manage seçeneğini seçin.
Farklı Türdeki Şifreler :
Bir sisteme girmek için farklı türlerde şifreler kullanılır. Bir şifreyi oluşturan karakterler aşağıdaki kategorilerden birinde yer alabilir.
Sadece harfler Sadece sayılar Sadece özel karakterler Harfler ve sayılar Sadece harfler ve özel karakterler Sadece sayılar ve özel karakterler Harfler, sayılar ve özel karakterler
Güçlü bir şifre, bir hacker tarafından saldırıya müsait en düşük seviyede hassasiyete sahip olmalıdır. Aşağıdaki kurallar Ec Council tarafından tavsiye edilen, saldırıya karşı korumak amacıyla bir şifre yaratılırken uygulanması gereken kurallardır.
53
CEH – CHAPTER 4
Kullanıcı adının herhangi bir parçasını içermemelidir. En az 8 karakter uzunluğunda olmalıdır. Aşağıdaki en az 3 kategoriden karakterler içermelidir. o Alfanumerik olmayak semboller ($,:”%@!#) o Sayılar o Büyük harf o Küçük harf
Bir hacker bir şifreyi belirlemek ve sonrasında sisteme erişimi elde etmek için farklı türden saldırılar gerçekleştirebilir. Password saldırı çeşitleri aşağıdaki gibidir : Passive online : Network üzerindeki karşılıklı şifre gidiş gelişini gizlice dinlemektir. Passive online saldırıları içinde sniffing, man-in-the-middle ve replay saldırıları bulunur.
Active online : Administrator hesabının şifresini tahmin etmektir. Active online saldırısı içinde otomatik olarak şifreleri tahmin eden araçlar bulunur.
ün
Offline : Dictionary, hybrid ve brute-force saldırıları
Elektronik olmayan : Shoulder surfing (Çaktırmadan bakmak), keyboard sniffing
st
ve social engineering.
Ü
Passive Online Saldırılar :
na
n
Passive online saldırı, kablolu yada kablosuz networkte şifrenin koklanması (sniffing) olarak da bilinir. Bir passive saldırı son kullanıcı tarafından tespit edilemez. Şifre otantikasyon işlemi sırasında yakalanır ve sonrasında bir dictionary dosyası veya kelime listesi ile karşılaştırılır. Kullanıcı hesabının şifreleri yetkisiz kişiler tarafından erişimin engellenmesi ve kullanılmasını önlemek için yaygın olarak encryptlenir veya hash işlemine tabi tutulur. Eğer şifre hashing yapılarak veya encrypt edilerek korunuyorsa hacker’ın elindeki alet çantasında bu algoritmaları çözecek özel araçlar vardır.
Si
Not : Şifre hash’lerini kırma konusu bu chapter içinde anlatılacaktır. Diğer bir pasif saldırı ise man-in-the middle (MITM) saldırısıdır. Bu saldırıda hacker otantikasyon isteğini yakalar ve bu isteği server’a aktarır. Client ile server arasına sniffer yerleştirerek hacker her iki taraftan gelen iletişimi dinler ve işlem sırasında şifreleri yakalar. Replay saldırısıda bir pasif online saldırıdır. Bu saldırı, hacker’ın şifreyi otantikasyonu yapacak olan server’a giderken engellemesi ve yakalaması ve sonrasında otantikasyon paketini daha sonraki otantikasyon işleminde kullanmak amacıyla tekrar server’a göndermesi şeklinde gerçekleşir. Böylece hacker şifreyi kırmak zorunda kalmaz veya MITM ile şifreyi öğrenmek zorunda değildir fakat şifreyi yakalayıp kırmaktan ziyade yakaladığı otantikasyon paketini daha sonradan, otantikasyon isteyen clientmış gibi kullanır.
54
CEH – CHAPTER 4
Active Online Saldırılar :
ün
Bir sisteme administrator seviyesinde giriş yapmanın kolay yolu, administrator hesabına sahip olan kişinin basit bir şifre seçtiğini düşünerek yine basit şifre tahminlerinde bulunmaktır.Şifre tahmin etmek active online saldırıdır. Bu işlem şifre yaratma kapsamı içinde insan faktörüne bağlıdır ve sadece zayıf şifrelerde çalışır. Üçüncü chapter’da sistem hackleme bölümünde Enumeration aşamasından bahsetmiştik ve NetBIOS enumeration ve null session açıklıkları konusunu öğrenmiştiniz. NetBIOS TCP 139 numaralı portun açık olduğunu düşünün, Windows NT ve Windows 2000 sistemlerine girmenin en verimli yolu şifre tahmin etmektir. Bu işlem listelenmiş veya bilinen paylaşımlara (IPC$ veya C$) bağlanmakla ve kullanıcı adı ve şifre kombinasyonlarını denemekle gerçekleştirilir. En yaygın kullanılan administrator hesabı ve şifre kombinasyonları, Admin, Administrator, SysAdmin, Password ve boş şifredir. Bir hacker ilk olarak dafault olarak paylaşıma açılmış olan Admin$, c$ veya C:\Windows paylaşımlarına bağlanmaya çalışacaktır. Gizli paylaşımda olan C: birimine bağlanmak için Start>Run bölümüne aşağıdaki komut yazılır : \\ipadres\c$
Ü
st
Atomatik olarak işlem yapan programlar dictionary dosyaları, word list’ler ve mümkün olan tüm sayı, harf ve özel karakter kombinasyonlarını hzılı bir şekilde oluşturabilir ve sonrasında bu kimlik bilgilerini kullanarak logon girişimlerinde bulunurlar. Bir çok sistem hesap kilitlenmeden önce maximum login girişim sayısı belirterek bu tür saldırıları engeller.
n
Atomatik Olarak Şifre Tahmin Etme İşlemi :
na
Hackerlar şifre tahmin etme işlemini hızlandırmak için bu işi otomatik yapan araçlar kullanır. Otomatik olarak şifre tahmin etmenin en kolay yolu NET USE syntax’ı üzerinden Windows Shell komutlarını kullanmaktır. Basit bir şifre tahmin etme script’i yaratmak için takip edilecek adımlar :
Si
1. Notepad kullanarak basit bir kullanıcı adı ve şifre içeren dosya yaratın. Dictionary Generator gibi araçlar bu listeyi hazırlayabilir. Bu dosyayı C: sürücüsü içinde Credentials.txt ismi ile kaydedin. 2. FOR komutu ile bu dosyayı çağırın : C:\> FOR /F “token=1, 2*” %i in (credentials.txt) 3. Hedef sistem üzerindeki gizli paylaşıma log on olmak için credentials.txt dosyasını kullanmak için net use \\hedefIP\IPC$ %i /u: %j komutunu yazın.
Not : Bir saldırgan tarafından FOR komutunun kullanılmasına başka bir örnekte aşağıdaki komut ile hard disk içeriğini sıfırlarla silmektir. For ((i=0;ic:\directory.txt”— Bir dosya yaratmak için form alanına yazılması gereken :
st
Blah’;exec master..xp_cmdshell “echo hacker-was-here > c:\hacker.txt”—
Ü
Bir IP adresine ping atmak için form alanına yazılması gereken :
Blah’;exec master..xp_cmdshell “ping 192.168.1.1”--
n
SQL Injection Saldırısına Karşı Önlemler :
Si
na
SQL injection saldırısına karşı alınması gereken ilk önlem kullanıcıların veritabanına olan bağlantılarındaki ayrıcalıklarını en az seviyeye indirmek ve SA ve Administrator hesapları için güçlü şifreler kullanmaktır. Ayrıca gereksiz ayrıntılara sahip ve açıklayıcı hata mesajlarını disable etmeniz gerekir. Bu sayede gereğinden fazla bilgi hacker’ın eline geçmemiş olur. Kaynak kodlarına göz atmak aşağıdaki programlama kusurları için önemlidir :
Tek tırnak işaretleri Giriş doğrulamadaki eksiklik
Bazı SQL injection saldırısına karşı önlemler :
Bilinen kötü girişi reddetme, çıkarma Giriş kısıtlamalarını kontrol etmek
Buffer Overflow Bir CEH olarak farklı türdeki buffer overflow’ları belirleyebilmeniz gerekir. Ayrıca bir buffer overflow açığının nasıl tespit edileceğini bilmeniz ve bir hacker’ın kullanabileceği yığın tabanlı (stack-based) overflow saldırısının adımlarınıda anlamanız gerekir.
96
CEH – Chapter 9
Farklı Türdeki Buffer Overflow’ları Ve Tespit Etme Yöntemlerini Tanımak :
Ü
Stack Tabanlı Buffer Overflow’lar :
st
ün
Buffer Overflow’lar, hackerların işletim sistemi veya uygulamalara karşı kullandıkları exploitlerdir;SQL injection saldırıları gibi kullanıcıların giriş yaptığı alanlar hedefdir. Bir buffer overflow exploit’i, belleğe aşırı yüklenme ile veya hedef sistem üzerinde shell komutu veya isteğe bağlı bir komut çalıştırarak sistemin hata vermesine neden olur. Bir buffer overflow açığı bounds checking eksikliğinden veya değişken alandaki (Örneğin web form üzerinde) giriş doğrulamasındaki aksaklıkların giderilme eksikliğinden dolayı meydana gelir. Eğer uygulama bir değişkeni belleğe göndermeden önce boyutunu veya formatını kontrol etmeden veya doğrulamadan gönderirse overflow açığı meydana gelir. İki çeşit buffer overflow vardır: stack tabanlı ve heap tabanlı. Stack ve heap, çalışan program içindeki kullanıcı değişkenleri için depolama lokasyonlarıdır. Değişkenler, programın ihtiyacı olana kadar stack veya heap içinde tutulur. Stack’lar bellek adres boşluğundaki statik alanlardır, buna karşılık heap, program çalışırken oluşan dinamik adres alanlarıdır. Bir heap tabanlı buffer overflow, belleğin alt bölümünde meydana gelir ve diğer dinamik değişkenlerin üzerine yazar. Sonuç olarak bir program bir shell veya komut satırı açabilir veya bir programın çalışmasını durdurabilir. Programın buffer overflow açıklarını tespit emek için, kötü yazılmış program kaynak koduna bakmak gerekir, bir hacker form alanı üzerinden büyük miktarda veriyi uygulamaya gönderir ve programın verdiği sonuca bakar.
Bir hacker’ın stack tabanlı buffer overflow çalıştırması için kullandığı adımlar :
Si
na
n
1. Stack içindeki bellek miktarını tüketmek için buffer’a değişken girmek 2. Bu değişken için bellekte ayrılmış olan bufferdan daha fazla veri girmek, bu işlem belleğin overflow olmasını veya bir sonraki işlem için bellekteki boşlukta çalışmasına neden olur. Sonrasında başka bir değişken eklenir ve programa değişkeni çalıştırdıktan sonra döndüğü yeri söyleyen dönüş işaretçisinin üzerine yazar. 3. Bir program bu hatalı kodu çalıştırır ve dönüş işaretçisini kullanarak çalıştırılabilir olan koddaki bir sonraki satıra döner. Eğer hacker işaretçinin üzerine başarıyla yazarsa program kendi kodları yerine hacker’ın kodlarını çalıştırır. Bir çok hacker bu bilindik buffer overflow’ların detaylarına ihtiyacı yoktur. Önceden yazılmış olan exploitler internet üzerinden bulunabilir ve hacker grupları arasında değiş tokuş yapılmaktadır.
Not : Exploit kodundaki dönen adres ile üstüne yazılan bellek kütüğü EIP olarak bilinir. Buffer Overflow Dönüştürme Teknikleri : Hackerlar, standart buffer overflow’lardan kendi seçtikleri kodun dönüş işaretçisine tekrar yönlendirme işini derecelendirebilirler. Bir hacker tam bellek adresini ve kodunu çalıştıracağı dönüş işaretçisini yapabilmek için stack boyutunu bilmelidir. Hacker bir No Operation (NOP) talimatını kullanabilir. Bu sadece yönerge işaretçisini taşımak için destektir ve herhangi bir kod çalıştırmaz. NOP, hatalı kod öncesinde çalıştırılması için bir string ekler.
97
CEH – Chapter 9
Si
na
n
Ü
st
ün
Eğer bir Intrusion detection system (IDS) network üzerinde var ise instruction işaretçisine iletmek için bir seri NOP’u gönderen hacker’ı engeller. IDS’yi bypass etmek için hacker rasgele bazı NOP’ları, x++, x-;?NOPNOP gibi bir parça eşdeğer kod ile değiştirir. Bu değişime uğramış buffer overflow saldırısı IDS tarafından tespit edilmesi devre bırakılabilir. Programcılar, built-in strcpy(), strcat() ve streadd() C/C++ fonksiyonlarını buffer overflow ‘lar için elverişli olmasından dolayı kullanmamalıdır. Alternatif olarak programlama dili olarak Java kullanılabilir. Java buffer overflow için elverişli değildir.
98
CEH – Chapter 10
Wireless Hacking Wireless networkler hackerlar için diğer bir giriş noktasıdır. Wireless güvenliği ve wireless hacking ile ilgili bir çok şey yazıldı. Bunun nedeni wireless teknolojisinin daha yeni ve güvenlik açıklarına sahip olmasıdır. Wireless networklerin kullandığı Radio Frequency (RF)’ın broadcast yapısı ve ev ve işyerlerinde hızlı bir şekilde kabul görmesi bir çok güvenlik açığının olmasına neden olmuştur. Bir çok Wireless LAN (WLAN) IEEE 802.11 standartlarına ve 802.11a, 802.11b, 802.11g ve 802.11n gibi değişiklikler üzerine yapılandırılmıştır. 802.11 standartı içinde tam gelişmemiş güvenlik özellikleri ve bir çokda güvenlik açığı bulunur. 802.11i iyileştirmesi, 802.11 içindeki zayıflıklar için en son güvenlik çözümünü içerir. Wi-Fi birliği orjinal 802.11 deki boşluğu doldurmak ve en sonuncu 802.11i’de iyileştirmeler yapmak için ek güvenlik sertifikaları olan Wi-Fi Protected Access (WPA) ve WPA2’yi yaratmıştır. Bu bölümdeki güvenlik açıkları ve güvenlik çözümleri IEEE ve Wi-Fi birliği standartları temel alınarak anlatılacaktır.
ün
WEP, WPA Otantikasyon Mekanizması ve Cracking Tekniklerine Bakış :
Si
na
n
Ü
st
Wireless Clientların bir erişim noktası için otantikasyonunun sağlanmasında iki yöntem vardır : open system (Açık Sistem) ve shared key (Paylaşımlı anahtar) otantikasyonu. Open system herhangi bir güvenlik mekanizmasına sahip değildir fakat network ile bağlantı için basit bir istekde bulunur. Shared key otantikasyonu ise neworkte otantikasyonun sağlanabilmesi için wireless client’ın challenge text denilen bir paketi hash yapması şeklinde gerçekleşir. Daha detaylı WEP ilerleyen bölümlerde anlatılacaktır. Wired Equivelant Privacy (WEP), WLAN’lar için ilk güvenlik seçeneği idi. WEP, WLAN üzerinde verinin encrypt edilmesi ve opsiyonel olarak WLAN clientları otantike etmek için shared key otantikasyon ile eşleştirilir. WEP, layer 2 deki veri yükünü encrypt etmek için RC4 (Rivest Chiper4) 64 bit veya 128 bitlik simetrik anahtarlama kullanır. Bu WEP anahtarı, 24 bitlik Intialization Vector (IV) ile 40 beya 104 bitlik kullanıcının belirlediği bir anahtar ile birleştirilir, bu sayede WEP anahtarı 64 veya 128 bitlik olur. RC4’ün IV ile kullanılması WEP şifrelemesinde gerçek bir zayıflığa neden olur. Bu işlem hacker’ın WEP anahtarını kırmasını sağlar. FMS saldırısı olarak bilinen yöntem, encryptlenmiş olan byte’ları kullanarak en fazla ihtimale sahip olan byte’ları bulmaya çalışır. Bu saldırı WEP açığını kullanmak için, Airsnort, WEPCrack ve aircrack gibi ürünler içinde bulunur. Bununla birlikte bir hacker WEP anahtarını kırmak için brute-force saldırısınıda kullanabilir fakat en yaygın teknik FMS saldırısıdır. WPA, veriyi encrypt etmek için Temporal Key Integrity Protocol (TKIP-RC4’ü daha güvenli hale getirmek için) ve otantikasyon için ise WPA personal veya WPA enterprise yöntemini kullanır. WPA personal, otantikasyon için ASCII metin-şifre (passphrase) kullanırken WPA enterprise, kullanıcıların kimliklerini doğrulamak için (Otantikasyon) RADIUS server kullanır. WPA enterprise, daha güvenli, güçlü bir güvenlik seçeneğidir fakat yaratmaya dayanır ve RADIUS server’ın kurulumu karmaşıktır. TKIP, WEP’deki güvenlik açıklarını kapatmak, dolayısı ile saldırıları kırmak için data encryption anahtarını dönüşümlü olarak değiştirir. WPA2 ise 802.11i’ye benzer ve veriyi şifrelemek için Advanced Encryption Standart (AES) kullanır. AES kırılamayan şifreleme algoritması olarak düşünülür. WPA2 ayrıca mixed mode security olarak isimlendirilen geçiş dönemi boyunca TKIP kullanılmasınıda sağlar. Geçiş modu, veriyi şifrelemek için TKIP ve AES’in birlikte kullanılması demektir. AES daha hızlı işlemciye ihtiyaç duyar, buda demektir ki PDA’lar gibi düşük seiviyedeki cihazlar sadece TKIP’i destekler. WPA personal ve WPA2 99
CEH – Chapter 10
personal, WLAN clientların doğrulaması için metin-şifre (passpharese) kullanır. WPA Enterprise ve WPA2 Enterprise ise WLAN kullanıcılarını 802.1x/Extensible Autentication Protocol (EAP) standartlarını kullanan bir RADIUS server vasıtası ile kimlik doğrulaması yapar. 802.11i ve WPA2, WPA2 deki aynı şifreleme ve otantikasyon mekanizmasını kullanır. Bununla birlikte WPA2 ön doğrulama için herhangi bir üreticiye ihtiyacı yoktur. Ön doğrulama, hızlı ve güvenli bir roaming (Dolaşım,gezici) sağlar, buda Wireless voice over IP gibi zaman olarak hassas mobil ortamlar için gereklidir. Aşağıdaki tablo WLAN’lar için otantikasyon ve encryption (Şifreleme) seçeneklerinin özetini gösterir : Otantikasyon WEP
WPA
TKIP
Passphrase veya RADIUS (802.1x/EAP)
Zayıflık IV’deki zayıflık WEP anahtarının kırılmasına neden olur. Aynı anahtar WLAN içindeki tüm clientların otantikasyonu ve encryption’ı için kullanılır. Passphrase (Metin-şifre) dictionary (Sözlük) saldırısı için elverişlidir.
WPA2
AES (mixed modda iken TKIP kullanılabilir)
IEEE 802.11i
AES (mixed modda iken TKIP kullanılabilir)
Passphrase veya RADIUS (802.1x/EAP) Passphrase veya RADIUS (802.1x/EAP)
Passphrase (Metin-şifre) dictionary (Sözlük) saldırısı için elverişlidir. Passphrase (Metin-şifre) dictionary (Sözlük) saldırısı için elverişlidir.
Hacking Araçları
st
Ü
na
n
Orjinal IEEE 802.11 standard
ün
Encryption WEP
Si
Aircrack, WEP kırma aracıdır. Paketleri yakalamaz;başka bir programın yakaladığı encryptllenmiş veri paketlerinden kırma işlemini gerçekleştirmek için kullanılır. Aircrack Windows ve Linux işletim sistemlerinin her ikisinde de çalışır. WEPCrack ve Airsnort Linux tabanlı WEP kırma araçlarıdır. NetStumbler ve Kismet WLAN keşif araçlarıdır. Her ikiside MAC adreslerini, Service Set Identifier (SSID) parametresini, güvenlik modunu ve WLAN kanalını bulur. Ek olarak Kismet SSID’si gizlenmiş olan networkleride bulabilir, paketleri toplayabilir ve IDS işlevselliğini belirleyebilir.
Wireless Sniffer’lar ve SSID’leri Belirleme, MAC Spoofing (Aldatma) : En yaygın WLAN saldırısı gizlice dinlemek veya sniffing’dir. Bu en kolay gerçekleştirilebilecek saldırıdır ve genellikle hotspot’larda (Halka açık yerler) veya default yüklemeye sahip Access Point olan yerlerde gerçekleşir, bunun nedenide genelde bu tür yerlerde paketlerin WLAN içinde şifrelenmeden gönderilmesidir. FTP, POP3 veya SMTP gibi network erişim protokolleri için kullanılan şifreler düz metin olarak yani şifrelenmeden, WLAN da bulunan bir hacker tarafından yakalanabilirler.
100
CEH – Chapter 10
SSID, WLAN’ın ismidir ve yayın içinde bulanabilir. Eğer iki wireless network fiziksel olarak yakın ise SSID’ler her bir network’ü ayırt etmek ve tanımlamak için kullanılır. SSID, genellikle bir işaret paketi içinde düz metin olarak gönderilir. Bir çok Access Point (AP) adminlere SSID’leri gizleme seçeneği sunar. Bununla birlikte bu işlem güçlü bir güvenlik mekanizması değildir çünkü bazı araçlar, data paketleri veya araştırma paketleri gibi diğer paketlerden SSID parametresini okuyabilir. WLAN teknolojisinde bir önceki güvenlik çözümü MAC adres filtrelemesini kullanmaktı. Admin, Access Point ile ilişkili sistemlere izin vermek için geçerli olan MAC adreslerini listeye girerdi. MAC filtreleme konfigürasyon olarak külfetlidir ve büyük networklerde çok da verimli değildir çünkü her Access Point içinde konfigüre edilmelidir. MAC spoofing (Aldatma) uygulanması kolay ve MAC adres filtreleme işlemini uygulamak için gereken gayreti boşa çıkarır. Bir hacker geçerli olan bir MAC adresini belirleyebilir çünkü MAC header’lar kesinlikle şifrelenmez. Hacking Araçları
ün
SMAC, geçerli bir kullanıcının adresini kullanabilmesini sağlayıp bu sayede networke erişim sağlayan MAC spoofing aracıdır.
st
Sahte Access Point’ler :
na
n
Ü
Sahte Access Point’ler (Rogue Access Points), hedef network ile bağlantı kurmak için yetkilendirlmemiş erişim noktalarıdır. Sahte AP’ler network içinde bir kablosuz delik açarlar. Bir hacker sahte bir AP’yi yerleştirir veya bir çalışan mobil olmasından dolayı yanlışlıkla network’e bir AP takarak güvenlik deliği oluşturabilir. Tüm sahte AP’ler hackerlarda dahil kendisine bağlanan kullanıcılar tarafından kullanılabilir ve kablolu networke erişim sağlayabilirler. Bu işlem şirketler için networke takılı olan sahte AP’lerin olmadığından emin olmak için kablosuz taramanın yapılması açısından bir wireless politikalarının olmayışının kritik öneme sahip olduğunu gösterir.
Si
Wireless Hacking Teknikleri :
Bir çok wireless hacking saldırısı aşağıdaki kategorilere ayrılabilir:
Encryption ve Otantikasyon mekanizmalarının kırılması : Bu mekanizmalar içinde WEP, WPA Pre-shared key (Ön paylaşımlı Anahtar Doğrulama) otantikasyon metin-şifresi ve Cisco’s Lightweight EAP Authentication (LEAP) kırma işlemleri bulunur. Hackerlar, bunları, çalınan kimlik bilgilerini kullanarak veya diğer kullanıcıların dataları yakalanıp decrypt/encrypt yapılarak WLAN’a bağlantı kurmakta kullanır.
Gizlice dinlemek veya sniffing : Bu işlem, şifrelenmemiş bir WLAN veya hotspot üzerinden gizli bilgilerin veya şifrelerin yakalanmasını içerir. Denial of Service : DoS fiziksel katmanda, bir RF transmitter ile AP’den daha yüksek bir RF sinyali yaratarak gerçekleştirilir, bu işlemde kullanıcıların onaylanmış yani uygun olan AP yerine sahte AP’ye bağlantı kurmalarına neden olur. DoS Logical Link Control (LLC) katmanında otantike edilmemiş frame’ler (deauth saldırıları) veya sürekli olarak sahte frame’ler yaratarakda yapılabilir (Queensland Saldırısı). 101
CEH – Chapter 10
AP maskeleme veya spoofing : Sahte AP’ler aynı SSID konfigürasyonlarını veya network ismini kullanarak gerçek, yasal erişim noktalarıymış gibi davranır.
MAC spoofing : Hacker yasal, gerçek bir WLAN kullanıcısı gibi davranır ve başka bir kullanıcının MAC adresini kullanarak MAC adres filtrelemesini atlatır. Wireless networkler eğer erişim noktaları düzgün bir şekilde güvenliği sağlanmamış ise hackera networke girmek için kolay bir yol sağlar. Bir WLAN’ı hacklemek veya güvenlik açıklarından faydalanmak için bir çok yol vardır. Wireless Networkleri Güvenli Yapmak İçin Yöntemler :
ün
Wireless Network kullanımı kablolu networklere göre daha yeni bir teknolojidir ve daha az güvenlik seçeneklerine sahiptir. Güvenlik yöntemleri OSI modelindeki uygulanabilen katmanlara göre kategorilere ayrılır. Layer 2 veya MAC layer güvenlik seçenekleri : WPA WPA2 802.11i
st
Layer 3 veya Network katmanı güvenlik seçenekleri : IPSec veya SSL VPN
n
Ü
Layer 7 veya Application Katmanı : Secure Shell (SSH), HTTPS ve FTP/SSL gibi güvenli uygulamalar
Si
na
Not : Bir çok sayıdaki zayıflıklarından dolayı WEP, WLAN için tek başına güvenlik mekanizması olarak kullanılmamalıdır.
102
CEH – Chapter 11
Physical Security Fiziksel güvenlik, IT güvenliğinde hassas ve önemli verilerin çalınması veya kaybolması konusunda tartışmasız en önemli alandır. Eğer bir şirket yeterli fiziksel güvenlik sağlamakta başarısız olursa, firewall’lar veya IDS gibi teknik güvenlik önlemleri aşılabilir. “Bir kez içeri girebildinmi, Network senindir” deyişi vardır. Şirketinizin ve networkünüzün fiziksel olarak güvenliğini sağlamak suretiyle, laptop’lar veya tape sürücüleri gibi aygıtların çalınmasını, sistemelere donanımsal keylogger’ların yerleştirilmesini ve networke sahte access pointlerin koyulmasını engelleyebilirsiniz. Fiziksel güvenlik daha çok kişisel olarak zorlamaya bağlıdır ve buyüzden socialengineering saldırılarına müsaittir (Bir çalışanın uygun anahtar veya kimlik bilgilerinin çalınması amaçlı olarak takip edilmesi gibi) Fiziksel Güvenliği İhlal Etmenin Sonuçları :
na
Keyloggerlar, virüsler, Trojanlar, backdoorlar veya rootkitler gibi kötü yazılımların yüklenmesi Şifreler, sertifikalar gibi doğrulama bilgilerinin veya otantikasyon kimlik bilgilerinin yakalanması veya tespit edilmesi Şifreler ve kredi kartı numaraları gibi değerli verinin kablolu networke bağlantı sağlanarak takip edilmesi Lokal sistem üzerindeki şifrelerin kırılmasında kullanmak için sistemlere erişim sağlayıp veri toplamak Kablolu networke erişim sağlayabilmek için açık bir wireless network yaratmak amaçlı sahte Access Point yerleştirme Kağıtların veya elektronik dökümanların çalınması Önemli fax dökümanlarının çalınması Çöp kutularını karıştırma saldırısı (Önemli dökümanlar tekrar birleştirilip okunamıyacak şekilde parçalanmasını ısrarla belirttik)
Si
n
Ü
st
ün
Her gün, bir devlet kurumu veya büyük bir şirketin kullanıcı bilgisi veya çalışanları ile ilgili önemli bilginin tehlikeye girdiği konusunda haber makaleleri açıklamalar yapıyor. Örneğin, eve giren bir hırsız tarafından çalınan veya seyahata çıkan bir çalışanın otel odasından çalınan laptop gibi. Bu tür önemli bilgiler bir hackerın elinde tehlikeli olabilir. Cihazların çalınması en yaygın fiziksel saldırılardan biridir. Birçok insan bilgisayarının çalınacağını düşünmez ve sistemleri kilit altında tutmak konusunda tecrübesizdir, bunun yerine standart network güvenlik mekanizmalarına güvenir. Bir çok içerden yapılan saldırılar fiziksel güvenlikteki ihmalin sonucudur. Bir kez hacker servera, tek bir bilgisayara veya bir network portuna fiziksel erişimi elde ettiğinde sonuç yıkıcı olur. Ayrıca bazı ihmallerin belirlenmesi, izlenmesi ve tespiti zordur. Yetersiz fiziksel güvenlik nedeniyle yapılan en yaygın güvenlik ihlalleri :
Fiziksel Güvenliği Anlamak : Genel olarak güvenlik konuları aşağıdaki üç yol ile kategorilere ayrılır :
Fiziksel : Fiziksel önlemler sistemlere girişi engeller ve bu önlemler içinde güvenlik korumaları, ışıklandırma, çitler, kilitler ve alarmlar bulunur. Erişim noktalarındaki
103
CEH – Chapter 11
imkanlar sınırlandırılmalı ve CCTV (Closed circuit television) kameralar ve alarmlar ile korunmalı/takip edilmelidir. Binaya giriş yetkili kişilere sınırlandırılmalıdır. Taşınabilir diskler, backup tape’ler ve diskler gibi taşınabilir medya ve laptop sistemlerine erişim sınırlandırılmalı ve bunlar korunmalıdır. Bilgisayar ekranları arkadan geçenler tarafından görülemiyecek şekilde konumlandırılmalı ve kullanıcıların herhangi bir nedenden dolayı bilgisayarlarının başından ayrıldıkları zaman kendi sistemlerini kilitlemeleri için zorlanmalı ve bu konuda bir politika uygulanmalıdır. Yüksek hassasiyete sahip bilgiyi tutan bilgisayar sistemleri kapalı bir yerde korunmalı ve kimlik erişimli bir oda gibi kilitli bir yerde tutulmalıdır.
Teknik : Firewall’lar, IDS, spyware içerik filtrelemesi, virüs ve Trojan taraması gibi teknik güvenlik önlemleri tüm uzaktaki client sistemlerde, networklerde ve serverlarda uygulanmalıdır.
Operasyonel : Tehlikeleri analiz etmek ve risk değerlendirmesi yapmak için
ün
operasyonel güvenlik önlemleri şirketin güvenlik politikası içinde dökümantasyonunun yapılması gerekir. Teknik ve Operasyonel güvenlik önlemleri sonraki chapter içinde anlatılacaktır.
st
Fiziksel Güvenlik İçin İhtiyacımız Nedir ? :
Bir bilgisayar sistemine yetkisiz giriş Sistemlerden verinin çalınması Sistem üzerindeki verinin bozulması Doğal nedenlerin sistemleri bozması veya verinin kaybolması
Si
na
n
Ü
Fiziksel güvenlik önlemlerindeki ihtiyacınız diğer güvenlik çeşitleri ile (Teknik veya operasyonel gibi) aynı nedene sahiptir ; hackerları networkünüze ve size ait bilgiye erişimlerini engellemek. Hacker, kolay bir şekilde güvenlik önlemlerinizdeki zayıflıklardan yararlanıp erişim elde edebilir. Ayrıca verileriniz doğal nedenlerden dolayı hasar görebilir veya kaybolabilirde;bu yüzden risk yönetiminden sorumlu olan elemanlar uygun güvenliğin planlamasını yaparken doğal afetleride formül içine eklemeleri gerekir. Fizilksel güvenlik önlemleri açağıdakileri engellemek için dizayn edilir :
Fiziksel Güvenlikten Kim Sorumlu ? : Aşağıdaki insanlar bir şirket içinde fiziksel güvenlikten sorumludur :
Şirketin fiziksel güvenlik yetkilisi IT sistem uzmanları Şef IT yetkilisi Çalışanlar
Şirket içindeki herkes fiziksel güvenlik ilkelerini uygulamak zorundadır. Fiziksel güvenlik standartlarını belirlemek ve fiziksel güvenlik önlemlerini uygulamak fiziksel güvenlik yetkilisinin işidir.
104
CEH – Chapter 11
Fiziksel Güvenliği Etkileyen Faktörler : Fiziksel güvenlik, harici fiziksel güvenlik kontrol faktörlerinden etkilenir. Şirketin fiziksel güvenliğini etkileyen faktörler :
Vandalizm (Yıkıcılık-barbarlık) Hırsızlık Doğal nedenler o Deprem o Yangın o Sel gibi
Si
na
n
Ü
st
ün
Güvenlik uzmanları bu risk faktörlerinden uzak durmalıdır ve bunlara karşı plan yapmalıdır. Bir çok şirket bu tür ihtimallere karşı bir iş devamlılık planı (BCP-Business continuity plan) veya felaketten kurtarma planı (DRP-Disaster recovery plan) yaratır.
105
CEH – Chapter 12
Linux Hacking
ün
Linux, açık kaynak kodlu olması ve herkesin modifiye etmesine izin vermesinden dolayı esnek bir yapıya sahip olduğundan, sistem adminleri tarafından popüler olan bir işletim sistemidir. Açık kaynak olması Linux’un tabiatında vardır ve bir çok versiyona sahiptir, bu versiyonlarada distributions (veya distros-dağıtımlar) ismi verilir. Bir çok Linux dağıtımı workstation’larda veya serverlarda kullanmak için güçlü ticari işletim sistemleridir. Redhat, Debian, Mandrake ve SUSE popüler ticari dağıtımlardır; Gentoo ve Knoppix ise en yaygın olan ücretsiz dağıtımlardır. Linux’un esneklik ve fiyat avantajı ile birlikte Linux uygulamalarının artışı bir çok işletim sistemi arasında en fazla tercih edilen işletim sistemi olmasını sağlamıştır. Bununla birlikte Microsoft’a göre kendi yapısında olan daha sıkı bir güvenliğe sahiptir ve ayrıca faydalanılacak açıklıklarada sahiptir. Bu chapter bir işletim sistemi olarak Linux kullanımının temelleri ve saldırılara karşı nasıl daha güçlü hale getirileceği anlatılacaktır. Linux Temelleri :
Si
na
n
Ü
st
Linux, kabaca UNIX temellidir ve UNIX ortamı ile aşina olan herkes Linux sisteminide kullanabilir. Tüm standart komutlar ve araçlar tüm dağıtımlarda bulunur. Bir Linux sistem içerisinde bir çok text editor mevcuttur ki bunlar içinde vi, ex, pico, jove ve GNU emacs bulunur. Bir çok UNIX kullanıcısı basit bir editor olan vi’yi tercih eder fakat vi eski olmasından dolayı bir çok kısıtlamalara sahiptir ve emacs gibi bir çok modern editorler son yıllarda daha fazla kullanılmaya başlanmıştır. Bir çok temel Linux araçları, GNU yazılımıdır yani ücretsiz olarak dağıtımı yapılır. GNU araçları ayrıca standart BSD ve UNIX sistem versiyonlarında bulunmayan gelişmiş özellikleride destekler. Bununla birlikte GNU araçları BSD ile uyumlu olacak şekilde tasarlanmıştır. Shell, kullanıcıların komut girmesini sağlayan ve sistemin kullanıcının yazdğı komutları çalıştıran komut satırı programıdır. Ayrıca bir çok shell iş kontrolü, bir seferde bir çok işlemi yönetme, giriş ve çıkış yönlendirmesinin yapılması ve shell scriptleri yazabilmek için komut dili kullanılmasını sağlamak gibi özellikler sağlar. Shell scripti, shell komut dilinde yazılan bir programdır ve MS-DOS batch dosyasına benzer. Linux için bir çok çeşitte shell vardır. Bu shell’ler arasındaki önemli fark, komut dilidir. Örneğin, C Shell (csh), C dili ile benzer komutlar kullanır. Klasik Bourne SHell (sh) ise başka bir komut dili kullanır. Shell seçimi daha çok sağladığı komut diline ve kullanıcıya sağladığı olanaklara bağlıdır. GNU Bourne Again Shell (bash), içinde iş kontrolü, komut geçmişi, komut ve dosya ismi tamamlama ve dosya editleme arayüzü gibi bir çok gelişmiş özellik bulunduran bir Bourne Shell varyasyonudur. Diğer bir popüler shell ise tcsh’dir. Bu shell, bash içinde bulunan gelişmiş özelliklerin aynısını içeren C Shell versiyonudur. Diğer shell’ler olarak zsh, küçük bir Bourne shell benzeri, Korn Shell (ksh), BSD’nin ash’si ve rc, Plan 9 shell’i sayabiliriz.
106
CEH – Chapter 12
Linux Kernel’i Derlemek :
ün
Linux’un açık kaynak niteliğinden dolayı kaynak kodu ücretsiz olarak dağıtılır. Kaynak kodu bir işletim sistemi olarak doğru bir şekilde çalışması için derlenmesi gereken binary formatında dosyalardır. Binary dosyaları herkes tarafından erişilebilirdir ve download edilebilir ve işlevsellikleri için değişiklikler yapılabilir veya yenileri eklenebilir. Kullanıcının Linux kernelini tekrar derlemeyi istemesinin üç nedeni vardır. Birinci olarak, elinizde bazı yeni donanımlar vardır ve sizdeki dağıtım CD’si içinde herhangi bir kernel modülü bu donanım için yoktur. İkinci olarak, elinizdeki gözden geçirilmiş versiyon olan işletim sisteminde sabit olan bazı bug çeşitleri ile karşılaşmış olabilirsiniz. Son olarak, elinizdeki yeni yazılım, işletim sisteminizin yeni versiyonunu istemektedir. Bu, esneklik için mükemmeldir fakat kullanıcılar kaynak kodlarının indirilmesini sağlayan sitelerden uzak durmalıdır çünkü bu kodlar hatalı veya kötü amaçlı kodlar olabilir, kodlara Trojanlar veya diğer backdoor’lar eklenmiş olabilir. Güvenlik nedeni ile sadece güvenilen ve bilinen sitelerden Linux indirilmeli veya ticari dağıtımları satın alınmalıdır.
st
Not : Linux kernel indirmek için tavsiye edilen site ftp.kernel.org ‘dur.
Linux kernel’i indirmek, konfigüre etmek ve derlemek için izlenecek adımlar :
Si
na
n
Ü
1. İşletim sistemi için en son versiyon dosyayı belirleyin ve linux sistem içinde /usr/src dizinine indirin. Sonra, tar zxf komutu ile paketi açın. 2. Bir sonraki adım Linux kernel’i konfigüre etmek. Dizini /usr/scr/Linux olarak değiştirin ve make menuconfig komutunu yazın. Bu komut bir kaç program oluşturacak ve hızlı bir şekilde bir pop up penceresi açılacaktır. Penceredeki menü, size kernel konfigürasyonunu bir çok yönden değiştirebilmenizi sağlıyacaktır. Gerekli değişiklikleri yaptıkdan sonra konfigürasyonu kaydedin ve make dep; make clean yazın. Bu komutların ilki, kernel kaynaklarında birbirine bağlı ağaç (tree) oluşturur. Bu bağlı olma durumu konfigürasyon adımındaki yaptığınız seçeneklere bağlıdır. Make clean ise önceki oluşturulan kernel’den kalan istenmeyen dosyaları temizler. 3. Bir sonraki komutlar make zImage ve make modules komutlarıdır. Bu aşama biraz uzun sürebilir çünkü bu komutlar kernel’in derlemesini yapar. 4. Son adım kernelin yüklenmesidir. Intel tabanlı sistemde kernel aşağıdaki komut ile /boot dizinine yüklenir :
cp /usr/Linux/src/arch/i386/boot/zImage /boot/newkernel 5. Sonra make modules_install komutu kullanılır. Bu komut modülleri /lib/modules içine yükler. 6. Sonraki aşamada aşağıdaki gibi bir bölüm eklemek için edit /etc/lilo.conf komutu kullanılır. image = /boot/newkernel label = new read-only
107
CEH – Chapter 12
7. Bir sonraki boot işleminde lilo içinden yeni kerneli seçin, bu işlem yeni kerneli yükleyecektir. Eğer çalışırsa lilo.conf içinde yeni kerneli ilk sıraya alınki bu sayede her açılışta default olarak yeni kernel yüklensin.
Not : Eğer Linux’da yeniyseniz Linux Live CD sizin için en iyi seçenektir. Bu CD’yi kullanarak Linux’u yüklemeden test edip deneyebilirsiniz. Live CD’yi kullanmak için www.distrowatch.com sitesini ziyaret edin ve dağıtımlardan birini seçin. Sonrasında ISO dosyasını indirin ve CD’ye yazın. Bu CD herhangi bir sistemde kullanılabilir ve Linux versiyonunun tüm işlevleri ile boot edilir. GCC Derleme Komutları :
st
ün
GNU Compiler Collection (GCC), bir komut satırı derleyicisidir. Kaynak kodlarını alır ve bunları çalıştırılabilir hale getirir. GCC’yi http://gcc.gnu.org adresinden indirebilirsiniz (Bir çok Linux dağıtımı bir GCC versiyonunu bulundurur). GCC, C, C++ ve Fortran uygulamalarını Linux sistem üzerinde çalışabilmesi için derlemek ve çalıştırmak için kullanılabilir. Aşağıdaki komut bir GCC ile C++ kodunu derler :
g++ dosyaismi.cpp –o çıktıdosyaismi.out
n
gcc dosyaismi.c –o çıktıdosyaismi.out
Ü
Bir uygulama için GCC ile C kodu derleme komutu :
na
Linux Kernel Modülleri Nasıl Yüklenir :
Si
Linux Kernel Modülleri (LKMs) işletim sistemini tekrar derlemeden işletim sistemine işlevsellikler eklemenizi sağlar. LKM’lerin kullanılmasının tehlikesi bir rootkit’in bir LKM şeklinde kolayca yaratılmasıdır ve eğer yüklenirse kernel’e bulaşır. Bu nedenden dolayı LKM’leri sadece doğrulanmış olan kaynaklardan indirmelisiniz. LKM rootkitlere örnek olarak Knark, Adore ve Rtkit verilebilir. Bu rootkitler kernele bulaşır ve bu rootkitleri tespit etmek kendilerini LKM gibi göstermeyenlere göre çok daha zordur. Bir kez sistem risk altına girdiğinde, hacker LKM’yi /tmp veya /var/tmp dizini içine yerleştirir, bu sayede sistem admini tarafından takip edilemez dolayısı ilede dosyalar, işlemler ve network bağlantıları gizlenir. Ayrıca sistem çağrıları, LKM rootkit bulaşmış olan sistem üzerinde, hacker’ın istedikleri ile değiştirilebilir. Bir LKM’yi yüklemek için komut : modprobe LKM Linux’u Güçlendirmenin Yolları : Güçlendirme (hardening), sistem üzerinde değişiklikler yaparak sistemin güvenliğini artırma işlemidir. Linux, bazı güçlendirme yöntemleri kullanılarak daha güvenli hale getirilebilir.
108
CEH – Chapter 12
Linux veya Windows serverlardan herhangi birinin güvenliğindeki ilk adım, hacker’ın fiziksel olarak erişim sağlıyamayacağı bir network operasyon merkezi gibi bir güvenli lokasyonda bulunmasını sağlamaktır. İkinci ve en açık güvenlik önlemi güçlü passwordlerin kullanılması ve kullanıcı adlarının ve şifrelerin dışardan kimseye verilmemesidir. Adminler /etc/shadow dosyası içinde tutulan tüm kullanıcıların şifrelerini kontrol ederek boş şifrelerin olmadığına emin olması gerekir. Deny all komutunun default güvenlik durumu sistemin network saldırılarına karşı güçlendirmek için iyi bir seçenektir. Deny all uygulandıktan sonra, admin belirli bir kullanıcı için belirlenmiş erişimi açabilir. Deny all komutunu kullanmakla ilk olarak, admin erişim izni olmayan kullanıcının dosyaya erişemiyeceğinden emin olur. Tüm kullanıcıların network üzerinden erişimini enegellemek için kullanılacak komut : Cat “All:All”>> /etc/hosts.deny
Si
na
n
Ü
st
ün
Linux server’ın daha güçlü hale getirilmesindeki diğer bir yolda kullanılmayan servislerin kaldırılması ve en son bug düzeltmeleri ile patchlenmiş (yamaların uygulanması) olmasıdır. Ayrıca adminler sık bir şekilde sistem loglarını bir saldırıyı işaret eden olağan dışı şeylere karşı kontrol etmelidir. Aşağıdakiler bir Linux serverın güvenliğini artırmak için uygulanması gereken diğer adımlardır : Herkes tarafından onaylanmış ve bilinen iyi Linux dağıtımlarının kullanılması Gerekli olmayan servislerin ve uygulamaların yüklenmemesi Default şifrelerin değiştirilmesi Uzaktan root login iptali IP tablolarının oluşturulması ve aktif edilmesi Host tabanlı intrusion detection system (IDS) yüklenmesi Log dosyalarının kullanılması
109
CEH – Chapter 13
IDS’leri, Honeypot’ları ve Firewall’ları Atlatmak Intrusion Detection System’ler (IDS), firewall’lar ve honeypot’ların hepsi, bir hackerın hedef sisteme veya networke girmelerini engelliyecek olan güvenlik önlemleridir. IDS ve firewall, temel olarak paket filtreleme araçlarıdır ve network trafiğini önceden belirlenen kurallara göre takip ederler. Honeypot ise hackerları güvenlik açığı olan sistemlerden uzak tutmayı sağlayan sahte (fake) hedef sistemdir. Diğer güvenlik mekanizmalarındaki gibi IDS’ler, firewall’lar ve honeypot’lar dizayn edilmelerine ve uygulamalarına göre etkisini gösterir. Bu araçların nasıl işlediklerini bilmek ve yaygın saldırı öğelerine karşı sağladıkları güvenlikleri bilmek önemlidir. IDS’lerin Çeşitleri ve Bunlardan Kurtulma Teknikleri :
Intrusion Detection Sistemler (IDSs), trafiği denetleyen ve bilinen saldırıların izlerine veya olağan dışı davranış kalıplarına bakan sistemlerdir. Packet sniffer, trafiğe
Ü
st
ün
bakar ve takip eder ve IDS içinde yerleşik bir bileşendir. IDS, şirket güvenliğinde belirlenmiş olan bir eylem tetiklendiğinde bir komuta merkezini veya sistem adminini pager, mail veya cep telefonu vasıtası ile uyarabilir. Intrusion Prevention System’ler (IPSs), şüpheli bir trafik akını başladığında trafiği bloklamak gibi karşı önlemler başlatır. IPS sistemleri otomatik olarak bir saldırı girişimine cevap verir ve size erişimi engelleyebilme olanağı sunar. İki ana IDS çeşidi vardır :
Host Tabanlı : Host tabanlı IDS’ler (HIDSs) tek bir sistem veya host üzerinde bulunan
Sİ na
n
ve trafiği veya belirli işletim sistemi için bilinen işaret listesi içindeki olaylara göre filtreleyen uygulamalardır. HIDS’lere örnek olarak Norton Internet Security ve Cisco Security Agent (CSA) örnek olarak verilebilir. Uyarı : Bir çok wormlar ve Trojanlar bir HIDS’yi devre dışı bırakabilir.
Network Tabanlı : Network tabanlı IDS’ler (NIDs) networkde bulunan yazılım temelli araçlardır. Bunlar sadece tüm istenmeyen network trafik çeşitlerini tespit etmek için saldırı tespit amaçlı olarak kullanılır. Bu saldırılar içinde, güvenlik açığına sahip servislere karşı yapılan network saldırıları, uygulamalarda bulunan dataya yapılan saldırılar, ayrıcalık yükseltme, yetkisiz loginler ve hassas verilere erişim gibi host tabanlı saldırılar ve malware bulunur. NID’ler pasif sistemlerdir. IDS, potansiyel bir güvenlik ihlalini tespit eder, bilgiyi loglar ve konsol üzerinden bir uyarı çıkarır. Hacking Araçları Snort, Windows ve Linux sistemlerde çalışan gerçek zamanlı bir paket sniffer, HIDS ve trafik loglama aracıdır. Snort ve IDS kurallarını snort.conf dosyası içinden konfigüre edebilirsiniz. Snort’u yükleme ve çalıştırma komutu : Snort –l c: \snort \log –c C:\snort\etc\snoft.conf –A console
IDS, imza analizi yapabilir veya eğer trafik muhtemel bir saldırı ise anormal durumların tespitinide yapabilir. İmza tespiti IDS’lerin trafiği bilinen imzalar ve hatalı şablonlar ile eşleştirmesidir. Bir imza, bir paket veya paketler serisini tanımlamakta kullanılan şablondur. IDS, bir kişinin normal iş modelleri temelindeki saldırı girişimlerine
110
CEH – Chapter 13
bakmak için anormal durum tespitini kullanır ve sistemlere, dosyalara erişimlere, loginlere ve bunun gibi anormal davranışlar meydana geldiğinde uyarı verir. Bir hacker IDS’den trafiği değiştirip bu sayede bilinen imzalara uymamasını sağlayarak kurtulabilir. Bu işlem, saldırıyı yapmak için TCP yerine UDP veya ICMP yerine HTTP gibi farklı protokoller kullanarak yapılır. Ek olarak, hacker paketleri IDS’den geçirmek için saldırıyı bir çok küçük paketlere bölebilir, paketleri alan sistem paketleri tekrar birleştirdiğinde sistem tehlikeye girmiş olacaktır. Bu işlem session splicing olarak bilinir. Diğer tespit edilmeyi atlatma yöntemleri, fazladan veri koyma, encryption veya desenkronizasyon kullanarak veriyi veya adresleri gizlemek ve mevcut oturumu ele geçirmekdir. Hacking Araçları
ün
ADMutate, saldırı scriptini alır ve saldırıyı yapmak için farklı bir script yaratır (fakat işlevsellik olarak aynıdır). Yeni script, bilinen saldırı imazalarının olduğu veritabanında yoktur ve bu yüzden IDS tarafından bypass edilir.
Firewall Çeşitleri ve Honeypot’dan Kurtulma Teknikleri :
Sİ na
n
Ü
st
Firewall, networke erişimi engelleyen veya izin veren ve admin tarafından belirlenen kurallar ile paketlerin networkte nereye gideceğini belirleyen bir yazılım veya donanımsal aygıttır. Perimeter hardware firewall cihazı, güvenilen networkün, internet gibi güvenilmeyen network ile bağlı olduğu networkün uç kenarında veya networkler arasında kurulur. Software firewall, kişisel bilgisayarı, bir sistemi veya bir hostu network kartından giren istenmeyen paketlere veya kötü içerikli paketlere karşı koruma sağlar. Honeypot, Demilitarized Zone (DMZ) networkünüz içinde bulunan tuzak bir kutudur ve güvenlik uzmanları tarafından tuzak olarak veya hackerların yerlerini belirlemeye yardımcı olması için yada onları gerçek sistemden uzak tutmak amaçlı olarak kurulurlar. Honeypot, kötü niyetli saldırganın saldırı yapmayı deneyeceği bir tuzak sistemdir;sistem üzerindeki yazılım saldırganın IP adresi gibi bilgilerin logunu tutar. Bu bilgiler saldırganın salıdırı sonrasında veya saldırı sırasında yerinin tespit edilmesi için kullanılır. Honeypot için en iyi yer DMZ’de firewall önüne yerleştirilmesidir, bu yer hackerlar için çekici bir yerdir. Statik adrese sahip bir honeypot gerçek bir ürün server gibidir. Bir firewall’ı geçmenin en kolay yolu firewall’ın iç kısmındaki veya güvenilen tarafındaki bir sistemi tehlikeye düşürmektir. Tehlikedeki sistem firewall üzerinden güvenilen taraftan güvenilmeyen network tarafına doğru yani hackerın sistemine doğru iletişime geçer. Bunu yapmanın en yaygın yöntemi tehlikedeki sistemin hacker ile bağlantısını hedefin 80’inci portu üzerinden yapmasıdır. Bu clientın web için firewall üzerinden bir web servera istekde bulunması olarak gözükür. Bu işleme reverse WWW shell denir. Not : Bu saldırı etkilidir çünkü bir çok firewall default olarak 80 numaralı port üzerinden giden bağlantılara izin verir. HTTP trafiğini göndermek için tünel kullanmak, hackerın firewall’ı atlatmasını sağlar ve saldırıyı firewall için zararsız gibi gösterir. Bu tür saldırılar sistem adminleri tarafından nerdeyse takip edilemez saldırılardır. Hacking programları gizli kanallar
111
CEH – Chapter 13
yaratabilir. Bu kanallar ICMP ping request veya reply gibi izin verilen bir yol üzerinden saldırı trafiğinin yol almasını sağlar. Diğer bir gizli kanal tünellerini kullanmanın yöntemi, saldırı trafiğini bir TCP acknowledgment gibi gerçekleştirmektir. Bir honeypot tarafından kurulmuş olan tuzaktan kurtulmak için hacker, honeypot’un hedef sistem üzerinde çalıştığını belirleyen ve bununla ilgili uyarı veren bir anti-honeypot yazılımı kullanabilir. Bu yolla hacker bir honeypot’a saldırarak kendini açığa çıkarmaktan kurtulur. Bir çok anti-honeypot yazılımı sistem üzerinde çalışan honeyd gibi bilinen honeypotlara karşı kontrol yapar. Hacking Araçları 007 Shell, shell tünelleme programıdır. Bu program hackerın saldırı için gizli bir kanal kullanmasını ve bu sayede firewall’ı geçmesini sağlar. ICMP Shell, Telnet’e banzeyen ve hackerın hedef sistem ile ICMP komutları ile firewall üzerinden bağlantı kurmasını sağlayan bir programdır.
ün
AckCmd, sadece TCP ACK paketlerini firewall üzerinden kullanarak iletişim kuran client/server programıdır.
st
Covert_TCP, hackerın firewall üzerinden IP paketinin başlığına gizliyerek her seferinde bir byte dosya göndermesini sağlayan bir programdır.
Ü
Send-Safe Honeypot Hunter, honeypotları proxy serverlara karşı kontrol eden bir honeypot tespit aracıdır.
Önlemler
Sİ na
n
Specter, hackerın sisteme saldırı yaptığı sırada hacker ile ilgili bilgiyi otomatik olarak yakalayan bir honeypot sistemidir. Honeyd, network üzerinde sanal bir host yaratan ve sonrasında hackerların hedefi haline gelen bir açık kaynak honeypot’dur. KFSensor, honeypot gibi davranan host tabanlı bir IDS’dir ve sanal servisleri ve Trojan yüklemelerini simüle edebilir. Sobek, saldırganın klavye vuruşlarını yaklayan data yakalama honeypot aracıdır. Nessus Vulnerability Scanner (http://www.nessus.org/) honeypotları tespit etmek için kullanılabilir.
112
CEH – Chapter 14
Kriptografi Kriptografi, şifreleme ve şifreleme algoritmalarının incelenmesidir. Pratik anlamda şifreleme, mesajları anlaşılır biçimden (düz metin halinden) anlaşılmaz hale sokmak (şifrelenmiş metin) ve tekrar eski haline getirmektir. Şifrelemenin amacı, mesajın şifresinin nasıl çözüleceğini bilmeyen engelleyiciler veya kulak misafiri olanlar tarafından okunamaz hale getirmektir. Şifreleme çalışmaları iletişimde güvenliğin sağlandığından emin olmak için yapılır. Kriptografi, şifrelemede kullanılan teknikleri belirtir. Bu chapter şifreleme algoritmalarını ve kriptografi üzerinde duracaktır. Kriptografi ve Şifreleme Teknikleri :
na
n
Ü
st
ün
Şifreleme verinin aktarımı sırasında veya hard disk içinde tutulurken kullanılabilir. Kriptografi, verinin matematiksel olarak karıştırılarak bilginin korunması ile ilgilenir ve böylecede şifrelemede kullanılan matematik formülünü bilmeden okunabilir hale getirilemez. Bu matematiksel formule şifreleme algoritması denir. Şifreleme algoritmaları substitution (karakterlerin yerlerini başka karakterler ile değiştirmek) ve transposition (karakterlerin sırasını değiştirmek) gibi karakterlerin karıştırılma yöntemlerini kullanır. Şifreleme algoritmaları substitution ve transposition’a dayalı matematiksel hesaplamalardır. Symetric key encryption (Simetrik anahtar şifrelemesi) gönderen ve alan tarafın verinin şifrelenmesi ve şifrenin çözülmesi için aynı gizli anahtarı kullanması demektir. Simetrik anahtar şifrelemedeki sorun, birden fazla sistemler arasında anahtarı paylaşmak için güvenl bir yolun olmamasıdır. Simetrik anahtar şifrelemesi kullanan sistemler, anahtarı bir sistemden diğerine göndermek için offline bir yöntem kullanmaları gerekir. Client ve server’ın dünyanın farklı yerlerinde olan, internet gibi çok büyük ortamlarda çokda pratik değildir. Asymetric (veya public) key encryption, simetrik anahtarın dağıtımı ve yönetimindeki zayıflıkların ele alınması amacıyla yaratıldı. Asimetrik anahtar şifreleme bu chapter’ın ilerleyen bölümünde ele alınacaktır.
Si
Public ve Private Anahtarların Oluşturulması : Client ve Server asimetrik kriptografi kullanıdığında toplamda 4 anahtar için her ikiside kendi anahtar çiftini yaratır:server’ın publick anahtarı, server’ın private anahtarı, client’ın public anahtarı ve client’ın private anahtarı. Bir sistemin anahtar çifti, bir anahtar ile verinin şifrelenmesini diğer anahtar ilede şifrenin çözülmesini sağlayan bir matamatiksel ilişkiye sahiptir. Bu anahtarlar, herbir anahtarın diğer anahtarın şifrelediği verinin şifresini çözmek gibi bir asal sayıların faktörlerini bulma temeline dayalı bir matematiksel ilişiki içindedir. Client ve server karşılıklı olarak birbirlerini otantike etmek ve bilgi paylaşmak istediklerinde herbiri uzaktaki sisteme kendi public anahtarını gönderir fakat kesinlikle private anahtarlarını paylaşmazlar. Her mesaj alıcının public anaktarı ile şifrelenir. Sadece alıcının private anahtarı bu mesajın şifresini çözebilir. Server clienta gidecek olan mesajı client’ın public anahtarını kullanarak şifreler. Mesajın şifrelemesini çözecek olan anahtar client’dadır bu sayede gizlilik sağlamış olur.
113
CEH – Chapter 14
MD5, SHA, RC4, RC5 ve Blowfish Algoritmaları : Algoritmalar 40 bit’den 448 bite kadar anahtar uzunluğuna göre değişir. Anahtar uzunluğu ne kadar fazlaysa şifreleme algoritmasıda o kadar güçlü olur. Brute force, 40 bit uzunluğa sahip bir anahtarı 1.4 dakika ile 0.2 saniye arasında kırar, bu süre bilgisayarın işlem gücüne bağlıdır. Kıyaslandığında 64 bitlik anahtarı kırmak için 50 yıl ile 37 gün arasında bir süre gerekir tabiki yine bu süre bilgisayarın işlem gücüne bağlıdır. Günümüzde 256 bit üstündeki herhangi bir anahtarın kırılamaz olduğu düşünülür. Message Diggest 5 (MD5) , Secure Hash Algoritm (SHA), RC4 (Rivest Chiper 4), RC5 ve Blowship,bunların hepsi farklı matematiksel algoritmalar kullanan şifrelemelerdir. Bir CEH olarakda bu algoritmaları bilmeniz gerekir.
MD5 : MD5, 128 bitlik bir dizi oluşturmak için rastgele uzunlukta bir giriş kullanan
ün
hashing algoritmasıdır. Kaynağın bütünlüğünü sağlamak için mail veya dökümanlara uygulanan bir dijital imza yaratmak amaçlı olarak kullanılır ve kullanımıda yaygındır. Dijital imza işlemi ise, daha sonra gönderenin private anahtarı ile şifrelenecek olan, dökümanın MD5 mesaj özetini yaratmasıdır. MD5 mesaj özetleri dijital imza işleminde private anahtar ile şifrelenir.
st
SHA : SHA aynı zamanda şifrelenmiş verinin 160 bitlik bir özetini yaratan bir mesaj
Ü
özetidir. SHA, MD5’den biraz daha uzundur ve daha güçlü bir şifrelemedir. Bu algoritma hükümetler tarafından tercih edilir.
RC4 ve RC5 : RC4 simetrik key algoritmasıdır ve streaming cipher’dır yani bir seferde bir
n
bit şifrelenir. Rastgele matematiksel permutasyon ve değişken anahtar boyu kullanır. RC5 yeni nesil algoritmadır. Değişken blok boyutu ve değişken anahtar büyüklüğü kullanır. 256’dan daha küçük anahtar büyüklüklerine sahip RC5 kırılmıştır.
na
Blowfish : Blowfish 64 bit blok şifredir yani veri, yığınlar veya bloklar içinde şifrelenir.
Si
Stream cipher’a göre daha güçlüdür ve 32 ile 448 bit arasından değişken anahtar uzunluğuna sahiptir.
114
CEH – Chapter 15
İçeri Girme Test Yöntemleri Bir içeri girme testi, zorla giren kişilerin sistemlere ve şirket networküne yetkisiz girişi elde edip kullanmasını ve bunları tehlikeye düşürmesini simüle eden yöntemlerdir. Giriş testinin nedeni, güvenlik uygulamalarının ve şirket güvenlik politikasının test edilmesidir. Temel olarak şirketin güvenlik önlemlerini kendi güvenlik politikalarına göre uyguladığını görmektir. Yetkisiz olarak bir şirket networküne girmek isteyen bir hacker, kötü bir niyete ve amaca sahip olmayan zorla giriş testi yapanlara göre çok farklıdır ve kendi becerilerini şirketin network güvenliğini herhangi bir servis kaybına veya ticari olarak kesintiye neden olmadan artırmak için kullanırlar. Bu chapterda bir CEH olarak bilmeniz gereken penetration testine (pen test) bakacağız. Güvenlik Değerlendirmelerini Tanımlama :
Si
na
n
Ü
st
ün
Bir penetration (İçeri girme veya zorla girme) testi yapan kişi, gerçek saldırganın network veya bir uygulamanın tehlikeye düşmesinin potansiyel sonuçlarını tümüyle ortaya çıkarmak için şirketin güvenlik durumunun değerledirmesini yapar. Güvenlik değerlendirmeleri; güvenlik denetimleri, güvenlik açıklarının değerlendirilmeleri veya penetration testing gibi kategorilere ayrılabilir. Her bir değerlendirme, değerlendirmeyi yöneten kişilerin değerlendirmenin kapsamına göre farklı becerilere sahip olmasını gerektirir. Güvenlik denetimi ve güvenlik açığının değerlendirilmesi, bilinen güvenlik zayıflıklarına karşı IP networklerin ve hostların, ayaktaki sistemlerin belirlenmesi, kullanıcıları listelemek ve işletim sistemlerini ve uygulamaların belirlenmesi, yaygın güvenlik konfigürasyon hatalarına ve güvenlik açıklarına bakmak amaçlı olarak dizayn edilmiş araçlar ile taranmasıdır. Güvenlik açığı veya güvenlik değerledirmesi bir pen testin networke giriş denemesi sırasında sadece potansiyel açıklıkları belirler. Güvenlik değerlendirmesine örnek olarak, bir kapıya bakmak ve eğer kapı kilitli değil ise birilerinin yetkisiz olarak giriş yapabileceğini düşünmektir oysa pen test gerçekte bu kapıyı açıp nereye açıldığını görmeye çalışır. Pen test genelde bir sistemdeki veya networkteki zayıflıkları gösteren en iyi yoldur fakat çok fazla ilerleyen ve bu yüzdende potansiyel olarak network servisinin kesilmesine neden olur. Zorla Girme Testinin Yöntemlerine Bakış : İki çeşit güvenlik değerlendirmesi vardır : Harici ve dahili değerlendirmeler. Bir harici değerlendirme, herkes tarafından erişilebilir bilgiyi analiz ve test eder, network taramasını ve dökümünü idare eder, network perimeter dışından (genelde internet üzerinden) exploitleri çalıştırır. Dahili değerlendirme şirketi içi networkten gerçekleştirilir. Testi yapan kişi bir çalışanmış gibi bazı network erişimlerine sahip olabilir veya ortam ile ilgili bilgisi olmayan bir black hat gibide davranabilir. Black hat pen test genelde beklenmeyen sorunların oluşmasında yüksek riske sahiptir. Takım, zamanı ve kaynakları verimli kullanmak için olasılık planlarını hazırlamak konusunda tedbirli olmalıdır. Eğer işi bilen veya deneyimli testçileriniz yoksa veya Health Insurance Portability and Acoountability Act (HIPAA-Sağlık sigortasını korumak amaçlı yasa) gibi denetleme
115
CEH – Chapter 15
girme testleri 3 aşamalıdır : Saldırı öncesi aşaması Saldırı aşaması Saldırı sonrası aşaması
n
Zorla
Ü
Penetration Test Yapmanın Adımları :
st
ün
ihtiyaçlarınızı karşılamak için özel bir değerlendirme gerçekleştirmeye ihtiyacınız varsa, penetration test işleminizi dışardan başka birine yaptırabilirsiniz. Bir firma değerlendirme deyimini kullanırken değerlendirmenin kapsamını belirtmek zorundadır ki bunun içinde neyi test edeceği ve neyi test etmiyeceği vardır. Örneğin, bir pen testin Demilitarized Zone (DMZ) içindeki ilk 10 sistemi test sınırı olarak hedeflemesi veya olabildiğince çok açığı ortaya çıkaran geniş kapsamlı bir değerlendirmeyi hedeflemesi gibi. Çalışma kapsamı olarak, servis seviyesi antlaşması (SLA) içinde ciddi bir servis kesintisi durumunda alınacak herhangi bir eylem belirlemenin tanımı yapılmış olmalıdır. Değerlendirme ekibini cazip kılacak diğer koşullar istenilen bir kodu, izlenecek prosedürleri ve etkileşimi veya test ekibi ile şirket arasındaki etkileşimi veya bunun eksikliğini belirtebilir. Güvenlik değerlendirmesi veya pen test bir çok farklı araçlar ile ki genelde bu ücretsiz veya shareware araçlardır, manuel olarak yapılabilir. Diğer bir farklı yaklaşımda daha pahalı olan araçların kullanımıdır. Şirketinizin güvenlik durumunu manuel test kullanarak değerlendirme bazen standart şablon kullanan otomatik araçlara göre daha iyi bir seçenek olabilir. Şirket bilgiyi analiz edecek olan tecrübeli uzmanlardan yararlanabilir. Manuel olmayan yaklaşım daha hızlı ve kolay olabilecek iken denetleme sırasında bazı şeyler gözden kaçabilir. Bununla birlikte manuel yaklaşım tarzı planlama, zamanlama ve özenli bir dökümantasyon gerektirir.
Si
na
Saldırı öncesi aşama, keşif veya veri toplama aşamasıdır. Penetration testi yapan için ilk adımdır. Whois, DNS veya network taraması ile toplanan bilgi hedef networkün haritasını çıkarmaya yardım eder ve hedef sistemdeki işletim sistemi, çalışan uygulamalar konusunda değerli bilgiler sağlar. Pen test, Ip adres bloğunun belirlenmesi ve kişisel kontak bilgilerini bulmak için Whois domain ismini kullanmak ve sonrasında detaylı bir network diagramını yaratmak amacıyla kullanılacak hostlar ile ilgili bilginin dökümünü almak ve hedefleri belirlemek için gerçekleştirilir. Ayrıca normal network trafiğine bakmak için network filtreleme aygıtlarının testi yapılmalı, proxy serverlarda stres testi yapılmalı ve default kullanıcı ID’leri, şifreleri ve guest şifrelerinin değiştirildiğinden veya disable edildiğinden ve uzaktan login olmanın engellendiğinden emin olmak için firewall’ın default yüklemesi kontrol edilmelidir. Bir sonraki aşama saldırı aşamasıdır ve saldırı aşaması sırasındaki araçlar tehlikeli ve hassas bir aralıktadır. Bu araçlar sistemlerin ve networklerin güvenliğini test etmek ve takip etmek için uzman hackerlar tarafından kullanılır. Aşağıdaki faaliyetleri içerir fakat bunlarla sınırlı değildir : Perimeter’a Girmek : Bu işlem hata raporlarına bakmayı, hazırlanmış paketli cevapların işlenmesi ile Access Control Listlerin kontrol edilmesi ve SSH, FTP ve Telnet gibi çeşitli protokoller kullanarak protokol filtreleme kurallarının değerlendirilmesidir. Test eden kişi ayrıca buffer overflow’ları, SQL injectionları , kötü giriş doğrulamayı, çıktı temizlemeyi ve Dos saldırılarınıda test etmelidir.Yazılım testi için içerdeki web uygulamalarını ve
116
CEH – Chapter 15
wireless konfigürasyonunu test etmek amacıyla zaman ayırmanız gerekir bunun nedeni günümüzde içerden gelecek tehlike en büyük güvenlik tehlikesi olmasıdır. Hedefi Ele Geçirmek : Bu faaliyet dizisi güvenlik açığı taraması ve denetlemeden daha zor ve büyüleyicidir. CORE IMPACT gibi işlemleri otomatikleştiren exploit aracı kulanabilirsiniz veya social engineering ile elde edilen bilgiler kullanılarak sisteme erişim denemesi yapılabilir. Bu eylem aynı zamanda güvenlik politikasının zorlanmasını, bruteforce şifre kırıcıları veya korunan kaynaklara büyük erişim sağlanması için admin araçlarının kullanılmasının test edilmesinide içerir. Ayrıcalıkların Yükseltilmesi : Bir kez kullanıcı hesabı ele geçirildiğinde test yapan kişi bu kullanıcı hesabının ayrıcalıklarını yükselterek networkteki sistemler için daha fazla ayrıcalıklar ve haklar verebilir. Bir çok hack aracı sistem içindeki güvenlik açıklarından faydalanabilir ve admin ayrıcalıklarına sahip yeni kullanıcı hesapları yaratabilir.
st
ün
Çalıştırma, Yerleştirme ve Geri Çekilme : Bu testin son açamasıdır. Hacking beceriniz,ticari işleri kesintiye uğratmadan sistem veya network üzerinde ayrıcalıkların artırılması ile meydan okumaya başlar. Bir iz bırakma korunan kaynaklara daha fazla erişim sağlayabildiğinizi gösterebilir. Bir çok firma işaretler veya keyfi kodlar bırakmanızı istemez ve bu tür sınırlamalar test başlamadan önce üzerinde anlaşılır ve belirlenir.
na
n
Ü
Post-attack veya saldırı sonrası aşaması, test öncesindeki normal konfigürasyonlara sistemi geri getirmektir. Bunun içinde dosyaları kaldırmak, eğer açıklar yaratılmış ise registry içinden kaldırmak, paylaşımları ve bağlantıları kaldırmak bulunur. Son olarak, sonuçların hepsini analiz edersiniz ve bunu kapsamlı bir rapor içine koyar ve yönetime raporlarsınız. Bu rapor içinde hedefleriniz, gözlemleriniz, girişimde bulunduğunuz tüm eylemler ve bunların test sonuçları ve güvenlik açıklarını düzeltmek için tavsiyeleriniz bulunur. Pen-Test’in Yasal Yapısına Bakış :
Si
Penetration testi yapan kişinin bir networkü hacklemenin yasal sonuçları konusunda tamamıyla etik nedenden dolayı bilgi sahibi olmalıdır. Hack yapmak konusunda uygulanabilen yasal mevzular Chapter 1 içinde anlatılmıştır. Client ile arasında imzasının olduğu bir penetration testi yapan ethical hacker’ın dokümanları aşağıdaki gibidir:
Nelerin test edileceğini belirten işin kapsamı Gizlilik antlaşması; test eden kişinin önemli bilgileri görmesi durumunda Sorumluluktan feragat; pen test sırasında servislerde meydana gelecek herhangi bir kesinti veya eylem konusunda ethical hacker’ı sorumlu tutmamak için
Otomatik Olarak Penetration Testi Yapan Araçlar : 2006 yılında hackerların mailing listinin anketinde güvenlik açığı taraması yapan araçlar için bir top 10 listesi yaratıldı ve buna 3000 den fazla kişi cevap verdi. Bu listeyi yaratan Fyodor (http://insecure.org/fyodor) nickli kişi şunu söyledi “Güvenlik alanındaki herkese listenin üstünde olmaları ve bilmedikleri araçları öğrenmeleri tavsiye edilir”. Aşağıdakiler hackerın araç çantası içinde olması gereken pen test araçlarıdır :
117
CEH – Chapter 15
Nessus : Bu ücretsiz network açıklık tarayıcısı 11.000 plug-in’e sahiptir. Bunun içinde uzak ve lokal güvenlik kontrolü , GTK grafik arayüze sahip client/server mimarisi ve kendi plug-in’inizi yazmanız veya mevcut olanı anlamanız için gömülü scripting dili’de dahildir. GFI LANguard : Bu, Windows için ticari bir network güvenlik tarayıcısıdır. Bu araç, Ip networkleri hangi makinelerin çalıştığını öğrenmek için tarar. Bilgisayardaki işletim sistemini, hangi uygulamaların çalıştığını, hangi service pack’lerin yüklü olduğunu, güvenlik yamalarının olup olmadığını ve daha fazlasını belirler. Retina : Bu araç, eEye tarafından çıkarılan ticari güvenlik açığı değerlendirme aracıdır. Nessus gibi Retina da networkteki tüm hostları tarar ve bulduğu açıkları raporlar.
ün
CORE IMPACT : Bu araç, en güçlü mevcut sömürü aracı olarak yaygın bir şekilde kabul görmüş bir otomatik pen test ürünüdür (Ayrıca biraz pahalıdır). Büyük ve gelişmiş expolitler için düzenli güncellenen bir veritabanına sahiptir. Özellikleri arasında bir makineden yararlanma ve sonrasında diğer makinelerede ulaşıp onlardanda yararlanabilmek için şifrelenmiş bir tünel yaratabilmede vardır.
Ü
st
ISS Internet Scanner : Bu uygulama seviyesinde açıklık değerlendirme aracıdır. Networkünüzde 1300 çeşitten fazla network cihazını belirleyebilir, bunlar içinde masaüstü bilgisayarlar, serverlar, routerlar/switchler, firewallar, güvenlik araçları ve uygulama routerları bulunur.
n
X-Scan : X-Scan genel çoklu plug-in destekli network açıklık tarayıcısıdır. Servis tiplerini, uzak işletim sistemlerini ve versiyonlarını ve zayıf kullanıcı adlarını ve şifrelerini tespit edebilir.
na
SARA : Security Auditor’s Research Assistant (SARA) aracı, System Administrator Tool for Analyzing Networks (SATAN) tarayıcısından türetilmiş bir açıklık değerlendirme aracıdır. Güncellemeler genellikle ayda iki kez yapılır.
Si
QualysGuard : Bu web tabanlı açıklık tarayıcısıdır. Kullanıcılar kullanımı kolay bir web arayüz üzerinden güvenli bir şekilde QualysGuard’a erişebilirler. 5000 den fazla açığı kontrol edebilme ve sonuca bağlı tarama özelliğine sahiptir. MBSA : Microsoft Baseline Security Analyzer (MBSA), Windows Update Agent ve Microsoft Update eklentisidir. Diğer Microsoft ürünleri ile tutarlılığı sağlar ve ortalama olarak her hafta 3 mlyondan fazla bilgisayarı tarayabilir.
Bu listeye ek olarak aşağıdaki açıklıktan yararlanma araçlarınıda bilmeniz gerekir: Metasploit Framework : Bu, expolit kodunu kullanmak, geliştirmek ve test etmek için kullanılan açık kaynak yazılımdır. Canvas : Canvas, açıklardan yararlanma aracıdır. 150 den fazla exploit içerir.
118
CEH – Chapter 15
Pen-Test Sonrası Teslim Edilecek Şeyler : Bir pen test sonunda temel teslim edilecek olan materyal pen test raporudur. Bu rapor içinde olması gerekenler :
ün st Ü n na
Bulduğunuz şeylerin listesi. Yüksek risk sırasına göre Bulduklarınızın analizi Bulduklarınızın açıklaması veya sonucu Bulduklarınız için iyileştirme önlemleri Bulduğunuz kanıtları desteklemenizi sağlıyacak olan araçların sağladığı log dosyaları Şirketin güvenlik durumunun yönetici özeti Testi yapanın ismi ve testin yapıldığı tarih Bulunan herhangi bir pozitif şeyler veya iyi güvenlik uygulamaları
Si
119