Ele Geçirme Aşaması | Amaç | Kullanılan Teknik/Exploit |
Erişim Elde Etme | Sisteme erişmek için Access kontrollerini atlatmak | Parola kırma, sosyal mühendislik |
Hak Yükseltme | Admin veya başka bir kullanıcının haklarını ele geçirmek | Bilinen sistem zafiyetlerinden faydalanma (exploiting) |
Uygulamaları Çalıştırma | Sisteme uzaktan erişim yaratıp devamlılığı sağlamak | Truva Atları (Trojans), Casus Yazılımlar (spyware), Arka Kapılar (backdoors), Klavye Dinleyiciler (Keyloggers) |
Dosyaları Gizleme | Kötücül yazılımları ve veri hırsızlığını gizlemek | Kök Dizin (Rootkitler), Gizlenmiş Yazı (Steganography) |
İzleri Kaybetme | Delilleri gizlemek | Logları temizleme |
Çizelge 2‑2 Sistem Ele Geçirme
1.1.1. Parola kırma (cracking passwords)
Parola kırma teknikleri bilgisayar sistemlerindeki parolaları elde etmek için kullanılır. Çoğu parola kırma tekniği zayıf veya kolay tahmin edilebilir parolalardan dolayı işe yarar.
Parola Saldırısı Türleri;
Elektronik Olmayan Saldırılar
Saldırgan parola kırmak için teknik bilgiye ihtiyaç duymaz.
Sinsice Gözetleme (Shoulder Surfing) Kullanıcı sisteme girerken klavyesi ya da ekranı üzerinden bakmaktır. Sosyal Mühendislik İnsanları parolaları açığa çıkarmaya ikna etmektir.
Çöp Karıştırma (Dumpster Diving): Gizli bilgiyi kullanıcının çöpünde, yazıcı çöpünde ve kullanıcı masasındaki yapışkanlı not kâğıtlarında aramaktır.
Aktif Çevrimiçi Saldırılar
Saldırgan kurbanla doğrudan temas kurarak parola kırma yapar.
Sözlük Saldırısı (Dictionary Attack): Kullanıcı hesaplarında çalışan parola kırma uygulamasına sözlük dosyası yüklemektir.
Kaba Kuvvet Saldırısı (Brute-Forcing Attack): Program parola kırılana kadar karakterlerin tüm varyasyonlarını dener. [8]
Kural Bazlı Saldırı (Rule-based Attack): Bu saldırı saldırgan parolayla ilgili biraz bilgi elde ettiğinde kullanılır.
Özet Enjeksiyonu (Hash Injection): Saldırgan yerel oturuma anlaşmalı özet (compromised hash) enjekte edip ağ kaynaklarını belirlemek için özeti kullanır. Saldırgan oturumu açık domain yönetici (admin) hesabının özetini bulur. Saldırgan sunucuda (domain controller) oturum açmak için bulunan özeti kullanır. Kullanıcı oturum açar, oturum açıldı özetleri SAM dosyasında tutulur. Saldırgan yerel/uzaktan sömürücü (exploit) kullanarak sunucu (domain controller) ile anlaşır. Sunucu oturumu açık sunucu yöneticisi (domain admin) hesabının özetini saldırgana gönderir. Saldırgan yerel oturuma anlaşmalı özet enjekte edip kullanıcıya gönderir. [9]
Oltalama (Phishing): Saldırganın rastgele kullanıcı hesaplarına e-posta gönderdiği bir saldırı türüdür.
Truva/Casus Yazılım/Tuş Kaydediciler (Trojan/Spyware/Keyloggers): Saldırgan kurbanın kullanıcı adları ve parolalarını elde etmek için kurbanın makinesine yükler. Arka planda çalışırlar ve saldırgana tüm kullanıcı kimliklerini gönderirler.
Örnek olarak; hedefin ulaşacağı bir noktaya bırakılacak olan USB bellek ile bu saldırı yapılabilir. Saldırı aşamaları ise; PassView (parola hackleme aracı) indirilir, USB diske indirilmiş dosyalar kopyalanır, USB diskte “autorun.inf” yaratılır ([autorun] en=launch.bat), “launch.bat” içerikleri: start pspv.exe/stext (alt satıra geçilir) pspv.txt, USB disk takılır ve autorun penceresi açılır. Şifreler ele geçirilir. [10]
Şekil 2‑1Parola Saklama ve Görüntüleme Uygulaması
Parola Tahmin Etme (Password Guessing): Saldırgan sosyal mühendislik veya başka yollarla elde ettiği bilgiden olası parola listesi oluşturur ve parolaları kırmak için kurbanın üstünde elle deneme yapar. Saldırıların sıklığı kaba kuvvet saldırılarına göre daha az, başarısızlık oranı yüksektir. Geçerli kullanıcı bulunur, olası parolaların listesi oluşturur, parolalar yüksek olasılıktan düşüğe doğru sıralanır, parola bulunana kadar hepsi girilir. Varsayılan (default) parolalar saldırgan tarafından sözcük veya sözlük listesinde (clear text parola çözer) kullanılır. Varsayılan parola arama siteleri: cirt.net, default-password.info, www.defaultpassword.us, www.passwordsdatabase.com, w3dt.net (en gelişmiş), open-sez.me, www.routerpasswords.com, www.fortypundhead.com. howsecureismypassword.net sitesinden parolanın ne kadar güçlü olduğu görülür.
Pasif Çevrimiçi Saldırılar
Saldırı türünde saldırgan yetkili biriyle temas kurmaksızın parola kırma işlemi gerçekleştirebilir. Bunlar şu şekildedir;
Kablo Dinleme (Wire Sniffing): Saldırgan iki kurban arasına girer. Ağ trafiğine erişip kaydetmek için LAN’da paket dinleyici (packet sniffer) araçları çalıştırır. Yakalanan veri parolalar (FTP, rlogin sessions vb.) ve e-postalar gibi gizli bilgileri içerebilir. Dinlenen kimlik bilgileri hedef sisteme yetkisiz erişim sağlamak için kullanılır.
Ortadaki Adam (Man-in-the-Middle): Saldırgan kurban ve sunucu arasına girer. Bilgi alacağı sunucu ve kurban arasındaki kanallarla temas ederek erişim sağlar. Erişim sağlanacağı durumda ise, ortadaki adam tüm iletişimi elinde bulundurduğundan her iki tarafın paketlerini de alıp, analiz edebilir.
Tekrarlanan (Replay): Tekrarlanan saldırı ortadaki adam saldırısına benzer. Saldırgan kurban ve sunucu arasına girer. Paketler ve akıllı anahtar (şifre üreteci/authentication token) koklayıcı kullanarak yakalanır. İlgili bilgi alındıktan sonra anahtarlar (tokens) erişim sağlamak için ağ üzerine geri yerleştirilir.
Çevrimdışı Saldırılar
Saldırgan hedef parola dosyasını kopyalar ve daha sonra farklı yerdeki kendi sisteminde kırmaya çalışır.
Önceden Hesaplanan Özetler/Gökkuşağı Tablosu (Pre-Computed Hashes (Rainbow Table)): Gökkuşağı Tablosu, sözlük dosyaları, kaba kuvvet listeleri (brute force lists) ve özet değerleri (hash values) gibi sözcük listeleri içeren önceden hesaplanan bir tablodur. Parolaların özeti yakalanıp önceden hesaplanan özet (hash) tablosunda karşılaştırılır. Eşleşme bulunursa parola kırılır. Önceden hesaplanan tablolarla yakalanan parola özetlerini karşılaştırarak parolaları ele geçirmek kolaydır. Rtgen ve Winrtgen araçları gökkuşağı tablosu oluşturmak için kullanılır.
Dağıtılmış Ağ (Distributed Network): Parolaları çözmek için ağdaki makinelerin kullanılmayan işlem (process) gücünü kullanarak parola korumalı dosyalar veya özetlerden parolaları ele geçirmek için kullanılan bir tekniktir. DNA Yöneticisi, DNA istemci üzerinde çalışan makinelerin ağ üzerinde erişebileceği merkezi yere kurulur. DNA Yöneticisi ağ üzerinde dağıtılmış makinelere arama anahtarının küçük bölümlerini (portion) paylaştırıp saldırıyı koordine eder. DNA istemci kullanılmayan işlemci zamanını harcayarak arka planda çalışır. Program ağa bağlı tüm istemcilerin işlem güçlerini birleştirip parolayı kırmak için kullanır. Elcomsoft Distributed Password Recovery bunun için kullanılan bir araçtır. Karmaşık parolaları kırma, güçlü şifrelenmiş anahtarları ele geçirme ve üretim ortamındaki dokümanları çözmek için kullanılır.
Microsoft Doğrulaması (Microsoft Authentication):
Güvenlik Hesapları Yöneticisi (SAM Security Accounts Manager) Veri Tabanı; Windows SAM içinde veya alandaki AD (active directory) veri tabanında kullanıcı parolalarını tutar. Parolalar asla açık metin (clear text) tutulmaz. Parolalar özetlenir ve sonuçları SAM içinde tutulur. Parola LM/NTLM kullanarak özetlenir. Parola özetleri “c:\windows\system32\config\SAM” içinde tutulur. Buradaki dosya açıldığında:
LM Vista ve sonrasında olmadığından o sistemlerde LM Özet kısmı boştur.
NTLM Doğrulaması (Authentication): Protokol türleri NTLM ve LM’dir. Bu protokoller farklı özetleme methotları kullanarak SAM veri tabanı içinde kullanıcı parolasını tutarlar. LM Microsoft Vista’da ortadan kaldırılmıştır. Parola özet algoritmasından geçer. İstemci DC’a oturum açma talebi yollar. Özetlenen parolanın kopyasını tutan DC gelen özet ile karşılaştırıp istemciye parolayı sorar (challenge). İstemci DC’ye parolanın yanıtını yollar.
Kerberos Doğrulaması (Authentication): Microsoft istemci/sunucu uygulamaları için NTLM’den daha güçlü bir doğrulama sağlayan Kerberos’a geçmiştir –varsayılan doğrulama protokolü-. İstemci doğrulaması sunucuya talep yollar. Doğrulama sunucusu (Authentication Server/AS) cevap verir. İstemci Servis Veren Sunucuya (Ticket Granting Server/TGS) servis çağrısı isteği gönderir. TGS cevap verir. İstemci uygulama sunucusuna servise erişmek için istek gönderir, uygulama sunucu (application server) cevap verir. AS ve TGS bir veri tabanı sunucusu içindedir –key distribution center (anahtar dağıtım merkezi/KDC)-.
Parola Tuzlama (Password Salting): Özetleri hesaplamadan önce rastgele karakter dizisinin parolaya eklendiği bir tekniktir –aynı şifre farklı bilgisayarlarda farklı özetlere sahip-. Özetlerin çevrilmesini zorlaştırır ve önceden hesaplanan özet saldırılarına (pre-computed hash attacks) izin vermez. Windows parola özetleri tuzlanamaz.
pwdump7, SAM veri tabanından yerel kullanıcı hesaplarının LM ve NTLM parola özetlerini alır. fgdump, pwdump gibi çalışır ek olarak önbelleğe alınmış kimlik bilgilerini alıp uzak ağda kullanmayı sağlar. İki araç da yönetici (administrator) haklarıyla çalıştırılmalıdır.
Parola Kırma Araçları: Cain & Abel, sözlük, kaba kuvvet ve şifre (crypto) analizi kullanarak şifrelenmiş parolaları kırma, ağı dinleme yapıp çeşitli parolaları ele geçirmeyi sağlar. RainbowCrack, gökkuşağı tablolarıyla özetleri kırar. Özetleri kırmak için bellek zamanından vazgeçen (time-memory tradeoff) algoritmayı kullanır. Kali Linux İşletim Sistemindeki John The Ripper ile özete saldırılabilir. Ram Password Rus yapımı bir araç olup Windows işletim sistemlerinde RAM’den şifreyi açık (clear) metin olarak çeker.
Parola Kırmaya Karşı Savunma Yöntemleri:
- Parola saldırılarını izlemek için bilgi güvenliği denetimini etkinleştirmek
- Parola değiştirme sırasında aynı parolayı kullanmamak
- Parolaları paylaşmamak
- Bir sözlükte bulunabilen parolaları kullanmamak
- Zayıf şifreleme içeren protokolleri ve açık metin (clear text) protokollerini kullanmamak
- Parola değiştirme politikasını 30 güne ayarlamak
- Güvensiz lokasyonda parolaları tutmaktan kaçınmak
- Sistemin varsayılan parolalarını kullanmamak
- 8-12 sayısal karakteri büyük ve küçük harfler, numaralar, sembollerle birleştirerek tahmin edilmesi zor parolalar oluşturmak
- Uygulamaların parolalarını clear text olarak bellekte tutmamak ve diske yazmamak
- Şifrelemeden önce parolayla ön ek veya son ek olarak rastgele dizi (salting) kullanmak
- SAM veri tabanını korumak ve şifrelemek için güçlü parolayla SYSKEY’i etkinleştirmek
- Doğum tarihi, eşin, çocuğun, evcil hayvanın ismi gibi parolaları asla kullanmamak
- Kullanıcıların hesaplarına yönelik kaba kuvvet saldırıları için sunucunun loglarını izlemek
- Çok fazla yanlış parola girişi yapılan hesabı kilitlemek
1.1.2. Yetki yükseltme (escalating privileges)
Hak Yükseltme, saldırgan yönetici olmayan kullanıcı hesabı kullanarak ağa erişebilir ve yönetici haklarını elde edebilir. Saldırgan ağa ve ilgili uygulamalara admin erişimi sağlamak için işletim sistemindeki ve yazılım uygulamalarındaki tasarım hataları (desing flaws), programlama hataları, yazılım hataları (bugs), yapılandırma hatalarından yararlanır. Bu haklar saldırganın önemli/gizli bilgiyi görmesini, dosyaları silmesini, virüsler, Truva atları, solucanlar gibi kötücül programları yüklemesini sağlar.
Hak Yükseltme Türleri
Dikey Hak Yükseltme (Vertical Privilege Escalation):
Var olandan daha yüksek haklar elde etmektir.
Yatay Hak Yükseltme (Horizontal Privilege Escalation)
Hâlihazırda olan hakla aynı düzeye sahip başka kullanıcının olduğunu varsayarak hakkını elde etmektir.
DLL Ele Geçirme Kullanarak Hak Yükseltme:
Çoğu Windows uygulaması harici DLL Kütüphanesi yüklenirken tam yetkili yolu kullanmaz bunun yerine ilk yüklenilmiş olandan dizini arar. Saldırganlar uygulama dizinine kötücül DLL yerleştirebilirlerse bu gerçek DLL’in yerine çalışacaktır.
Komut Satırı (Command Prompt (CMD)) Kullanarak Parolaları Resetlemek:
Saldırgan yönetici haklarını ele geçirmeyi başarırsa CMD kullanarak yönetici olmayan diğer hesapların parolalarını resetleyebilir. CMD’ye yazılan “net user” komutuyla hedef sistemdeki kullanıcı hesaplarının tamamı listelenir. Sonrasında “net user kullanıcı hesap ismi *” komutuyla kullanıcının parolası sıfırlanabilir. Active@Password Changer aracıyla birçok disk bölümü ve hard diskten parola ele geçirilebilir, SAM görüntülenebilir, herhangi bir yerel kullanıcının hesap bilgisi görülebilir. Yerel yönetici ve kullanıcı parolalarını sıfırlayabilir.
Hak Yükseltmeye Karşı Savunma Yöntemleri:
- Birbirini etkileyen oturum açma haklarını kısıtlamak
- Gizli veriyi korumak için şifreleme tekniği kullanmak
- En az hak üstünde uygulamaları ve kullanıcıları çalıştırmak
- Belli hakla çalışan kod miktarını azaltmak
- Çok faktörlü doğrulama ve yetkilendirme yapmak
- Sınır Denetleyicisi (Bounds Checkers) ve zorlama testler (stress tests) kullanarak hata ayıklama (debugging) yapmak
- Hizmetleri hakkı olmayan hesaplar olarak çalıştırmak
- İşletim sistemini, uygulama kodlama hatalarını ve yazılım hatalarını düzgünce test etmek
- Programlama hataları ve yazılım hatalarını sınırlandırmak için hak ayırma methodolojisini (privilege separation methodology) uygulamak
- Düzenli olarak sistemleri yamalamak
1.1.3. Uygulamaları çalıştırma
Saldırgan faydalanılacak veya gizlilik kaybına yol açacak bilgiyi almak, sistem kaynaklarına yetkisiz erişim sağlamak, parola kırmak, ekran resmi (screenshot) almak, kolay erişimi sürdürmek için arka kapı (backdoor) yüklemek için kurbanın makinesinde uzaktan kötücül programlar çalıştırabilir.
Uzaktan Çalıştırma (RemoteExec)
Uzaktan ağ boyunca Windows sistemlerindeki güncellenmiş klasörleri ve dosyaları, programları/kodları (script) çalıştırır, uygulamalar kurar. Bununla saldırgan kayıt defterini, yerel yönetici parolalarını değiştirebilir, yerel hesapları devre dışı bırakabilir ve dosyaları ve klasörleri kopyalayabilir, silebilir, güncelleyebilir. Dameware Remote Support, sunucuları, dizüstü bilgisayarları yönetmeni sağlar. Saldırgan bununla uzaktan Windows bilgisayarlarını yönetebilir. [11]
Klavye Dinleyici (Keylogger)
Her tuş dokunuşunu klavye üzerindeki kullanıcı türleri gibi izleyen, bir dosyaya kaydeden veya uzaktaki bir yere ileten programlar veya donanım araçlarıdır. Saldırgan bununla e-posta numarası, parolalar, banka bilgileri, sohbet odası eylemleri, IRC, anlık mesajlar vb. gibi kurban hakkındaki gizli bilgileri toplar.
Tuş Dokunuşu Kaydediciler (Keystroke Loggers) Türleri:
- Donanım (Keystroke Loggers)
- PC/BIOS’a Gömülü (Embedded)
- Keylogger Klavye
- Harici Kaydediciler (Keylogger)
- PS/2 ve USB Kaydediciler
- Ses/Kamera (Acoustic/CAM) Kaydediciler
- Bluetooth Kaydediciler
- Wi-Fi Kaydediciler
- Yazılım Tuş Kaydedici (Keystroke Loggers);
- Uygulama Tuş Kaydedici
- Kernel Tuş Kaydedici
- Hypervisor tabanlı Tuş Kaydedici
- Yakalama Formu Tabanlı (Form Grabbing Based) Tuş Kaydedici.
- All In One Tuş Kaydedici, tüm bilgisayar kullanıcılarının eylemlerini gizlice izleyip e-posta/FTP/LAN hesabı isteği loglarını otomatik olarak alır.
Casus Yazılım (Spyware)
Kullanıcının bilgisayarla ve kullanıcı bilgisi olmayan internetle olan etkileşimini kaydedip uzaktaki saldırganlara gönderir. Ortaya çıkıp kaldırılmanın önüne geçmek için kendi işlemini, dosyaları ve diğer nesneleri gizler. Truva atına benzer. E-posta adresleri, kullanıcı oturumları, parolaları, kredi kartı numaraları, banka kimlik bilgileri gibi organizasyon veya kurbanla ilgili bilgileri toplar.
Casus Yazılım Yayılması; Kötücül yazılımı fark etmeyen yerlerden yapılan indirmeler, Casus Yazılım Engelleyici (Antispyware) gibi görünmeler, Web tarayıcı zafiyeti sömücürüleri, Yazılım kurulumları üzerinden, Tarayıcı eklentileri (add-ons), Çerezler. Spytech SpyAgent isimli uygulama, bilgisayardaki kullanıcının yaptığı her şeyi izler. Ana bilgisayar izleme özellikleri, web sitesi, uygulama ve sohbet engelleme, programlama kilitleme ve FTP veya e-posta aracılığıyla logların uzaktan gönderimini sağlar. Tuş vuruşları kullanıcı türleri görülür, gezilen web siteleri tespit edilir, çevrimiçi sohbetler kaydedilir, gönderilip alınan e-postaların hepsi görülür. USBSpy uygulaması, USB casus yazılımıdır. Spy Voice Recorder uygulaması ve Sound Snooper uygulaması ses casusudur. WebCam Recorder, video casusudur. SPYPhone GPS casusudur.
Klavye Dinleyicilere Karşı Savunma Yöntemleri:
- Açılır pencere engelleyici (Pop-up Blocker) kullanmak
- Anticasus/antivirus programları yükleyip güncel tutmak
- İyi profesyonel güvenlik duvarı yazılımı ve tuş dinleme engelleyici yazılımı kurmak
- Oltalama e-postaları tanıyıp silmek
- Farklı çevrimiçi hesapları için yeni parolalar seçip sık sık değiştirmek
- Önemsiz e-postaları (junk emails) önlemek
- Kötücül sitelere yönlendiren istenmeyen veya şüpheli e-postalardaki bağlantılara (links) tıklamamak
- Her tuşa dokunuşta rastgele karakterler giren tuş dokunma yazılımı (keystroke interference software) kullanmak
- Dosyaları bilgisayara yüklemeden önce tarayıp keystroke loggerları denetlemek için Process Explorer veya Registry Editor kullanmak
- Kilitlenmiş ortamdaki donanım sistemlerini güvende tutmak ve sık sık ilgili soketlerdeki klavye kablolarını kontrol etmek
- Parola veya herhangi bir gizli bilgi girmek için Windows ekran klavyesi (on-screen keyboard) erişim programı kullanmak
- Sistemi izleyip keyloggerların kurulumunu devre dışı bırakabilen host tabanlı IDS kurmak
- Kullanıcı adını ve parolasını girmek için otomatik form doldurma programları veya sanal klavye kullanmak
- Sık sık tarayıp sistemdeki veya ağdaki değişiklikleri izleyen bir yazılım kullanmak
Dınanımsal Tuş Dinlelyicilere (Hardware Keylogger) Karşı Önlemler:
- Gizli bilgisayar sistemlerine fiziksel erişimi kısıtlamak
- Periyodik olarak tüm bilgisayarları kontrol edip bilgisayara herhangi bir donanım aracı bağlanmış mı bakmak
- Klavye ve sürücüsü arasında şifreleme kullanmak
- Oxynger KeyShield gibi donanımsal tuş dinleyicilerin varlığını belirleyen bir engelleyici kullanmak
Zemana AntiLogger, tuş dinleyicilerden, bankacı SSL Truva Atlarından (SSL banker Trojans), casus yazılımlardan ve diğerlerinden korur. SSL/Webcam/Key (Tuş)/Clipboard (Pano)/Ekran kaydedici (SSL logger) koruması vardır.
Casus Yazılımlara Karşı Savunma Yöntemleri:
- Tamamen kontrol altında olmayan bilgisayar sistemi kullanmaktan sakınmak
- İnternet için orta veya daha yüksek tarayıcı güvenlik ayarları yapmak
- Şüpheli e-postalar ve sitelere karşı dikkatli olmak
- Bilgisayarın güvenlik seviyesini artırmak
- Yazılımı düzenli olarak güncelleyip dış koruması olan güvenlik duvarı kullanmak
- Düzenli olarak görev yöneticisi ve MS yapılandırma yöneticisi (task manager and MS configuration manager) raporlarını kontrol etmek
- Düzenli olarak casus yazılım için sistem taraması yapıp tanımlı virüs dosyalarını güncellemek
- Casus engelleyici yazılımı kurup kullanmak
- Güvenli şekilde web’te gezinme yapmak ve dikkatli şekilde indirmek
- Gerekmedikçe yönetici modunu kullanmamak
- Bankacılık ve diğer gizli eylemler için genel terminaller (public terminal) kullanmamak
- İnternetten bedava müzik dosyaları, ekran koruyucular veya gülen yüzler indirmemek
- Açılır pencere veya web sayfalarının farkında olmak ve pencereler üzerindeki hiçbir yere tıklamamak
- Herhangi bir uygulamayı kurmadan önce lisans sözleşmesi ve gizli durumlar gibi tüm açıklamaları dikkatli şekilde okumak
- Tam olarak kontrol altında olmayan bilgisayar sisteminde kişisel bilgi tutmamak
SUPERAntiSpyware, potansiyel olarak istenmeyen programları belirleyip güvenli şekilde siler. Casus ve Reklam Yazılımarını belirleyip siler, Zararlı Yazılım (Malware), Truva atı, otomatik numara çeviriciler (dialers), solucanlar, tuş dinleyiciler, oturum ele geçirenler, parazitler, kök setleri (rootkit), sahte güvenlik ürünleri (rogue security products) ve tehditleri başka bir sürü türünü siler.
1.1.4. Dosyaları gizleme
Kök Kullanıcı Takımı (Rootkitler)
Saldırganın kötücül eylemleri, o anda ve gelecekte sunucu veya ana bilgisayara tam erişim vermesinin yanı sıra kendi varlığını gizleyen programlardır. Kötücül işlevlerin çalıştırılmasına sebep olan hedef sistemin güvenliğini zayıflattığı program parçalarının değiştirilmiş sürümleriyle belirli işletim sistemi çağrılarını ve yazılımlarını değiştirir.
Tipik bir Kök Kullanıcı Takımı arka kapı programları, DDoS programları, paket koklayıcılar, log silme yazılımları (log-wiping utilities), IRC botları vb. ile anlaşır.
Bir saldırgan, web üzerindeki sunucularda ve bilgisayarlarda zafiyet taraması yaparken; oyun gibi özel bir paket yaparken; sosyal mühendislik aracılığıyla kurumsal veya herkese açık bilgisayarlara kurulum yaparken; sıfırıncı gün (zero day) saldırısı, hak yükseltme (privilege escalation), arabellek taşması (buffer overflow), Windows kernel’den faydalanma (exploitation) vb.) başlatırken kök seti (rootkit) yerleştirir.
Kök Kullanıcı Takımı (Rootkit) Kullanım Amaçları
Host sistemine yerleşip uzak arka kapı (backdoor) erişimi sağlamak, saldırgan izlerini ve kötücül uygulamaların veya işlemlerin varlığını maskelemek, saldırganların kısıtlanabileceği veya erişimin olmayacağı bir sistemden ağ trafiği, gizli veri vb. toplamak, sistemde başka kötücül programlar muhafaza edip bot (robot) güncellemeleri için sunucu kaynağı gibi davranmaktır.
Kök Kullanıcı Takımı (Rootkit) Türleri:
Üst Seviye (Hypervisor): Üst seviye gibi davranıp sanal bir makine olarak host işletim sistemini yüklemek için bilgisayar sisteminin ön yükleme (boot) bölümünü (sequence) değiştirir.
Donanım/Yazılım (Hardware/Firmware): Kod bütünlüğü incelenmemiş donanım araçlarında veya yazılım platformunda gizlenir.
Kernel Seviye: Kötücül kod ekler veya orijinal işletim sistemi kernel ve araç sürücü kodlarıyla yer değiştirir. Bu tür kök setleri (Rootkits) çok çok zor tespit edilir.
Ön Yükleyici (Boot Loader) Seviye: Orijinal ön yükleyici uzaktaki saldırgan tarafından kontrol edilenle değiştirilir.
Uygulama (Application) Seviyesi: sahte Truva atıyla ikili uygulama (application binaries) yer değiştirir veya kötücül kod enjekte edilerek var olan uygulamaların davranışları değiştirilir.
Kütüphane (Library) Seviyesi: Saldırganla ilgili olan bilgiyi gizlemek için orijinal sistem çağrılarıyla sahte olanı yer değiştirir.
Kancalar (Hooklar): Kernelin bulunduğu işlemin içine kendilerini gömerler.
Şekil 2‑3 Kök Kullanıcı Manüpilasyonu 1
Doğrudan Kernel Nesnesi Manipulasyonu (Direct Kernel Object Manipulation (DKOM): Proses listesinden bağlantıyı kopararak bir işlemi gizlerler.
Şekil 2‑4 Kök Kullanıcı Manüpilasyonu 1
Avatar (sadece 32 bit sistemlede), Necurs, Azazel, ZeroAccess (Kernel mod rootkit) kök seti araçlarıdır.
Kök Kullanıcı Takımı (Rootkit) Belirleme
Bütünlük Tabanlı Belirleme: Güvenli olduğu bilinen bir temel bir hatla (baseline) belleğin, önyükleme (boot) kayıtlarının, dosya sistemlerinin bellek kopyasını (snapshot) karşılaştırır. İmza Tabanlı Belirleme: Bilinen bir kök setinin parmak izinin veri tabanıyla çalışabilen dosyalar ve sistem işlemlerin hepsinin özelliklerini karşılaştırır.
Sezgisel/Davranış Tabanlı (Heuristic/Behavior-Based) Belirleme: Sistemin normal eyleminden veya davranışından uzaklaşması kök seti (rootkit) varlığının habercisi olabilir.
Uygulama Çalışma Zamanı Yolu Belirleme (Runtime Execution Path Profiling): Tüm sistem işlemlerinin ve çalışan dosyaların kök seti (rootkit) enjeksiyonu öncesi ve sonrası uygulama çalıştırma yollarını (runtime execution path) karşılaştırır.
Çapraz Görüş Tabanlı (Cross View-Based) Belirleme: Sistem dosyaları, işlemler, kayıt anahtarları gibi bilgisayar sistemindeki anahtar unsurlar dökülür ve yaygın APIlere dayanmayan benzer veri grupları üretmede kullanılan bir algoritmayla karşılaştırılırlar. İki veri grubu arasındaki herhangi bir farklılık kök seti (rootkit) habercisidir.
Kök Setleri (rootkit) Belirleme Aşamaları: CMD’ye “dir/s /b /ah” ve “dir /s /b /a-h” yazıp sonuçları kaydederek sonra temiz bir CD’yi ön yükleyerek (boot) ve CMD’ye “dir/s /b /ah” ve “dir /s /b /a-h” yazıp sonuçları kaydedilebilir. En son olarak WinDiff uygulamasının temiz bir versiyonunu gizli dosyalardaki hayalet yazılımları (ghostware) tespit etmek için kaydettiğin iki sonuç grubu üzerinde çalıştır.
Kök Kullanıcı Takımı (Rootkit) Karşı Savunma Yöntemleri:
- Önemli veriyi yedekledikten sonra güvenli bir kaynaktan uygulamaları/işletim sistemini yeniden yüklemek
- Personeli güvenilmeyen kaynaklardan herhangi dosya/program indirmesi yapmaması konusunda eğitmek
- Detaylı olarak hazırlanmış otomatik kurulum prosedürleri tutmak
- Ağ ve sunucu tabanlı güvenlik duvarları kurmak
- Kök Kullanıcı Takımılarını belirlemek için kernel belleği döküm analizi (kernel memory dump analysis) yapmak
- Güvenli eski hâline getiren medyanın (restoration media) kullanılabilirliğini sağlamak
- Saldırıya karşı iş istasyonunu (workstation) veya sunucuyu sağlamlaştırmak
- İşletim sistemleri ve uygulamaları güncellemek ve yamalamak
- Güçlü sayısal fingerprint teknolojilerini şifreli olarak kullanarak düzenli olarak sistem dosyalarının bütünlüğünü doğrulamak
- Düzenli olarak antivirüs ve antispyware yazılımını güncellemek
- Yönetici haklarıyla bir hesapta oturum açmaktan sakınmak
- En düşük hak esasına bağlı kalmak
- Kök Kullanıcı Takımı korumasına sahip antivirüs yazılımı kullandığından emin olmak
- Gereksiz uygulamalar kurmayıp kullanılmayan servisleri ve özellikleri devre dışı bırakmak
Stinger ve UnHackMe Antirootkit araçlarıdır.
NTFS Veri Akışı (Data Stream)
NTFS Yedek Veri Akışı (Alternate Data Stream/ADS) özellikler, sözcük sayısı, sahibi, dosyaların erişim ve değiştirilme tarihi gibi dosya için kılavuz veriyi (metadata) içeren gizli bir Windows akışıdır. Veriyi işlevini, boyutunu değiştirmeden veya dosya tarama programlarına göstermeden var olan dosyalara ayırır. Saldırgan bununla erişilebilir sistemdeki dosyalara kötücül kod enjekte eder ve kullanıcı fark etmeksizin onları çalıştırır.
NTFS Akışları Yaratma: CMD’ye c:\notepad myfile.txt:lion.txt yazıp gelen soruya evet diyerek bir şeyler yazılarak dosya kaydedilir. CMD’ye c:\>notepad myfile.txt:tiger.txt yazılıp yukarıdaki aynı işlem yapılır. myfile.txt dosyasının boyutuna bakılır (sıfır olmalı). İlk iki söylenen aşamada gizli veri akışı değiştirilir veya izlenir.
NTFS Akış Manipülasyonu: CMD’ye c:\>type c:\Trojan.exe > c:\Readme.txt:Trojan.exe komutuyla Trojan.exe Readme.txt içine taşındı (stream). Sonrasında c:\>mklink backdoor.exe Readme.txt:Trojan.exe komutuyla Readme.txt dosyası içindeki Trojan.exe akışına bir bağlantı yaratılır. En son c:\>backdoor komutu Readme.txt içindeki Trojan.exe’yi çalıştırır.
NTFS Veri Akışı (Data Stream) Microsoft’u dünyaya rezil eden bir durumdur (Dosya boyutunda herhangi bir artış olmaksızın dosya içine dosya koyar).
NTFS Akışlarına Karşı Savunma:
- NTFS akışlarını silip şüpheli dosyaları FAT bölmesine taşımak
- Tripwire gibi üçüncü parti dosya bütünlük denetleyicisi kullanmak
- Akışları belirlemek için LADS ve ADSSpy gibi programları kullanmak
StreamArmor NTFS Data Stream, ADS keşfeder ve temizler.
Gizlenmiş Yazı (Steganography)
Sıradan bir mesaj içine gizli bir mesajı gizleyip veri gizliliğini sürdürmek için hedefte bunu çalıştırma tekniğidir. Örtü olarak grafikli resimler kullanmak dosyaların içine veri gizlemenin en popüler yöntemidir. Saldırgan anlaşmalı sunucular, hackleme araçları için kaynak kodu, gelecek saldırıları için planlar vb. gibi mesajları gizlemek için kullanabilir.
Gizlenmiş Yazı (Steganography) Sınıflandırma [12]:
Şekil 2‑5Gizlenmiş Yazı Kategorileri
Dilsel (Linguistic) Gizlenmiş Yazı (Steganography)
- Semagramlar
- Görsel (Visual)Semagramlar
- Metin (Text) Semagramlar
- Açık (Open) Kodlar
- Örtülü Şifreler (Covered Ciphers)
- Sıfır Şifre (Null Cipher)
- Şifre Izgarası (Grille Cipher)
- Bozuk Kod (Jargon Code)
- Örtülü Şifreler (Covered Ciphers)
- Teknik Gizlenmiş Yazı (Steganography)
- Digital Gizlenmiş Yazı (Steganography)
Örtü Aracı (Cover Medium) Tabanlı Gizlenmiş Yazı (Steganography)Türleri:
- Görüntü (Image) Gizlenmiş Yazı (Steganography),
- Doküman Gizlenmiş Yazı (Steganography),
- Klasör Gizlenmiş Yazı (Steganography),
- Video Gizlenmiş Yazı (Steganography),
- Ses Gizlenmiş Yazı (Steganography),
- Boşluk (White Space) Gizlenmiş Yazı (Steganography),
- Web Gizlenmiş Yazı (Steganography),
- İstenmeyen E-posta (Spam)/E-posta Gizlenmiş Yazı (Steganography),
- DVD Sürücü Gizlenmiş Yazı (Steganography),
- Asıl Metin (Natural Text) Gizlenmiş Yazı (Steganography),
- Gizli İşletim Sistemi Gizlenmiş Yazı (Steganography),
- C++ Kaynak Kodu Gizlenmiş Yazı (Steganography).
Boşluk (White Space) için SNOW güzel bir araçtır. Satırların sonuna boşluk (white space) ekleyerek mesajları ASCII metin içinde gizlemek için kullanılır. Çünkü metin görüntüleyiciler genellikle boşlukları ve sekmeleri (tabs) göremezler, mesaj etkili olarak gündelik gözleyicilerden (casual observers) gizlenir.
Görüntü Gizlemesi (Steganography): Bilgi “.png, .jpg, .bmp vb.” gibi farklı formatlardaki görüntü dosyalarının içine gizlenir. İnsan gözüyle etkisi anlaşılamayacak şekilde mesajla görüntü verisi fazla bitleri (redundant bits) yer değiştirir.
Teknikleri:
En Anlamsız Bit Eklentisi (Least Significant Bit Insertion): Bir pikselin en önemli biti En Anlamsız Bit (LSB) olarak adlandırılır. Bu yöntemde, mesajın ikili (binary) verisi kırılır ve belirleyici bölümdeki (deterministic sequence) görüntü dosyasındaki her bir pikselin LSB’si içine eklenir. LSB değiştirmek göz çarpan bir farklılığa neden olmaz çünkü ağdaki değişim çok küçüktür ve insan gözüyle fark edilemez.
Maskeleme ve Filtreleme: Genellikle gri ölçekli görüntüler ve 24 bit üzerinde kullanılır. Kâğıt üzerindeki ışığa tutulduğunda görülebilen çizgilere benzer bir yöntem kullanarak veriyi gizler. Görüntü parçalarının parlaklığı değiştirilerek yapılabilir. Basit istatistik analizleriyle bulunabilir ama görüntü kırpma ve yitimli sıkıştırmaya (lossy compression) karşı koyar. Gürültüde önemli görüntü alanları dışında bilgi gizlenmez.
Algoritmalar ve Dönüştürme (Transformation): Sıkıştırma algoritması kullanılan matematiksel fonksiyonlar içinde veri gizler. Veri görüntü dönüştürme kat sayısı değiştirilerek kapak resmine gömülür. Örneğin JPEG görüntü sıkıştırma için Ayrık Kosinüs Dönüşümü (Discrete Cosine Transform/DCT) tekniğini kullanır.
Dönüştürme Teknikleri; Hızlı Fourier Dönüşümü (Fast Fourier Transformation), DCT, Dalgacık Dönüştürme (Wavelet Transformation).
QuickStego Görüntü Gizleme için kullanılan bir araçtır. Sadece QuickStego kullanıcıları gizli mesajları ele geçirip okuyabilsin diye resimlerin içine metin gizler. Doküman gizleme için wbStego kullanılır.
Video Gizlenmiş Yazı (Steganography): Taşıyıcı video dosyasına (carrier video file) gizli bilgi saklar. Bilgi farklı video formatlarında gizlenebilir. DCT manipülasyonu video dönüştürme süreci zamanında gizli veri eklemek için kullanılır. Video ses ve görüntüler içerdiğinden ses ve görüntü dosyaları kullanılan teknikler video dosyalarında kullanılabilir. Birçok gizli mesaj her çerçeve (frame) görüntü ve ses içerdiğinden video dosyaları içinde saklanabilir. OmniHidePRO başka dosya içine bir dosya gizler. Herhangi dosya yaygın görüntü/müzik/video/doküman formatlarından gizlenebilir. Dosya çıktısı (output file) orijinal kaynak dosyası olarak çalışır. Maskeleyen kişi dosyaları açmada gerekli olan parola için dosyalarını şifreler ve sonra da dosyaları ve klasörleri görüntü dosyaları, video, program veya ses dosyaları gibi taşıyıcı dosyaların içinde gizler. [13]
Ses Gizlenmiş Yazı (Steganography); Ses formatlarında ses dosyaları içine gizli bilgi saklar. Bilgi LSB veya insan kulağının algılayamayacağı frekanslar kullanılarak ses dosyası içinde saklanabilir.
Yöntemleri; Veri Yankısı Gizleme (Echo Data Hiding), Yayık Spektrum Yöntemi (Spread Spectrum Method), LSB Kodlama, Ton Ekleme (Tone Insertion), Evre Kodlaması (Phase Encoding). DeepSound Ses Gizlenmiş Yazı (Steganography)için kullanılan bir araçtır. [13]
Klasör Gizlenmiş Yazı (Steganography); Invisible Secrets, klasör içine gizli bilgiyi saklar.
Gereksiz/E-Posta Gizlenmiş Yazı (Steganography); Spam Mimic, gereksiz (spam) mesajlarının içine bilgi gizler.
Steg Analizi: Gizlenmiş Yazı (Steganography)kullanarak gizli mesajları bulup böler. Karşılaştığı Zorluklar; Şüpheli bilgi akışı gizli veri şifrelemiş olabilir de olmayabilir de. Dijital görüntülerin içine gizlenmiş içeriği etkili ve tam olarak belirlemek zordur. Mesaj, dosya veya sinyal içine eklenmeden önce şifrelenmiş olabilir. Bazı şüpheli sinyaller veya dosyalar alakasız veriye veya içlerine şifrelenmiş gürültüye sahip olabilir.
Steg Analizi Yöntemleri/Saldırıları: Stego-only (Sadece Stego): Sadece stego nesnesi analiz için kullanılabilir.
Bilinen Stego (Known-stego): Saldırganın stego algoritmasına, örtü aracına (cover medium) ve stego nesnesine erişimi vardır.
Bilinen Mesaj (Known-message): Saldırganın gizli mesaja ve stego nesnesine erişimi vardır. Bilinen Örtü (Known-cover): Saldırgan stego nesnesi ve örtü aracını gizli mesajı belirlemek için karşılaştırır.
Seçilen Mesaj (Chosen-message): Bu saldırı, gizleme algoritmasını belirlemek için özellikli gizleme araçları kullanarak bilinen bir mesajdan stego nesnesi üretir.
Seçilen Stego (Chosen-stego): Saldırganın stego nesnesine ve stego algoritmasına erişimi vardır.
Gizlenmiş Yazı (Steganography) Belirleme: Metin dosyalarında değişiklikler veriyi gizlemek için karakter pozisyonlarında yapılır. Değişiklikler kullanılan dil, bozukluklar, sıra dışı boşluk miktarları veya metin şablonlarına bakılarak anlaşılabilir. Görüntü dosyalarında, görüntüdeki gizli veri, boyuttaki, dosya formatındaki, son değişim zamanı damgasındaki (timestamp) ve gizli verinin varlığını gösteren renk paletindeki değişiklikler belirlenerek anlaşılabilir. İstatistik analiz yöntemi görüntü taraması için kullanılır. Ses dosyasında, istatistik analiz yöntemi LSB değişikliklerini içerdiğinden belirlemek için kullanılabilir. Duyulmayan frekanslar gizli bilgi aramak için taranabilir. Tuhaf bozukluklar ve şablonlar gizli veriyi işaret eder. Video dosyasında, görüntü ve ses dosyalarında kullanılan yöntemler birleştirilerek video dosyalarındaki gizli veri belirlenir.
Gargoyle Investigator Forensic Pro, bilinen kaçakçılık ve saldırgan programlar için verilen makine veya bilgisayarda hızlı arama yapar. İçinde 20’nin üzerinde kategori vardır (Botnetler, Truva atları vb.)
İzleri Temizleme (Covering Tracks)
İstilacılar bir sistemde başarılı şekilde yönetici erişimi elde ettiklerinde anlaşılmamak için izlerini kaybetmeye çalışırlar. Saldırgan, denetimi devre dışı bırakma (disable auditing), logları temizleme ve logları manipüle etme tekniklerini kullanır.
Denetimi Devre Dışı Bırakma; CMD üzerinde Auditpol ile yapılabilir.
Logları temizleme; CMD üzerinde “clearlogs.exe” ile yapılabilir. Sisteme Metasploit ile sömürücü bulaştırıldıysa Windows bir sistemde logları ortadan kaldırmak için kabuk (meterpreter shell) kullanılır.
Durum Loglarını (Event Logs) Elle Temizleme;
- Windows için, Control Panel à System and Security à Administrative Tools à Event Viewer (iki kere tıklanır). Tüm loglanmış log girdileri silinir.
- Linux için, /var/log/messages. Tüm loglanmış log girdileri silinir.
Çevrimiçi İzleri Silme Yolları; En Son Kullanılan (Most Recently Used/MRU)’ı kaldırmak, çerezleri silmek, önbelleği temizlemek, AutoComplete’i kapatmak, tarayıcılardan Toolbar (Araç Çubuğu) verisini temizlemek gerekir. Windows 8.1 için, Control Panel à Appearance and Personalization à Taskbar and Start Menu à Privacy altında Store and display recently opened items in the Start menü and the taskbar tikini kaldırılmalı. Sonra Registry àHKCU\Software\Microsoft\Windows\CurrentVersion\Explorer ve “Recent Docs” için tüm anahtarlar kaldırılmalı. “Default” dışında tüm değerler silinmeli.
CCleaner sistemi en iyi seviyeye getiren ve temizlik yapan bir araçtır. Geçici dosyaları, kayıt dosyalarını, bellek dökümlerini (memory dumps) ve internet geçmişi gibi çevrimiçi eylemlerin izlerini temizler -Avast’ın hacklenip bu programın bir sürü kullanıcıya Fidye Yazılımı (Ransomware)’a kadar bulaştırdığı ortaya çıktı-. MRU-Blaster, en son kullanılan listelerini temizleyen Windows uygulamasıdır. Geçici internet dosyalarını ve çerezleri de temizler.
1.1.5. Sızma testi aşamaları
Şifre Kırma (Password Cracking): Parola korumalı sistemler belirlenir à Parolaya erişilebiliyor mu bakılır à Erişiliyorsa parolanın karmaşıklığı kontrol edilir/Erişilmiyorsa sosyal mühendislik yapılır à Sinsice Gözetleme (Shoulder Surfing) yapılır à Çöp Karıştırma (Dumpster Diving) yapılır à Sözlük Saldırısı yapılır à Kaba Kuvvet Saldırısı yapılır à Kural Bazlı saldırı yapılır à Parola tahmin etme yapılır à Trojan/Spyware/Keyloggerlar kullanılır à Özet Injection Saldırısı yapılır à Kablo Dinleme (Wire Sniffing) yapılır à MITM saldırısı yapılır à Tekrarlanan (Replay) saldırı yapılır à Gökkuşağı Saldırısı yapılır à Dağıtılmış Ağ (Distributed Network) Saldırısı yapılır.
Yetki Yükseltme (Privilege Escalation): Dökülmüş kullanıcı adları ve kırılmış parolalarla oturum açma denenir à Birbirini etkileyen oturum açma hakları sınırlandırılmış mı ona bakılır à Sınırlandırılmışsa hakkı olmayan hesaplarda servisler çalıştırılmaya çalışılır à Yetki yükseltme araçları kullanılır.
Uygulamaları Çalıştırma (Executing Applications): Antivirüs yüklü mü ve güncel mi bakılır à Güvenlik duvarı ve klavye dinleme engelleyici yüklü mü bakılır à Donanım sistemleri kilitlenmiş ortamda güvenli mi bakılır à Klavye dinleyicisi kullanılmaya çalışılır à Casus Yazılımlar kullanılmaya çalışılır à Uzaktan çalıştırma araçları kullanılır.
Dosyaları Gizleme (Hiding Files): Hedef sisteme kök setleri yüklenmeye çalışılır à Bütünlük Tabanlı Belirleme tekniği uygulanır à İmza Tabanlı Belirleme tekniği uygulanır à Çapraz Görüş Tabanlı (Cross View-Based) Belirleme tekniği uygulanır à Heuristic/Behavior-Based (Sezgisel/Davranış Tabanlı) Belirleme tekniği uygulanır à Antivirüs ve antispyware güncel mi kontrol edilir à İşletim sistemi ve uygulamaların yamaları güncel mi bakılır à Kötücül kod enjekte etmek için Windows gizli akış (NTFS-ADS) kullanılır à Gizli mesaj saklamak için Steganography kullanılır à Steg analizi yapılır.
İzleri Kaybetme (Covering Tracks): Web eylem izlerini kaldırılır à Denetim devre dışı bırakılır à Log dosyaları kurcalanır à Kurbana olan tüm uzaktan bağlantılar kapatılır à Açık portlar kapatılır.