| | snifferlar ne işe yarar? Birden fazla bilgisayarı,birbirine bağlayarak aralarında bir paylaşım kurmak masraflı bir iştir. Paylaşım,bir bilgisayardaki bilgilerin,başka bir bilgisayara aktarılması olarak açıklanabilir. Bu iki bilgisayar arasında yapılan bilgi alış-veriş ini yakalamaya "sniffing" denilir. Bir kaç bilgisayarın,bir ağ üzerinde birbirleriyle paylaşıma açık olarak bağlanılmasında kullanılan en popüler yol "ethernet" dir.Ethernet protokolü bir bilgi paketini aynı devreler üzerindeki tüm bilgisayarlara yollayarak çalışır.Gönderilen paketin başlığında,paketin gideceği bilgisayarın adresi yazar.Sadece bu paketteki adres ile adresi tutan makine bu bilgileri alabilir.Her paketi kabul eden bir makine,paket başlığındaki adrese aldırmayan makine,çok karışık bir hal alacaktır. Bu karışıklık sayesinde,sniffer işini görecektir.
Normal bir networkte,account ve şifreler ,ethernet üzerinde düzgün bir yazıyla(encrypt edilmemiş) gidip gelirler.Bir ziyaretçi,ethernet üzerindeki herhangi bir makineden root yetkisi elde ederse, sistemi sniffleyerek ağ üzerinde ki diğer makinelerde de çok rahat "root" elde edebilir.
- Snifferları nereden bulabilirim?
Sniffing,hackerlar tarafından kullanılan en önemli hack yöntemlerinden biridir.Sniffer denilen bu programları,netde bir çok yerden bulabilirsiniz.Fakat hepsi,gerçekten çalışırmı bilmiyorum. Onun için çalıştığına şahit oldugum bir sniffer dan bahsedicegim.Esniff.c!SunOS da çalışmak için dizayn edilmiş,küçük boyutta ve sistemde ki tüm telnet,ftp ve rlogin sezonlarının ilk 300 byte ını yakalayabilen bir program.Esniff.c,ilk kez *Phrack* de ünlendi.Bu programı bir çok FTP server da bulabilirsiniz.(coombs.anu.edu .au:/pub/net/log.)
Ünlenmiş bir kaç tane Snifferıda söylemeden geçemiyeceğim,
* SunOs4.1.x için Etherfind
* Solaris 2.x ve SunOs 4.1 için Snoop!(ftp playground.sun.com)
Dos tabanlı snifferlar
* Gobbler
* ethdump v1.03(ftp.germany.eu.net:/pub/networking/inet/ethernet/ethdp103.zip)
* ethload v1.04(ftp.germany.eu.net:/pub/networking/monitoring/ethload/ethld104.zip)
Ticari snifferlar
* Network General
* Microsoft's Net Monitor
- Sistemimizde sniffer çalıştığını nasıl anlarız?
Bir sistemde sniffer çalıştıgını remote olarak anlamamız mümkün değildir. Sniffer çalışan makina,her paketi kabul eder ve çok karmaşık bir hal alır.Bir çok Unix tabanlı İşletim sisteminde,sistemde sniffer olup olmadığını anlamanın yolları vardır. SunOS,BSD,Linux ve diğer bir çok Unix tabanlı OS larda bir komut bulunur.. "ifconfig -a"
Bu komut,tüm arayüzleri kontrol edecek ve sistem de bir abukluk varsa size bildirecektir.Ama bazı OS larda bu komutu çalıştırmak için bazı device adresleri falan girmek gerekir (IRIX gibi..)Onun için başka bir komut daha söyleyeyim.(Aşağıdaki örnek tamamen hayalidir.)
# netstat -r
Routing tables
Internet:
Destination Gateway Flags Refs Use Interface
default infern0.com UG 1 24949 virgo
localhost localhost UH 2 83 le0
Bu komutdan sonra gördüğümüz tüm arayüzleri kontrol edebiliriz.Örnek,
# ifconfig virgo
virgo: flags=8863<UP,BROADCAST,NOTRAI LERS,RUNNING,PROMISC ,MULTICAST>
inet 127.0.0.1 netmask 0xffffff00 broadcast 255.0.0.1
Bu komutların dışında "cpm" adında snifferları tespit eden bir program vardır.Sadece SunOS ta çalışır ve tüm arayüzleri kontrol eder.(ftp.cert.org:/pub/tools/cpm)
Ultrixde ise,sistemde sniffer çalışıp calışmadığını "pfstat ve pfconfig" komutlarını kullanarak öğrenebiliriz.
pfconfig size kimlerin sniffer kullanıp kullanamayacağını ayarlama olanağı verir. pfstat ise size sistem de ki abukluklukları sıralar.
Bundan başka,üzülerek söylüyorum ki Irix, Solaris ve SCO da sniffer olup olmadığını algılamak biraz zordur.Yani heran bir hacker kardeş içerde snifferları depolamış olabilir. Bir başka yol ise,snifferların log dosyalarının büyümesidir.Hele hele,bazen sniffer sistemde uzun bir load zamanı geçirir.Ve çoğu zaman bazı alarmlar ortaya çıkar.Bu sayede sistem admin'i olayın farkına varır.Ben size lsof(LiSt Open Files) u kullanmanızı öneririm.Bu program ,bazı paket devicelarına (SunOS da /dev/nit gibi..) uzanan dosyaları size gösterir. "coast.cs.purdue.edu:/pub/Purdue/lsof" dan çekebilirsiniz. - Encryption
Eğer yukarıdaki yollara güvenmiyorsanız,yapabileceğini z en güzel şeylerden biride paketleri encryptlemek olabilir.Hacker dostumuz,paketleri yakalayabilir ama gördüklerinden hiç birşey anlamaz.
Bunun için 1-2 program ve adreslerini vereyim,
* deslogin coast.cs.purdue.edu:/pub/tools/unix/deslogin
* swIPe ftp.csua.berkeley.edu:/pub/cypherpunks/swIPe/
- Kerberos Kerberos da yukarıdakiler gibi paketleri encrypt eden bir programdır.Kerberos "stream-encrypting rlogind" ve "stream-encyrpting telnetd" gibi özelliklerle gelir.Bu sizin sisteme girdikten sonra ne yaptıklarınızı hackerlardan saklamanıza yarar. "tfm.mit.edu" da Kerberos için bir faq bulunuyor.İlgilendiyseniz kaçırmayın dökümanı derim. /pub/usenet/comp.protocols/kerberos/Kerberos_Users__Frequently_Ask ed_Questions_1.11
Umarım sniff denilen olayı kavramanıza yardımcı olmuşumdur.
Görüşmek üzere, BOOT/MBR Virüslerin Tespit Edilmesi
Şimdi bilgisayarı resetleyin.Starting MS-DOS, Starting Windows türünden bir mesaj aldıktan sonra F5 tuşunu veya klavyedeki sol shift tuşunu basılı tutun.Bilgisayar CONFIG.SYS ve AUTOEXEC.BAT dosyaları işlenmeden çalışacaktır. Şimdi DEBUG adlı programı çalıştırın.Ekranda - işareti görüyor olmalısınız.Şimdi a komutunu verip enter tuşuna basın.(a komutu assembly dilinde program girileceğini belirtir).Ekranda 6750:0100 gibi bir adres değeri göreceksiniz.INT 13 yazıp enter tuşuna basın.6750:0102 adresini göreceksiniz.Bir kez daha enter'a basarak assembly modundan çıkın.Tekrar - işaretini göreceksiniz.Şimdi t (trace-adım adım çalıştır) komutunu verin.Hemen ardından da u komutunu girerek INT 13'ün yönlendirildiği adresteki assembly kodlarını ekrana getirin.Eğer ekranda DB komutları görüyorsanız bilgisayarınızda herhangi bir TSR virüs yok demektir.(Debug, unasseble işlemi yaparken çevirdiği kodu 16 bitlik olarak çevirir.Bu yüzden herhangi bir 386 komutu debug tarafından önce bir DB komutu ve ardından da 16 bitlik bir komut şeklinde çevirilmektedir.Mesela 32 bitlik MOV EAX,C0310102h komutu debug tarafından DB 66h / MOV AX,0102h / XOR AX,AX şeklinde çevirilecektir.Virüslerin eski işlemcilerde dahi çalışacak şekilde yazıldıklarını gözönünde tutarak DB komutu görüldüğünde sistemde kesinlikle bir virüs yoktur diyebiliriz)
INT 13 bir BIOS interruptıdır.Bu yüzden adresi de F000:0000 adresinden daha yukarıda bir bölgede olmalıdır.Eğer Int 13 kodu 9C00:0000-A000:0000 arasında bir bölgeye denk geliyorsa sizin için virüs taramasının vakti gelmiştir.Aşağıda virüssüz bir bilgisayardan alınmış INT 13 kodu görülmektedir.Siz aşağıdaki çıktının aynısını göremeyebilirsiniz.
DEBUG (Enter)
-
a (Enter)
xxxx:0100 INT 13 (Enter)
xxxx:0102 (Enter)
-
-t (Enter)
FD60:2517 63 DB 63
-u (Enter)
FD60:2517 63 DB 63
FD60:2518 38 6C 6C CMP [SI+6C],CH
......... |