119

Click here to load reader

CEH - Certified Ethical Hacker

  • Upload
    sinan

  • View
    1.793

  • Download
    10

Embed Size (px)

Citation preview

Page 1: CEH - Certified Ethical Hacker

CEH – CHAPTER 1

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.

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.

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.

Target of Evaluation : Güvenlik analizi veya saldırının hedefi olan sistem, program veya

network

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.

Sinan

Üstün

Page 2: CEH - Certified Ethical Hacker

CEH – CHAPTER 1

2

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.

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.

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.

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 :

Sinan

Üstün

Page 3: CEH - Certified Ethical Hacker

CEH – CHAPTER 1

3

İş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.

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.

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.

Sinan

Üstün

Page 4: CEH - Certified Ethical Hacker

CEH – CHAPTER 1

4

Ethical Hacking İçindeki Farklı Evreleri Anlamak ve Ethical Hacking’in 5

Evresi :

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

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

Sinan

Üstün

Page 5: CEH - Certified Ethical Hacker

CEH – CHAPTER 1

5

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

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

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.

Sinan

Üstün

Page 6: CEH - Certified Ethical Hacker

CEH – CHAPTER 1

6

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)

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 :

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 :

1. İşletim Sistemi saldırıları

2. Uygulama seviyesinde saldırılar

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

Sinan

Üstün

Page 7: CEH - Certified Ethical Hacker

CEH – CHAPTER 1

7

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.

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.

Hacktivism :

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ı :

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.

Sinan

Üstün

Page 8: CEH - Certified Ethical Hacker

CEH – CHAPTER 1

8

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.

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.

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.

Ethical Hacker’lar ve Cracker’lar. Kim bu Adamlar ?

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

Sinan

Üstün

Page 9: CEH - Certified Ethical Hacker

CEH – CHAPTER 1

9

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.

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.

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.

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.

Sinan

Üstün

Page 10: CEH - Certified Ethical Hacker

CEH – CHAPTER 1

10

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.

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.

Nasıl Ethical Hacker Olunur :

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.

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ı

Sinan

Üstün

Page 11: CEH - Certified Ethical Hacker

CEH – CHAPTER 1

11

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.

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 ? :

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

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 :

Sinan

Üstün

Page 12: CEH - Certified Ethical Hacker

CEH – CHAPTER 1

12

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.

Vulnerability Araştırma Siteleri :

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 :

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

Sinan

Üstün

Page 13: CEH - Certified Ethical Hacker

CEH – CHAPTER 1

13

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.

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 :

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.

Sinan

Üstün

Page 14: CEH - Certified Ethical Hacker

CEH – CHAPTER 1

14

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 :

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.

Sinan

Üstün

Page 15: CEH - Certified Ethical Hacker

CEH – CHAPTER 1

15

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.

18 U.S.C. § 1029 ve 1030 Numaralı Amerika Yasasını Anlamak:

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.

Sinan

Üstün

Page 16: CEH - Certified Ethical Hacker

CEH – CHAPTER 2

16

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ı : 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

Sinan

Üstün

Page 17: CEH - Certified Ethical Hacker

CEH – CHAPTER 2

17

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. 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.

Sinan

Üstün

Page 18: CEH - Certified Ethical Hacker

CEH – CHAPTER 2

18

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.

DNS Enumeration (DNS Dökümü)’nü Anlamak : Dns enumeration, tüm DNS serverların yerini ve şirket ile iligili kayıtlarını belirleme 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 : 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.

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.

Sinan

Üstün

Page 19: CEH - Certified Ethical Hacker

CEH – CHAPTER 2

19

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.

Şekil 2 : Eccouncil üzerinde DNS kayıt araması.

Whois ve ARIN Aramaları : 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.

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

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.

Sinan

Üstün

Page 20: CEH - Certified Ethical Hacker

CEH – CHAPTER 2

20

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.

Ş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

Sinan

Üstün

Page 21: CEH - Certified Ethical Hacker

CEH – CHAPTER 2

21

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

Sinan

Üstün

Page 22: CEH - Certified Ethical Hacker

CEH – CHAPTER 2

22

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 :

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.

Farklı DNS Kayıtlarını Tanımak : 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.

Sinan

Üstün

Page 23: CEH - Certified Ethical Hacker

CEH – CHAPTER 2

23

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. 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.

E-Mail Takibinin 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.

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ı görsel olarak sunar.

Sinan

Üstün

Page 24: CEH - Certified Ethical Hacker

CEH – CHAPTER 2

24

Web Örümcekleri Nasıl Çalışır :

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. Social Engineering : 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ı.

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.

Sinan

Üstün

Page 25: CEH - Certified Ethical Hacker

CEH – CHAPTER 2

25

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. Hile Sanatı : 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. 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.

Sinan

Üstün

Page 26: CEH - Certified Ethical Hacker

CEH – CHAPTER 2

26

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 : İnsan Temelli social engineering, aşağıdaki gibi geniş bir şekilde kategorilere ayrılabilir : 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. Ö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

Sinan

Üstün

Page 27: CEH - Certified Ethical Hacker

CEH – CHAPTER 2

27

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 : 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ığı : 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 :

Sinan

Üstün

Page 28: CEH - Certified Ethical Hacker

CEH – CHAPTER 2

28

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 . En iyi dileklerimle, Müşteri Destek Servisi

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 : 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”

Sinan

Üstün

Page 29: CEH - Certified Ethical Hacker

CEH – CHAPTER 2

29

Social Engineering’e Karşı Önlemler : 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.

Sinan

Üstün

Page 30: CEH - Certified Ethical Hacker

CEH – CHAPTER 3

30

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şlemi-Listeleme), 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) :

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. Port Scanning, Network Scanning ve Vulnerability (Saldırıya Açık Yerlerin) Scanning : 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.

Scanning Çeşidi Amacı

Port Scanning Açık olan portları ve servisleri belirlemek

Network scanning IP adreslerini belirlemek

Vulnerability Scanning Bilinen zayıf noktaları belirlemek

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.

Sinan

Üstün

Page 31: CEH - Certified Ethical Hacker

CEH – CHAPTER 3

31

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. 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. CEH Tarama Yöntemini Anlamak : 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.

Sinan

Üstün

Page 32: CEH - Certified Ethical Hacker

CEH – CHAPTER 3

32

Şekil 1 : CEH tarama yöntemi

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.

Sinan

Üstün

Page 33: CEH - Certified Ethical Hacker

CEH – CHAPTER 3

33

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.

Ping Sweep’leri Tespit Etme : 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 : 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.

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.

Sinan

Üstün

Page 34: CEH - Certified Ethical Hacker

CEH – CHAPTER 3

34

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 : 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 Tarama Çeşidi Açıklama

TCP connect Saldıran kişi hedef sisteme tam bir TCP bağlantısı gerçekleştirir.

XMAS tree scan 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.

SYN stealth scan 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.

Null Scan 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.

Windows scan Bu tür tarama ACK taraması ile benzerdir ve sadece açık portları tespit eder.

ACK scan 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.

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.

Sinan

Üstün

Page 35: CEH - Certified Ethical Hacker

CEH – CHAPTER 3

35

Nmap Command Scan Performed

-sT TCP connect scan

-sS SYN scan

-sF FIN scan

-sX XMAS tree scan

-sN Null scan

-sP Ping scan

-sU UDP scan

-sO Protocol scan

-sA ACK scan

-sW Windows scan

-sR RPC scan

-sL List / DNS scan

-sI Idle scan

-Po Don’t ping

-PT TCP ping

-PS SYN ping

-PI ICMP ping

-PB TCP ve ICMP ping

-PB ICMP timestamp

-PM ICMP netmask

-oN Normal çıktı

-oX XML çıktı

-oG Greppable output

-oA Tüm çıktı

-T Paranoid Serial scan; taramalar arasında 300 sn.

-T Sneaky Serial scan; tarmalar arasında 15 sn.

-T Polite Serial scan; .taramalar arasında 4 sn.

-T Normal Parallel scan

-T Aggressive Parallel scan, zaman aşımı 300 sn., ve 1.25 sn/probe

-T Insane Parallel scan, zaman aşımı 75 sn, ve .3 sn/probe(araştırma-sonda)

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

Sinan

Üstün

Page 36: CEH - Certified Ethical Hacker

CEH – CHAPTER 3

36

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. 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. 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. TCP İletişim Etiket (Flag) Türleri : 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

Sinan

Üstün

Page 37: CEH - Certified Ethical Hacker

CEH – CHAPTER 3

37

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.

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.

XMAS Tarama Hacker tarafından gönderilen Flag’lar

XMAS scan Tüm flaglar belirtilmiş (ACK, RST, SYN, URG, PSH, FIN)

FIN scan FIN

NULL Scan Flag belirtilmemiş

TCP connect / full-open scan

SYN, daha sonra ACK

SYN scan / half-open scan SYN, daha sonra RST

Hacking Araçları IPEye aracı, SYN, FIN, NULL ve XMAS taramaları yapabilen TCP Port tarayıcısıdır. Komut satırından kullanılır.

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.

Sinan

Üstün

Page 38: CEH - Certified Ethical Hacker

CEH – CHAPTER 3

38

War Dialing Teknikleri :

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.

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

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.

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.

Sinan

Üstün

Page 39: CEH - Certified Ethical Hacker

CEH – CHAPTER 3

39

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 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.

Sinan

Üstün

Page 40: CEH - Certified Ethical Hacker

CEH – CHAPTER 3

40

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.

Anonymizer’lar (Kimlik Gizleyiciler) Nasıl Çalışır : 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.

Hacking Araçları 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.

Sinan

Üstün

Page 41: CEH - Certified Ethical Hacker

CEH – CHAPTER 3

41

IP Spoofing Tekniklerini Anlamak : 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.

Enumeration (Listeleme – Döküm çıkarma) :

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.

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

Sinan

Üstün

Page 42: CEH - Certified Ethical Hacker

CEH – CHAPTER 3

42

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

Null Oturumlar Ne İfade Eder : 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. 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: ""

Hacking Araçları 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.

Sinan

Üstün

Page 43: CEH - Certified Ethical Hacker

CEH – CHAPTER 3

43

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 : 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.

Sinan

Üstün

Page 44: CEH - Certified Ethical Hacker

CEH – CHAPTER 3

44

Şekil 3 : En alt sağ taraftaki Advanced butonuna tıklayın.

Ş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

Sinan

Üstün

Page 45: CEH - Certified Ethical Hacker

CEH – CHAPTER 3

45

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). 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. 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.

Sinan

Üstün

Page 46: CEH - Certified Ethical Hacker

CEH – CHAPTER 3

46

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. Windows 2000 DNS Zone Transferi : 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. Nslookup ls –d domainismi 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.

Global Catalog servisi (_gc._tcp) Domain Controller’lar (_ldap._tcp) Kerberos otantikasyonu (_kerberos._tcp)

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.

Sinan

Üstün

Page 47: CEH - Certified Ethical Hacker

CEH – CHAPTER 3

47

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.

Enumeration İşlemini Gerçekleştirmek İçin Gerekli Adımlar :

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 :

1. Enumeration kullanarak kullanıcı adlarını almak 2. Null oturumlar ile host hakkında bilgi toplamak 3. Superscan aracını kullanarak Windows enumeration işlemini gerçekleştirmek 4. GetAcct aracı ile kullanıcı adlarını elde etmek 5. SNMP port tarama işlemini gerçekleştirmek.

Hacking Tools 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 bir araçtır.

Sinan

Üstün

Page 48: CEH - Certified Ethical Hacker

CEH – CHAPTER 4

48

System Hacking

Password Kırma Tekniklerini Anlamak : 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

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.

Sinan

Üstün

Page 49: CEH - Certified Ethical Hacker

CEH – CHAPTER 4

49

LanManager Hash : 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. 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

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.

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.

Sinan

Üstün

Page 50: CEH - Certified Ethical Hacker

CEH – CHAPTER 4

50

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.

SMB Logon İşlemini Saldırgana Yönlendirme : Ş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) : Bir çok hacking aracı otomatik olarak SMB yönlendirmesini gerçekleştirir.

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. 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.

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.

Sinan

Üstün

Page 51: CEH - Certified Ethical Hacker

CEH – CHAPTER 4

51

SMB Relay MITM (Man-in-the-middle) Saldırıları ve Buna Karşı Önlemler : 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ı

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.

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.

Hacking Araçları 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.

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.

Sinan

Üstün

Page 52: CEH - Certified Ethical Hacker

CEH – CHAPTER 4

52

Password Kırmaya Karşı Önlemler : Ş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 :

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.

Şifre Değiştirmek İçin Zaman Aralıkları : Ş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

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.

Sinan

Üstün

Page 53: CEH - Certified Ethical Hacker

CEH – CHAPTER 4

53

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.

Ş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.

Sinan

Üstün

Page 54: CEH - Certified Ethical Hacker

CEH – CHAPTER 4

54

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. Offline : Dictionary, hybrid ve brute-force saldırıları Elektronik olmayan : Shoulder surfing (Çaktırmadan bakmak), keyboard sniffing ve social engineering. Passive Online Saldırılar : 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. 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.

Sinan

Üstün

Page 55: CEH - Certified Ethical Hacker

CEH – CHAPTER 4

55

Active Online Saldırılar : 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$ 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. Atomatik Olarak Şifre Tahmin Etme İşlemi : 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 :

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;i<11; i++)); do dd if=/dev/random of=/dev/hda && dd if=/dev/zero of=dev/hda done Ayrıca hard disk içinden veriyi silmek içinde kullanılacak komut : $ wipe -fik /dev/hda1

Sinan

Üstün

Page 56: CEH - Certified Ethical Hacker

CEH – CHAPTER 4

56

Şifre Tahmin Etme İşlemine Karşı Korunma : Şifre tahmin etme işlemi ve şifre saldırılarına karşı savunma için iki seçeneğimiz var. Smart cart’lar ve biometricler, doğasında güvenliği barındırmayan kullanıcının yarattığı şifrelerde güvenlik için bir katman sağlar. Bir kullanıcının, biometric’ler kullanılarak otantikasyonu veya doğrulaması sağlanabilir. Biometricler parmak izi, el taraması, retina taraması gibi fiziksel karakterleri kullanıcının kimlik bilgilerini doğrulamak için kullanır. Smart kartlar ve Biometriclerin her ikiside kimlik belirlemeyi iki biçimde gerektiren two-factor otantikasyonu (Smart kart ve şifre gibi) kullanır. Kullanıcıdan fiziksel olarak bir şeyler istenmesi (Bu örnekte smart kart) ve kullanıcının bildiği bir şeylerin istenmesi ile güvenlik artırılır ve otantikasyon işlemi şifre saldırıları için müsait bir hale gelmez. Not : RSA Secure ID iki etkenli otantikasyondur. Bu otantikasyon türünde token ve password kullanılır. Offline Saldırılar : Offline saldırılar, şifrenin tutulduğu veya kullanıldığı asıl bilgisayar yerine başka bir lokasyondan geçekleştirilir. Offline saldırılar genelde bilgisayara fiziksel olarak erişimi ve şifre dosyasının sistemden taşınabilir bir medyaya kopylanmasını gerektirir. Daha sonra hacker kırma işlemi için dosyayı başka bir bilgisayara alır.Bir çok offline saldırı türü mevcuttur. Aşağıdaki tablo her bir saldırının anlatımını göstermektedir.

Saldırı Türü Özellikler Örnek Şifre

Dictionary Saldırısı

Bir dictionary listesinin içindeki kelimelerden şifre denemelerinde bulunmak

Administrator

Hybrid Saldırı Şifrenin karakterlerinin yerine farklı semboller yerleştirerek denemek

Adm1n1strator

Brute-Force Saldırısı

Mümkün olan tüm sayı, harf ve özel karakterlerin kombinasyonunu kullanmak

Ms!tr245@F5a

Dictionary saldırısı, saldırı türlerinden en basit ve en hızlı olanıdır. Bu saldırı sözlük içinde bulunabilen kelimeler ile şifre belirlemek için kullanılır. En yaygın kullanımı ile saldırı, otantikasyon işleminde kullanılan aynı algoritmayı kullanarak hash edilmiş muhtemel kelimelerin bulunduğu dictionary dosyasını kullanmak şeklindedir. Daha sonra hash edilmiş olan sözlük kelimeleri kullanıcının log on olduğu hash edilmiş şifreler ile veya server üzerinde tutulan şifrelerle karşılaştırması yapılır. Dictionary saldırısı sadece şifre gerçek sözlük kelimesi ise çalışır bu yüzden bu tür saldırılarda bazı sınırlamalar vardır. Bu saldırı, sayılar ve diğer sembollerin olduğu güçlü şifrelere karşı kullanılamaz. Hybrid saldırı, eğer dictionary saldırısı ile şifre bulanamazsa hacker’ın gerçekleştireceği bir sonraki seviye saldırıdır. Hybrid saldırı dictionary saldırısı ile başlar ve şifre içindeki karakterler sayılar ve semboller ile değiştirilir. Örneğin, bir çok kullanıcı şifrelerinin sonuna güçlü şifre gereksinimini karşılama için 1 rakamını koyar. Hybrid saldırı şifreler içindeki bu tür aykırılıkları bulmak için dizayn edilmiştir.

Sinan

Üstün

Page 57: CEH - Certified Ethical Hacker

CEH – CHAPTER 4

57

En fazla zaman isteyen saldırı türü brute-force saldırılarıdır. Bu saldırı, mümkün olan tüm büyük ve küçük harflerin, sayıların ve sembollerin kombinasyonunu dener. Brute-force saldırısı üç saldırı türünden en yavaş olanıdır çünkü şifre içinde denenmesi gereken çok fazla sayıda kombinasyon vardır. Bununla birlikte bu saldırı verimlidir, yeterli zaman ve işlem gücü verilirse sonuç olarak tüm şifreler kırılır.

