Giriş
1. Bilgi Toplama
2. İşletim Sisteminin Belirlenmesi
3. Açıkların Aranması
4. Test Saldırısı Yapılması
5. Kullanılacak Araçlar
6. Saldırı Staratejisinin Belirlenmesi
7. İnceleme Aşaması
8. Sonuç
Bu bölümde bir cracker’ın planlı bir saldırıyı nasıl yaptığını adım adım inceleyeceğiz. Burada anlatılan işlemler bir saldırganın uzaktan bir sisteme nasıl saldırdığını anlatmaktadır.
Cracker’ların sisteme saldırıları nasıl yaptığını bilirsek bu şekilde kendi
sistemlerimizde gerekli tedbirleri daha bilinçli olarak alarak sistemimizi daha
iyi koruyabiliriz diye düşünüyorum. Bu nedenle konunun bundan sonraki kısmına
planlı olarak yapılan bir saldırının aşamalarını göstermek istiyorum.2. İşletim Sisteminin Belirlenmesi
3. Açıkların Aranması
4. Test Saldırısı Yapılması
5. Kullanılacak Araçlar
6. Saldırı Staratejisinin Belirlenmesi
7. İnceleme Aşaması
8. Sonuç
Bu bölümde bir cracker’ın planlı bir saldırıyı nasıl yaptığını adım adım inceleyeceğiz. Burada anlatılan işlemler bir saldırganın uzaktan bir sisteme nasıl saldırdığını anlatmaktadır.
Genelde pratik olarak yapılan saldırılarda (daha çok aceleci olan script kiddie’ler tarafından yapılan saldırılardır bunlar) burada anlatılan aşamaların çoğu atlanabilmektedir.
Öncelikle saldırı yapılacak hedef sistemde herhangi bir firewall olmadığını var sayıyoruz. (Tabi artık günümüzde firewall network için vazgeçilmez bir araç haline gelmiştir ve gün geçtikçe Internet’e bir şekilde firewall kullanmadan bağlanan bir sistem bulmak imkansızlaşmaktadır.)
Burada anlatılacak olan teknikler cracking için genel bir yöntemdir. Yani her türlü sisteme saldırmak için kullanılabilir ancak biz UNIX sistemi açısından saldırıları inceleyeceğiz.
Şimdi ilk aşamadan başlayarak bir yetenekli ve kararlı bir cracker’ın bir sisteme nasıl saldıracağını inceleyelim:
1. Bilgi Toplama
Cracker’ın yapacağı ilk iş, saldırı yapılacak hedef sistemin kendisiyle doğrudan bir iletişime gerek duymaz! Yani cracker ilk olarak karşıdaki sistemin network tipini ve hedef makineler hakkında bilgi edindikten sonra, hedef sistemde uraştığı kişiyi tanımak için onunla ilgili bilgi toplamaya çalışacaktır. Söz konusu kişi tabiki sistemin yöneticiliğini yapan root erişimine sahip yöneticidir.
Cracker sistem hakkında bilgi toplamak için aşağıdaki teknikleri kullanacaktır:
a-) Ağda bulunan tüm sistemlerle ilgili bilgi toplamak için host sorgusu çalıştıracaktır. host komutu domain adı sunucularını (DNS servers) sorgulayarak ağ hakkındaki bulunabilecek tüm bilgileri toplar.
Domain adı sunucusu o domainle ilgili bir çok bilgi tutarlar, asıl amacı alan adlarını IP numaralarına dönüştürmektir ancak aynı zamanda o sistemin donanım ve üzerinde çalışan işletim sistemi gibi bilgileri de saklarlar. nslookup komutu bir DNS sunucusunu sorgulamak için kullanılan komuttur. host komutu da nslookup komutuna benzer ama daha açıklayıcı ve ayrıntılı bilgi verir. Bu nedenle host komutu en tehlikeli on komut listesinde yer alır!
Örnek olarak bir domain sunucusuna yapılan bir host sorgusunun sonucuna bakalım:
host -l -v -t any bu.edu
...
bu.edu 86400 IN HINFO SUN-SPARCSTATION-10/41 UNIX
PPP-77-25.bu.edu 86400 IN A 128.197.7.237
PPP-77-25.bu.edu 86400 IN HINFO PPP-HOST PPP-SW
PPP-77-26.bu.edu 86400 IN A 128.197.7.238
PPP-77-26.bu.edu 86400 IN HINFO PPP-HOST PPP-SW
ODIE.bu.edu 86400 IN A 128.197.10.52
ODIE.bu.edu 86400 IN MX 10 CS.BU.EDU
ODIE.bu.edu 86400 IN HINFO DEC-ALPHA-3000/300LX OSF1
...
STRAUSS.bu.edu 86400 IN HINFO PC-PENTIUM DOS/WINDOWS
BURULLUS.bu.edu 86400 IN HINFO SUN-3/50 UNIX (Ouch)
GEORGETOWN.bu.edu 86400 IN HINFO MACINTOSH MAC-OS
CHEEZWIZ.bu.edu 86400 IN HINFO SGI-INDIGO-2 UNIX
POLLUX.bu.edu 86400 IN HINFO SUN-4/20-SPARCSTATION-SLC UNIX
SFA109-PC201.bu.edu 86400 IN HINFO PC MS-DOS/WINDOWS
UH-PC002-CT.bu.edu 86400 IN HINFO PC-CLONE MS-DOS
SOFTWARE.bu.edu 86400 IN HINFO SUN-SPARCSTATION-10/30 UNIX
CABMAC.bu.edu 86400 IN HINFO MACINTOSH MAC-OS
VIDUAL.bu.edu 86400 IN HINFO SGI-INDY IRIX
KIOSK-GB.bu.edu 86400 IN HINFO GATORBOX GATORWARE
CLARINET.bu.edu 86400 IN HINFO VISUAL-X-19-TURBO X-SERVER
DUNCAN.bu.edu 86400 IN HINFO DEC-ALPHA-3000/400 OSF1
MILHOUSE.bu.edu 86400 IN HINFO VAXSTATION-II/GPX UNIX
PSY81-PC150.bu.edu 86400 IN HINFO PC WINDOWS-95
BUPHYC.bu.edu 86400 IN HINFO VAX-4000/300 OpenVMS
....
Bu çıktıdan da görüldüğü gibi host komutu ağ ile ilgili olarak çok tehlikeli olabilecek sonuçlar vermektedir. Yukarıda ki satırlardan da görüldüğü gibi ağda bulunan makinelerin IP numaraları, işletim sistemi ve makinenin ne olduğu öğrenilebilmektedir.
DNS sunucusunun bu tür bilgileri Internet’te herkese vermesini engellemek için çeşitli önlemler alınabilir.
Bunun için firewall kullanılabilir.
Alan adı sunucu sorgularının sadece belli bir adres grubu tarafından yapılmasına izin verilebilir.
Yada bu sunuculara dışardan erişim tamamen engellenebilir.
DNS sunucusunun (BIND sunucusu) konfigüre etmek için /etc/named.conf dosyası kullanılmaktadır.
b-) Standart WHOIS sorgusu. Bu sorguyla cracker o sistemin teknik sorumlusunun bilgilerini almak için kullanır. Bu kişinin e-posta adresi fazla önemli gibi görünmese de bu adres sistem hakkında çok önemli bilgiler toplamak için kullanılabilir.
c-) Usenet ve Web sayfalarında aram yapmak. Cracker sisteme saldırmadan önce şimdiye kadar öğrendiği bilgiler doğrultusunda Internet’te o sistemle ilgili daha fazla bilgiye erişmek için aramalar yapacaktır. Yani Cracker eline geçirdiği sistem yöneticilerin yada teknik sorumluların e-posta adreslerini kullanarak bu kişilerim Usenet yada güvenlikle ilgili mail listelerinde görünüp görünmediklerini araştırır.
Cracker’ın ilk olarak sistem yöneticisi yada sorumlusunun e-posta adresini araması ve bu kişinin bu adresi Internet’te araması biraz anlaşılmaz gelebilir.
Ancak sistem yöneticisi sistemin günlük olarak yönetimini yapmaktadır ve sistemde çıkabilecek sorunlarla ilgili olarak Usenet haber gruplarına ve güvenlikle ilgili mail listelerine başvurmuş olabilir. Dolayısıyla cracker buralardan sistem yöneticisinin kendi sistemiyle ilgili olarak vermiş olabileceği her türlü bilgiyi toplamaya çalışmaktadır.
Bu konuda bariz bir örnek verecek olursak, bazen sistem yöneticileri o kadar dikkatsiz olmaktadırlar ki bir haber grubunda bir sounla ilgili olarak tartışırken sistemleri hakkında başkalarının bilmemesi gereken bilgileri bile verebilmektedirler.
Sistemlerinin root şifresini bile verenlere rastlanabiliyor. Bu şekilde, yani haber gruplarından ele geçirilen root şifreleriyle crack edilen bir sürü sistem vardır!
Ancak burda cracker için asıl zor olan kısım sistem yöneticisinin kullanıcı ID ve e-posta adresini doğru olarak ele geçirmesidir. Bunun için çeşitli yolları deneyecektir cracker.
Sistem yöneticisinin diğer network’larda bulunabilecek account’larını da takip edebilir. Bunu takip etmek için cracker finger ve ruser gibi komutları kullanabilir. Bildiğiniz gibi finger komutu sisteme logon olan kullanıcıları göstermektedir. Ayrıca finger sistemde logon olmayan bir kullanıcının en son nereden login olduğunu da gösterir. İşte yöneticinin en son login olduğu sistemlerdeki adresi de takip edilerek bu kişiyle ilgili diğer bilgilere erişmeyi deneyebilir.
Finger Sorguları : Finger sorguları bir cracker için yukarıda değindiğimiz gibi sistem hakkında çok fazla bilgi verebilir. Sistemde logon olmuş kullanıcı ID’lerini, isimlerini, en son login oldukları yeri, mail bilgileri gibi bir çok bilgi verir.
Cracker’ımız saldırdığı sistemde şüphe uyandırmamak için Internet’te yüzlerce sitede bulunabilecek “finger gateway” lerini kullanacaktır. Bu sunucular bir web sayfasından kullanıcıdan finger sorgusu gönderilecek olan sunucu adresini alır ve o sunucuya finger sorgusunu yollayarak yine sonuçları ekrana getirir. Böylece cracker kendi gerçek IP numarasının saldırdığı sistem loglarında görünmesini engelleyebilir.
Tabi aslında bu gerçek bir gizlilik sağlamaz, hedef sistemdeki sistem yöneticisi çok fazla paranoyaksa bu finger gateway sunucusunun sistem yöneticisi ile temasa geçerek cracker’ın gerçek IP adresini ele geçirebilir.
Bu şekilde çalışan diğer bir yöntemse finger yönlendirme işlemidir. Daha önceki bölümde gördüğümüz gibi, cracker bir finger
finger kullanıcı@gercek_sunucu.com@gecici_sunucu.com
Aslında finger bir sistemdeki kullanıcıların listesini çıkarmak için kullanılan tek yol değildir bundan başka güvenlik dünyasında çok fazla güvenlik açığı bulunmasıyla meşhur olan sendmail programı da kullanılabilir.
Bunu test etmek için bir SMTP sunucusuna telnet etmek yeterlidir. Örnek olarak;
telnet smtp_sunucusu.com 25
Bu komut smtp_sunucusu.com sunucusunun 25 numaralı portuna (yani SMTP portuna) telnet bağlantısı sağlar. SMTP mail göndermek için kullanılan bir protokoldür. Ancak telnet yapıldıktan sonra SMTP sunucusunun izin verdiği bir dizi komut kullanılabilir. mail from, rcpt to, data , quit gibi komutlar çalıştırılabilir. Ancak iki tane komut vardırki bunlar sistemdeki kullanıcılar hakkında bilgi vermektedir. Bunlar vrfy ve expn komutlarıdır. Bu komutlar sistemde bulunan bir kullanıcı ID’sini onaylamak için kullanılırlar.
telnet işlemini yaptıktan ve sunucuya bağlanıldıktan sonra telnet ekranında aşağıdaki gibi bir komut girilebilir:
vrfy savas
250 Savas Kose <savas@smtp_sunucusu.com>
Buradaki 2. satır smtp sunucusunun bize gönderdiği cevap satırıdır. SMTP 250 dönüş değeri başarılı bir işlem olduğunu belirtir ve savas kullanıcısının gerçekten sistemde olduğunu ve gerçek isminin Savas Kose olduğunu belirtir. Ayrıca satırın devamında bu kullanıcının email adresinin de vermektedir.
Eğer sunucuda bu kişi yoksa sunucu 550 dönüş değeriyle hata verecektir.
vrfy savas
500 savas... User unknown
Burdan da sistemde böyle bir kullanıcı olmadığı anlaşılır. Bu örnekten de anlaşıldığı gibi cracker’lar sistem hakkında bilgi toplamak için çok değişik yöntemleri denemektedirler.
sendmail’in bu özelliği genellikle sistem yöneticileri tarafından bilinmediği için hiç bir önlem alınmaz.
sendmail’in bazı sürümlerinde bu komutlar çalışmazken bazılarında bu komutlar sorgulanan kullanıcı ismini aynen getirmektedir.
Ancak kullanılan sendmail programının bu komutlara izin verip vermediği kontrol edilmelidir. Eğer izin veriyorsa bu komutların çalışması sendmail konfigürasyon dosyasından engellenmelidir. Bunun için /etc/sendmail.cf dosyasına aşağıdaki satırın girilmesi yeterli olacaktır.
O PrivacyOptions=goaway
Diğer yandan sendmail konusunda güvenlik yönünden yapılması gereken bir çok ayar vardır bunlar için sendmail’in dökümantasyonunda güvenlik konusuna bakılabilir. (sendmail sistemini ayrıntılı olarak anlatan O’REILLY’den “sendmail” adlı kitap yararlı olabilir.)
Cracker sistem hakkında bilgi toplamak için bilinen tüm yolları deneyebilir. Daha önce de değindiğimiz bu yöntemleri kısaca hatırlatmak için güvenlik dünyasında yazdıkları araçlarla çok ünlü olan Dan Farmer ve Wietse Venema’nın yazdığı bir makaleden (improving security by breaking into it) alıntı vermek istiyorum:
“İlk olarak saldırdığınız sistemle ilgili olarak mümkün olduğu kadar bilgi toplamaya çalışın. Bunun yapmak için kullanılabilecek çok zengin network servisleri vardır: finger, showmount, rpcinfo komutları iyi birer başlangıçtır. Ancak sadece bunlarla yetinmemelisiniz ayrıca DNS, whois, sendmail(smtp), ftp, uucp ve bulabildiğiniz tüm servisleri kullanmalısınız.”
Bu açıklamadan da anlaşıldığı gibi bir sistem hakkında edinilebilecek her türlü bilgi saldırı için işe yarayabilir.
2. İşletim Sisteminin Belirlenmesi
Cracker sistem yöneticisi ve ağ hakkında gerekli bilgileri topladıktan sonra saldıracağı ağda bulunan sistemlerde kullanılan işletim sistemlerini ve sürümlerini belirlemek için bir önceki kısımda anlatılan tekniklerin dışında çeşitli teknikleri deneyebilir.
Günümüzde artık ağlar daha fazla heterojen bir yapıya sahiptir. Aynı ağda çok değişik donanım ve işletim sistemleri kullanılabilmektedir. Ancak bu güvenlik yönünden çok daha fazla açık olmasına neden olacaktır. Ne kadar çok işletim sistemi varsa o kadar da güvenlik açığı olacaktır. Çünkü her sistem kendisine özgü güvenlik açıkları içerebilir ve bu şekildeki bir ağda cracker’ın bir güvenlik açığı bulması ve tüm ağ’ın güvenliğini tehlike altına atması kaçınılmazdır.
Cracker işletim sistemlerini belirlemek için ftp, telnet gibi servisleri deneyebileceği gibi hemen hemen kesin çözüm verecek olan bir araç ta kulanabilir. Bu araçlardan biri nmap aracıdır. nmap aslında bir port tarayıcısıdır. Ancak nmap aynı zamanda taranan sistemdeki çalışan işletim sistemini de büyük bir doğruluk oranıyla tahmin edebilmektedir.
Starting nmapNT V. 2.53 by ryan@eEye.com
eEye Digital Security ( http://www.eEye.com )
based on nmap by fyodor@insecure.org ( www.insecure.org/nmap/ )
We skillfully deduced that your address is 0.0.0.0
Host www.xxx.xxx (95.40.33.34) appears to be up ... good.
Initiating SYN half-open stealth scan against www.xxx.xxx (95.40.33.34)
...
21/tcp open ftp
80/tcp open http
135/tcp open unknown
139/tcp open unknown
6667/tcp open irc
6668/tcp open irc
TCP Sequence Prediction: Class=trivial time dependency
Difficulty=4 (Trivial joke)
Sequence numbers: 3F065 3F066 3F071 3F07A 3F07E 3F088
Remote operating system guess: Windows NT4 / Win95 / Win98
Nmap run completed -- 1 IP address (1 host up) scanned in 72 seconds
Yukarıdaki çıktıdan anlaşıldığı gibi işletim sistemi Windows platformunu kullanmaktadır. (nmap işletim sistemini tahmin edebilmek için TCP/IP stack gerçeklemelerindeki farklılıklardan yararlanır. Ancak tüm windows platformlarının TCP/IP yapısı aynı üretici tarafından yazıldığı için hepsinin verdiği cevaplar aynıdır. Dolayısıyla nmap windows platformlarını tam olarak ayıramamaktadır. Yukarıda işletim sisteminin Windows NT4, Win95 ya da Win98 olabileceğini söylemektedir.)
Değişik işletim sistemlerini bulan cracker’ın bir sonraki işi artık bu işletim sistemleriyle ilgili bir çalışma yapmaktır. Bunun için tüm işletim sistemlerini ve makine tiplerini gösteren bir liste oluturulmalıdır. Bu liste daha sonra cracker’ın o platformlarla ilgili bilinen tüm güvenlik açıklarını bulmasına yardımcı olacaktır.
(Bu noktada bazı cracker’lar çok aceleci olup hemen karşı sistemlere karşı otomatik güvenlik tarayıcılarını kullanmaktadırlar, SATAN, SAINT, ISS.. gibi ancak ilk etapta bunu yapmak tam olarak doğru değildir. Zira bu tarayıcıların kendi alanlarında tam olarak tüm açıkları taradığını söyleyemeyiz. Zira her gün yeni açıklar çıktığı için bu tarayıcıların bunları da bulmasını bekleyemeyiz. Dolayısıyla cracker’ın platformlarla ilgili tüm açıkları Internet’ten araması akıllıca bir yöntemdir.)
3. Açıkların Aranması
Cracker saldıracağı sistemlerin listesini çıkardıktan sonra her bir platform için bilinen açıkları Internet’te aramaya başlayacaktır. Bunun için ziyaret edilmesi gereken bir çok site mevcuttur.
Bunun için firewall mailing list, http://www.netsys.com/firewalls/ascii-index.html
CERT adresi, http://www.cert.com
Artık güvenlik dünyasında bir standart haline gelen BUGTRAQ http://www.securityfocus.com/bugtraq
Burada dikkat edilmesi gereken nokta bir açıklıkla ilgili olarak ilk uyarıyı okuduktan sonra, CERT veya DDN uyarılarında, bu açıklamada o uyarıyı tanımlayacak ismini bulmak gerekir. Bu genellikle uyarının başında verilmektedir. Örnek olarak daha önce değindiğimiz AIX rlogin hatasının adı, “AIX’s froot hole” şeklindedir. Bunu yapmanın nedeni, bu tür uyarılarda genellikle güvenlik açığı ve onu kapatmanın yolları gösterilir. Ancak bu zayıflığın nasıl test edileceği ve bundan nasıl yararlanılacağı gösterilmez. Bunlar zaten bir cracker’ın asıl aradığı şeylerdir.
İşte açıkların ismini bulan cracker bu ismi Internet’teki diğer mail listelerinde, BUGTRAQ, Firewall ..gibi. arayacaktır. Buralarda genellikle o açıkla ilgili olarak test ve exploit script’leri verilmektedir. Bu scriptler otomatik olarak bir sistemde o açığın olup olmadığını test eden ve varsa ondan yararlanmaya çalışan programlardır.
Bu programlar genellikle bir shell yada C programı şeklinde yayınlanmaktadırlar. Bu programları, gerekli değişiklikleri yaparak cracker kendi sisteminde derleyip çalıştırabilir.
Bu noktaya kadar cracker aşağıdaki adımların hepsini yada belli bir kısmını belirlemiştir:
-Sistem yöneticisinin kim olduğunu,
-Ağdaki makineler ve işlevleri
-Kullanılan işletim sistemlerini,
-Muhtemel güvenlik açıklarını,
-Sistem yöneticisi tarafından topoloji, yönetim, politika yada sistem yönetimiyle ilgili Internet’te yaptığı herhangi bir tartışma
Bunlardan sonra cracker bir sonraki adıma geçecektir.
4. Test Saldırısı Yapılması
Bu adımda cracker saldıracağı sistemle ilgili olarak bazı noktaları açığa kavuşturmak için kendi sistemlerinde deneme saldırısı yapmayı deneyecektir. Bu adım, saldırıyı gerçekten yapmayı düşünen cracker’lar tarafından yapılmaktadır. Çünkü bu adımda biraz para harcamak gerekebilir!
Bu noktada cracker karşı taraftaki makinenin bir benzerini elde etmeye çalışır. Örnek olarak karşı sistemde Solaris 2.4 varsa cracker benzer bir sistemi kurmalıdır. Bunu yaparken cracker’ın iki tane temel amacı vardır:
-Saldırılar saldırı yapan tarafından nasıl görünüyor,
-Saldırılar kurban tarafından nasıl görünüyor,
-Saldırgan saldırıda bulunduğu makinedeki log’ları inceleyerek karşı tarafta saldırı ile ilgili nelerin olup bittiğini anlar. Bu şekilde cracker karşı sistemde saldırdan kalan izleri bilir. Her ssitemin kendine göre değişik logging işlemleri vardır ve cracker en azından bu log işlemlerini bilmesi gerekmektedir. Hangi log dosyalarının saldırı hakkında log tutacağını bilmesi gerekmektedir.
Cracker’ın bunu yapmasının nedeni ele geçirdiği sistemden çıkarken tüm geride bıraktığı izleri silmek istemesidir. Sistemdeki log dosyalarını bildiği için bu dosyalara giderek kendisiyle ilgili tüm bilgileri silebilir. (Aslında Internet bu işlemleri değişik sistemler için otomatik olarak yapan script’ler de vardır. Ancak bu scriptler genellikle tam olmadığından yada karşı sistemin konfigürasyonu standart dışı olduğunda doğru olarak çalışmamaktadırşlar. Bu scriptlere güvenen cracker’lar çoğu zaman logları temizleyememektedirler )
Aslında bu test adımı çok da zor bir adım değildir. Cracker istediği sistemi arkadaşlarından bulmayı deneyebilir yada üniversitelerden bile yararlanabilir.
Not: Bu test saldırısı başka bir amaç için de kullanılır. Karşı sistemde hiç bir açık bulamayan bir cracker bu yöntemi deneyerek o sistemde bilinmeyen bir açık ta bulabilir. Bu anlattığım olay geçen yıl Temmuz ayında yapılan eWeek tarafından düzenlenen birinci Openhack hacker yarışmasında bilinen hiç bir güvenlik açığı olmamasına rağmen sisteme sızmayı başaran ve ödülü alan cracker’ın kullandığı yöntemdir.
Cracker tüm sistemi taradıktan sonra sistemde sadece 80 numaralı yani HTTP portunun açık olduğunu buluyor ve başka bir saldıracak nokta olmadığı için WWW üzerinden saldırıda bulunmayı deniyor. Tabi öncelikle karşı sistemde çalışan uygulamaları tespit ediyor. Sistemde MiniVend adında bir e-Ticaret paketinin çalıştığını görüyor. Tabi cracker’ın bu sistemde olabilecek açıkları bulabilmesi için benzer bir makine üzerinde çalışması gerekmektedir. Cracker bir arkadaşında bu uygulamanın olduğunu buluyor ve kendisine bir account vermesini isteyerek test makinesi üzerinde MiniVend uygulamasının dosyalarını incelemeye başlıyor ve kullanılan bir perl cgi programında “open” komutunun güvensiz bir şekilde kullanıldığını buluyor.
Daha önceki kısımda anlattığım gibi perl içinden sistem çağrılarında sisteme geçirilen komut içinde metakarakter’lerin olup olmadığı test edilmelidir. MiniVend script’inde pipe ‘|’ karakteri kontrol edilmediği için sisteme bu karakter kullanılarak istenilen bir komut çalıştırılabilmektedir.
Cracker bu açığı bulduğu başka bir açıkla birleştirerek Web sunucusunu kırmayı başarmıştır.
5. Kullanılacak Araçlar
Cracker bir sonraki adımda kullanacağı araçları belirleyip toplayacaktır. Bu araçlar genellikle tarayıcılardır. Hedef sistemdeki çalışan servislerin belirlemesi gerekmektedir.
Bunun için port tarayıcılarından yararlanılmaktadır. Port tarayıcıları içinde en ünlü ve kapsamlı olanı nmap aracıdır. Bu araca daha önce değinmiştik. İşletim sistemi hakkında edinilen bilgilere ve servislere göre tarayıcıların hangi alanları ve açıkları tarayıp taramadığı incelenmelidir.
Çünkü bazı tarayıcılar bazı servisleri kapsayıp bazılarını kapsamayabilir. Bu durumda birden fazla uygun tarayıcı kullanmak gerekmektedir. Bu tür araçların nasıl çalıştığını görmek için en iyi yol daha önceden bu araçları bir sistem zerinde denemektir.
Sistemlerin açıklar yönünden çeşitli araçlar tarafından taranması artık günümüzde o kadar yaygın hale gelmişki sistem yöneticilerinin dikkatini bile çekmemektedir, yada çekse bile bu konuda fazla bir işlem yapmamaktadırlar.
Örnek olarak standart bir Internet kullanıcısının sadece belli bir süre modemle Internet’e bağlı olduğu süre içerisinde bile makinesine onlarca tarama gelebilir. Bunu normalde anlamak zordur. Ancak saldırı yakalama özelliği olan bir kişisel firewall (ZoneAlarm gibi) kurduğunuz zaman kimlerin makinenize saldırıda bulunduğunu görmek mümkündür. Hatta bazen o kadar çok olmaktadır ki siz Internet’te gezinirken bu saldırıların uyarılarıyla rahatsız olabiliyorsunuz.
6. Saldırı Staratejisinin Belirlenmesi
Cracker planlı bir saldırıyı bir neden olmadan yapmayacaktır. Benzer bir şekilde saldırı yapacağı bir sisteme de belli bir planı olmadan saldırmayacaktır. Cracker’ın saldırı stratejisi yapmak istediği işe göre değişir.
Ancak bazı noktalar açıktır. Örnek olarak cracker topladığı tüm bilgilerden saldıracağı ağın bazı bölümlerinin router, switch, birdge yada diğer cihazlarla segmente edildiğini bulursa bu kısımları tarama dışı bırakabilir. Zira segmented bir ağda bir bilgisayarı ele geçirmek cracker için ana sisteme gitmek için işe yaramayacaktır. Çünkü segmente edilmiş bir sistemde sniffer yada spoofing teknikleri router yada switch üzerinden geçemezler.
Cracker stratejisini de belirledikten sonra artık tarama işlemine geçebilir. Kolay gelsin!
7. İnceleme Aşaması
Cracker taramalardan sonra bulduğu sonuçların incelemesine başlayacaktır. Bu işlem cracker’ın bulduğu sonuçlara bağlıdır. Ancak bu aşama artık günümüzde çok kolay hale gelmiştir.
Eski tarayıcılar sadece bulduğu açıkları listelemekte ancak bunlarla ilgili fazla bilgi vermemektedirler. Ancak artık çoğu tarayıcı, SAINT, twwwscan, CIS... buldukları açıklarla ilgili olarak açıklayıcı bilgi ve o açıkla ilgili Internet adreslerini de vermektedirler. Hatta SATAN, SAINT gibi tarayıcılar açıklarla ilgili veri tabanları da tutmaktadırlar sadece bunların incelenmesi bile cracker için çok önemli bilgiler sağlayabilir.
Bu noktada cracker daha önce açıkları toplamak için baş vurduğu sitelere giderek , BUGTRAQ gibi, bulduğu açıklarla ilgili olarak daha ayrıntılı bir araştırma yapabilir.
Not: Burada şunu da belirtmek gerekir bir gecede mükemmel bir sistem yöneticisi yada mükemmel bir cracker olmanın yolu yoktur. Saldırıların tabiatını tam olarak anlamak için güvenlik açıklarının, kaynak kodların, işletim sistemlerinin haftalarca çalışılması gerekir.
Sabır ve tecrübenin yerini hiç bir şey alamaz. Örnek olarak çok ünlü bir cracker olan Kevin Mitnick ve yine çok ünlü bir hacker olan Weitse Venema, yaptıkları iyi yada kötü işleri, çok çalışmaya, yaratıcılıklarına ve kararlı ve azimli olmaya borçludurlar.
Kıscası konuya hakim olmayan bir sistem yöneticisi için bir Firewall hiç bir işe yaramayacağı gibi, yeni bir cracker için de SATAN gibi tarayıcılar uzak bir sistemi crack etmek için bir işe yaramayacaklardır.
İyi planlanmış güçlü bir saldırı yarım bilgisi olan bir cracker’ın yapacağı iş değildir. Sistemin derinliklerini iyi bilen ve kendisini TCP/IP konusunda çok eğitmiş bir kişinin işi olabilir...
8. Sonuç
Burada anlattığım teknikler kararlı bir cracker’ın sonuca varmak için yapacağı adımları anlatmaktadır. Bunları anlatmamın nedeni Internet ortamında kimlerle karşı karşıya olduğumuzu ve onların neler yapıyor olabileceklerini bilmemiz içindir. Bu şekilde kendi sistemlerimize onlardan önce kendimiz saldırıalrda bulunarak açıklarımızı kapatabiliriz.
Diğer yandan bir cracker’ın nerelerden nasıl saldırıcağını bilirsek ve atacağımız adımlarda bu noktalara da dikkat ederek açık verecek bir durum oluşturmamış oluruz.
Son olarak sistem yöneticileri için sistemlerini koruma yolunda kolay gelsin derken, diğer sistemlere saldırmayı düşünen cracker, hacker ve script-kiddie’lere de dikkatli olmalarını tavsiye ediyorum, zira Türkiye’de henüz siber saldırılarla ilgili yaptırımlar olmasa da dünyada başlayan bu yasal önlemler dalgasının bir gün bize de geleceğini hatırlatmak isterim.
0 Yorumlar
Bizimle fikirlerinizi paylaşabilirsiniz.