Hack Anatomisi - Deneme Blogu

Breaking

Öylesine

About

test banner

Post Top Ad

Responsive Ads Here

Post Top Ad

Responsive Ads Here

Pazartesi, Ocak 09, 2012

Hack Anatomisi

HaCk Anatomisi 

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. 

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 BUGTR** http://www.securityfocus.com/bugtr** 

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, BUGTR**, 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 progr*****dır. 

Bu progr***** genellikle bir shell yada C programı ÅŸeklinde yayınlanmaktadırlar. Bu progr*****ı, 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. 

Bir sistemi taramak için kullanılabilecek araçlarla ilgili daha geniÅŸ bilgiyi http://www.guvenlikhaber.com/doccen...ik/scanners.asp adresinden bulabilirsiniz. 

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 , BUGTR** 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.

Hiç yorum yok:

Yorum Gönder

Post Top Ad

Responsive Ads Here