Nonelectronic Saldırılar : Nonelectronik veya teknik olmayan saldırılarda teknik bilgi kullanılmaz. Bu tür saldırılara social enginnering, shoulder surfing, keyboard sniffing ve dumpster diving (Çöp karıştırma) örnek verilebilir. Social enginnering, insanlar ile yüz yüze veya telefon ile iletişime geçip, şifreler gibi değerli bilgileri alma sanatıdır. Social enginnering, insanlardaki iyilik ve yardımseverlik duygularına dayanır. Help desk çalışanları bu tür saldırılara daha fazla maruz kalırlar çünkü işleri insanlara yardım etmektir ve şifreleri sıfırlamak veya kurtarmak onların işleridir. Social enginnering saldırısına karşı en iyi önlem tüm çalışanları güvenlik bilinci konusunda ve şifre sıfırlama sırasındaki güvenlik prosedürleri konusunda eğitmektir. Shoulder surfing, insanlar şifrelerini yazarken omuz üstünden bakmak daha doğrusu çaktırmadan yazılanlara bakmaktır. Bu saldırı, hacker sistem ve kullanıcıya yakın olduğu zaman yapılabilir. Bilgisayar ekranının görünmesini zorlaştıran açılı özel ekranlar shoulder surfing saldırısının önüne geçecektir. Ayrıca çalışanların bilinçlendirilmesi ve eğitimler bu tür saldırıları neredeyse tamamen engelliyecektir. Dumpster Diving saldırısında hackerlar şifreler gibi önemli bilgileri bulmak için çöp kutularını karıştırırlar. Bu saldırıda da gene hackerların çöp karıştırarak önemli bilgilere ulaşmasını önlemek için önemli dökümanların okunamayacak hale getirilmesi konusunda çalışanların bilinçlendirilmesi ve bu konuda eğitilmesi gerekir. Keylogger’lar ve Diğer Spyware Teknolojileri : Eğer tüm diğer girişimler şifreleri ele geçirmekte başarısız olursa, keystroke logger aracı hackerlar için bir sonraki seçim olacaktır. Keystroke Logger’lar veya bilinen adıyla keylogger’lar donanım veya yazılımdan biri kullanılarak gerçekleştirilebilir. Hardware keyloggerlar bilgisayardaki klavye ile bağlantı kuran ufak cihazlardır ve her bir klavye vuruşunu bir dosyaya yada cihazın belleğine kaydeder. Hardware keylogger yüklemek için hacker’ın sisteme fiziksel olarak erişime sahip olması gerekir. Yazılım tabanlı keylogger’lar işletim sistemi ile klavye arasında bulunan görünmez, gizli yazılımlardır. Bu sayede basılan tüm klavye tuşlarını kaydederler. Software keylogger’lar bir trojan veya virüs ile sisteme yerleştirilir. Not : Trojan ve Virüslerin kullanımı Chapter 5 içinde anlatılacaktır.

Sinan

Üstün

Page 58: CEH - Certified Ethical Hacker

CEH – CHAPTER 4

58

Ayrıcalıkların Yükseltilmesi : Ayrıcalıkların yükseltilmesi hacking çemberindeki üçüncü adımdır. Ayrıcalıkların yükseltilmesi basitçe kullanıcı hesabına daha fazla haklar ve izinler vermektir. Basit söyleniş ile standart kullanıcı hesabını administrator hesabı haline getirmektir. Genelde Administrator hesabının daha sıkı şifre belirleme ihtiyacı vardır ve onların şifreleri daha fazla korunması gerekir. Eğer bir hesabın kullanıcı adı ve şifresi, administrator hakları ile bulunması mümkün değil ise, hacker daha düşük ayrıcalıklara sahip bir hesabı kullanmayı seçebilir. Bu nedenledirki hacker seçtiği hesabın ayrıcalıklarını yükseltmek zorundadır. Bu işlemi yapabilmek için ilk olarak admin olmayan bir kullanıcı hesabını kullanarak giriş sağlamalıdır (Daha önce bahsettiğimiz kullanıcı adı ve şifre elde etme yöntemlerinden biri ile) ve sonrasında hesabın sahip olduğu ayrıcalıkları administrator seviyesine çıkaracaktır. Bir kez hacker geçerli bir kullanıcı hesabı ve şifreye sahip olduğunda bir sonraki adımı, uygulamaları çalıştırmak olacaktır. Genel olarakda hacker’ın programları yükleyebilmesi için administrator seviyesinde erişime ihtiyacı vardır ve buda niye ayrıcalıkların yükseltilmesinin önemli olduğunu gösteriyor.

Hacking Araçları Spector, internet üzerinde sistemin yaptığı herşeyi kaydeden bir spyware’dir. Spector, otomatik olarak ekran üzerinde ne varsa saat başı yüzlerce snapshot alır ve bu görüntüleri sistemin hard diskinde gizli bir yerde tutar. Spector, Anti-spector ile tespit edilip, sistemden kaldırılabilir.

eBlaster, gelen ve giden mailleri yakalayan ve bu mailleri başka bir maile ileten spy yazılımıdır. Ayrıca anlık ileti mesajlarını yakalar, klavye vuruşlarını loglar ve girilen web sitelerini kaydeder.

SpyAnywhere, sistem faaliyetlerine ve kullanıcı harketlerine bakma, kapatma/tekrar başlatma, kilitlenme/donma ve uzaktaki sistemin dosya sistemini taramayı sağlayan bir araçtır. Bu araç, uzaktaki bir sistemde açık olan programı ve pencereleri kontrol edebilmenizi ve internet geçmişine ve ilişkili bilgilere bakmanızı sağlar.

Invisible Keylogger Stealth (IKS) yazılımı, Windows 95/98/ME/XP/2000/Vista(32Bit) işletim sistemlerinde en alt seviyede sessizce çalışan yüksek performanslı bir keylooger’dır. Tüm klavye vuruşları bir binary dosyasında tutulur.

Fearless Key Logger, kullanıcıları tüm klavye vuruşlarını yakalayan, belleğe yerleşen bir trojandır. Yakalanan klavye vuruşları bir dosyada tutulur ve bu dosya hacker tarafından geri alınabilir.

E-mail Keylogger, hedef sisteme gönderilen ve alınan tüm mailleri loglar. Mail içeriğine, gönderene, alıcıya, konuya veya zamanına göre bakılabilir. Ayrıca mail içerikleri ve ekleride kaydedilir.

Hacking Araçları Getadmin.exe kullanıcıları administrators grubunun üyesi yapan küçük bir programdır. Çalışan uygulamalara ulaşmak için Low-level NT kernel yordamını kullanır. Server konsoluna logon olmak programları çalıştırmak için gereklidir. Getadmin.exe komut satırından veya browserdan çalışabilir. Sadece Windows NT 4.0 SP3 ile çalışır.

Hk.exe Windows NT içindeki bir Local Procedure Call hatasını açığa çıkarır. Admin olmayan bir kullanıcı bu aracı kullanarak Administrators grubuna dahil olabilir.

Sinan

Üstün

Page 59: CEH - Certified Ethical Hacker

CEH – CHAPTER 4

59

Uygulamaları Çalıştırmak : Bir kez bir hacker bir hesaba admin hakları ile erişim sağladığında yapacağı bir sonraki iş hedef sistem üzerinde uygulamaları çalıştırmaktır. Uygulamaları çalıştırmasının nedeni sisteme bir back door yüklemek, önemli bilgileri toplamak için bir keylogger yüklemek olabilir, dosyaları kopyalamak veya sadece sisteme zarar vermekte olabilir. Sonuçta temel olarak hacker sisteme istediği şeyi yapabilir. Bir kez hacker uygulamaları çalıştırabildiğinde artık o sistem owned (Sahipli-kendi malı) olarak farz edilir.

Buffer Overflow : Buffer overflow, bir uygulamanın kodu içindeki hatadan yararlanarak hacking girişiminde bulunmaktır. Temel olarak buffer overflow saldırısı, bir uygulamanın bir alan değişkenine çok fazla sayıda veri gönderir ve buda uygulama hatasına neden olur. Çoğu zaman uygulama bir sonraki aşamada ne yapacağını bilmez çünkü kapasitesinin üzerinde veri ile yüklenmiştir. Uygulama, ya overflow olan verideki komutu çalıştıracak veya kullanıcının sonraki komutu girebilmesi için bir komut satırını bırakacak. Komut satırı veya shell hacker için önemlidir ve diğer uygulamaları çalıştırabilmesi için kullanır. Not : Buffer Overflow konusu Chapter 9 içinde daha detaylı anlatılacaktır. Rootkit’ler : Rootkit, Tehlikeye düşmüş olan bir sistemde ufak faydalı bir takım araçları gizleyen program çeşididir. Rootkit’ler, sonradan bir sisteme erişimi sağlamasına yardımcı olacak back door’ları içerir. Örneğin, saldırgan sisteme belirli bir port üzerinden bağlanacağı zaman, bir shell’i çoğaltan bir uygulamayı saklıyor olabilir. Bir back door, normalde administrator’ın yapabildiği fonksiyonları ayrıcalıklara sahip olmayan kullanıcı ile işlemleri başlatmaya izin verebilir. Bir rootkit, sık sık programcının rootkiti görmesine ve ihtiyacı olan kullanıcı adları ve login bilgilerine erişim amacıyla kullanılır. Bir çok rootkit çeşidi vardır. Bunlardan bazıları : Kernel-level rootkit’ler : Kernel seviyesi rootkit’ler kod ekler ve/veya kernel kodlarının bir kısmını sistemdeki bir back door’u saklamak için modifiye edilmiş kodlar ile değiştirir. Bu işlem genelde kernele yeni bir kod eklemek ile gerçekleştirilir ki kod ekleme işlemide Linux işletim sisteminde yüklenebilir olan bir modul vasıtasıyla,

Hacking Araçları PsExec programı, uzaktaki sisteme bağlantı kurar ve dosyaları çalıştırır. Uzaktaki sisteme bir yazılım yüklemeye gerek yoktur.

Remoxec, RPC (Task Scheduler) veya DCOM (Windows Management Instrumentation) servislerini kullanarak bir programı çalıştırır. Zayıf veya boş şifreye sahip Administrator hesapları Task Scheduler (1025/tcp veya üstü) veya Distributed Componenet Object Mode (DCOM; default 135/tcp) üzerinden sömürülür.

Sinan

Üstün

Page 60: CEH - Certified Ethical Hacker

CEH – CHAPTER 4

60

Microsoftta ise aygıt sürücüsü ile gerçekleştirilir. Kernel seviyesindeki rootkitler özellikle tehlikelidir çünkü uygun bir yazılım olmadan tespit edilmeleri çok zordur.

Library-level rootkit’ler : Library (Kütüphane-DLL) seviyesi rootkit’ler yaygın olarak hacker’ın kendi kimlik bilgisini saklamak için system call’ları (fonksiyonlar) yamar, çalar veya değiştirir. Application-level rootkit’ler : Bu rootkit’ler normal uygulamanın binary’lerini trojanlı olan sahteleri ile değiştirir veya mevcut uygulamanın davranışlarını yamalar, kodlar ile veya eklemeler yaparak değiştirebilir. Windows 2000 ve Xp Makinelere Rootkitler Kurmak : Windows NT/2000 rootkit, dinamik olarak runtime sırasında yüklenen kernel mod sürücüsü olarak oluşturulur. Rootkit, NT Kernel’in çekirdeğinde sistem ayrıcalıklarını kullanarak çalışır böylece işletim sisteminin tüm kaynaklarına erişebilir. Ayrıca rootkit, işlemleri, dosyaları, registry girişlerini gizleyebilir, sistem konsolundan yazılan klavye vuruşlarını engeller, mavi ekrana neden olan hata ayıklamayı durdurmaya ve EXE dosyalarını yönlendirmeye neden olur. Rootkit, kernel mod aygıt sürücüsü olan _root_.sys ve program başlatıcısı olan DEPLOY.EXE içerir. Hedef sisteme giriş elde edildikten sonra saldırgan bu iki dosyayı hedef sisteme kopyalar ve DEPLOY.EXE ‘yi çalıştırır. Bu işlem, rootkit aygıt sürücülerini yükler ve başlatır. Daha sonra saldırgan hedef sistemden DEPLOY.EXE’yi siler. Saldırgan net stop_root ve net start_root komutları ile istediği zaman rootkit’i durdurur ve başlatabilir. Bir kez rootkit başlatıldığında _root_.sys dosyası ardık dizin listesi içinde görünmez. Rootkit, dosya listeleme için system call’ları engeller ve _root_ ile başlayan tüm dosyaların görünmesini engeller. TCP/IP Kümesine Gömülü Rootkit : Windows NT/2000 rootkit’in yeni özelliği stateless (Durum bilgisinin iletişim boyunca tutulmaması) TCP/IP yığınıdır. Gelen paketteki veriye bağlı olarak bağlantının durumuna göre çalışır. Rootkit’in cevap vereceği bir hard-coded (gömülü) IP adresi (10.0.0.166) vardır. Rootkit, sistemin network kartına bağlanmak için raw Ethernet bağlantısını (Layer 2 Ethernet Connection) kullanır ve bu daha güçlüdür. Hedef port önemli değildir, hacker sistem üzerindeki herhangi bir porttan telnet bağlantısı gerçekleştirebilir. Ayrıca bir çok kişi bir seferde rootkit’e log in olabilir. Rootkit Önlemleri : Tüm rootkitler hedef sistem için administrator erişimi ister bu yüzden şifre güvenliği önemlidir. Eğer bir rootkit tespit ederseniz, kritik verinizi yedekleyin ve işletim sistemini ve uygulamalarınızı güvenilir bir kaynaktan tekrar yükleyin. Ayrıca administrator iyi bir otomatik yükleme dökümanını ve güvenilir geri yükleme medyasını hazırda tutmalıdır. Diğer bir karşı önlem ise MD5 checksum (doğrulama) aracıdır. Bir dosya için MD5 checksum 128 bit değerdir, dosyanın parmak izi gibidir. (İki farklı dosya için iki adet aynı checksum alınması çok düşük ihtimaldir) Bu algoritma dosya içindeki verinin bir bitinde değişiklik yapıldığında farklı checksum değeri oluşmasına neden olur. Bu

Sinan

Üstün

Page 61: CEH - Certified Ethical Hacker

CEH – CHAPTER 4

61

özellik dosyaları karşılaştırma ve bunların bütünlüğünden emin olmak için kullanışlıdır. Diğer bir özellik ise kaynak dosyanın uzunluğuna bakılmaksızın checksum’ın sabit uzunluğa sahip olmasıdır. MD5 checksum, dosyanın değişmediğinden emin olmanızı sağlar. Bu işlem eğer sisteminizde bir rootkit bulunduğu zaman dosya bütünlüğünün kontrol edilmesinde kullanışlıdır. Tripwire gibi araçlar dosyaların rootkit tarafından etkilendiğini belirlemek için MD5 checksum işlemini uygular.

Dosyaların Nasıl Gizleneceğini Anlamak :

Hacker tespit edilmeyi önlemek için dosyaları sistem üzerinde gizlemek isteyecektir. Bu dosyalar daha sonra sistemde bir saldırıyı başlatmak için sonradan kullanılabilir. Windows içinde dosya gizlemenin iki yolu vardır. Birincisi attrib komutunu kullanmak. Bu komut ile dosya gizlemek için komut satırına yazılacak komut aşağıdaki gibidir : attrib +h [file/directory] Windows içinde dosya gizlemenin ikinci yolu ise NTFS alternate data streaming (Alternate Data Stream:Bir dosyanın arkasında veri saklar). NTFS dosya sistemi Windows NT, 2000, XP, Vista ve 2003 tarafından kullanılır ve alternate data stream’ler denilen normal, görülebilir dosyaya linklenmiş olan gizli bir dosya içinde datanın tutulduğu özelliğe sahiptir. Veri akışlarında herhangi bir limit sınırı yoktur, birden fazla stream normal bir dosyaya linklenebilir. NTFS File Streaming : NTFS File Stream işlemini yaratmak ve test etmek için uygulanacak adımlar :

1. Komut satırına notepad test.txt yazın 2. Dosya içine veri girin ve kaydedip kapatın.Birinci adım notepad’i açacaktır. 3. Komut satırına dir test.txt yazın ve dosya boyutunu not edin. 4. Komut satırına notepad test.txt:hiden.txt yazın. Notepad içinde bir şeylar

yazıp kaydedin ve kapatın. 5. Dosya boyutunu tekrar kontrol edin.(Adım 3 deki ile aynı olacaktır) 6. Test.txt dosyasını açın. Sadece orjinal veriyi göreceksiniz. 7. Komut satırına type test.txt:hidden.txt yazın. Yazım hatası mesajı göreceksiniz.

Karşı Önlem Araçları Tripwire, Unix ve Linux işletim sistemleri içinde kullanılabilen dosya sistemi bütünlük kontrolü yapan bir programdır. Ayrıca bir veya daha fazla kriptografik checksum’lar herbir dizin ve dosya içeriğini ifade eder. Tripwire veritabanı ayrıca erişim izinlerini ve dosya modu ayarları, dosya sahibinin kullanıcıadı, dosyaya en son erişilen tarih ve saat ve yapılan en son değişiklikleri doğrulamanızı sağlayacak bilgiyi içerir.

Hacking Araçları Makestrm.exe veriyi bir dosyadan alıp orjinal dosyaya linklenmiş olan alternate data stream’e taşır.

Sinan

Üstün

Page 62: CEH - Certified Ethical Hacker

CEH – CHAPTER 4

62

NTFS Stream’e Karşı Önlemler : Bir stream dosyasını silmek için ilk olarak dosyayı FAT birimine kopyalayın çünkü NTFS stream NTFS dosya sisteminin özelliğidir.

Stenografi Teknolojileri : Stenografi veriyi başka bir veri türü (imaj veya text dosyası gibi) içinde saklama işlemidir. Verinin bir dosyada saklanması için en sık kullanılan yöntem, grafik dosyalarından yararlanmaktır. Saldırganlar stenografiyi kullanarak bir grafik dosyasının içine herhangi bir bilgiyi gömebilirler. Hacker, bombanın nasıl yapıldığı bilgilerini, gizli banka hesap numaralarını veya bir sınavın cevaplarını gizleyebilir.

Stenografi bazı programlar tarafından tespit edilebilir, bununla beraber bu işi yapmak zordur. İlk iş olarak gizli mesajın olduğu dosyayı tespit etmek gerekir. İmaj içindeki şablonlar analiz edilerek bu işlem gerçekleştirilir ve renk şablonu değiştirilir.

İz Nasıl Kapatılır ve Kanıtlar Nasıl Silinir :

Önlem İçin Araçlar : NTFS stream’lerini belirlemek için LNS.exe aracını kullanabilirsiniz. LNS varolanları ve altenate data stream’leri içeren dosyaların yerlerini raporlar.

Hacking Araçları ImageHide, büyük miktarlarda yazıyı imaj dosyasının içinde saklayabilen bir stenografi programıdır. Veri byte’ları eklendikten sonra bile imaj dosyasının boyutunda herhangi bir artış olmaz. Resime herhangi bir grafik programı ile bakılabilir. Dosyalara yüklenebilir ve kaydedilebilir ve bu yüzden bir çok e-mail sniffer’larını atlatabilir.

Blindside, verileri BMP (Bitmap) imajlar içinde saklayan stenografi uygulamasıdır. Komut satırından kullanılır.

MP3Stego, sıkıştırma işlemi sırasında veriyi MP3 dosyasının içine saklayan bir uygulamadır. Veri MP3 Stream’i içinde sıkıştırılır, encryptlenir ve sonrada gizlenir.

Snow, mesajları, satır sonlarına eklenen whitespace (dökümanı print ederken görünmeyen karakterler.Tab gibi) vasıtasıyla ASCII text içine gizleyen stenografi programıdır. Space tuşu ve tab’lar text içinde görünmezler, mesaj etkili bir şekilde gözcülerden saklanır. Eğer yerleşik encryption kullanıldıysa mesaj tespit edilse bile okunamaz

Camera/Shy, Windows ve Internet Explorer ile birlikte çalışır ve kullanıcıların bir GIF imaj içindeki sansürlü veya hassas bilgiyi paylaşmasını sağlar.

