ZAFİYET TESPİTİ VE SIZMA YÖNTEMLERİ Eyüp ÇELİK Bilgi Teknolojileri Güvenlik Uzmanı [email protected] http://www.eyupcelik.com.tr
Jun 09, 2015
ZAFİYET TESPİTİ VE SIZMA YÖNTEMLERİ
Eyüp ÇELİK Bilgi Teknolojileri Güvenlik Uzmanı
[email protected] http://www.eyupcelik.com.tr
Eyüp ÇELİK Kimdir ?
• Bilgi Güvenliği Uzmanı
• White Hat Hacker
• Ethical Hacking Eğitmeni
• Mshowto Yazarı (www.mshowto.org)
• Blog Yazarı (www.eyupcelik.com.tr)
• LabSec Community - Güvenlik Ekip Lideri
• Güvenlik Araştırmacısı (Security Research) – PacketStormSecurity.org – Exploit-db.com
SUNUM PLANI
• Neden penetrasyon testleri ? • Zafiyetler ve sistem üzerindeki etkileri • Zafiyet tespit araçları • Bilgi toplama ve kullanma evresi – Uygulama • Otomatize araçların kullanılması – Uygulama • Hacking ve sızma - Uygulama • Taramadan bağımsız sızmalar (Buffer Overflow - BOF)- Uygulama • Güvenlik yöntemleri • Soru – Sorun – Cevap bölümü
TERMİNOLOJİ
• Exploit • Payload • Penetration (Pentest) • Vulnerability • Scanning • Port • Priviledge Escalation
Penetration Test / Pentest
• Belirli bir hedefe sızmak için, çeşitli araçlar (exploit, payload v.s) ile gerçekleştirilen testlerdir.
• Pentestler güvenlik analizlerinde en iyi sonuçları verir. • Amaç; içerden ve dışarıdan gelebilecek saldırılara karşı sistemi
korumaktır. • Zafiyetlerin tespit edilmesi ile sistemlere gelebilecek saldırılar test
edilebilir. • Güvenlik sürekli bir ihtiyaçtır!
Zafiyetlerin Tespiti
• Herkes tarafından yapılabilir • Çeşitli programlar vasıtası ile gerçekleştirilir • Zafiyetlerin teknik olarak incelenmesi • Uygun exploitlerin bulunması • Raporlama • Riskler ve güvenlik • Araçlar her zaman kesin sonuçlar vermez!
Güvenlik Testleri
Black Box
White Box
Grey Box
Metodoloji
Hacking Bilgisi
Footprinting
Scanning
Enumeration
Hacking Gaining Access
Privileges Escalation
Hiding Files
Cover Tracking
Footprinting / Fingerprinting
• Güvenlik testlerinde, sonucu ve tüm aşamaları etkileyen en önemli adımdır!
• Hedef hakkında detaylıca bilgiler toplanmaya çalışılır • IP aralığı, DNS bilgileri, mail adresleri, whois bilgileri v.s • Çalışan servisler, işletim sistemi, portlar • Antivirüs, firewall, ips – ids • Toplanan bilgiler bir sonraki aşamada değerlendirilmek üzere kullanılır • İki kısımdan oluşur
– Aktif Bilgi Toplama • Host – Port Tarama
– Pasif Bilgi Toplama • Whois – mail adresleri
Aktif Bilgi Toplama
Pasif Bilgi Toplama
Maltego
Scanning
• Hedef hakkında aktif bilgi toplama yöntemlerindendir • Zafiyet taşıyabilecek muhtemel portlar taranır • İşletim sistemlerinde ve servislerde bulunan zafiyetler taranır • Networkte bulunan en zayıf halka keşfedilmeye çalışılır • 3 (Üç) kısımdan oluşur
Port Scanning - Nmap
• TCP Syn Scan – Hedef PC’ye Syn bayraklı paket gönderilir
– Port açıkça, hedef kaynak pc’ye Syn + Ack bayraklı paket gönderir, kaynak makine gelen pakete Rst bayraklı paket göndererek bağlantıyı koparır. Port kapalı ise hedef pc, Rst + Ack bayraklı paket gönderilir.
• TCP Connect Scan – TCP 3 yollu el sıkışma (3 way handshaking) baz alınır. Hedefe Syn bayraklı paket
gönderilir.
– Port açıksa, hedef pc Syn + Ack bayraklı paket gönderir. Kaynak pc gelen pakete Ack paketi dönerek 3 yollu el sıkışmayı tamamlar. Port kapalı ise hedef pc, Rst + Ack bayraklı paket göndererek bağlantıyı keser.
• FIN Scan – Hedef pc’ye FIN bayraklı paket gönderilir. Port açıksa hedef herhangi bir cevabı
geri. döndürmez. Port kapalı ise hedef pc, Rst + Ack bayraklı paket döndürür.
Port Scanning - Nmap
• Xmas Tree Scan – FIN scan ile aynıdır. Tek fark TCP Frame içersine URG, PSH ve FIN bayraklı
paketler yerleştirilebilir.
• Null Scan – Hedef pc’ye bayraksız (Null) paketler gönderilir. Hedef pc’nin vereceği cevaplar
FIN scan ile aynıdır.
• Ping Scan – Hedef pc’ye ICMP Echo Request (ping) paketi gönderilir. ICMP paketleri
filtrelenmiyor ise, hedef pc gelen pakete ICMP Echo Reply paketi ile dönüş yapar. Hedef pc kullanılamaz durumda ise (kapalı v.s) herhangi bir cevap dönmeyecektir.
– Sıklıkla kullanılmayan bir tarama türüdür.
• Nmap Decoy Scan – Genellikle güvenlik cihazlarını-yazılımlarını atlatmak için kullanılır. Veri paketleri
zombi bilgisayar üzerinden hedefe gönderilir. Hedeften dönen cevaplar zombi bilgisayar üzerinden kaynağa iletilir.
Network Scanning
• Networkte bulunan cihazlar keşfedilmeye çalışılır • Serverlar ve clientlar tespit edilir • Router, switch gibi network cihazları keşfedilir • Firewall, ips-ids gibi ürünler tespit edilir
Vulnerability Scanning
• Tespit edilen cihazların güvenlik zafiyetlerini bulmak için kullanılır • Tam bir sızma testine yön veren evredir • Genel itibari ile çeşitli araçlar kullanılarak gerçekleştirilir (Nessus-
Nexpose) • Bulunan zafiyetler doğrultusunda sisteme sızmaya çalışılır
Bilgi Toplama – Port Tarama (Nmap) / Uygulama 1
Otomatize Araçlar ve Zafiyet Tespiti (Nessus) – Uygulama 2
Hacking / Sızma (MetaSploit) – Uygulama 3
Buffer Overflow – (BOF)
• Buffer, bellekte art arda dizili veri türlerini (int, char) depolayan hafıza bloğudur.
• C de array olarak adlandırılan buffer, statik ve dinamik olarak ikiye ayrılır.
• Statik array, program ilk çalıştırıldığında Data Segment’e yazılır. • Dinamik array, hafızada programlar için ayrılmış Stack bölüme yazılır. • Buffer Overflow, stack alanlarda oluşur. • Örn, 32 Byte olarak ayrılmış bir alana 256 Byte’lık veri yollandığında,
hafıza bloğu taşarak Buffer, overflow edilir.
Buffer Overflow – (BOF)
• Stack, ESP ve EBP adında iki önemli CPU Register çalıştırır. • ESP (Stack Pointer), stack’e gönderilen son değeri adresler. • EBP (Segment Başlangıç Noktası), stack’e gönderilen ilk değeri adresler. • Stack LIFO (Last In First Out) mantığı ile çalışır. • Buffer, overflow edildikten sonra, hafıza bloğundan taşan veriler yığına
iletilir. • BOF saldırısı bu noktada gerçekleştirilir. • Yığına iletilen geri dönüş adresine veri yazdırılarak exploit edilir. • Geri dönüş adresine yazılan veri, gitmesi gereken adres yerine exploit
edilen adrese dönüş yapar. • Böylece kötü niyetli kodlar ile sistem ele geçirilebilir.
Taramadan Bağımsız Sızmalar (Buffer Overflow - BOF)- Uygulama
DOS - Exploitler
• Sistemi ele geçirmek yerine, sisteme zarar verme odaklıdırlar • İşletim sistemleri, yazılım veya çeşitli protokollerdeki zafiyetlerden
meydana gelirler • Bazı yapılandırma hatalarından dolayı da oluşabilir • Temel amaç, sisteme zarar vermektir. • Örnek Dos Exploit, MS12-020 • Uygulama
Güvenlik
• Pentestlerin belirli aralıklarla yapılması • Microsoft güvenlik bültenlerinin takip edilmesi • Gerekli yamaların vakit kaybedilmeden kurulması • Güvenlik yazılımının kullanılması (Antivirüs – Internet Security) • Windows güvenlik duvarının sürekli açık ve aktif olarak çalışır durumda
olmasını sağlamak • DMZ alanlarının kurulması • Firewall, ips-ids sistemlerinin kullanılması • Web sunucuları için WAF (Web Application Firewall) kullanılması • Erişim yetkilendirmesi • Fiziksel güvenlik
Sonuç ?