Daha
önümüzde öğrenilecek çok şey var.
Footprinting
Footprinting şirketler ve bilgisayar sistemleri hakkında bilgi toplama eylemidir.Footprinting onların hacking sürecinde aldıkları ilk adımdır.Footprinting önemlidir çünkü hackerın sistemi hacklemesi için ordaki bilmesi gereken herşeyi bilmelidir.Aşağıda websitesinden bilgi almak için kullanıla servisler ve adımlara örnekler vereceğiz.
Hacker, ilk önce hedef websitesinde bilgileri toplamaya başlar.İsimleri ve e-postaları çekebileceği yerler arar.Şirkete sosyal mühendislik saldırısı yapmak için bu bilgiler kullanışlı olabilir.
Sonra websitesinin ip adresini alır.Bunun için
Find IP address of a website - server ip lookup adresine gidip websitesinin URLsini girdiğinizde websitesinin ip adresini basacaktır.
Daha sonra hacker çevrim içi çalışan sunucuları bulmak için sunucuya ping gönderecektir.
CA APM Cloud Monitor website monitoring service - Ping - IPv6 now supported, give it a shot!
dünyanın 36 farklı bölgesinden ping atan web sitesidir.Ping seçeneğini seçip websitesinin adını yada IP adresini girmen yeterli.
Daha sonra hacker şirketin websitesine whois sorgusu yapar. Bunun için
Whois Lookup, Domain Availability & IP Search - DomainTools sitesine gider ve buradaki sorgula kısmına hedef websitesini koyar.Bu şirket hakkında çokca bilgi verir.Şirketin numaralarını,adları ,kullandığı e-mail adreslerini, ve daha fazlasını öğrenebilirsiniz.(Whoi sorgusu için android uygulaması bile düşünülmüş.)
Ayrıca arama motorları sitede veri aramak için avantaj sağlar.Örnek verecek olursak google arama kutusuna site:
www.hedefsite.com yazar ve googleın sahip olduğu websitesinin tüm sayfalarını görebilir.Belirli kelimeler ekleyerek arama sonucunu daraltabilir.Örneğin site:
www.hedefsite.com email gibi.Googledan yapabileceği başka bir arama inurl/robots.txt bu robots.txt adında bir sayfa görünür.Eğer site robots.txt dosyasına sahipse arama motorları örümceklerinin anonim tutmak istediği tüm dizin ve sayfaları görüntülenebilir.Bazen değerli bilgilere rastlanabilir, onun için bu dosyalar gizli tutulmalıdır.Footprinting temellerini açıkladık.Şimdi port taraması için harekete geçelim.
Port Scanning
Port tarama, sunucudaki portları dinleyerek açık portları tespit hizmetidir.Bir hacker sunucuda çalışan tüm hizmetleri bilir.Web sitesinin kontrolünü almak için güvenlik açıklarını ve gerekli exploitleri araştırır.Port taramada kullanılan en popüler port scanner:Nmap tır.The Nmap Security Scanner Windows ve Mac her iki kullanıcılar için mevcut.(İndirme linki Link)Nmap GUI kullanımını göstereceğiz.Örnek olarak Zenmap programı kullanılabilir.
İlk olarak hacker hedef belirliyor ve bu hedefi hedef kutucuğuna yazıyor.Programın Command kısmında CLI (Command Line Interface) kullananlar için komut yazıyor.
Sonra hacker Profile seçeneğinden tarama tipini seçiyor.Akıllı hacker sessiz ve hızlı tarama seçeneğini seçer.Tam versiyonda algılama taramaları çok yüksek ve diğer uçtan şüphe uyandıracak seviyede.Bu seçeneklerden uzak durulmalı.
Tarama yaptıktan sonra program açık portları ve bu portlarda çalışan hizmetleri listeleyecektir.Aşağıda bazı popüler portları ve servisleri sıraladım.
20 FTP data (File Transfer Protocol)
21 FTP (File Transfer Protocol)
22 SSH (Secure Shell)
23 Telnet
25 SMTP (Send Mail Transfer Protocol)
43 whois
53 DNS (Domain Name Service)
68 DHCP (Dynamic Host Control Protocol)
80 HTTP (HyperText Transfer Protocol)
110 POP3 (Post Office Protocol, version 3)
137 NetBIOS-ns
138 NetBIOS-dgm
139 NetBIOS
143 IMAP (Internet Message Access Protocol)
161 SNMP (Simple Network Management Protocol)
194 IRC (Internet Relay Chat)
220 IMAP3 (Internet Message Access Protocol 3)
443 SSL (Secure Socket Layer)
445 SMB (NetBIOS over TCP)
1352 Lotus Notes
1433 Microsoft SQL Server
1521 Oracle SQL
2049 NFS (Network File System)
3306 MYSQL
4000 ICQ
5800 VNC
5900 VNC
8080 HTTP
Çalışan portları bulmakla birlikte,hackerın sunucuda çalışan işletim sisteminide öğrenmesi gerekir.Bir çok işletim sisteminde her zaman bir açık vardır.Bu yüzden işletim sistemini bilinmesi hackerın şansını artırır.
Nmap tercihlerinde işletim sistemini tespit etme seçeneğini görebilirsin ,fakat çok gürültülü ve kolay tespit olduğundan bunu seçmemek en iyisi.
Eğer Nmapın CLI versiyonunu kullanmak istiyorsanız bu siteye göz atabilirsiniz.
Şimdi hacker hedefteki sistemin tüm açık portlarını ve çalışan hizmetlerini elde ettikten sonra sunucuda çalışan versiyonları öğrenecek.Bu konuda sıra Banner Grabbing giriyor.
Banner Grabbing(Bayrak Kapmaca)
Hedef sistemde çalışan servisleri exploit edilebilmesi için yazılımların ve sürümlerinin bilinmesi gerekir.Bu bilgileri almanın ilk yolu servis portunu telnet etmektir. Buna aşağıda CLI kullanarak örnek verdik.
İlk önce hacker Nmap port taraması ile sıralanan açık portlardan birini seçiyor.Diyelim ki hacker hedefi taradığında 21.portu açık bulsun.21.port FTP servisiydi.
daha sonra komut satırına:
telnet
www.hedefsite.com 21
komutunu girecektir.
Sonra hedefe bağlanacak komut çıktısı kullanılan yazılım ve sürümü hakkında bilgi edindirecektir.Bu bilgiler devamında hacker yazılımı bulup güvenlik açıkları için araştırmalara başlayacaktır.
Güvenlik açıklarını araştırma
Hacker sistemde çalışan yazılımları ve sürümlerini öğrendi şimdi sıra exploit etmek için bir kaç güvenlik açığı veritabanlarından arama yapmak.Eğer uygun bir exploit bulursa bunu sunucu karşısında çalıştıracak ve kontrolün tamamını alacaktır.Hiç bulamazsa bu sefer başka açık portlar üstündeki servisler için aynı şeyleri yapacaktır.
Bazı popüler exploit veritabanları:
Milworm
SecurityFocus
osvdb
Milworm üzerinde fillezilla ile arama yapıldığında çok şükür bir güvenlik açığı çıkmıyor.Çoğu insan başka portları deneyecektir ve olası başka açıklar bulacaklardır.Fakat bu herkesin hacker olduğu anlamına gelmez.Usta bir hacker geçerli yazılımın sürümündeki açığı saptar ve onun exploit geliştirmeyi dener.Hacker topluluğu bu açığa 0-gün adını verecektir.Hacker topluluğu için 0-gün açıkları çok değerlidir.Bunun birkaç nedeni:
Kimse güvenlik açığını bilmez, bu yüzden hacker açık keşfedilmeden ve yamalanmadan önce yüzlerce siteyi hacklemeye başlar.
Güvenlik açığını satarak binlerce dolar kazanır.
Açık keşfedilmeden usta olduğunu göstermek için yeni exploit yazar,hacker topluluğunda rütbesi artar.
0(sıfır)-gün neden çok önemli merak ediyor olabilirsiniz.Bu çok basit.Bunu basit bir denklem ile açıklayalım.
Hacker+0-gün+Sunucu Şirketleri=Kötü İtibar=Para Kaybı
Sızma konusuna girmeden önce, güvenlik açıklarına karşı yaygın bir kaç saldırı tiplerini görelim.
Denial-of-Service(DoS) - DoS saldırısının bir çok çeşidi var fakat hepsinin ortak amacı,meşru kullanıcılar için hedef sunucuyu kullanılamaz yapmak.DoS saldırırı en yaygın saldırı çeşididir.Hacker tüm kaynakları tüketmek için hedef sunucuya bilgi seli gönderir, ve sunucu çevrimdışı yazısı döndürür yada meşru kullanıcıların erişimini reddeder.
Buffer Overflow(BoF)- Hafıza taşması Program daha fazla veri depolamak yada veri saklamak için çalıştığında meydana gelir.Hafıza belirli miktarda veri tutabiliyor,extra bilgiler diğer hafızalara taşmasına neden oluyor , hacker oluşturduğu kötü amaçlı kodları bunların üzerine yazıyor.Bu kodlar çalıştırıldığında, hacker sunucunun tüm kontrolünü eline alıyor.
Milw0rm exploit veritabanını ziyaret ettiğinizde Local exploit ve Remote exploit başlığında birçok exploit görmüşsünüzdür.Şimdi bunları açıklayalım.
Local Exploit Local exploiti çalıştırmanız için , ilk önce makinede erişim ve yetkilere sahip olmanız gerekir.Local exploitler genellikle root ya da admin olanlar için yetki yükseltmede kullanılır.Başka bir deyişle , sıradan kullanıcıların root ayrıcalıklarına sahip olmasına izin verir.
Remote Exploit- Local exploite oldukça benzer lokal olarak çalışması dışında,fakat internet bağlantılı heryerden başlatılabilir.
Hacker genellikle sistemin kontrolünü almak için her iki exploit çeşidini de kullanır.Bunu bir örnek ile açıklayalım.Hacker , remote exploit saldırısı ile sunucunun yetki düzenini alır daha sonra da local exploit yardımı ile root yetki düzeyine yükselir.