Stealth,PGP dosyaları için filtreleme aracıdır. Paketin header’ından kimlik bilgisini çıkarır sonrasında stenografi için kullanılır.

Önlem İçin Araçlar

Stegdetect aracı imaj içindeki stenografik içeriği otomatik olarak tespit eder .Farklı stenografik yöntemleri tespit edebilir.

Dskprobe Windows 2000 yükleme Cd’si içinde olan bir araçtır. Stenografiyi tespit edebilen düşük seviyede hard disk tarayıcısıdır.

Sinan

Üstün

Page 63: CEH - Certified Ethical Hacker

CEH – CHAPTER 4

63

Bir kez davetsiz misafirler sisteme Administrator erişimi sağladıktan sonra orda olduklarını belli edecek olan izlerin tespit edilmemesi için izlerini silmeye çalışırlar. Bir hacker ayrıca kimliği ile ilgili delilleride veya kimlikleri üzerinden kendilerinin takip edilmesini sağlıyacak olan aktivitelerini kaldırmaya çalışır. Hacker genelde tüm hata mesajlarını veya güvenlik loglarını tespit edilmemek için siler. Auditing’in (Denetleme-Kontrol) Disable Edilmesi : Davetsiz misafirin admin ayrıcalıkları ile sistem girişinden sonra yapacağı ilk iş denetlemeyi devre dışı bırakmaktır. Windows denetleme, Windows Event Viewer içinde bir log dosyasında olayları tutar. Olaylar (Events), sistem, bir uygulama veya bir event log içindeki logları içerebilir. Admin tutulacak olan loglama işleminin seviyesini belirleyebilir. Hacker bu seviyeyi, bu loglar kendisinin orda olup olmadığının kayıtlarını tutmuş mu diye bilmek istiyecektir.

Event Log (Olay Günlüğü) Silmek : Saldırgan kişi Windows Event Viewer içindeki güvenlik loglarını kolayca silebilir. Bir event log bir veya birkaç olayın şüpheli olduğunu belirtir bu olayda diğer olayların silindiğini belirten olay girişidir. Auditing işlemi devre dışı bırakıldıktan sonra olay günlüğünü silmek gerekir çünkü Auditpol aracını kullanmak auditing işleminin devre dışı bırakıldığını belirten bir girişi event log içine yazar. Event log silmek için bir çok araç vardır veya hacker bu işi Event Viewer içinden manuel olarakda yapabilir.

Hacking Araçları AuditPol sistem adminleri için Windows NT Resource Kit içinde olan bir araçtır. Bu araç komut satırından auditing işlemini disable veya enable yapar. Ayrıca bu araç ile sistem admininin logging seviyesini öğrenmek içinde kullanılır.

Hacking Araçları Elsave.exe, event log silmek için kullanılan ufak bir araçtır. Komut satırından kullanılır. Winzapper, saldırganın Windows 2000 içindeki olay günlüklerinden seçtiklerini silmesini sağlar. Ayrıca bu program çalıştığına dair event log içindeki girişide siler. Evidence Eliminator, Windows bilgisayarlar için data temizleme aracıdır. Verinin sistem içinde kalıcı olarak gizlenmesini engeller. Recycle bin, internet cache, sistem dosyalarını, temp klasörlerini ve diğerlerini temizler. Ayrıca hacker bu araç ile saldırı sonrası sistemden kanıtları siler.

Sinan

Üstün

Page 64: CEH - Certified Ethical Hacker

CEH – CHAPTER 5

64

Trojanlar, Backdoorlar, Virüsler ve Wormlar

Trojanlar ve backdoor’lar hackerların bir sisteme girmek için kullandıkları yöntemlerdir. Farklı çeşitleri vardır fakat hepsi bir tek benzer şeye sahiptir: Başka bir program tarafından yüklemesi yapılmalıdır veya kullanıcının trojan veya backdoor’u yüklemesi için kandırılması gerekir. Trojanlar ve backdoorlar ethical hacker’ın araçseti içindeki potansiyel tehlikeli araçlardır ve bu yüzden sistem veya networkün güvenliğini test etmek için akıllıca ve tedbirli bir şekilde kullanılmalıdır. Virüsler ve Wormlar, bir sistemi ve network’ü yıkmak konusunda Trojanlar ve backdoorlar kadar önemidir. Aslında bir çok virüs çalıştırılabilir (executable) trojan taşır ve hackerlar için bir backdoor yaratıldıktan sonra sisteme bulaşır. Bu chapter Trojanlar, backdoorlar, virüsler ve wormlar arasındaki benzerlik ve farklılıklar konusunu işliyecek. Bu tür kötü kod ve malware ethical hackerlar için önemlidir çünkü bunlar yaygın olarak hackerlar tarafından tehlikedeki sistemlere saldırılarda kullanılır. Trojanlar ve Backdoorlar : Bir backdoor, hacker’ın daha sonra sisteme girmesini sağlıyacak olan, hedef sisteme yüklediği bir program veya birbiriyle ilişkili programlar setidir. Bir backdoor’un amacı, sistem log dosyalarındaki başlangıç giriş delilini kaldırmaktır. Fakat bir backdoor hacker’a içeri sızdığı bir makinede erişimi devam ettirmesini sağlayabilir. Bu zorla girip içerde devamlılığı sağlama eylemi, sistem admini tarafından tespit edilmiş veya çaresine bakılmış olsa bile devam edebilir. Windows işletim sisteminde yeni bir servisin eklenmesi backdoorları gizlemek için kullanılan en yaygın yöntemdir. Backdoor’un yüklenmesinden önce hacker, çalışan servisleri bulmak için sistemi araştırır. Hacker yeni bir servis ekleyebilir ve buna farkedilmeyecek bir isim verebilir veya daha önce kullanılmamış bir servisi seçebilir ve bunu manuel olarak aktive edebilir veya tamamen devre dışı bırakabilir. Bu teknik etkilidir çünkü hacking girişimi meydana geldiğinde sistem admini sistemde garip bir şey olup olmadığına bakar, tüm mevcut servisleri kontrol etmeden bırakır. Backdoor tekniği basit fakat etkilidir : hacker makineye sistem loglarında en az görülebilir bir şekilde geri dönebilir. Backdoor olarak kullanılan servisler hacker’a yüksek ayrıcalıklar sunar (Bir çok durumda bir system hesabı olarak). Remote Administration Trojan’lar (RATs), uzaktaki bir makinenin kontrolünü almak için kullanılan backdoor sınıfıdır. Kullanıcıya kullanışlı fonksiyonlar olarak görünür ve aynı zamanda kurbanın bilgisayarında bir network portu açar. Bir kez RAT başladığında bir çalıştırılabilir (executable) dosya olarak davranır, başlatma işlemlerinden sorumlu olan registry key’leri ile etkileşime girer ve bazende kendi sistem servislerini yaratır. Yaygın backdoorlardan farklı olarak RAT’ler kendi kendilerine işletim sistemine hook yapabilirler ve daima iki dosya ile birlikte gelirler : client dosyası ve server dosyası. Server dosyası virüslü olan bilgisayara yüklenir ve client dosyası ise hedef sistemi kontrol etmek için saldırgan tarafından kullanılır. Trojan Nedir ? : Trojan, yararlı bir şeymiş gibi görünüşünü değiştiren kötü niyetli bir programdır. Trojanlar çoğunlukla başka bir programla beraber veya bir yazılım paketi ile birlikte makineye yerleşir. Bir kez sisteme yüklendiğinde verinin çalınmasına ve kaybına yol açar, sistem çöker veya yavaşlar. Ayrıca trojanlar Distributed Denial of Service

Sinan

Üstün

Page 65: CEH - Certified Ethical Hacker

CEH – CHAPTER 5

65

(DDoS) gibi başka saldırılar için başlangıç noktası olarak da kullanılır. Bir çok trojan, kurbanın bilgisayarında dosyaları kendi çıkarları için kullanmak, işlemleri yönetmek, uzaktan komutlar çalıştırmak, klavye vuruşlarını engellemek, ekran görüntülerini izlemek ve bilgisayarı kapatmak veya tekrar başlatmak için kullanılır. Gelişmiş trojanlar kendi kendilerine gönderene (Asıl kaynağa) bağlanabilir veya IRC kanalı üzerinden Trojanın bulaştığı bilgisini verebilir. Trojanlar genelde kullanıcının haberi olmadan yüklenir. Trojanlar kurban sisteme faklı yollardan yollanabilir : Anlık haberleşme ekleri, IRC, mail ekleri, NetBIOS dosya paylaşımı gibi. Freeware, spyware removal araçları, sistemi optimize eden araçlar, ekran koruyucular, müzik, resim, oyunlar ve video gibi yazılımlar veya dosyalar yasal yazılımmış gibi görünüp sisteme trojan yükleyebilir. Ücretsiz programlar, müzik ve video dosyalarındaki reklamlar kurbanı cezbedip trojanın yüklenmesine neden olabilirler. Daha sonra program hedef sistem üzerinde sistem seviyesinde erişime sahip olur. Bazı yaygın olan Trojanların ve kullandıkları port numaralarınının listesi :

Trojan Protokol Port

BackOrifice UDP 31337 veya 31338

Deep Throat UDP 2140 veya 3150

NetBus TCP 12345 ve 12346

Whack-a-mole TCP 12361 ve 12362

NetBus 2 TCP 20034

GirlFriend TCP 21544

Masters Paradise TCP 3129, 40421, 40422, 40423 ve 40426

Açık ve Gizli Kanallar : Bir açık kanal, sistem veya network ile programın normal ve yasal yol ile iletişime geçmesidir. Bir açık kanal, programları veya iletişim yollarını planlamadan veya kasıtlı olmayan yollar ile kullanır. Trojanlar iletişim için kapalı kanalları kullanır. Bazı client trojanları kapalı kanalları sistem üzerindeki bileşenlere talimatlar göndermek için kullanır. Bu bazen Trojan iletişimini deşifre etmeyi ve anlamayı zorlaştırır. Kapalı kanallar tünelleme (Bir protokolün başka bir protokol ile taşınması) tekniğine dayanır. ICMP tunneling, ICMP echo request ve echo reply mesajlarının kullanılarak saldırganın kullanmak istediği yükün (payload) taşınmasını sağlayan yöntemdir. Buda sistemin görünmeden kontrol edilmesini veya sisteme erişmeyi sağlar.

Farklı Türdeki Trojanlar : Trojanlar farklı saldırılar için yaratılıp, kullanılabilir. Bazı yaygın kullanılan Trojan çeşitleri :

Hacking Araçları Loki, ICMP üzerinden shell erişimi sağlayan hacking aracıdır. TCP veya UDP tabanlı backdoorlara göre tespit edilmesi daha zordur. Bir seri ICMP paketi network üzerinden gönderilir. Bununla beraber hacker loki client üzerinden komutlar gönderir ve server üzerinde çalıştırır.

Sinan

Üstün

Page 66: CEH - Certified Ethical Hacker

CEH – CHAPTER 5

66

Remote Access Trojan’lar (RATs) : Sisteme uzaktan erişim için kullanılır. Data-Sending Trojan : Sistem üzerinde veriyi bulmak ve bunu hacker’a

göndermek için kullanılır. Destructive Trojan : Sistem üzerindeki dosyaları silmek veya bozmak için

kullanılır. Denial of Service Trojan : Denial of Service saldırısı başlatmak için kullanılır. Proxy Trojan : Başka bir sistem üzerinden saldırı başlatmak veya tünel trafiği

için kullanılır. FTP Trojan : Bir sistem üzerindeki dosyaları kopyalamak için FTP Server

yaratır. Security Software Disabler Trojan : Antivirüs yazılımını durdurmak için

kullanılır. Reverse-Connecting Trojanların Çalışması :

Reverse connecting trojanlar, internal (dahili) networkteki bir makineye dışardan erişimi sağlar. Hacker içerdeki bilgisayara reverse WWW shell server gibi basit bir Trojan programı yükler. Normal aralıklar ile (Genelde her 60 saniyede) içerdeki server, komutları almak için dışardaki ana servera erişim sağlar. Eğer hacker ana sisteme bir şeyler yazarsa bu komut içerdeki server tarafından alınır ve çalıştırılır. Reverse WWW shell, standart HTTP’yi kullanır. Bu tehlikelidir çünkü tespit edilmesi zordur. Client içerdeki networkten Web üzerinde dolaşıyormuş gibi gözükür.

Hacking Araçları TROJ_QAZ, notepad.exe dosyasının ismini note.com olarak değiştirip kendi kendini Windows klasörüne notepad.exe olarak kopyalayan bir trojandır. Buda kullanıcının her notepad uygulamasını çalıştırdığında Trojanın aktif olmasına neden olur. Bu trojan, 7597 numaralı port üzerinden uzaktaki kullanıcıya veya hackera sistemi kontrol etmesi ve bağlanmasını sağlayan backdoora sahiptir. TORJ_QAZ registry’de bulaşıp Windows her açıldığında aktif olabilir.

Tini, Windows işletim sistemleri için çok küçük ve basit bir bacdoor Trojandır. 7777 numaralı portu dinler ve hackera hedef sistem için komut satırı sağlar. Tini servera bağlanmak için hacker 7777 nolu port üzerinden telneti kullanır.

DonaldDick, Windows işletim sistemlerinde çalışan, hackera internet üzerinden uzaktaki sisteme tam bir erişim sağlayan backdoor Trojandır. Hacker sistem üzerindeki her türlü programı çalıştırabilir, silebilir, okuyabilir veya yazabilir. Ayrıca bu Trojan bir keylooger ve registry düzenleyicisi barındırır. CD-Rom çekmecesini açıp kapama gibi işlevleri gerçekleştirebilir. Saldırgan client’ı kullanarak kurbana tanımı yapılmış portlar üzerinden komutlar gönderebilir. DonaldDick, default olarak 23476 ve 23477 numaralı portları kullanır.

NetBus, Donald Dick ile aynı işlevleri sahiptir ve bir Windows GUI (Grafik arayüz) sahiptir. HKEY_CURRENT_USER\NetBus Server registry anahtarını ekler ve HKEY_CURRENT_ USER\NetBus Server\General\TCPPort anahtarını modifiye eder. Eğer otomatik olarak başlaması için ayarlanmış ise HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices içine NetBus Server Pro isimli registry girişi ekler.

Sinan

Üstün

Page 67: CEH - Certified Ethical Hacker

CEH – CHAPTER 5

67

NetCat Trojanın Çalışması : NetCat, hedef sistem üzerinde TCP veya UDP portları açmak için kullanılan komut satırı aracıdır. Hacker, açılan bu portlar üzerinden telnet ile bağlantı kurar ve hedef sisteme shell erişimi sağlar. Not : CEH sınavı için Netcat’in kullanılması önemlidir. Sınava girmeden önce Netcat aracını indirip komutlar üzerinde pratik yapmanız gerekir.

BackOrifice2000, saldırganın grafiksel bir arayüz üzerinden TCP/IP bağlantısını kullanarak bir sistemi kontrol edebileceği remote administration aracıdır. Bu araç görev listesinde veya işlemler listesinde gözükmez ve bilgisayar her başlatıldığında çalışmak için kendini registry içine kopyalar. Yüklenmeden önce kullanacağı dosya ismi konfigüre edilebilir. BackOrifice HKEY_ LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices registry anahtarını modifiye eder. Plug-in’leri ile kendine yeni özellikler ekler. Plug-in’ler içinde, kriptografik olarak güçlendirilmiş 3DES (TripleDES) şifreleme, opsiyonel olarak mouse ve klavye kontrollü uzak masaüstü, sürükle bırak ile encryptlenmiş dosya transferi, Explorer görünümlü dosya sistemini browse etme, grafiksel olarak registry editleme, güvenilir UDP veICMP iletişim protokolleri ve TCP ve UDP yerine ICMP kullanarak görünmez olabilme.

ComputerSpy Key Logger, ziyaret edilen web siteleri, ICQ, MSN, AOL, AIM veYahoo messenger veya webmail şifreleri ve log-in adı, çalışan uygulamalar, internet üzerinden yapılan chat ve mailler gibi aktivitelerin hacker tarafından kaydedilebilmesini sağlayan bir programdır. Ayarlanabilen aralıklar ile masaüstünün snapshot’larını da alabilir.

BoSniffer, BackOrifice için düzeltme olarak görünür fakat aslında SpeakEasy plug-in yüklenmiş bir BackOrifice server’dır. Eğer BoSniffer’ın BoSniffer.exe dosyası, hedef sistem üzerinde çalışırsa, rastgele bir kullanıcı adıyla #BO_OWNED kanalından, önceden tanımlanmış IRC Server’a log on olmaya çalışır. Daha sonra bir kaç dakika aralıklar ile kendi Ip adresini ve özel bir mesajın bildirimini yapar böylecede hacker ilerde yapacağı saldırılar için bir zombie gibi bu sistemi kullanır.

Beast, Winlogon.exe servisi için bellekte ayrılmış olan alan içinde çalışan bir Trojandır. Yüklendikten sonra kendini Windows Explorer veya Internet Explorer içine koyar. En ayırtedici özelliği all in one bir Trojan olmasıdır yani client, server ve server editor tek bir uygulama içindedir.

CyberSpy, kendini Windows sistem dizini içine kopyalayan ve registry içine kendini kaydettirip sistem her tekrar başladığında kendini çalıştıran bir Telnet Trojandır. Bir kez bu işlemleri gerçekleştirdikten sonra mail veya ICQ ile bilgi gönderir ve daha önceden belirlenen TCP portu üzerinden dinleme işlemini başlatır.

SubRooot, hackerın karşı sisteme 1700 numaralı TCP portu üzerinden uzaktan bağlantı kurabildiği bir remote administration Trojandır.

LetMeRule, hedef sistem üzerindeki herhangi bir port üzerinden dinlemenin konfigüre edilebilidiği uzaktan erişim için kullanılan bir Trojandır. Hacker’ın hedef sistemi kontrol edebilmesi için bir komut satırı içerir. Belli bir dizin içindeki dosyaları silebilir, uzaktaki bilgisayar içinde bir dosyayı çalıştırabilir veya registry içine bakabilir ve değişiklik yapabilir.

Firekiller 2000, antivirüs programlarını ve software tabanlı firewalları disable yapabilir. Örneğin, eğer Norton antivirüs programı otomatik tarama modunda ise ve ATGuard firewall aktif ise program her ikisinin çalışmasını durdurur ve her ikisinin hard disk üzerindeki yüklemesinide kullanılamaz hale getirir. Her ikisininde tekrardan işlevselliğini kazanabilmesi için tekrar yüklenmesi gerekir. Firekiller 2000 tüm koruma programları ile çalışabilir. Bunlar içinde ATGuard, Conseal, Norton Antivirüs, McAfee Anti virüs programlarıda dahildir.

Hard Drive Killer Pro, tüm DOS ve Windows işletim sistemi üzerindeki veriyi tam ve kalıcı olarak yokedebilen bir programdır. Program bir kez çalıştığında bir kaç saniye içinde dosyaları siler ve sisteme bulaşır ve sistemi tekrar başlatır. Sistem tekrar başladıktan sonra sisteme takılı olan tüm hard diskler tekrar kurtarılamıyacak şekilde1-2 saniye içinde formatlanır.

Sinan

Üstün

Page 68: CEH - Certified Ethical Hacker

CEH – CHAPTER 5

68

Trojan Saldırısının Belirtileri Nelerdir : Olağandışı sistem davranışları genelde bir Trojan saldırısını gösterir. Programların kullanıcı isteği dışında başlaması ve çalışması, CD-Rom çekmecesinin açılıp kapanması, kendi kendine duvarkağıdı, ekran koruyucu veya arka plan ayarlarının değişmesi, ekranın yukardan aşağıya doğru kapanması (yada yanıp sönmesi) veya web browser’ın yabancı veya beklenmedik siteleri açması gibi davranışlar Trojan saldırılarına işarettir. Her türlü şüpheli veya kullanıcı tarafından başlatılmayan eylemler Trojan saldırısına işarettir. Wrapping (Paketleme-Sarmalama): Wrapper’lar bir Trojan’ı teslim etmek için kullanılan yazılım paketleridir. Wrapper, bir Trojan dosyasını yasal bir dosya içine yerleştirir. Yasal olan dosya ve Trojan dosyası tek bir exe dosyasının içinde bulunur ve bu dosya çalıştırıldığında yükleme gerçekleşir. Genelde, oyunlar ve diğer animasyonlu yüklemeler wrapper olarak kullanılır çünkü bu tür yüklemeler kullanıcıyı meşgul eden, eğlendiren yüklemelerdir. Bu yol, kullanıcının Trojanın sisteme yüklenmesi sırasındaki sistemin yavaşlamasına dikkat etmez, kullanıcı sadece yasal bir uygulamanın yüklenmesin ekranda görür.

Trojan Yapım Kit’leri ve Trojan Yapıcılar : Bir çok Trojan yaratma araçları hackerların kendi Trojanlarını yaratmak için mevcuttur. Bu tür araçlar hackerlara özelleştirebilecekleri kendi Trojanlarını yaratma imkanı sağlar. Bu araçlar tehlikelidir ve düzgün şekilde çalıştırılmazlarsa geri tepebilirler. Hackerlar tarafından yaratılan yeni Trojanlar virüs tarama ve Trojan tarama araçlarını geçebilecek yeni özelliklere sahipler bunun nedenide bilinen imzalara uymamalarıdır. Bazı Trojan kitleri ; Senna Spy Generator, the Trojan horse Construction Kit v.2.0, Progenic Mail Trojan Construction Kit ve Pandora’s Box

Hacking Araçları Graffiti, bir Trojan ile paketlenmiş olan animasyonlu oyundur. Animasyonlu oyun ile kullanıcıyı oyalarken arka tarafta yüklemeyi gerçekleştirir.

Silk Rope 2000, BackOrifice server ve herhangi başka bir uygulamayı birleştiren wrapper’dır.

EliteWrap, Windows için programları yüklemek ve çalıştırmak amacıyla kullanılan gelişmiş .exe wrapper’dır. Bu araç, dosyaları açacak bir setup dosyası hazırlayabilir ve yardım menüsü görüntüleyen programları veya batch dosyalarını çalıştırabilir veya hedef sisteme kopyalayabilir.

IconPlus, ikonları farklı formatlara çevirebilen bir dönüştürme programıdır. Saldırgan bu tür uygulamayı kullanarak tehlikeli kodları veya bir Trojanı maskeleyebilir bu sayede de kullanıcı yasal, meşru bir uygulamayı yüklediğini sanır. Sina

n Üstü

n

Page 69: CEH - Certified Ethical Hacker

CEH – CHAPTER 5

69

Trojanları Engellemek İçin Karşı Önlemler : Bir çok ticari antivirüs programı anti-Trojan özelliğine sahiptir aynı zamanda spy tespit etme ve bunları kaldırma işlevsellikleri de vardır. Bu araçlar otomatik olarak sistem başlatıldığında backdoor ve Trojanları sisteme hasar vermeden önce hard diskleri tarayabilirler. Bir kez sisteme bulaştığında temizlenmesi çok zordur fakat ticari araçlar ile yapılabilir. Sistemi temizlemek için ücretsiz olan araçların yerine ticari yazılımların kullanılması önemlidir. Çünkü bir çok ücretsiz yazılım sisteme trojan bulaşmasına yardımcı olur. Ayrıca, port monitoring araçlar açık olan portları veya dosyaların değiştirdiği portları belirleyebilir. Trojandan Kaçış Teknikleri : Trojanların ve backdoor’ların sisteme yüklenmesini engellemenin temel noktası kullanıcıların internet üzerinden indirmiş oldukları uygulamaların yüklenmemesini veya bilmedikleri yerden gelen mail eklerini açmamaları konusunda eğitmektir. Bu nedenden dolayı bir çok sistem admini kullanıcılara programları yükleyebilmelerini sağlayacak olan izinleri vermez.

Port-Monitoring ve Trojan Tespit Araçları

Fport, açık olan tüm TCP/IP ve UDP portlarını ve bunların hangi uygulamalar tarafından kullanıldığını raporlar. Fport’u kullanarak hızlı bir şekilde açık olan portları ve bu portlar ile ilişkili uygulamaları tespit edebilirsiniz.

TCPView, tüm TCP ve UDP endpointleri ayrıntılı olarak listeleyen Windows programıdır, buna lokal ve uzaktaki adresler ve TCP bağlantılarının durumuda dahildir. Bu program çalıştığında tüm TCP ve UDP endpoint’lerin dökümünü çıkarır, tüm IP adreslerini domain isimlerine çözümler.

PrcView, Windows altında çalışan işlemleri detaylı bir şekilde gösteren bir uygulamadır. Komut satırı versiyonu ile gelir ve çalışan process’leri kontrol edebileceğiniz veya gerekliyse sonlandırabileceğiniz scriptler yazmanızı sağlar.

Inzider, Windows içinde çalışan işlemleri ve dinlemedeki portları listeleyen kullanışlı bir araçtır. Inzider, bazı Trojanları kaldırabilir. Örneğin, BackOrifice kendini diğer işlemlerin içine bulaştırabilir bu sayede de Task Manager içinde ayrı bir işlem olarak görünmezler fakat dinleme pozisyonunda olduğu bir açık porta sahiptir.

Tripwire, sistem bütünlüğünün doğrulamasını yapar. Otomatik olarak tüm anahtar durumdaki sistem dosyalarının veya değişiklik için takip edilen herhangi bir dosyanın kriptografik hash’lerinin hesaplamasını yapar. Tripwire yazılımı, sistemin baseline (anahat-temel) snapshot’ını yaratarak işlem yapar. Program düzenli olarak bu dosyaları tarar, bilginin hesaplamasını tekrar yapar ve bilgide herhangi bir değişiklik olup olmadığına bakar. Eğer değişiklik olumuşsa bunun için bir uyarı çıkarır.

Dsniff, network denetleme ve penetration testi için kullanılan araçlar topluluğudur. Dsniff, filesnarf, mailsnarf, msgsnarf, urlsnarf ve WebSpy uygulamaları garip bir şifre, mail, dosya transferleri için pasif olarak network’ü takip eder. Arpsnoof, dnssnoof ve macof hacker’ın layer2 switching’den dolayı normalde yapamıyacağı network trafiği kesmelerine yardım eder. Sshmitm ve webmitm, yönlendirilmiş olan Secure Shell ve HTTPS oturumlarına karşı aktif man-in-the middle saldırılarını uygular. Bu araç Chapter 6’da detaylı incelenecektir.

Sinan

Üstün

Page 70: CEH - Certified Ethical Hacker

CEH – CHAPTER 5

Trojan’a Karşı Önlemler İçin System File Verification : Windows Server 2003 içinde korumalı olan dosyaların başkaları ile değiştirilmesini önlemek için Windows File Protection özelliği bulunur. WFP özelliği SYS, DLL, OCX, TTf veya EXE dosyalarının üzerine yazılmak istendiğinde bu dosyaların bütünlüğünü, dijital imzalı olup olmadığını kontrol eder. Denemek istiyorsanız Windows klasöründen calc.exe dosyasını bulun ve silin, bir kaç saniye sonra tekrar geri gelecektir. Dosyaların Microsoft tarafından dijital olarak imzalı olup olmadıklarını kontrol eden diğer bir araçta sigverif aracıdır. Sigverif aracını çalıştırmak için :

1. Start butonuna tıklayın 2. Run’a tıklayın 3. Sigverif yazın ve açılan pencereden Start butonuna tıklayın. Sisteminizde dijital

olarak imzalı olmayan dosyalar raporlanacaktır. System File Checker aracıda yine bir Trojanın dosyaları başka biriyle değiştirip değiştirmediğini anlayabileceğiniz diğer bir araçtır. Eğer system File Checker bir sistem dosyasının değiştirildiğini anlarsa Windows\system32\dllcache klasöründeki (Gizli klasördür) orjinali ile değiştirir. Burda orjinalini bulamazsa sizden işletim sistemi CD’sini ister. System File Checker’ı çalıştırmak için sfc\scannow komutunu Run’a yazmanız yeterli.

Virüsler ve Wormlar : Virüsler ve wormlar br sistemi bozmak ve hacker’ın sisteme girebilmesini sağlamak için sistemde değişiklikler yapmak amacıyla kullanılır. Bir çok virüsler ve wormlarTrojanları ve backdoor’ları taşır. Böylece bir virüs veya worm taşıyıcı olur ve Trojan ve backdoorlar gibi kötü kodların sistemden sisteme taşınıp iletişim kuran insanlar sayesinde giderek artan bir şekilde çoğalması sağlanır. Virüs ve Worm Arasındaki Farkı Anlamak : Bir virüs ve bir worm, kötü niyetli yazılım (malware) formunda olduklarından dolayı birbirlerine benzerler. Virüs başka bir executable (Tek başına çalışabilen) dosyasına bulaşabilir ve kendini çoğaltmak için bu taşıyıcı programı kullanır. Virüs kodu kendini normal bir porgrama kendini önceden yerleştirir ve program çalıştığında kendini çoğaltmaya başlar. Virüs taşıyıcı programlara örnek olarak macrolar, oyunlar, mail ekleri VB scriptleri ve animasyonları gösterebiliriz. Worm, virüs çeşididir fakat kendi kendini kopyalayabilir. Bir worm sistemden sisteme kendini otomatik olarak yayabilir fakat virüs bu işlemi yapabilmek için başka bir programa ihtiyacı vardır. Virüsler ve wormlar kullanıcının isteği ve bilgisi dışında çalışırlar. Virüs Çeşitlerini Anlamak : Virüsler iki faktöre göre sınıflandırılır : Neye bulaştığı ve nasıl bulaştığı. Bir virüs aşağıdaki sistem bileşenlerine bulaşır :

Sistem sektörleri Dosyalar

Sinan

Üstün

70

Page 71: CEH - Certified Ethical Hacker

CEH – CHAPTER 5

71

Macrolar Yardımcı dosyalara (DLL ve INI dosyaları gibi) Disk clusterları Batch dosyaları (BAT dosyaları) Kaynak Kodlara

Bir Virüs Nasıl Yayılır ve Sisteme Bulaşır : Virüs, dışardaki bir sistem ile etkileşim sonucu bulaşır. Virüsler bulaşma tekniklerine göre kategorilere ayrılır : Polymorphic virüsler : Bu virüsler her bir bulaşma ile farklı yollardan kodu encryptler ve tespit edilmekten kurtulmakiçin farklı formlara dönüşebilir. Stealth Virüs : Bunlar normal virüs özelliklerini gizler, örneğin, dosyanın orjinal saat ve gün özelliğini değiştirip bu sayede virüsün sistemde yeni bir dosya olarak fark edilmesi engellenir. Fast and Slow Infectors : Bunlar tespit edilmemek için ya çok hızlı bulaşırlar veya çok yavaş Sparse Infectors (Seyrek Bulaşanlar) : Bunlar az sayıda sisteme veya uygulamaya bulaşırlar. Armored Viruses (Silahlı Virüsler) : Bu virüsler tespit edilmemek için encryptlenir. Multipartite Viruses (Çok Bölümlü) : Bu gelişmiş virüsler birden fazla virüsler yaratabilir. Cavity (Space-filler) Viruses : Bu virüsler kendini dosyanın boş bölgesine ekler. Tunneling Viruses : Bunlar tespit edilmemek veya firewall’dan geçebilmek için farklı bir protokol ile veya encryptlenerek gönderilir. Camouflage Viruses : Bu virüsler başka bir program gibi gözükürler. NTFS ve Active Directory Viruses : Bunlar özellikle NTFS veya AD’ye saldırırlar. Antivirüs’den Kaçma Yöntemleri : Bir saldırgan özel bir script veya virüs yazarak antivirüs programları tarafından tespit edilemeyebilir. Virüs tespit etmek ve bunları sistemden kaldırmak programın imzasına bağlıdır. Virüs tespit edilene kadar ve antivirüs şirketleri virüs tanımlamalarını güncelleyene kadar virüs tespit edilemiyecektir. Buda saldırganın belli bir süre tespit edilememesine ve sistemde kalmasını sağlıyacaktır.

Sinan

Üstün

Page 72: CEH - Certified Ethical Hacker

CEH – CHAPTER 5

72

Virüs Tespit Etme Yöntemleri : Aşağıdaki teknikler virüs tespit etmede kullanılır :

Tarama Checksum’lar ile yani doğrulamalar ile bütünlük kontrolü Virüs imzasına göre yakalama

Virüs tespiti ve kaldırma işlemleri :

1. Saldırıyı bir virüs olarak tespit et. Her anormal davranış bir virüs ile alakalı olmayabilir.

2. Handle.exe, listdlls.exe, fport.exe,netstat.exe ve pslist.exe gibi araçlar ile işlemleri takip edin ve etkilenen sistemler arasında benzerlikleri eşleştirin.

3. Virüsteki payload’ı (paketteki asıl yük kısmı) silinen, değiştirilen, tahrif edilen dosyalara bakarak tespit edin. Yeni dosyalar , değiştirilen dosya öznitelikleri veya paylaşımdaki kütüphane (DLL) dosyaları kontrol edilmelidir.

4. Virüslü kısmı tespit edip izole edin. Sonrada antivirüs programının definiton’larını güncelleyin ve tüm sistemi tarayın.

Bir test virüsü yaratmak için Notepad’e aşağıdaki kodu yazın ve EICAR.COM olarak kaydedin. Antivirüs programınız bu dosyayı açarken, çalıştırırken veya kopyalarken tepki verecektir. X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

Sinan

Üstün

Page 73: CEH - Certified Ethical Hacker

CEH – Chapter 6

Sniffer’lar Bir sniffer, paket yakalama veya frame yakalama aracıdır. Networkdeki trafiği yakalar ve hacker’ın görmesini sağlamak için bir grafiksel arayüzde yada komut satırında yakaladıklarını gösterir. Bazı gelişmiş, karmaşık snifferlar paketleri yorumlar ve paket katarını orjinal data içine tekrar yerleştirebilir. Snifferlar iki sistem arasında gönderilen trafiği yakalar. Sniffer’ın kullanımına ve güvenlik konularına bağlı olarak bir hacker, kullanıcı adlarını, şifreleri ve diğer önemli bilgileri bulmak için sniffer kullanabilir. Bir çok hacking saldırıları ve çeşitli hacking araçları hedef sistemden gönderilen önemli bilgileri elde etmek için sniffer kullanır. Bu chapter, snifferların nasıl çalıştığını ve en yaygın olan sniffer araçlarını anlatacaktır. Not : Packet terimi, OSI modelinde layer 3 veya diğer adıyla network katmanındaki datayı ifade ederken frame, layer 2 diğer adıyla data link katmanındaki veriyi ifade eder.Frame’ler MAC adreslerini içerirken paketler IP adreslerini içerir. Sniffing’den Etkilenen Protokoller :

Sniffer programı, sistemin MAC adresine yönlendirilmemiş paketleri yakalama mantığıyla çalışır, daha çok hedefin destination MAC adresine olan paketleri yakalar. Buna promiscuous mode denir. Daha açık bir şekilde ifade edelim, normalde network üzerindeki bir sistem sadece kendi MAC adresine gelen mesajları alır ve bunlara cevap verir. Gelen frame içindeki destination MAC adres kısmı network kartın kendisini göstermiyorsa frame’i bırakır başka bir deyişle almaz veya düşürür (Drop yapar). Promiscuous mode’da network kartı tüm trafiği alır ve bunu sniffer’a gönderir. Yani başka network kartları için olan frame’leride alır, kabul eder. Promiscuous mode network kartında özel sürücü yazılımı ile aktif hale gelir. Bir çok hacking aracı sniffing için bir promiscuous-mode sürücüsünüde içerir ki yukarda bahsettiğimiz tüm paketleri yakakalama, kabul etme işlemini gerçekleştirebilsin. Datayı encryptlemeyen protokoller sniffing için elverişlidir. HTTP, POP3, SNMP ve FTP gibi protokoller sniffer ile yakalanan ve kullanıcı adı ve şifre gibi değerli bilgileri toplayabilmek için hacker tarafından kullanılan en yaygın protokollerdir.

Hacking Araçları Ethereal kablolu ve kablosuz networklerden paket yakalayan ücretsiz bir programdır. En son versiyonunun ismi WireShark olarak değiştirildi. Çok yaygın ve popüler bir programdır bunun nedeni de ücretsiz olmasıdır fakat bazı eksiklikleride vardır. Tecrübesiz bir kullanıcı belirli tipte dosyaların yakalanması için filtreler yazmayı zor bulabilir.

Snort, bir Intrusion Detection System (IDS-Saldırı Tespit Sistemi)dir. Ayrca sniffing yapabilme özelliğide vardır. Buffer overflow, CGI saldırıları, SMB araştırması, OS fingerprinting veya farkedilmeden port tarama gibi çeşitli saldırılar ve araştırmalar (Sonda yapmak) için kullanılabilir.

WinDump, Unix için network analizi yapan komut satırı aracı olan tcpdump’ın Windows versiyonudur. Windump tamamıyla tcpdump ile uyumludur ve farklı kurallar belirlenerek network trafiğini izleyebilir, tanımlayabilir ve diske kaydedebilir.

Sinan

Üstün

73

Page 74: CEH - Certified Ethical Hacker

CEH – Chapter 6

Aktif ve Pasif Sniffing :

İki çeşit sniffing vardır : pasif ve aktif. Pasif sniffing, trafiği dinlemek ve yakalamaktır ve hublar ile bağlı olan networklerde kullanışlıdır. Aktif sniffing ise ARP (Address Resolution Protocol) spoofing (Kandırma, aldatma) başlatma veya trafiği yakalamak için switch’e karşı traffic flooding (Aşırı trafik yaratma) yapılmasıdır. Adındanda anlaşıldığı gibi aktif sniffing tespit edilebilir fakat pasif sniffing tespit edilemez. Sistemlere bağlantı için kablosuz aygıtları veya hublar kullanan networklerde tüm hostlar trafiği görebilir, bu yüzden pasif paket sniffer hublar ile bağlı olan hostlara giden trafiği ve gelen trafiği yakalayacaktır. Switch kulanılan networklerde durum farklıdır. Switch, kimin yolladığını bilmek için dataya bakar ve paketi MAC adresine göre paketi alması gereken kişiye forward eder. Switch, bünyesinde sistemin tüm MAC adreslerinin bulunduğu MAC tablosunu ve bağlı oldukları port numaralarını barındırır. Bu da switch’in network trafiğini segmentlere bölmesini ve trafiğin sadece doğru MAC adrese gönderilmesini sağlar. Bir switch, networkte aktarım yapılan veri miktarınında artış sağlar ve hublar ile bağlı olan networklere göre daha güvenlidir.

ARP Poisoning İşlemini Anlamak :

ARP protokolü networkte IP adresini MAC adresine eşleştirme işini gerçekleştirir. LAN üzerinde TCP/IP kullanan bir host başka bir host ile iletişim kurmaya çalıştığında karşı tarafın MAC adresine veya diğer adıyla donanım adresine ihtiyacı vardır. Bilgisayar iletişim kurmak istediği bilgisayarın MAC adresini bulmak için ilk olarak kendi ARP cache’ine bakar. Eğer kendi ARP cache’inde hedef için bir MAC adres girişi bulamazsa “Bu IP adrese sahip kişinin MAC adresi Nedir” içerikli bir ARP request paketini boradcast olarak networke gönderir. Eğer bu IP adresine sahip olan bilgisayar ARP request mesajını duyarsa kendi MAC adresini bulunduran bir ARP reply mesajı ile cevap verir ve iletişim TCP/IP kullanılarak başlatılır. ARP poisoning, bir Ethernet network’e saldırı yapmak için kullanılan bir yöntemdir ve saldırgan switch kullanılan LAN üzerinde data framelerini koklayabilir veya tamamen trafiği durdurabilir. ARP Poisoning, amacın ARP mesajlarını kandırmak veya fake olarak göndermek olduğu ARP spoofing işleminden yararlanmaktır. Bu frame’ler network aygıtlarını şaşırtmak için yanlış MAC adreslerini içerir. Sonuç olarak bir makineye gitmesi için hazırlanmış olan frameler yanlışlıkla başka bir makineye (paketin yakalanıp incelenmesine olanak sağlayan) veya ulaşılamayan bir hosta (DoS saldırısı) gönderilir. ARP spoofing ayrıca, tüm trafiğin bir host vasıtasıyla yönlendirildiği man-in-the middle saldırısı ve şifreler ve diğer bilgiler için analiz edilmesi içinde kullanılır.

EtherPeek, geniş filtreleme özelliği ile kablolu networkler için çok iyi bir sniffer’dır ve TCP/IP konuşmalarını takip edebilme özelliğine sahiptir. EtherPeek programının son verisyonu OmniPeek ismi ile çkmıştır.

WinSniffer, etkili bir password sniffer’dır. Gelen ve giden network trafiğini takip edebilir ve FTP, POP3, HTTP, ICQ, SMTP, Telnet, IMAP ve NNTP (Network News Transfer Protocol), kullanıcı adlarını ve şifrelerini çözebilir.

Iris, network üzerindeki tüm data trafiğini toplayan, organize eden, raporlayan ve depolayan gelişmiş bir data ve network trafik analiz programıdır.Diğer network sniffer’lara göre Iris, grafikler, dökümanlar ve mail ekleri gibi network trafiğini tekrar oluşturabilir.

Sinan

Üstün

74

Page 75: CEH - Certified Ethical Hacker

CEH – Chapter 6

ARP sppofing işlemini önlemek için gateway’in MAC adresini kalıcı olarak ARP cache’e koymak gerekir. Bunu Windows sistemlerde yapmak için komut satırından ARP –s komutu kullanılır ve gateway’in IP ve MAC adresi eklenir. Bunu yapmak sistemde hackerın ARP cache üzerinde oynama yaparak ARP spoofing saldırısı gerçekleştirmesini önler fakat buda çok fazla miktarda sistemin olduğu ortamda yönetimi zorlaştırır. Büyük networklerde port tabanlı güvenliği aktif hale getirerek switchdeki her bir port için bir MAC adrese izin verilebilir.

Ethereal’ın Yakalama ve Filtrelemesini Anlamak :

Ethereal, kablolu ve kablosuz networklerde paketleri yakalayabilen ücretsiz snifferdır. Bazı Ethreal filtreleri :

ip.dst eq www.eccouncil.org : Sadece hedefi www.eccouncil.org web server olan paketleri yakalamak için filtredir.

ip.src == 192.168.1.1 : Bu sadece 192.168.1.1 adresinden gelen paketleri yakalamak için bir filtredir.

eth.dst eq ff:ff:ff:ff:ff:ff : Bu sadece layer 2 broadcast paketlerini yakalamak için bir filtredir.

Ethreal içinde belli bir protokol trafiği veya belli bir kaynak IP adresten veya MAC adresten gelen paketlerin yakalanması için filtreler yazarak pratik yapın. Bu yapacağınız pratikler CEH sınavı için önemlidir.

MAC Flooding :

Switch kullanılan networkde bir paket sniffer aracı, hub kullanılan networkte olduğu gibi kolay bir şekilde paket yakalayamaz. Bunun yerine sistemden gelen veya sisteme giden trafikden birini yakalar. Switch’li networklerde tüm trafiği yakalamak için ek araçların kullanılması gerekir. Aktif sniffing işlemini gerçekleştirmek için ve sniffer çalışan sisteme switch’in trafiği yollamasını sağlamak için temek olarak iki yol vardır : ARP spoofing ve flooding. Daha önce bahsettiğimiz gibi ARP spoofing saldırısı network gateway’in MAC adresini değiştirmek şeklinde gerçekleşir ve bu nedenlede gateway için hedeflenen tüm trafik alınmış olur. Bir hacker ayrıca switch’e işlevini yerine getiremiyecek kadar çok trafik gönderebilir (flood) ve tüm trafiği tümportlara göndermek suretiyle switch’i hub haline getirebilir. Bu aktif sniffing saldırısı sistemi, sniffer ile tüm trafiğin yakalanmasına neden olur.

DNS Spoofing Teknikleri :

DNS spoofing veya diğer adıyla DNS poisoning, DNS server’ı gerçek (doğru) bilgiyi aldığına inandırarak kandırmaktır. Bir kez DNS server aldatıldığında bilgi genelde bir süreliğine cache’lenir, server kullanıcılarına yapılan saldırının etkisi genişler. Bir kullanıcı belli bir web sitesinin URL yolunu talep ettiğinde, adresin ilişkili IP adresini bulmak için DNS servera bakılır. Eğer DNS serverda sorun var ise kullanıcı, istediği adres yerine başka bir fake adrese yönlendirilir. DNS saldırısı gerçekleştirmek için, saldırgan DNS server’ın yanlış bilgiyi kabul edeceği, DNS server yazılımı içindeki bir hatadan faydalanır. Eğer server DNS cevaplarının yetkili kaynaktan geldiğini doğrulamazsa DNS server yanlış bilgiyi local olarak

Sinan

Üstün

75

Page 76: CEH - Certified Ethical Hacker

CEH – Chapter 6

cache’lemiş olacak ve bu bilgileride daha sonra istekde bulunacak olan kullanıcılara verecektir. Bu teknik bir takım kurbanlar için belirlenen gelişigüzel içeriği, saldırganın seçtiği içerik ile değiştirir. Örneğin, saldırgan DNS server üzerinde hedef web sitesinin adreslerini hacker’ın kontrolünde olan server’ın IP adresleri ile değiştirir. Hacker daha sonra hedef sistemdeki isimler ile eşleşen serverdaki dosyalar için fake girişler yaratır. Etkilenmiş olan DNS serverdan referansı alan bilgisayar kullanıcısı, isteğinin hedef serverdan geldiğini düşünerek kandırılmış olur ve farkında olmadan tehlikeli içeriği indirir. DNS spoofing teknikleri :

Intranet spoofing : Aynı internal networkteki bir aygıt olarak davranır. Internet spoofing : İnternetteki bir aygıt olarak davranır. Proxy Server DNS poisoning : Bir proxy server üzerindeki DNS girişleri

değiştirilerek kullanıcılar farklı bir hosta yönlendirilir. DNS cache poisoning : Herhangi bir sistem üzerindeki DNS girişleri modifiye

edilir böylece kullanıcılar farklı bir sisteme yönlendirilir.

Sinan

Üstün

76

Page 77: CEH - Certified Ethical Hacker

CEH – Chapter 6

Hacking Araçları Etherflood, bir switch’i trafiğe boğup bir hub haline getirmek için kullanılır. Bunu yaparak bir hacker kendine gelen veya kendinden giden trafik yerine tüm trafiği yakalayabilir.

Dsniff, network’ü denetlemek aynı zamanda network’e girme işlemini gerçekleştirmek için dizayn edilen Unix için executable araçlar topluluğudur. Dsniff içindeki araçlar : filesnarf, mailsnarf, msgsnarf, urlsnarf ve webspy. Bu araçlar, saldırıya açık olan paylaşımlı network’ü (dışardaki bir firewall arkasındaki sniffer’ın olduğu LAN gibi) şifreler, mailler, dosyalar gibi önemli bilgiler için pasif olarak takip eder.

Sshmitm ve webmitm, yönlendirilen Secure Shell (SSH) ve HTTPS oturumlarına karşı aktif man-in-the-middle saldırıları gerçekleştirir.

Arpspoof, dnsspoof ve macof, genelde switch kullanılmasından dolayı bir sniffer programının kullanılamaması durumlarında switch kullanılan network trafiğini yakalamak işini geçekleştirir. Layer 2 paket switching sorunundan kurtulmak için dsniff network’e spoof yapıp verinin dışarıya çıkabilmesi için gateway olduğunu düşünmesini sağlar.

IP Restrictions Scanner (IRS), host üzerindeki belirli bir servis için ayarlanmış IP kısıtlamalarını bulmakta kullanılır. Bu araç TCP stealth kullanan ARP poisoning (ARP spoofing) veya half scan tekniği ile hedef sistem üzerindeki seçilen porta mümkün olabilecek tüm spoof yapılmış TCP bağlantılarını ayrıntılı olarak test edilmesi işlemlerini birleştirir. IRS, serverları ve router ve switch gibi network aygıtlarını bulabilir, ACLs(Access Contorl Lists) gibi erişim kontrol özelliklerini , IP filtrelerini ve firewall kurallarını belirleyebilir.

sTerm, eşsiz bir özelliğe sahip olan Telnet client’dır. Hedef sisteme iki yönlü Telnet oturumu kurar, bu iletişimde gerçek IP ve MAC adresini paket içine koymaz. ARP poisoning, MAC spoofing ve IP spoofing tekniklerini kullanarak sTerm etkili bir şekilde serverlar veya network aygıtları üzerindeki firewall kurallarını, erişim kontrol listelerini ve IP kısıtlamalarını aşabilir.

Sinan

Üstün

77

Page 78: CEH - Certified Ethical Hacker

CEH – Chapter 6

Sniffing’e Karşı Önlemler :

Network üzerinde sniffing’e karşı en iyi savunma önlemi encryption yapmaktır. Bununla birlikte encryption sniffing’i önleyemeyebilir. Sniffing saldırısı sırasında yakalanan veriyi kullanışsız hale getirir ve hacker bilgiyi yorumlayamaz. AES, RC4 veya RC 5 gibi enryption yöntemleri VPN teknolojilerinde faydalanılır ve sniffing’e karşı kullanılan en yaygın yöntemlerdir.

Cain&Abel, çok amaçlı Windows hacking aracıdır. Network’ü sniff ederek çeşitli türdeki şifreleri elde edebilir; dictionary, brute-force kullanarak encryptlenmiş olan şifreleri kırabilir; voip konuşmalarını kaydedebilir; karıştırılmış şifreleri decode edebilir; şifre kutularını açığa çıkarabilir; cache’lenmiş şifreleri ortaya çıkarabilir; ve routing protokollerini analiz edebilir. En son versiyonu ARP Poison Routing (APR) gibi switch kullanılan Lanlarda sniff yapılabilmesini sağlayan özellik ile man-in-the middle saldırıları gibi yeni özellikler içerir. Bu versiyonundaki sniffer, encryptlenmiş olan protokolleri (SSH-1 ve HTTPS gibi) analiz edebilir ve geniş otantikasyon yöntemleri içinden credential’ları (Kimlik bilgileri) yakalayabilen filtrelere sahiptir.

Packet Crafter, özel TCP/IP ve UDP paketleri yaratmak için kullanılan bir araçtır. Bu araç, Ip spoofing yapabilmek için paket içindeki kaynak Ip adresini değiştirebilir ve checksum gibi IP flagları kontrol edebillir ve durum flagları gibi TCP flaglarını (etiketleri), sıra numaralarını ve ack numaralarını kontrol edebilir.

SMAC, bir sistemin MAC adresini değiştiren araçtır. Hacker bir saldırı yapacağı zaman MAC adresini değştirmesini sağlar.

MAC Changer, Unix üzerinde MAC adresi sahteciliği yapmak için kullanılan bir araçtır. Network arayüzünün belirli bir MAC adresi, rastgele MAC adresi, başka bir üreticinin MAC adresi, aynı üreticinin başka bir MAC adresi, aynı türden başka bir MAC adresi veya listeden bir üretici seçip onun MAC adresi ile ayarlanmasına olanak sağlar.

WinDNSSpoof, Windows için DNS ID spoof işlemini yapan basit bir araçtır. Switched networklerde kullanabilmek için saldırı yapılacak bilgisayara snif yapılmalıdır. Bu yüzden ARP spoofing veya flood araçları ile kullanılmaya ihtiyacı olabilir.

Distributed DNS Flooder, DoS saldırısı için büyük miktarda sorgular gönderir, DNS’i iptal eder. Eğer DNS hatalı sorguları loglarsa, saldırının etkisi artar.

Karşı Önlemler netINTERCEPTOR, bir spam ve virüs firewall’ıdır. Gelişmiş filtreleme seçeneklerine ve yeni spamları öğrenebilme ve kendini adapte edebilme yeteneğine sahiptir. En son mail virüslerini ve Trojanları karantina altına alabilir ve önleyebilir, yüklenmiş Trojanı ve muhtemel bir sniffer yüklemesini engelleyebilir.

Sniffdet, TCP/IP networklerinde uzaktan sniffer tespiti için bir seri testler içerir. Sniffdet, promiscuous modda çalışan makinelerin tespiti için çeşitli testler uygular.

Win TCPKill, Windows için TCP bağlantısını sonlandıran araçtır. Araç hedef sisteme gelen veya giden trafiği sniff yapmak için bir sniffer kullanma yeteneğine gereksinimi vardır. Switched networklerde WinTCPKill, Arp spoofing yapabilen ARP cache poisoning aracı kullanabilir.

Sinan

Üstün

78

Page 79: CEH - Certified Ethical Hacker

CEH – Chapter 7

Denial of Service ve Session Hijacking Denial of Service (DoS) saldırısı boyunca hacker bir sistemi, kaynaklara aşırı yüklenerek veya kullanıcıların sisteme erişimini enegellemek suretiyle kullanılamaz hale getirir ve sistemi önemli derecede yavaşlatır. Bu saldırılar tekil sistemlere karşı veya tüm networke karşı yapılabilir ve saldırı denemeleri genelde de başarılı olur. Session hijacking, saldırganın oturumun yönetimini ele aldığı zaman son kullanıcı için geçici bir DoS saldırısı yaratan bir hacking yöntemidir. Session hijacking, hackerlar tarafından kullanıcının otantikasyonu yapıldıkdan sonra kullanıcının o anki oturumunu ele geçirmesidir. Session hijacking ayrıca hackerın server ile client arasında durduğu ve tüm trafiği kestiği man-in-the middle saldırısı içinde kullanılabilir. Bu chapter, DoS saldırılarını, Distributed Denial of Service (DDoS) saldırıları ve spoofing yöntemleri, TCP three-way handshake, sıra numarası belirleme gibi session hijacking öğeleri ve hackerın bu araçları session hijacking saldırısı için nasıl kullanacağını açıklayacak. Ayrıca chapter sonunda DoS ve Session hijacking saldırılarına karşı önlemler anlatılacaktır. Denial of Service : Bir DoS saldırısı, hackerın kullanıcı veya şirket sistemine karşı büyük miktarlarda yaptığı saldırı denemesidir. Bir CEH olarak DoS saldırı çeşitlerini ve DoS ve DDoS saldırılarının nasıl çalıştığını bilmek zorundasınız. Ayrıca robotları (BOTs) ve robot networkleri (BOTNETs) aynı zamanda smurf saldırılarını ve aşırı SYN saldırılarınında bilinmesi gerekir. Son olarakda DoS ve DDoS saldırılarına karşı alınması gereken önlemlerde bir CEH olarak bilmeniz gerekir. DoS Saldırı Çeşitleri : DoS saldırılarının iki temel kategorisi vardır. DoS saldırıları tek bir sistemden tek bir hedefe gönderilebileceği gibi (basit DoS) bir çok sistemden tek bir hedefede gönderilebilir (DDoS). DoS’un amacı sisteme veya dataya yetkisiz erişim elde etmek değildir, kullancının bir servisi kullanmasını engellemektir. Bir DoS saldırısının yaptıkları :

Nework’ü trafik ile doldurmak böylece normal network trafiğini engellemek İki makine arasındaki iletişimi bozar, bu sayede bir servise erişimi engeller. Özel birinin bir servise erişimini engeller. Servisin belirli bir sistem veya kişi ile iletişimini bozar.

Bir kurbana aşırı trafik gönderilmesi için farklı araçlar vardır fakat sonuç hepsinde aynıdır : Bir sistem veya tüm sistem üzerindeki bir servisin kullanıcı için erişilmez olmasıdır çünkü servis aşırı miktardaki istekler yüzünden cevap veremez hale gelir. Bir DoS saldırısı genelde en son başvurulan bir saldırıdır. Sofistike olmayan bir saldırı olarak nitelendirilir. Bunun nedeni hacker’ın herhangi bir bilgiye erişim elde etmemesidir fakat hedef için oldukça sinir bozucu bir saldırıdır ve kurbanın bir servise erişimini engeller. DoS saldırıları yıkıcı olabilir ve aynı anda bir çok sistemden saldırı yapılırsa (DDos) tatmin edici bir etki yaratır.

Sinan

Üstün

79

Page 80: CEH - Certified Ethical Hacker

CEH – Chapter 7

DoS saldırıları saldırganın son kurbana karşı saldırı yapmak için kullandığı riskli sistemlere BOT’lar ve BOTNET’ler tarafından gerçekleştirilebilir. Tehlikedeki sistem veya network, ikincil kurbandır. DoS veya DDoS saldırıları yapılan kurban ise birincil kurban veya hedeftir. DDoS Saldırılarının Çalışması : DDoS saldırısı DoS saldırısının gelişmiş halidir. DoS’daki gibi DDoS, sistemdeki çalışan servislere, hedef sistemin işleyemeyeceği miktarda paketler göndererek kullanılmaz hale getirir. DDoS saldırısının temeli DoS taki tek bir host üzerinden saldırının yapılması yerine çok sayıda host üzerinden saldırıları gerçekleştirebilmesidir. DDoS geniş çaplı, kurban sistem üzerine düzenli, koordineli saldırılar yapabilen bir saldırı türüdür.

Hacking Araçları

Ping of Death, alan sistemin paketleri tekrar eski haline getirebilmesi açısından, çok büyük birden fazla IP paketleri göndererek sistemin kilitlenmesine yol açan bir saldırıdır. Ping of Death, saldırının kurbanı olan ve servera erişmeye çalışan clientlar için bir DoS’a neden olur.

SSPing , çeşitli parçalanmış ICMP paketlerini hedef sisteme gönderen bir programdır. Bu, parçalanmış paketleri tekrar eski haline getirmeye çalışan sistemin donmasına neden olur.

LAND saldırısı, kaynak IP adresinin hedef sistemin IP adresi ile aynı olarak ayarlanmış bir sisteme bir paket gönderir. Sonuç olarakda sistem kendine reply yapar ve sistem kaynaklarını boğan bir döngü yaratılır ve sonunda işletim sistemi çöker.

CPU Hog, hedef sistem üzerindeki işlemci kaynaklarını bitirip tüketen, kullanıcının sisteme ulaşamamasını sağlayan bir DoS saldırısı gerçekleştirir.

WinNuke, hedef sistemi açık olan 139.port üzerinden takip eder ve bu port üzerinden hedefe işe yaramaz IP trafiği gönderir. Bu saldırıya Out of Bounds (OOB) saldırısıda denir ve IP yığınının aşırı yüklenilmesine neden olur ve sonunda da sistem çöker.

Jolt2, bir Windows çalışan hedefe büyük miktarda parçalanmış paketler gönderen DoS aracıdır. Bu işlem, sistem kaynaklarını boğar ve sonuç olarak da sistemi kilitler. Jolt2 bir çok Cisco router gibi Windows’a özel değildir. Diğer bazı gateway’lerde Jolt2 saldırısından etkilenebilir.

Bubonic, rastgele ayarlar ile TCP paketleri gönderen DoS aracıdır. Amaç, hedef sisteme aşırı yüklenmek ve sistemi çökertmektir.

Targa, 8 farklı DoS saldırısını gerçekleştirmek için kullanılan bir programdır. Saldırganın tekil saldırılar yapabilmesi için veya bir tanesi başarılı olana kadar tüm saldırıları gerçekleştirebilmesi için seçeneklere sahiptir.

RPC Locator, eğer patch’lenmemiş ise overflowları(taşma) bozmak için açığı olan bir servistir. Windows içindeki bu servis network üzerinde dağıtık olan uygulamaların çalışmasını sağlar. DoS saldırılarına karşı müsaittir ve bir çok DoS saldırısı gerçekleştiren araç bu açıktan faydalanır.

Sinan

Üstün

80

Page 81: CEH - Certified Ethical Hacker

CEH – Chapter 7

81

Saldırı altındaki servisler primary-birincil kurbandır;saldırı başlatmak için kullanılan risk altındaki sistem ise secondary-ikincil kurbandır. Birincil kurbana DDoS gönderen risk altındaki sistemler bazen zombie ‘ler veya BOT’lar olarakda ifade edilir. Genelde başka bir saldırı ile risk altına girerler ve sonrada birincil kurbana belli bir zamanda veya şartlar altında saldırı başlatmak için kullanılır. Saldırının kaynağını takip etmek zordur çünkü bir çok Ip adres kaynak olarak görülür. Normalde DDoS 3 kısımdan oluşur :

Master/Handler Slave/secondary_victim/zombie/agent/BOTNET Victim/Primary_victim

Master saldırı başatandır. Slave, master tarafından kontrol edilen ve riske atılan bir hosttur. Victim, hedef sistemdir. Master, victim (kurban) sisteme saldırıyı başlatmak için slave’i yönlendirir. DDoS iki aşamada gerçekleşir. Intrusion aşamasında hacker dünyadaki farklı networklerde bulunan zayıf sistemleri etkiler ve DDoS araçlarını risk altındaki bu slave sistemlere yükler. DDoS saldırı aşamasında slave sistemler birincil kurbana saldırıya neden olmak için tetiklenirler.

Hacking Araçları

Trinoo, DDoS saldırıları gerçekleştirmek için UDP trafiği gönderen bir araçtır. Trinoo master, bir veya daha fazla hedef sisteme karşı bir DoS saldırısı gerçekleştirmek için kullanılan bir sistemdir. Master, bir önceki tehlikeye düşmüş olan sistemdeki ajan process’lere (daemons denir) bir veya daha fazla IP adresine saldırı yapmaları için yol gösterir. Bu saldırı belirli zaman aralıklarında gerçekleşir. Trinoo agent veya daemon, buffer overflow açığını sağlamak için sistem üzerine yüklemesi yapılır. WinTrinoo, Windows işletim sistemi versiyonudur ve Trinoo ile aynı işlevlere sahiptir.

Shaft, Trinoo’dan türetilen bir araçtır ve masterlar ve agentlar arasında UDP iletişimi için kullanılır. Shaft, saldırganın kurban sistemin ne zaman kapatılacağını bilmek için kullanacağı flood saldırı istatistikleri sağlar. Shaft, UDP, ICMP ve TCP flood (aşırı miktarda paket gönderimi)saldırı seçeneklerine sahiptir.

Tribal Flood Network (TFN), saldırgana band genişliği ve kaynak tüketme saldırılarının her ikisini gerçekleştirmesini sağlar. TFN aracı, UDP ve ICMP flood saldırısı ve aynı zamanda TCP SYN ve smurf saldırıları yapar.TFN2K, TFN tabanlıdır. TFN2K trafiğinin tanımlanmasını ve filtrelenmesini zorlaştırmak için özel olarak dizayn edilmiş özelliğe sahiptir. Uzaktan komutlar çalıştırabilir, Ip spoofing ile saldırının kaynağını gizleyebilir ve UDP, ICMP ve TCP dahil bir çok taşıma protokolünü kullanabilir.

Stacheldraht, TFN’e benzer ve ICMP flood, UDP flood ve TCP SYN saldırı seçeneklerine sahiptir. Ayrıca saldırgan ile agent sistemler (ikincil kurban) arasında güvenli Telnet iletişimi sağlar (symetric key encryption kullanarak). Bu, adminin trafiği tanımlamasına ve önlemesine engel olur.

Mstream, hedefe saldırı için ACK flag ayarını yaparak TCP paketlerinde hile yapmak için kullanılır. Bir handler ve agent kısmı vardır fakat handler kısmına erişim şifre korumalıdır.

Sinan

Üstün

Page 82: CEH - Certified Ethical Hacker

CEH – Chapter 7

82

BOT’ların ve BOTNET’ler Nasıl Çalışır : BOT, kısa bir web robot ve zekice davranan otomatik yazılım programıdır. Spamcılar, habergruplarına veya maillere otomatik olarak spamları göndermek için sık bir şekilde BOT kullanırlar. BOT’lar ayrıca uzaktan saldırı araçları olarak da kullanılır. Çok sık olarak BOT’lar web sayfa arayüzlü web yazılım agentları olarak kullanılır. Örneğin, web crawler’lar (spider’lar) web sayfası hakkında bilgi toplayan web robotlarıdır. En tehlikeli BOT’lar kötü amaç için kullanıcının bilgisayarına kendi kendilerine yüklemeyi yapanlardır. Bazı BOT’lar anlık mesajlaşma, IRC veya diğer web arayüzleri kullanılarak internet üzerinden diğer kullanıcılar ile iletişime geçebilir. Bu BOT’lar IRQ kullanıcılarına düz ingilizce ile soru sormalarına izin verir ve sonrada uygun cevaplar hazırlar. Bu gibi BOT’lar bir çok görevi idare edebilirler, bu görevler içinde hava durumu raporlama, zip kod bilgisini sağlama, spor sonuçlarını listeleme, ölçü birimlerini çevirme bulunur. BOTNET, BOT sistemlerinin oluşturduğu gruptur. BOTNET’ler DDoS saldırıları, spam için SMTP mail göndermeler veya yaratma, Internet pazarlama sahteciliği, yazılımların serial numaralarını, login ID’leri veya kredi kartı numaralarını çalma gibi çeşitli amaçlara hizmet ederler. Genelde bir BOTNET koordineli DDoS saldırısı başlatmak amaçlı olarak bir BOT çalışan risk altındaki sistemler topluluğunu ifade eder. Smurf Saldırısı : Smurf saldırısı, kaynak adres olarak kurbanın adresi ile değiştirilmiş büyük miktarlarda ICMP echo (ping paketleri) paketlerini, broadcast olarak networke gönderir. Bu Ip networkte bulunan her bir secondary kurban ICMP echo request isteğine, ICMP echo reply mesajı ile cevap verir, host sayısı ile trafik daha fazla artarak cevap verilir. Multiaccess broadcast networkte yüzlerce bilgisayar her bir pakete cevap verir. Bu ping reply mesajları ile büyümüş olan DoS saldırısı yaratır, birincil kurbana aşırı miktarda veri gider. IRC serverları internet üzerinde smurf saldırılar için birincil (primary) kurbandır. SYN Flooding ?: Bir SYN flood saldırısı bilgisayarın işleyebileceğinden daha hızlı TCP bağlantı istekleri gönderir. Saldırgan her bir paket için rastgele kaynak adres üretir ve SYN flag server’a sahte kaynak adres ile yeni bir bağlantı isteği için ayarlanır. Kurban sahte Ip adrese cevap verir ve hiç bir zaman ulaşmıyacak olan TCP onayını bekler. Sonuç olarak kurbanın bağlantı tablosu beklenen reply mesajları ile dolar; tablo dolduktan sonra tüm yeni bağlantı istekleri reddedilir. Normal kullanıcılarınkide reddedilir ve servera erişilemez. Bazı SYN Flood saldırılarını önlemenin yolları SYN cookie’ler, RST cookie’ler, Micro Block’lar ve Stack Tweaking’dir. DoS ve DDoS Saldırılarına Karşı Önlemlerin Açıklanması : DoS saldırılarını tespit etmek, durdurmak ve önlemek için çeşitli yollar vardır. Aşağıdakiler mevcut yaygın güvenlik özelliklerini açıklar : Network-ingress (giriş yetkisi) filtreleme : Tüm network erişim sağlayıcıları network-ingress filtrelemesini herhangi bir fake veya hileli adresden internete gönderilen paketlerden herhangi alt networklere uygulamak zorundadır. Bununla birlikte bu işlem

Sinan

Üstün

Page 83: CEH - Certified Ethical Hacker

CEH – Chapter 7

83

bir saldırının oluşmasını durdurmaz, kaynak adresten gelen saldırının takibini daha kolay yapar ve saldırıyı hızlı bir şekilde sonlandırabilir. Rate-limiting network trafik : Günümüzde piyasadaki bir çok router, harcanacak bazı türdeki trafiğin bandgenişliğini sınırlamanıza izin veren özelliğe sahiptir. Bu özellik traffic shaping olarakda bilinir. Intrusion detection systems (Saldırı önleme sistemleri) : IDS, slave, master veya agent olan makineler ile iletişim kuran saldırganları tespit etmek için kullanılır. Bunu yapmak size networkünüzdeki bilgisayarlar kullanılarak bilinen saldırıların başlatıldığını bilmenizi sağlar fakat muhtemelen bu saldırıların yeni versiyonlarını veya saldırıyı yapan araçları tespit edemiyecektir. Bir çok IDS üreticileri Trinoo, TFN veya Stacheldraht network trafiğini tespit edecek imzaya sahiptir. Host-auditing (Host denetleme) araçları : Dosya tarama araçları, networkünüzdeki bilgisayarlarınızda çalışan mevcut DDoS agent’larıtespit edecek araçlara sahiptir. Otomatik network izleme araçları : Sahte adreslere sahip paketlerin akışlarını network boyunca takip etme zaman olarak önemli bir görevdir ve saldırı işlemdeyken tamamlanması gerekir.

Session Hijacking : Session hijacking, kullanıcının server ile başarılı bir otantikasyonu sağlamasından sonra hacker’ın kullanıcı oturumunun kontrolünü almasıdır. Session hijacking, client/server iletişiminin geçerli olan oturumum ID’sinin belirlenmesi için saldırı yapılmasına bağlıdır. Session hijacking, sıra numarası tahmin edebilen araçlar ile yapılması mümkündür. Sıra numarası tahmin etme işleminin detayları ilerleyen bölümlerde incelenecektir. Spoofing’e Karşı Hijacking : Spoofing saldırıları hijacking saldırılarından farklıdır. Spoofing saldırısında hacker sniffing işlemini gerçekleştirir ve gönderenden alıcıya doğru network boyunca giden trafiği dinler. Daha sonra hacker spoof ile elde ettiği bilgiyi kullanır veya normal bir

DoS Tarama Araçları Find_ddos, lokal bir sistemi muhtemel bir DDoS programı için tarayan araçtır. Bir çok bilinen DDoS saldırı araçlarını tespit edebilir.

SARA, uzaktaki bilgisayarlar ve neworkler hakkında network servislerini incelemek suretiyle bilgi toplar. Bu bilgiler içinde network bilgi servisleri ve aynı zamanda hatalı kurulmuş veya konfigüre edilmiş network servisleri, sistem veya network araçlarındaki Common Vulnerabilites and Exposures (CVE) veritabanında listelenmiş olan bilinen buglar gibi potansiyel güvenik kusurları ve zayıf ilke kararları bulunur.

RID ücretsiz Trinoo, TFN ve Stacheldraht clientları tespit eden bir tarama aracıdır.

Zombie Zapper, zombie sistem flooding paketlerine saldırıyı durdurmasını bildirir. Saldırganın kullandığı aynı komutlar ile saldırıyı durdurabilirsiniz. Sina

n Üstü

n

Page 84: CEH - Certified Ethical Hacker

CEH – Chapter 7

84

sistemin adresini kullanır. Hijacking saldırıyı gerçekleştirmek için aktif olarak kullanıcıyı offline yapmasını gerektirir. Saldırgan kullanıcının bağlantıyı yapmasına ve otantikasyonu sağlamasına bel bağlar. Bu aşamadan sonra saldırgan oturumu ele geçirir ve o anki kullanıcının oturumu sonlanır. Session hijacking saldırısının devam edebilmesi aşağıdaki 3 aşamaya bağlıdır : Oturumu İzleme : Hacker açık bir oturumu belirler ve bir sonraki paketin sıra numarasını tahmin eder. Bağlantıyı Desonkronize Etmek : Hacker geçerli kullanıcının sistemine TCP reset (RST) veya Finish (FIN) paketini oturumunu kapatmak için gönderir. Saldırganın Paketini Yerleştirmek : Hacker servera tahmin ettiği sıra numaralı TCP paketini gönderir ve server gelen paketi doğru kullanıcının bir sonraki paketi olarak kabul eder. Session Hijacking Çeşitleri : Hacker’lar iki türlü session hijacking yöntemi kullanabilir : aktif ve pasif. Aktif ve pasif arasındaki birincil fark hacker’ın oturumdaki katılım seviyesidir. Aktif saldırıda, saldırgan bir aktif oturum bulur ve TCP oturumunda bir sonraki paketin sıra numarasını tahmin eden araçlar ile oturumu devralır. Pasif saldırıda, saldırgan oturumu devralır ve sonrada diğer normal kullanıcılardan gönderilen tüm trafiği gözlemler ve kaydeder. Pasif session hijacking işleminin sniffing den farkı yoktur. Şifreler gibi bilgileri toplar ve daha sonra bu bilgiyi başka bir oturumda otantikasyonu sağlamak için kullanır. Sıra Tahmini : TCP balantılı bir protokoldür, gelen paketleri orjinal sırasına göre tekrar oluşturmaktan sorumludur. Bu yüzden her paket sequence number (SN) denilen eşsiz bir numaraya sahiptir. Her paket atanmış eşsiz bir numaraya sahip olarak, alınan tarafta

TCP Kavramları : Three-Way Handshake TCP’nin temel özelliklerinden biri güvenilir olması ve paketlerin sıralı olarak teslim edilmesidir. Bunu yapmak için TCP acknowlegments (ACK-Onay) paketlerini ve sıra numaralarını kullanır. Bu numaralar ile oynamak TCP sesson hijacking saldırısının temelidir. Session hijacking saldırısını anlayabilmek için önceki chapterlarda anlattığımız Three-Way handshake kavramına tekrar bakalım :

1. Geçerli kullanıcı server ile bir bağlantı gerçekleştirir. Bu işlem servera SYN bit’i ve kullanıcının initial sequence number (ISN) ayarlanmış bir paket göndermesiyle tamamlanır.

2. Server paketi alır ve geriye SYN bit ve serverın ISBN’ı, artı bir artışla kullanıcının ISN’ini belirlemek için ACK bit yerleştirilir.

3. Geçerli olan kullanıcı server’ı, dönen Ack biti eklenmiş ve birer artmış serverın ISN’i ile onaylar.

Bu bağlantı, zaman aşımı veya, FIN veya RST flag yerleştirilmiş bir paket ile kapatılabilir. RST flag yerleştirilmiş paketin alınmasıyla, alıcı sistem bağlantıyı kapatır ve oturum için gelen paketler kabul edilmez. Eğer paket içinde FIN işareti varsa alıcı sistem bağlantıyı kapatma işlemine geçer, kapanma sırasında gelen paketler kabul edilir. FIN veya RST işaretli paketler session hijacking için kullanılan en yaygın yöntemlerdir.

Sinan

Üstün

Page 85: CEH - Certified Ethical Hacker

CEH – Chapter 7

85

orjinal sırasına göre tekrar birleştirilebilir. Eğer paketler sıralarına göre gelmezlerse sequence number, paketleri sıraya koymak için kullanılır. Biraz evvel anlatıldığı gibi sistem TCP oturumunu SYN biti eklenmiş bir paket göndererek başlatır. Bu pakete synchronize packet denir ve client’ın Initial Sequence Number’ını (ISN) içerir. ISN dört milyar muhtemel kombinasyonla yaratılmış rastgele bir numaradır. Acknowlegment (ACK) paketi gönderildiğinde, her bilgisayar paketteki SN’yi kullanarak onayı verir ve bir artırır. Bu işlem sadece belirli bir paketin alımını onaylamak değildir, gönderene bir sonraki paketin beklenen sıra numarasını söyler. Three-way handshake’de (3 yönlü antlaşma) artış miktarı birdir. Normal veri iletişimlerinde artış miktarı verinin byte olarak boyutuna eşittir (Örneğin, 45 byte’lık bir veri transfer ediyorsanız ACK, paketin sıra numarasına 45 ekleyerek cevap verir). Aşağıdaki şekil sıra numaralarını ve TCP three-way handshake sırasındaki onaylamayı gösterir.

Session hijacking’de kullanılan araçlar sıra numarası tahmin etme işlemini yaparlar. Başarılı bir TCP sıra numarası tahmin saldırısı için hacker iki sistem arasındaki trafiği inceler. Sonrada hacker veya hacking aracı sıra numarasını tahmin eder veya bir sonraki sıra numarasını hesaplamak için ISN’i bulur. Bu işlem söylenenden daha zordur çünkü paketler çok hızlı gider. Eğer hacker iletişimi sniff edemezse yani iletişim boyunca kullanılan paketleri yakalayıp inceleyemez ise bir sonraki sıra numarasını tahmin etmek çok daha zor olacaktır. Bu nedenle bir çok session hijacking aracı sıra numaralarını belirlemek için sniffing işlemine izin veren özelliklere sahiptir. Hackerlar, hedef sistem ile oturum açmış olan sisteme ait, sahte IP adres kullanarak paketler yaratırlar. Hacking araçları hedef sistemin beklemekte olduğu sıra numarasına sahip paketler oluşturur. Fakat Hacker’ın paketi güvenilen sistemin paketinden önce varmalıdır. Bu işlemde güvenen sisteme yoğun bir şekilde paketler göndererek veya güvenen sisteme bir RST paketi göndererek ve böylecede hedef sisteme giden paketlerin ulaşmasını engellenmesiyle gerçekleşir. Session Hijacking İşleminin Uygulama Adımları : Özet olarak session hijacking saldırısını devam ettirmek için aşağıdaki 3 adım gerekir : Oturumu Takip Etme : Hacker açık bir oturumu belirler ve bir sonraki paketin sıra numarasını tahmin eder.

Sinan

Üstün

Page 86: CEH - Certified Ethical Hacker

CEH – Chapter 7

86

Bağlantıyı Desonkronize Etmek : Hacker geçerli kullanıcının sistemine TCP reset (RST) veya Finish (FIN) paketini oturumunu kapatmak için gönderir. Sırası ile hacker kullanıcının server’dan iletişimini kesmek için DoS saldırı aracı kullanabilir. Saldırganın Paketini Yerleştirmek : Hacker servera tahmin ettiği sıra numaralı TCP paketini gönderir ve server gelen paketi doğru kullanıcının bir sonraki paketi olarak kabul eder.

Session Hijacking’in Oluşturduğu Tehlike : TCP session hijacking tehlikeli bir saldırıdır. Bir çok sistem bu saldırıya karşı savunmasızdır çünkü bu sistemler birincil iletişim protokolü olarak TCP/IP protokol kümesini kullanır. Yeni işletim sistemleri kendilerini session hijacking saldırısına karşı korumak için ISN hesaplaması için rastgele sayı üreticiler kullanır, bu sayede sıra numarasını tahmin etmek çok daha zorlaşır. Bununla birlikte saldırgan, bu saldırıyı gerçekleştirmek için gerekli bilgiyi sağlayacak olan paketleri inceleyecek olursa bu güvenlik önlemi çok da verimli olmıyacaktır. Aşağıdaki nedenler session hijacking saldırısından uzak durmanın bir CEH için neden önemli olduğunu belirtir :

Bir çok bilgisayar savunmasızdır. Bu saldırı için çok az karşı önlem mevcuttur. Session hijacking saldırısını başlatmak basittir. Hijacking tehlikelidir çünkü saldırı sırasında önemli bilgiler elde edilir.

Hacking Araçları Juggernaut, TCP oturumlarını ele geçirmek için kullanılan bir Network sniffer aracıdır. Linux işletim sisteminde çalışır ve tüm network trafiğini izlemek için kullanılır veya verilen bir kelime ile örneğin password arama yapar. Program tüm aktif network bağlantılarını gösterir ve hacker ele geçireceği oturumu seçer.

Hunt, network üzerinde oturumu ele geçirmek ve sniff işlemi için kullanılır. Hunt, bağlantı yönetimi yapabilir, ARP spoofing, bağlantıyı sıfırlama, bağlantıları takip etme, MAC adres bulma ve TCP trafik yakalama işlemlerini yapabilir.

TTYWatcher, session hijacking aracıdır. Bu araç hackerın ele geçirdiği oturuma sanki hiç çalmamış gibi geri dönmesini sağlar. Sadece Sun Solaris sistemlerde çalışır.

IP Watcher, saldırganın bağlantıları takip ettiği ve oturumları ele geçirdiği ticari bir session hijacking aracıdır. Network üzerindeki tüm bağlantıları takip edebilir, saldırganın bir oturumun tam bir kopyasını gerçek zamanlı olarak seyretmesini sağlar.

T-Sight, oturum takip etme ve bir network’e girme veya tehlikeye atma işlemi sırasında yardım eden Windows hajacking aracıdır. T-Sight ile sistem admini, tüm networkü gerçek zamanlı olarak takip edebilir ve meydana gelen herhangi bir şüpheli hareketi gözlemleyebilir. Ayrıca T-Sight networkde herhangi bir TCP oturumunu ele geçirebilir. Güvenlik nedeniyle Engarde Systems sadece kayıtlı IP adreslerine lisanslamaktadır.

Remote TCP Session Reset aracı o anki TCP oturumunu ve Ip adresleri ve port numaraları gibi bağlantı bilgilerini görüntüler. Bu araç birincil olarak TCP oturumlarını sıfırlamak için kullanılır.

Sinan

Üstün

Page 87: CEH - Certified Ethical Hacker

CEH – Chapter 7

87

Session Hijacking Saldırısını Nasıl Durdurabilirsiniz :

Oturumu elegeçirme saldırısına karşı savunma için, networkte çeşitli güvenlik yöntemleri kullanılmalıdır. En iyi koruma yöntemi IPSec gibi encryption kullanmaktır. Bu ayrıca sniffing işlemine bağlı diğer saldırılara karşıda savunma sağlıyacaktır. Saldırganlar belki bağlantınızı pasif olarak takip edecekler fakat encryptlenmiş verinizi okuyamıyacaklardır. Diğer bir karşı önlem yöntemi ise SecureShell (SSH, enryptlenmiş Telnet’dir) ve Secure Socket Layer (SSL, HTTPS trafiği için kullanılır) gibi encryption uygulayan uygulama kullanılmasıdır. Session Hijacking saldırısını önlemeye yardım etmek için network’ünüze erişimi elde etmenin potansiyel yöntemlerini azaltabilirsiniz. Örneğin, içerdeki sistemlere uzaktan erişimi kapatmak. Eğer networkünüzde uzaktan bağlantı yapıp işlerini yapmak isteyenler varsa, tünelleme protokolleri ve encryption (Layer3 Tünneling Protocol[L3TP]/Point-to-Point Tunneling Protocol [PPTP] ve IpSec) kullanan VPN kullanılabilir. Bir çok güvenlik ağlarının kullanılması potansiyel tehditlere karşı daima en iyi önlemlerdir. Bir tane önlemi uygulamanız yeterli olmıyacaktır fakat hepsini birden kullanmanız profesyonel saldırganların başarı oranını en aza indirecektir. Session Hijacking saldırılarını önlemek için uygulanması gereken önlemelerin kontrol listesi :

Encryption kullan Güvenli protokol kullan Gelen bağlantıları sınırla Uzaktan erişimleri en aza indir Güçlü otantikasyon kullan Çalışanları eğit Farklı hesaplar için farklı kullanıcı adı ve şifreler kullan

Sinan

Üstün

Page 88: CEH - Certified Ethical Hacker

CEH – Chapter 8

Web Server’ları Hacklemek, Web Uygulamalarındaki Açıklar ve Web Tabanlı Şifre Kırma Teknikleri Web serverlar ve web uygulamaları risk açısından yüksek potansiyele sahiptir. Bunun birincil nedeni web server uygulamasının çalıştığı sistemlerin internet üzerinde herkes tarafından ulaşılabilir olmasıdır. Bir kez bir web server tehlike altına girdiğinde sistem, hackerlara network içinde başka bir kapı sağlıyacaktır. Tabi sadece web server yazılımı değil ayrıca web server üzerinde çalışan uygulamalarda saldırıya açık ve sömürülmeye müsaittir. İşlevlerinden dolayı web serverlar diğer sistemlere göre daha fazla erişime ve daha az güvenliğe sahiptir. Bir web server Internet üzerinde 7 gün 24 saat erişilebilir durumdadır. Buda network üzerinde bunları kolay saldırı noktası yapar. Bu chapter, web serverlara karşı ve aynı zamanda web uygulamalarına karşı gerçekleştirilen saldırıları ve zayıf noktalarından bahsedecektir.

Web Serverları Hacklemek : Bir CEH olarak web serverların nasıl hacklendiğini bilmek işinizin önemli bir parçasıdır. Buda, web serverların zayıf noktalarını bilmeniz aynı zamandada bir hacker’ın kullandığı saldırı çeşitlerini –IIS Unicode exploitleri dahil- içerir. Ek olarak patch yönetme tekniklerinin ne zaman kullanıldığını ve web serverları nasıl daha sağlam yapacağınızı bilmeniz gerekir. Web Serverdaki Zayıflıkların Çeşitleri : Diğer sistemler gibi web serverlarda hackerlar tarafından tehlikeye atılabilir. Aşağıdaki zayıf noktalar web serverlarda yaygın olarak faydalanılan kısımlardır :

Hatalı konfigürasyona sahip web server yazılımı İşletim sistemi veya uygulamalardaki bug’lar veya program kodundaki kusurlar İşletim sisteminin ve web server yazılımının default yüklemesindeki zayıf noktalar

ve/veya işletim sistemi veya web server yazılımının güncellenmesindeki patch yönetim eksikliği

Güvenlik ilkelerine veya prosedürlerine uyulmaması ve bunlardaki eksiklikler Hackerlar bu açıklardan faydalanarak web serverlara erişim sağlarlar. Çünkü, web serverlar DMZ (Demilitarized Zone) denilen iki paket filtreleme cihazının arasında herkes tarafından erişime açık bir bölgede bulunurlar ve şirketteki clientlar tarafından çok kolay erişime sahiptirler, web serverdaki bir exploit hackera içerdeki sistemlere ve veritabanlarına kolay bir şekilde erişim sağlar. Not : Website Cloaking, web serverın farklı türdeki web sayfalarını kullanıcının IP adresine göre görüntüler. Web Serverlara Karşı Yapılan Saldırıları Anlamak : Web serverlara karşı en fazla görülen saldırı şekli tahrifattır. Hackerlar, web sitelerini haz için tahrif ederler ve ünlerini artırmak için bir şans olarak görürler. Bir web sitesini bozmak veya tahrif etmek demek, hacker’ın işletim sistemindeki veya web server

Sinan

Üstün

88

Page 89: CEH - Certified Ethical Hacker

CEH – Chapter 8

yazılımındaki bir açıktan faydalanmak ve web sitesinin dosyalarını sitenin hacklendiğini göstermek amacıyla değiştirmektir. Genelde de hacker web sitesinin ana sayfasında hacker ismini yazar. Bir web sitesinin hacker tarafından tahrif edilmesini sağlamak için yaygın olan web sitesi saldırıları :

Man-in-the-middle saldırıları ile administrator kimlik bilgilerini yakalamak Brute-force saldırısı ile administrator şifresini meydana çıkarmak DNS saldırısı ile kullanıcıları farklı web server’a yönlendirmek Mail server veya FTP serverı riske atmak Bir açık sayesinde web uygulamalarının buglarından yararlanmak Web paylaşımlarının hatalı konfigürasyonu İzin zaaflarından yararlanmak Bir firewall veya router saldırısından sonra bir client’ı tekrar yönlendirmek SQL injection saldırılarını kullanmak (SQL Server ve web server aynı sistemde ise) Telnet ve Secure Shell ihlallerini kullanma Kullanıcıları farklı URL’ye yönlendiren URL poisoning işlemini gerçekleştirmek Web server extension veya remote service ihlalini kullanmak Cookie’lerin aktif olduğu güvenlikde- client ile server arasındaki iletişimi önlemek ve

cookie değiştirip serverın, kullanıcının yüksek ayrıcalıklara sahip olduğuna inandırmak.

IIS Unicode Exploitleri : IIS çalışan Server 2000 sistemler, Unicode exploit için elverişlidir. IIS içindeki unicode exploit açığı patch’lenmemiş Windows 2000 sistemlerde meydana gelir, CGI scriptlerini ve .ASP gibi ISAPI uzantılarını etkiler. Bu açıklık bulunmaktadır çünkü IIS ayıklayıcı, unicode tercümesini düzgün yapamaz, hackera sistem seviyesinde erişim sağlar. Temel olarak, Unicode herhangi bir dildeki karakterleri evrensel hex code özelliğine çevirir. Bununla birlikte unicode iki kez çevirme yapar ve sadece taranan istek sonucunu bir kez derler (takip eden ilk çevirme). Hackerlar bundan dolayı IIS üzerinden dosya isteklerini gizlice gerçekleştirir. Örneğin, IIS’in savunmasızlığının relative pathname exploitler içinde yol açmak yerine %c0% af den yararlanmak. Bazı durumlarda istek, hackera başka durumlarda göremiyeceği dosyalara erişim sağlar. Unicode directory traversal açığı, hackerların dosyaları silme, ekleme veya değşiklik yapabilmelerini veya servera kod yüklemeyi ve çalıştırmayı sağlar. Dosyaları ekleme veya çalıştırma sayesinde hackerlar sisteme backdoor veya bir Trojan yükleyebilirler. Not : IIS Unicode exploit artık geçersiz olan bir açıklıkdır ve bu yazıda sadece ne olduğu söylenmiştir. Patch Yönetim Teknikleri : Patch yönetimi, sistem üreticisi tarafından gerekli olan uygun patch’lerin ve hotfixlerin güncellenmesidir. Düzgün bir patch yönetimi, patchlerin nasıl yükleneceği ve doğrulanacağı ve bu patchleri yüklemeden önce bir test ortamında test edilmesi şeklinde gerçekleşmesi gerekir. Her bir sisteme uygulanan tüm patchlerin bir log’u mutlaka tutulmalıdır. Patch yüklemesini daha kolay hale getirmek için PatchLink, St.Bernard, Microsoft veya diğer

Sinan

Üstün

89

Page 90: CEH - Certified Ethical Hacker

CEH – Chapter 8

yazılım üreticilerinin patch yönetim sistemleri kullanılabilir, bu sayede sistemlerinizin bir değerlendirmesini yapabilir ve hangi patchlerin uygulanacağına karar verebilirsiniz.

Web Server’ı Sağlamlaştırma Yöntemleri : Bir Web server admini serverı daha sağlam (güvenliğini artırmak) hale getirmek için bir çok şey yapabilir. Aşağıdakiler bir web server’ın güvenliğini artırmanın yollarını gösterir :

Administrator hesabının ismini değiştirin ve güçlü bir şifre kullanın Default web sitelerini ve FTP sitelerini disable yapın Serverdan WebDAV gibi kulanılmayan uygulamaları kaldırın Web server’ın konfigürasyon ayarlarından directory browsing ayarını disable yapın Sitenize, potansiyel saldırganlar için sitenin hacklenmesinin anlamını belirten yasal

not ekleyin İşletim sisteminin ve web server yazılımının mevcut pek çok patchlerini, hotfixlerini

ve service packlerini ekleyin Web formları ve sorgu stringlerinin girişleri üzerinde buffer overflow veya kötü niyetli

giriş saldırılarını önlemek için bounds-checking uygulayın Uzaktan yönetimi iptal edin 404 (“Dosya Bulunamadı”) hata mesajındaki kullanılmayan dosya uzantılarını

belirlemek için bir script kullanın Denetleme (Auditing) ve log işlemini aktif hale getirin Internet ve web server arasında bir firewall kullanın ve sadece gerekli portlara izin

verin (80 ve 443 gibi) Web servera veri gönderirken GET yerine POST yöntemini kullanın

Not : Cross site scripting’e karşı önlem için “<” ve “>” karakterlerini “&lt” ve “&gt” karakterleri ile server scriptlerini kullanarak değiştirin. SSL saldırılarına karşı proxy server kurun ve proxy’de SSL’i sonlandırın veya donanımsal SSL hızlandırıcı yükleyin ve bu katmanda SSL’i sonlandırın.

Web Uygulamasındaki Açıklar : Bir web serverdan hackerın nasıl faydalandığını anlamaya ek olarak, bir CEH için bir web uygulamasının açıkları ile aşina olmak da önemlidir. Bu bölümde web uygulamalarının nasıl çalıştığı aynı zamanda web uygulamasının hacklemenin amaçları üzerinde duracağız.

Hacking Araçları N-Stalker Web Application Scanner, bir web uygulamasındaki SQL injection, buffer overflow, cross-site scripting ve parameter-tampering gibi saldırılara karşı mevcut açıkların değerlendirme işlemini yapmanızı sağlar.

Metasploit framework, işletim sistemini veya web server yazılımını hacklemek veya test etmenizi sağlayan ücretsiz bir yazılımdır. Exploitler, plug-in’ler gibi kullanılabilir ve Windows veya Unix sistemler üzerindeki çalışmaları test edilebilir. Metasploit orjinal olarak komut satırı aracıdır fakat şimdi bir web arayüzüne sahiptir. Metasploit kullanarak, hackerlar kendi exploitlerini yazabilir aynı zamanda standart exploitleride kullanabilirler.

CORE IMPACT ve SAINT Vulnerability Scanner, test ve işletim sistemlerini ve web server yazılımını riske atmak için kullanılan ticari exploit araçlarıdır.

Sinan

Üstün

90

Page 91: CEH - Certified Ethical Hacker

CEH – Chapter 8

Ayrıca bir web uygulamasına yapılan saldırının anatomisi ve bazı web uygulama tehlikelerini inceleyeceğiz. Son olarakda Google hacking ve bilmeniz gereken önlemlere bakacağız. Web Uygulamaları Nasıl Çalışır : Web uygulamaları, kullanıcılara sadece bir web sitesinin ötesinde işlevsellikler sunan, web server üzerindeki programlardır. Database sorguları, webmail, sohbet grupları ve web bloglarının hepsi web uygulamalarına örnektir. Bir web uygulaması client/server mimarisini kullanır, web browser kullanan client’dır ve uygulama server’ı rolü üstlenen ise web serverdır. JavaScript web uygulamalarını sağlamak için popüler bir yoldur. Web uygulamalarının geniş olarak kullanılmasından beri web browser ile bir çok kullanıcı web siteleri ile etkileşim sağlamıştır. Web Uygulamasının Hacklenmesinin Hedefleri : Bir web uygulamasının hacklenmesinin nedeni gizli verilere erişimdir. Web uygulamaları sistem güvenliği için kritik öneme sahiptir. Bunun nedeni uygulamaların kredi kartı veya şifreler gibi kimlik bilgilerini barındıran veritabanı ile genelde bağlantı kurmasıdır. Web uygulaması açıkları hackerın işletim sisteminden ve web server veya web uygulama yazılımından faydalanma riskini artırır. Web uygulamaları aslında sisteme açılan diğer kapıdır ve sistemi riske atmakda faydalanılır. Bir Saldırının Anatomisi : Web uygulamalarını hacklemek diğer sistemleri hacklemek ile aynıdır. Hacker beş adımlık bir işlemi takip eder: Network’ü tararlar, farklı saldırı senaryoları test etmek için bilgi toplarlar ve son olarak saldırıyı planlayıp başlatırlar. Aşağıdaki şekil adımları listelemiştir :

Web Uygulamasındaki Tehlikeler : Bir web server üzerinde bir çok web uygulamalarının neden olduğu tehlike vardır. Aşağıdakiler en fazla web uygulamalarında bulunan tehlikelerdir :

Sinan

Üstün

91

Page 92: CEH - Certified Ethical Hacker

CEH – Chapter 8

Cross-site scripting : Bir web formuna girilen parametre web uygulaması tarafından işlenir. Değişkenlerdeki doğru kombinasyon, gelişigüzel komut çalışmasına neden olur. SQL injection : URL içine SQL komutları girmek, database serverdaki veritabanı bilgilerini boşaltmaya, değişiklik yapmaya, silmeye veya yaratmaya neden olur. Command injection : Hacker, web form içine programlama komutları girer. Cookie poisoning ve snooping : Hacker, cookie’leri çalar veya bozar. Buffer overflow : Büyük miktarlarda veri web form üzerinden web uygulamasına gönderilerek komut çalıştırılır. Authentication hijacking : Hacker, kullanıcının otantikasyonu sağlandıktan sonra oturumu ele geçirir. Directory traversal/Unicode : Hacker, web tarayıcı veya Windows explorer vasıtası ile sistem üzerindeki klasörlere bakar. Google Hacking : Google hacking, google’un güçlü arama motorunu kullanarak değerli hedefleri bulmak veya şifreler gibi değerli bilgileri aramak anlamını taşır. http://johnny.ihackstuff.com ve Acunetix Web Vulnerability Scanner gibi bir çok araç arama işlemini daha kolay hale getirmek için bir veritabanında organize edilmiş google hacking terimlerini liste halinde bulundurur. Örneğin, Google arama motorunda password veya medical records gibi bir terim girebilirsiniz ve ne tür bilgilere ulaşılabildiğini görebilirsiniz. Bir çok kez Google bilgiyi direk olarak özel veritabanlarından veya dökümanlardan çeker.

Hacking Araçları Instant Source, hackerın HTML kaynak kodunu editlemesini ve görmesini sağlar. Direk olarak web tarayıcısından kullanılabilir.

Wget, hackerın tüm web sitesini download etmesini , tüm dosyalarla birlikte sağlar. Hacker kaynak koduna offline olarak bakar ve gerçek web servera saldırı yapmadan önce saldırısını test eder.

WebSleuth, tüm web sitesini indexlemek için spidering teknolojisini kullanır. Örneğin, WebSleuth bir web sitesinin farklı sayfalarından tüm mail adreslerini çekebilir.

BlackWidow, bir sitenin profilini çıkarmak için web sitesinin tüm sayfalarını tarar ve adresler.

SiteScope, bir web uygulamasının içindeki bağlantıların ayrıntılı haritasını çıkarır ve programın yapısal çözümlemesine yardım eder.

WSDigger, web servisleri test aracıdır. SQL injection, cross-site scripting ve diğer web saldırıları için örnek saldırı plug-in’leri bulunur.

Burp, web uygulamaları için otomatik olarak saldırı yapılmasını sağlayan Windows tabanlı araçtır. Ayrıca web uygulamalarındaki şifreleri tahmin etmek için ve man-in-the-middle saldırısı için kullanılabilir.

Sinan

Üstün

92

Page 93: CEH - Certified Ethical Hacker

CEH – Chapter 8

Web Uygulamaları İçin Önlemler : Yaygın olan web uygulamalarındaki açıklar için karşı önlemler mevcut. Aşağıdakiler bir önceki bölümde belirtilen web uygulamalarındaki açıklar için önlemleri listeler : Cross-site scripting : Cookie’leri, sorgu stringlerini, form alanlarını ve gizli alanların doğrulamasını yapın. SQL injection : Kullanıcı değişkenlerin doğrulayın. Command injection : Programlama dili için dile özel kütüphaneler kullanın. Cookie poisoning ve snooping : Cookie içinde şifreleri tutmayın. Cookieler için zaman aşımı ve otantikasyon cookie’lerini kullanın. Bufferoverflow : Kullanıcı giriş uzunluğunu doğrulayın ve bounds checking işlemini gerçekleştirin. Authentication hijacking : Trafiği encryptlemek için SSL kullanın Directory Traversal/Unicode : Web server üzerindeki özel klasörler için erişim hakları tanımlayın. Patch’leri ve hotfixleri uygulayın.

Web Tabanlı Şifre Kırma Teknikleri : Bir CEH olarak hackerların web tabanlı şifreleri kırma tekniklerini bilmeniz gerekir. Bilmeniz gerekenler içinde farklı otantikasyon çeşitlerini listeleyebilmek , şifre kırıcının ne olduğunu bilmek, şifre kırma tekniklerinin sınıflandırılmalarını belirlemek ve mevcut olan önlemleri bilmekde bulunur. Otantikasyon Çeşitlerini Listelemek : Web serverlar ve web uygulamaları farklı otantikasyon çeşitlerini destekler. En yaygın olanı HTTP otantikasyonudur. İki çeşit HTTP otantikasyonu vardır : basic ve diggest. HTTP otantikasyonu, kullanıcı adını ve şifreyi düz metin olarak gönderir halbuki digest otantikayon kimlik bilgilerini hash’e tabi tutar ve otantikasyon için challenge-response modelini kullanır. Ek olarak, web serverlar ve web uygulamaları NTLM, sertifika tabanlı, token tabanlı ve biometric otantikasyonlarıda destekler. NTLM otantikasyonunu Internet Explorer ve web serverlar kullanır, NTLM’i intranet içindeki otantikasyonlarda daha kullanışlı yapan Windows sistemlerde kullanılıyor olmasıdır. Windows 2000 ve 2003 serverlar daha güvenli seçeneklere sahip olan Kerberos otantikasyonunu kullanır. Sertifika tabanlı olan otantikasyon, public/private anahtar teknolojisi için x.509 sertifikasını kullanır. SecureID gibi bir token, 60 saniye için bir otantikasyon kodunu gösterir. Kullanıcı bu kodu kullanarak log-in olur. Biometric otantikasyon parmak izi, göz retinası veya el izi gibi fiziksel karakterler ile kullanıcıyı otantike eder.

Sinan

Üstün

93

Page 94: CEH - Certified Ethical Hacker

CEH – Chapter 8

Şifre Kırıcı : Şifre kırıcı, şifreleri çözmek veya şifre korumasını iptal etmek için dizayn edilmiş bir programdır. Şifre kırıcılar dictionary aramalarına (saldırılarına) veya brute-force yöntemlerine bağlı olarak şifre kırarlar. Bir Şifre Kırıcı Nasıl Çalışır : Bir dictionary saldırısındaki ilk adım, bir sözlük içinde bulanabilecek potansiyel şifreleri listelemektir. Hacker genelde bu listeyi bir dictionary generator program ile veya internetten bulabileceği sözlükler ile yaratır. Bir sonraki aşamada, sözlük kelimelerinin listesi hash’lenir veya encryptlenir. Bu hash listesi hackerın kırmaya çalışacağı hashlenmiş şifreler ile karşılaştırılır. Hacker, hash’lenmiş olan şifreyi kablolu veya kablosuz networkü dinleyerek veya direk olarak Security Accounts Manager (SAM) veritabanından veya sistemdeki hard diskte bulunan shadow password dosyalarından elde eder. Son olarak program şifrenin encryptinin çözülmüş halini gösterir. Dictionary password kırıcılar sadece sözlük içinde bulunan şifreler ile şifreyi bulabilir. Eğer kullanıcı güçlü bir şifre kullanmış ise brute-force şifre kırma yöntemi kullanılabilir. Brute-force yöntemi mümkün olan tüm harf, sayı ve özel karakter kombinasyonlarını dener. Bu işlem dictionary saldırısından daha uzun sürer çünkü permutasyonların sayısı fazladır. Password Saldırılarını Anlamak : Sınıflandırma Şifre saldırıları 3 çeşittir : Dictionary : Bir sözlükte bulunan şifreler kullanılır Brute force : Harfler, sayılar ve özel karakterler kullanılarak karmaşık şifreler tahmin edilir. Hybrid : Sayılar ve özel karakter içeren sözlük kelimelerini bir harf ile değiştirerek kullanma Şifre Kırmaya Karşı Önlemler : Şifre kırma saldırısına karşı en iyi önlem, en az 8 karakter uzunluğunda (Eski standart 6 idi) ve alfanumerik karakterler içeren güçlü şifreler kullanmaktır. Kullanıcı adları ve şifreler farklı olmalıdır, çünkü bir çok kullanıcı adı düz metin olarak iletilir. Büyük harf, küçük harf ve sayılar veya özel karakterler bulunduran karmaşık şifrelerin kırılması zordur. Ayrıca şifreleri aktarım sırasında korumak için, Kerberos veya token gibi güçlü otantikasyon yöntemlerini kullanmanız gerekir.

Hacking Araçları Webcracker, bir web server’a logon olmak için bir kelime listesini kullanan araçtır. Şifre üzerinde yapılan tahminler için “HTTP 302 object moved” cevabı gözükür. Bu mesajdan, araç otantikasyon yönteminin kullanımda olduğunu belirler ve sisteme logon girişiminde bulunur. Sina

n Üstü

n

94

Page 95: CEH - Certified Ethical Hacker

CEH – Chapter 9

SQL Injection ve Buffer Overflow

SQL injection ve buffer overflow, kullanıcının giriş yaptığı alandan gönderilmesi açısından birbirlerine benzeyen exploitlerdir. Giriş yapılan alan kullanıcının, web sitesinden kullanıcı adını ve şifresini girdiği yer, bir URL’ye veri eklediği veya başka bir uygulamadan bir kelime ile arama yaptığı yerdir. SQL server injection ve buffer overflow açıklarının her ikiside aynı nedenden dolayı meydana gelir : geçersiz parametreler. Eğer programcılar, kullanıcının değişken bir alana girebildiği değişkenleri doğrulamak için vakit ayırmaz ise sonuçlar ciddi ve tahmin edilemez olur. Kendini geliştirmiş hackerler bu açıktan faydalanır, bir çalışma hatasına neden olur ve sistemin veya uygulamanın kapanmasına veya hacker için bir shell komutunun çalıştırılmasına neden olur.

SQL Injection Bir SQL injection saldırısı boyunca, hatalı kod webdeki form alanına yazılır veya sistemin shell komutu veya isteğe bağlı komutları çalıştırması için web sitesinin koduna yerleştirilir. Normal bir kullanıcı sorguları girerken ve web form aracılığı ile SQL veritabanına eklemeler yaparken, hacker aynı web form üzerinden SQL servera komutlar girebilir. Örneğin, bir hacker tarafından girilen bir komut, komut satırını açabilir veya vertabanından bir tabloyu görüntüleyebilir. Veritabanındaki bir tablo, kredi kartı numaraları, sosyal güvenlik numarası veya şifreler gibi kişisel bilgiler içerebilir. SQL veritabanları en yaygın kullanılan veritabanlarıdır ve bir çok firma tarafından önemli verilerin depolanmasında kullanılır. Bu yüzden SQL server saldırı için yüksek önemde bir hedef halindedir. SQL Injection Saldırısının Adımları : Bir SQL injection saldırısını başlatmadan önce, hacker veritabanının konfigürasyonunu, tabloları ve açığa sahip değişkenleri belirler. SQL server’ın açığını belirlemenin adımları :

1. Web tarayıcınızı kullanarak bir login sayfası veya veritabanına giriş yapılabilen bir alan veya sorgu alanları (“Şifremi Unuttum” gibi) kullanıldığını araştırın. Sitenin kaynak kodunu kontrol ederek POST veya GET HTML kodu kullanan web sayfalarına bakın.

2. Tek tırnak işareti (‘ ‘) kullanarak SQL server’ı test edin. Bunu yapmak ya kullanıcı giriş değişkeninin sağlıklı olduğunu yada server tarafından tam olarak yorumlandığını gösterir. Eğer server ‘a’=’a’ (yada buna benzer başka bir şey) söyleyen bir hata mesajı ile cevap verirse büyük ihtimalle server SQL injection saldırısına müsaittir.

3. SELECT komutu ile veritabanından veri çekin veya INSERT komutu ile veritabanına veri girişi yapın.

SQL Server Açıklarını Anlamak : Aşağıda SQL açıklarını test etmek için bir web form üzerinde kullanabileceğiniz değişken alan girdileri örnekleri yazılıdır :

Sinan

Üstün

95

Page 96: CEH - Certified Ethical Hacker

CEH – Chapter 9

Blah’ or 1=1-- Login:blah’ or 1=1-- Password::blah’ or 1=1-- http://search/index.asp?id=blah’ or 1=1--

Bu komutlar ve benzer varyasyonlar veritabanının yapısına bağlı olarak login işlemini bypass etmenizi izin verebilir. Bir form alanına komutlar girdiğinizde bir tablo içinden bir çok satır veya tüm veritabanı tablosu bile karşınıza gelebilir çünkü SQL server terimleri tam olarak yorumlar. Komutun sonuna çift tire işareti koymanız SQL ‘e komutun geri kalanının yorum olarak algılama der. Aşağıda SQL komutlarını, kontrolü almak için nasıl kullanılacağının örneklerini gösterir . Dizin listesini almak içn form alanına yazılması gereken : Blah’;exec master..xp_cmdshell “dir c:\*.* /s >c:\directory.txt”— Bir dosya yaratmak için form alanına yazılması gereken : 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”-- SQL Injection Saldırısına Karşı Önlemler : 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.

Sinan

Üstün

96

Page 97: CEH - Certified Ethical Hacker

CEH – Chapter 9

Farklı Türdeki Buffer Overflow’ları Ve Tespit Etme Yöntemlerini Tanımak : 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. Stack Tabanlı Buffer Overflow’lar : Bir hacker’ın stack tabanlı buffer overflow çalıştırması için kullandığı adımlar :

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.

Sinan

Üstün

97

Page 98: CEH - Certified Ethical Hacker

CEH – Chapter 9

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.

Sinan

Üstün

98

Page 99: CEH - Certified Ethical Hacker

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. WEP, WPA Otantikasyon Mekanizması ve Cracking Tekniklerine Bakış : 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

Sinan

Üstün

99

Page 100: CEH - Certified Ethical Hacker

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 : Encryption Otantikasyon Zayıflık

Orjinal IEEE 802.11 standard

WEP WEP 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.

WPA TKIP Passphrase veya RADIUS (802.1x/EAP)

Passphrase (Metin-şifre) dictionary (Sözlük) saldırısı için elverişlidir.

WPA2 AES (mixed modda iken TKIP kullanılabilir)

Passphrase veya RADIUS (802.1x/EAP)

Passphrase (Metin-şifre) dictionary (Sözlük) saldırısı için elverişlidir.

IEEE 802.11i AES (mixed modda iken TKIP kullanılabilir)

Passphrase veya RADIUS (802.1x/EAP)

Passphrase (Metin-şifre) dictionary (Sözlük) saldırısı için elverişlidir.

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.

Hacking Araçları

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.

Sinan

Üstün

100

Page 101: CEH - Certified Ethical Hacker

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. Sahte Access Point’ler : 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. 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ı).

Hacking Araçları 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.

Sinan

Üstün

101

Page 102: CEH - Certified Ethical Hacker

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 : 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

Layer 3 veya Network katmanı güvenlik seçenekleri :

IPSec veya SSL VPN Layer 7 veya Application Katmanı :

Secure Shell (SSH), HTTPS ve FTP/SSL gibi güvenli uygulamalar 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. Sina

n Üstü

n

102

Page 103: CEH - Certified Ethical Hacker

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 social-engineering 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ı : 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 :

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) 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

Sinan

Üstün

103

Page 104: CEH - Certified Ethical Hacker

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 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. Fiziksel Güvenlik İçin İhtiyacımız Nedir ? : 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 :

Bir bilgisayar sistemine yetkisiz giriş Sistemlerden verinin çalınması Sistem üzerindeki verinin bozulması Doğal nedenlerin sistemleri bozması veya verinin kaybolması

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.

Sinan

Üstün

104

Page 105: CEH - Certified Ethical Hacker

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

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.

Sinan

Üstün

105

Page 106: CEH - Certified Ethical Hacker

CEH – Chapter 12

Linux Hacking 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 : 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.

Sinan

Üstün

106

Page 107: CEH - Certified Ethical Hacker

CEH – Chapter 12

Linux Kernel’i Derlemek : 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. 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 :

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

Sinan

Üstün

107

Page 108: CEH - Certified Ethical Hacker

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ı : 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 Bir uygulama için GCC ile C kodu derleme komutu : gcc dosyaismi.c –o çıktıdosyaismi.out Linux Kernel Modülleri Nasıl Yüklenir : 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.

Sinan

Üstün

108

Page 109: CEH - Certified Ethical Hacker

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 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ı

Sinan

Üstün

109

Page 110: CEH - Certified Ethical Hacker

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 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 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.

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

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

Sİnan

Üstü

n

110

Page 111: CEH - Certified Ethical Hacker

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. Firewall Çeşitleri ve Honeypot’dan Kurtulma Teknikleri :

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

Hacking Araçları 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.

Sİnan

Üstü

n

111

Page 112: CEH - Certified Ethical Hacker

CEH – Chapter 13

112

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.

AckCmd, sadece TCP ACK paketlerini firewall üzerinden kullanarak iletişim kuran client/server programıdır.

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 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. Sİn

an Ü

stün

Page 113: CEH - Certified Ethical Hacker

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 :

Ş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. 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.

Sinan

Üstün

113

Page 114: CEH - Certified Ethical Hacker

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 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. 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 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. Blowfish : Blowfish 64 bit blok şifredir yani veri, yığınlar veya bloklar içinde şifrelenir. Stream cipher’a göre daha güçlüdür ve 32 ile 448 bit arasından değişken anahtar uzunluğuna sahiptir.

Sinan

Üstün

114

Page 115: CEH - Certified Ethical Hacker

CEH – Chapter 15

115

İç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 :

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

Sinan

Üstün

Page 116: CEH - Certified Ethical Hacker

CEH – Chapter 15

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. Penetration Test Yapmanın Adımları : Zorla girme testleri 3 aşamalıdır :

Saldırı öncesi aşaması Saldırı aşaması Saldırı sonrası aşaması

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

Sinan

Üstün

116

Page 117: CEH - Certified Ethical Hacker

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ı, brute-force ş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. Ç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.

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ış :

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 :

Sinan

Üstün

117

Page 118: CEH - Certified Ethical Hacker

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. 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. 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. 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. 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. 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.

Sinan

Üstün

118

Page 119: CEH - Certified Ethical Hacker

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 :

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ı

Sinan

Üstün

119