Wireshark ağ trafiğinin analizi. Wireshark'ı nasıl kullanırım? Trafik analizi. Ağda bir sniffer varlığının davranışsal tespiti

  • 08.03.2020

Akıllı Koku ağ trafiğini engellemenize ve içeriğini ASCII'de görüntülemenize olanak tanır. Program, ağ bağdaştırıcısından geçen paketleri yakalar ve paketlerin içeriğini metin biçiminde (protokoller http, pop3, smtp, ftp) ve bir hex dökümü olarak görüntüler. SmartSniff, TCP / IP paketlerini yakalamak için şu teknikleri kullanır: ham soketler - RAW Sockets, WinCap Capture Driver ve Microsoft Network Monitor Driver. Program Rusça'yı destekler ve kullanımı kolaydır.

Paketleri yakalamak için sniffer programı


SmartSniff şu bilgileri görüntüler: protokol adı, yerel ve uzak adres, yerel ve uzak bağlantı noktası, yerel ana bilgisayar, hizmet adı, veri boyutu, toplam boyut, yakalama süresi ve son paket süresi, süre, yerel ve uzak MAC adresi, ülkeler ve veri paketi içerik... Program esnek ayarlara sahiptir, yakalama filtresi işlevini uygular, http yanıtlarını açar, ip adreslerini dönüştürür, yardımcı program sistem tepsisine küçültülür. SmartSniff, HTML sayfası olarak bir paket akışı raporu oluşturur. Program TCP / IP akışlarını dışa aktarabilir.

Orijinal: Ağ koklama
Yazar: Paul Cobbaut
Yayınlanma Tarihi: 12 Mart 2015
Tercüme: A. Panin
Transfer tarihi: 1 Nisan 2015

Bölüm 23. Ağ trafiğini yakalama

Ağ yöneticisi, ağ sorunlarını teşhis etmek için wireshark veya tcpdump gibi bir dinleyiciyi kullanabilmelidir.

Öğrenci ayrıca ağların işleyişinin ilkelerini anlamak için sıklıkla bir koklayıcı kullanmaya başvurmak zorunda kalacaktır. Bu bölüm, ağ trafiğini yakalamak için uygun teknikleri açıklar.

23.1. Wireshark uygulaması

23.1.1. Wireshark'ı yükleme

Bu örnek, .deb uzantılı yazılım paketlerini (Debian, Mint, Xubuntu ve diğer dağıtımlar dahil) kullanan dağıtımlara wireshark yüklemek için bir komut sağlar.

[e-posta korumalı]: ~ # Paket listelerini okuma Bitti Bağımlılık ağacı oluşturma Durum bilgilerini okuma Bitti ... (çıktı kısaltılır)

CentOS, RHEL ve Fedora gibi .rpm uzantılı yazılım paketlerini kullanan dağıtımlarda, wireshark'ı yüklemek için yum kullanılabilir.

# yum install wireshark Yüklenen eklentiler: en hızlı ayna Önbelleğe alınmış ana bilgisayar dosyasından yansıtma hızları yükleniyor ... (çıktı kesildi)

23.1.2. Bir ağ arayüzü seçme

Wireshark'ı ilk kez başlattığınızda, bir ağ arayüzü seçmeniz gerekecektir. Aşağıdaki resimde gösterilene benzer bir iletişim kutusu göreceksiniz.

Bazı dağıtımlarda ağ trafiğine yalnızca kök kullanıcı tarafından müdahale edilebildiğinden, büyük olasılıkla kullanılabilir ağ arabirimleri olmayacaktır. Bu durumda, sudo wireshark komutunu kullanarak wireshark'ı root olarak başlatmanız gerekecektir.

Alternatif olarak, genel yönergeleri takip edebilir ve trafiği durdurmak ve bir dosyaya veri yazmak için tcpdump yardımcı programını veya başka bir aracı kullanabilirsiniz. Ele geçirilen herhangi bir veri daha sonra wireshark kullanılarak analiz edilebilir.

23.1.3. trafiği en aza indirme

Ağ trafiğini yakalama sürecinde, çok kısa sürelerde binlerce paket oluşturulabilir. Açıkçası, bu miktarda veri trafiği analiz etmeyi zorlaştıracaktır. Sniffer'ınızı ağ içinde izole ederek bu durumdan kurtulmaya çalışın. Tercih edilen seçenek, tam kontrolünüz altında yalıtılmış bir sanal ağın ağ arabiriminden geçen trafiği durdurmaktır.

Evde ağ trafiğini yakalamak için araçlar öğreniyorsanız, bilgisayarınızda çalışan tüm ağ uygulamalarını kapatmak ve bilgisayarınızın diğer bilgisayarlardan ve akıllı telefonlar ve tabletler gibi cihazlardan bağlantısını kesmek trafiği en aza indirerek trafiği en aza indirmeye yardımcı olabilir.

Yine de trafiği en aza indirmek için daha önemli araçlar, bir sonraki bölümde tartışılacak olan filtrelerdir.

23.1.4. Ping yardımcı programı tarafından oluşturulan trafiğin durdurulması

Bir sniffer çalıştırdım ve üç ping komutu yürütmenin bir sonucu olarak ağ üzerinden iletilen tüm paketleri yakaladım (bu komutları root olarak çalıştırmak mantıklı değil):

[e-posta korumalı]:~# ping -c2 ns1.paul.local PING ns1.paul.local (10.104.33.30) 56 (84) bayt veri. 10.104.33.30'dan 64 bayt: icmp_req = 1 ttl = 64 zaman = 0.010 ms 10.104.33.30'dan 64 bayt: icmp_req = 2 ttl = 64 zaman = 0.023 ms --- ns1.paul.local ping istatistikleri --- 2 paket iletildi , 2 alındı, %0 paket kaybı, süre 1001ms rtt min / ort / maks / mdev = 0,010 / 0,016 / 0,023 / 0,007 ms [e-posta korumalı]:~# ping -c3 linux-training.be PING linux-training.be (188.93.155.87) 56 (84) bayt veri. antares.ginsys.net'ten 64 bayt (188.93.155.87): icmp_req = 1 ttl = 56 süre = 15.6 ms antares.ginsys.net'ten 64 bayt (188.93.155.87): icmp_req = 2 ttl = 56 süre = 17.8 ms 64 bayt antares.ginsys.net'ten (188.93.155.87): icmp_req = 3 ttl = 56 süre = 14,7 ms --- linux-training.be ping istatistikleri --- 3 paket iletildi, 3 paket alındı, %0 paket kaybı, süre 2003ms rtt min / ortalama / maks / mdev = 14.756 / 16.110 / 17.881 / 1.309 ms [e-posta korumalı]:~# ping -c1 centos7.paul.local PING centos7.paul.local (10.104.33.31) 56 (84) bayt veri. 10.104.33.31'den 64 bayt: icmp_req = 1 ttl = 64 süre = 0,590 ms --- centos7.paul.local ping istatistikleri --- 1 paket iletildi, 1 paket alındı, %0 paket kaybı, süre 0ms rtt min / ort / maks / mdev = 0,590 / 0,590 / 0,590 / 0,000 ms

Toplamda, ağdan 200'den fazla paket yakalandı. Filtre alanına icmp satırını girip "Uygula" düğmesini tıklarsanız çok daha belirgin hale gelecektir.

23.1.5. Ping yardımcı programı ve dns istemcisi tarafından oluşturulan trafiği durdurma

Aynı veri yakalama oturumuyla çalışarak harika bir filtre uygulayalım. Hem dns protokolü hem de icmp protokolü ile ilgili trafiği izlemek istiyoruz, bu yüzden filtre alanına bahsi geçen iki protokolün isimlerini girmek zorunda kalacağız.

Söz konusu iki protokolle ilgili verileri yakalamak için filtre alanına "dns veya icmp" dizesi girilmelidir. Eğer "dns ve icmp" satırını girerseniz, bahsedilen her iki protokol ile ilgili paket olmadığı için herhangi bir paket hakkında bilgi görüntülenmeyecektir.

Yukarıdaki çizime bakıldığında, 25 ve 26 numaralı paketlerin 10.104.33.30 kaynak ve hedef IP adreslerine sahip olduğunu görebilirsiniz. Bunun nedeni, DNS istemcisinin DNS sunucusuyla aynı bilgisayarda çalışmasıdır.

31 ve 32 numaralı paketlerde de benzer bir durum gözlemlenir, çünkü ping yardımcı programı kullanılarak paketler, bu yardımcı programın üzerinde çalıştığı çalışma sistemine gönderilir.

23.1.6. Belirli IP adresi

Bu durumda, DNS protokolü ile ilgili ve belirli bir IP adresi içeren paketlerin filtrelenmesi. Filtre olarak "ip.addr == 10.104.33.30 ve dns" dizesi kullanılır. and yönergesi, uygulamaya iki koşulu karşılayan her paket hakkında bilgi görüntülemesini söyler.

Paket 93, linux-training.be etki alanı için A tipi bir kaydı almak üzere bir DNS sorgusu içerir. Paket 98, DNS sunucusundan gelen yanıtı içerir. Sizce paket 93 gönderildikten sonra ve paket 98 alınmadan önce ne oldu? Bir sonraki bölümü okumadan önce bu soruyu cevaplamaya çalışın (farklı sistemlerle çalışırken ne olacağını tahmin etmeye çalışmak ve tahminlerinizin doğruluğunu kontrol etmek her zaman yararlıdır).

23.1.7. Çerçeve tabanlı filtreleme

Yakalanan paket için doğru terim çerçevedir (paketleri OSI ağ modelinin 2. katmanında yakalamamız nedeniyle). Bu nedenle, belirli numaralara sahip paketler hakkındaki bilgileri görüntülemek için filtre alanındaki frame.number yönergesini kullanın.

23.1.8. Paket içeriğinin incelenmesi

Sniffer penceresinin orta bölmesi genişletilebilir. Bu panel içerisinden bir satır seçtiğinizde alt panelin alanında karşılık gelen bayt değerlerini görebilirsiniz.

Aşağıdaki resim, dizüstü bilgisayarımın seçilen adresinin bulunduğu sniffer penceresinin orta bölmesini göstermektedir.

Yukarıdaki tekniğin, tek bir ağ arabiriminde trafiği yakalamak için harika çalıştığını unutmayın. Örneğin, tcpdump -i herhangi bir komutu kullanarak trafiği keserseniz, "Linux pişmiş yakalama" paket yakalama yöntemiyle karşılaşırsınız.

23.1.9. Daha fazla filtre örneği

İki protokol tanımını, aralarındaki mantıksal veya ("OR") yönergesini kullanarak birleştirebilirsiniz. Aşağıdaki resimde yalnızca ARP ve BOOTP (veya DHCP) paketlerinin nasıl yakalanacağı gösterilmektedir.

Aşağıdaki çizim, belirli bir IP adresi içeren DNS paketlerinin nasıl yakalanacağını gösterir.

23.2. Tcpdump yardımcı programı

Sistemin komut satırı arayüzü ile çalışılması durumunda, tcpdump yardımcı programı kullanılarak paket yakalama gerçekleştirilebilir. Aşağıda kullanımına ilişkin bazı örnekler verilmiştir.

tcpdump host $ ip komutunun kullanılması, belirli bir ana bilgisayarla (bu durumda, 192.168.1.38 IP adresiyle) ilişkili tüm trafik hakkında bilgi görüntüler.

[e-posta korumalı]: ~ # tcpdump ana bilgisayar 192.168.1.38 tcpdump: ayrıntılı çıktı bastırıldı, eth0, bağlantı tipi EN10MB (Ethernet) üzerinde tam protokol kod çözme için -v veya -vv kullanın, yakalama boyutu 96 bayt

Yalnızca ssh protokolüyle (TCP protokolü, bağlantı noktası 22) ilgili trafik, tcpdump tcp bağlantı noktası $ bağlantı noktası komutu kullanılarak durdurulabilir. Daha iyi okunabilirlik için çıktı satırları 76 karaktere kısaltılmıştır.

[e-posta korumalı]: ~ # tcpdump tcp bağlantı noktası 22 tcpdump: ayrıntılı çıktı bastırıldı, eth1'de tam protokol kod çözme için -v veya -vv kullanın, bağlantı tipi EN10MB (Ethernet), yakalama boyutu 96 bayt 14: 22: 20.716313 IP deb503.local.37973 > rhel53.local.ssh: P 666050963: 66605 14: 22: 20.719936 IP rhel53.local.ssh> deb503.local.37973: P 1:49 (48) ack 48 14: 22: 20.720922 IP rhel53.local.ssh> deb503.local.37973: P 49: 113 (64) ack 14: 22: 20.721321 IP rhel53.local.ssh> deb503.local.37973: P 113: 161 (48) ack 14: 22: 20.721820 IP deb503.local. 37973> rhel53.local.ssh:. ack 161 win 200 14: 22: 20.722492 IP rhel53.local.ssh> deb503.local.37973: P 161: 225 (64) ack 14: 22: 20.760602 IP deb503.local.37973> rhel53.local.ssh:. ack 225 win 200 14: 22: 23.108106 IP deb503.local.54424> ubuntu910.local.ssh: P 467252637: 46 14: 22: 23.116804 IP ubuntu910.local.ssh> deb503.local.54424: P 1:81 (80 ) ack 14: 22: 23.116844 IP deb503.local.54424> ubuntu910.local.ssh:. ack 81 kazanmak 2 ^ C 10 paket ele geçirildi 10 paket filtre tarafından alındı ​​0 paket çekirdek tarafından düştü

Aynı işlem, ancak yakalanan verileri bir dosyaya yazarak, tcpdump -w $ dosyaadı komutu kullanılarak gerçekleştirilebilir.

[e-posta korumalı]: ~ # tcpdump -w sshdump.tcpdump tcp bağlantı noktası 22 tcpdump: eth0, bağlantı tipi EN10MB (Ethernet), yakalama boyutu 96 bayt ^ C 17 paket yakalanır filtre tarafından alınan 17 paket çekirdek tarafından bırakılan 0 paket

tcpdump -r $ filename komutu, önceki örnekte oluşturulan dosyanın içeriğini görüntüleyebilir.

[e-posta korumalı]: ~ # tcpdump -r sshdump.tcpdump

Bu yardımcı programın kullanımına ilişkin diğer birçok örnek, tcpdump kılavuz sayfasında bulunabilir.

23.3. Pratik Etkinlik: Ağ Trafiğini Yakalama

23.4. Doğru Uygulama Prosedürü: Ağ Trafiğini Yakalama

1. Wireshark'ı sisteminize kurun (sanal bir makinede çalışmıyor).

Debain / Ubuntu dağıtımlarında: yetenek install wireshark

Red Hat / Mandriva / Fedora dağıtımlarında: yum install wireshark

2. Sizinkiyle başka bir bilgisayar arasında trafik oluşturmak için ping yardımcı programını kullanın.

$ ip_adresi pingleyin

3. Ağ trafiğini yakalamaya başlayın.

(sudo) tel köpek balığı

Ağ arayüzünüzü seçin (muhtemelen eth0)

4. Yalnızca ping yardımcı programından gelen isteklere yanıt içeren paketler hakkındaki bilgileri görüntülemek için filtreyi kullanın.

Filtre alanına "icmp" (tırnak işaretleri olmadan) girin ve "Uygula" düğmesini tıklayın.

5. Şimdi etki alanı adını (www.linux-training.be gibi) ping'e iletin ve DNS isteğini ve yanıt paketlerini engellemeye çalışın. Hangi DNS sunucusu kullanıldı? İstek ve yanıtı iletmek için TCP veya UDP protokolü kullanıldı mı?

Önce sniffer'ı başlatın.

Filtre alanına "dns" yazın ve "Uygula" düğmesini tıklayın.

[e-posta korumalı]: ~ # ping www.linux-training.be PING www.linux-training.be (88.151.243.8) 56 (84) bayt veri. fosfor.openminds.be'den 64 bayt (88.151.243.8): icmp_seq = 1 ttl = 58 süre = 14.9 ms fosfor.openminds.be'den 64 bayt (88.151.243.8): icmp_seq = 2 ttl = 58 süre = 16.0 ms ^ C --- www.linux-training.be ping istatistikleri --- 2 paket iletildi, 2 paket alındı, %0 paket kaybı, zaman 1002ms rtt min / ort / maks / mdev = 14.984 / 15.539 / 16.095 / 0.569 ms

Wireshark penceresi benzer görünmelidir.

Wireshark uygulama penceresinden gelen bilgilere dayanarak, DNS talebinin bir UDP paketi kullanılarak iletildiği sonucuna varabiliriz, bundan sonra sorulan soruları cevaplamak kolaydır.

6. Şifre talep formu olan kapalı bir web sitesi bulun. Sniffer çalışırken "paul" kullanıcı adını ve "hunter2" şifresini kullanarak oturum açmayı deneyin. Şimdi sniffer ile yakalanan verilerde girilen kullanıcı adını ve şifreyi bulmaya çalışın.

Bazen, İnterneti kullanırken, trafik sızıntısı veya sistem kaynaklarının beklenmedik bir şekilde tüketildiği durumlar ortaya çıkar. Sorunun kaynağını hızlı bir şekilde analiz etmek ve bulmak için özel ağ araçları kullanılır. Bunlardan biri olan WireShark, makalede ele alınacaktır.

Genel bilgi

WireShark'ı kullanmadan önce kapsamı, işlevselliği ve yetenekleri hakkında bilgi sahibi olmanız gerekir. Kısacası: program, paketleri kablolu ve kablosuz ağ bağlantıları üzerinden gerçek zamanlı olarak yakalamanıza olanak tanır. Ethernet, IEEE 802.11, PPP ve benzeri protokollerde kullanılır. VoIP arama trafiğinin kesilmesini de kullanabilirsiniz.

Program, ücretsiz ve açık kaynak anlamına gelen GNU GPL lisansı altında dağıtılmaktadır. Birçok Linux dağıtımında, MacOS'ta çalıştırabilirsiniz ve ayrıca Windows işletim sistemi için bir sürümü vardır.

WireShark'ı nasıl kullanırım?

İlk olarak, önce sisteme yüklemelisiniz. En yaygın kullanılan Linux dağıtımlarından biri Ubuntu olduğundan, tüm örnekler içinde gösterilecektir.

Yüklemek için konsola şu komutu yazmanız yeterlidir:

sudo apt-get install wireshark

Bundan sonra, program ana menüde görünecektir. Oradan çalıştırabilirsiniz. Ancak süper kullanıcı haklarına ihtiyaç duyduğu için bunu terminalden yapmak daha iyidir. Bunu şu şekilde yapabilirsiniz:

Dış görünüş

Program, kullanıcı dostu bir grafik arayüze sahiptir. Kullanıcıya, 3 bölüme ayrılmış, kullanıcı dostu bir pencere sunulacaktır. Birincisi doğrudan yakalama ile ilgili, ikincisi dosya ve örneklerin açılması ile ilgili, üçüncüsü ise yardım ve destek.

Yakalama bloğu, yakalama için kullanılabilen ağ arabirimlerinin bir listesini içerir. Örneğin, eth0'ı seçerseniz ve Başlat düğmesine tıklarsanız, durdurma işlemi başlayacaktır.

Yakalanan verilerin bulunduğu pencere de mantıksal olarak birkaç bölüme ayrılmıştır. Yukarıda çeşitli unsurlara sahip bir kontrol paneli bulunmaktadır. Bunu bir paket listesi takip eder. Tablo şeklinde sunulmaktadır. Burada paketin seri numarasını, ele geçirme zamanını, gönderme ve alma adresini görebilirsiniz. Ayrıca kullanılan protokoller, uzunluk ve diğer faydalı bilgiler hakkındaki verileri de kaldırabilirsiniz.

Listenin altında, seçilen paketin teknik verilerinin içeriğini içeren bir pencere bulunur. Ve altında bile onaltılık bir ekran var.

Verilerin daha kolay okunması için her görünüm büyük bir pencerede genişletilebilir.

Filtreleri Uygulamak

Programın çalışması sırasında onlarca hatta yüzlerce paket her zaman kullanıcının önünde çalışacaktır. Bunları elle ayıklamak oldukça zor ve zaman alıcıdır. Bu nedenle, resmi WireShark kılavuzu filtrelerin kullanılmasını önerir.

Program penceresinde onlar için özel bir alan var - Filtre. Filtreyi daha hassas bir şekilde yapılandırmak için bir İfade düğmesi vardır.

Ancak çoğu durumda standart filtre seti yeterli olacaktır:

  • ip.dst - paketin hedef ip adresi;
  • ip.src - gönderen adresi;
  • ip.addr - sadece herhangi bir ip;
  • ip.proto - protokol.

WireShark'ta Filtreleri Kullanma - Nasıl Yapılır?

Programın filtrelerle nasıl çalıştığını denemek için belirli bir komut girmeniz gerekir. Örneğin, böyle bir set - ip.dst == 172.217.23.131 - Google sitesine uçan tüm paketleri gösterecektir. Hem gelen hem de giden tüm trafiği görüntülemek için iki formülü birleştirebilirsiniz - ip.dst == 172.217.23.131 || ip.src == 172.217.23.131. Böylece, bir satırda aynı anda iki koşulun kullanılması ortaya çıktı.

Diğer koşullar kullanılabilir, örneğin ip.ttl< 10. Данная команда выведет все пакеты с длительностью жизни меньше 10. Чтобы выбрать данные по их размеру, можно применить такой подход — http.content_length > 5000.

Ek özellikler

Kolaylık sağlamak için WireShark, analiz edilen alan olarak paket parametrelerini hızlı bir şekilde seçmenin bir yolunu sunar. Örneğin teknik verilerin olduğu alanda istediğiniz nesneye sağ tıklayıp Sütun Olarak Uygula seçeneğini seçebilirsiniz. Alan alanına kolon olarak aktarmak ne anlama geliyor.

Benzer şekilde, herhangi bir parametreyi ve filtre olarak seçebilirsiniz. Bunu yapmak için bağlam menüsünde Filtre Olarak Uygula öğesi vardır.

Ayrı oturum

WireShark'ı ağdaki iki düğüm arasında, örneğin bir kullanıcı ve bir sunucu arasında bir monitör olarak kullanabilirsiniz. Bunu yapmak için ilgilendiğiniz paketi seçin, içerik menüsünü açın ve TCP Akışını İzle'ye tıklayın. Yeni bir pencere, iki düğüm arasındaki tüm değişim günlüğünü görüntüleyecektir.

teşhis

WireShark, ağ sorunlarını analiz etmek için ayrı bir araca sahiptir. Buna Uzman Araçlar denir. Sol alt köşede yuvarlak bir simge şeklinde bulabilirsiniz. Üzerine tıklamak, birkaç sekme içeren yeni bir pencere açacaktır - Hatalar, Uyarılar ve diğerleri. Onların yardımıyla, hangi düğümlerde arızaların meydana geldiğini, paketlerin ulaşmadığını analiz edebilir ve diğer ağ sorunlarını bulabilirsiniz.

Ses trafiği

Daha önce de belirtildiği gibi, WireShark ses trafiğini de kesebilir. Tüm Telefon menüsü bunun için ayrılmıştır. Bu, VoIP sorunlarını bulmak ve bunları hızla düzeltmek için kullanılabilir.

Telefon menüsündeki VoIP Aramaları öğesi, yapılan aramaları görmenizi ve dinlemenizi sağlar.

Nesneleri dışa aktarma

Bu muhtemelen programın en ilginç işlevidir. WireShark'ın ağ üzerinden aktarılan dosyalar için bir önleyici olarak kullanılmasına izin verir. Bunu yapmak için, durdurma işlemini durdurmanız ve Dosya menüsünde HTTP nesnelerini dışa aktarmanız gerekir. Açılan pencerede, oturum sırasında aktarılan tüm dosyaların uygun bir konuma kaydedilebilecek bir listesi sunulacaktır.

Nihayet

Ne yazık ki, WireShark'ın güncel sürümünü Rusça olarak internette bulmak zor olacak. En erişilebilir ve sık kullanılan İngilizce'dir.

Aynısı, Rusça WireShark için ayrıntılı talimatlar için de geçerlidir. Geliştiriciden resmi olan İngilizce olarak sunulmaktadır. Yeni başlayanlar için birçok küçük ve hızlı WireShark öğreticisi var.

Ancak, uzun süredir BT alanında çalışanlar için programla uğraşmak herhangi bir zorluk yaratmayacaktır. Ve büyük fırsatlar ve zengin işlevsellik, çalışmadaki tüm zorlukları aydınlatacak.

Bazı ülkelerde WireShark gibi bir sniffer kullanmanın yasa dışı olabileceğini belirtmekte fayda var.

Ağ paketi algılayıcıları veya algılayıcıları, orijinal olarak ağ sorunlarını çözmenin bir yolu olarak geliştirilmiştir. Ağ üzerinden iletilen paketleri daha sonra analiz etmek için nasıl durduracaklarını, yorumlayacaklarını ve kaydedeceklerini biliyorlar. Bir yandan sistem yöneticilerinin ve teknik destek mühendislerinin verilerin ağ üzerinden nasıl iletildiğini gözlemlemelerine, ortaya çıkan sorunları teşhis etmelerine ve çözmelerine olanak tanır. Bu anlamda, paket dinleyicileri ağ sorunlarını teşhis etmek için güçlü bir araçtır. Öte yandan, başlangıçta yönetim amaçlı birçok güçlü araç gibi, sniffer'lar da zamanla tamamen farklı amaçlar için kullanılmaya başlandı. Gerçekten de, bir saldırganın elindeki bir sniffer oldukça tehlikeli bir araçtır ve şifreleri ve diğer gizli bilgileri çalmak için kullanılabilir. Ancak, sniffer'ların, herhangi bir bilgisayar korsanının ağ üzerinden iletilen gizli bilgileri kolayca görebileceği bir tür sihirli araç olduğunu düşünmeyin. Ve koklayıcıların oluşturduğu tehlikenin sıklıkla sunulduğu kadar büyük olmadığını kanıtlamadan önce, işlevlerinin ilkelerini daha ayrıntılı olarak ele alalım.

Paket koklayıcıları nasıl çalışır?

Ayrıca, bu makale çerçevesinde sadece Ethernet ağları için tasarlanmış yazılım koklayıcılarını ele alacağız. Sniffer, Ağ Arayüz Kartı (NIC) katmanında (bağlantı katmanı) çalışan ve tüm trafiği gizlice yakalayan bir programdır. Snifferlar, OSI modelinin veri bağlantı katmanında çalıştıkları için, daha yüksek katman protokollerinin kurallarına göre oynamamalıdırlar. Sniffer'lar, Ethernet sürücülerinin ve TCP / IP yığınının verileri yorumlamak için kullandığı filtreleme mekanizmalarını (adresler, bağlantı noktaları vb.) atlar. Paket koklayıcılar, telden gelen her şeyi yakalar. Sniffer'lar, çerçeveleri ikili olarak kaydedebilir ve daha sonra içlerinde gizli olan daha yüksek seviyeli bilgileri ortaya çıkarmak için bunların şifresini çözebilir (Şekil 1).

Sniffer'ın ağ bağdaştırıcısından geçen tüm paketleri yakalayabilmesi için ağ bağdaştırıcısı sürücüsünün karışık modu desteklemesi gerekir. Ağ bağdaştırıcısının bu çalışma modunda, dinleyici tüm paketleri yakalayabilir. Ağ bağdaştırıcısının bu çalışma modu, sniffer başladığında veya uygun sniffer ayarları tarafından manuel olarak ayarlandığında otomatik olarak etkinleştirilir.

Yakalanan tüm trafik, paketleri tanımlayan ve uygun hiyerarşi seviyelerine ayıran paket kod çözücüye gönderilir. Belirli bir dinleyicinin yeteneklerine bağlı olarak, paketler hakkında sağlanan bilgiler daha sonra daha fazla analiz edilebilir ve filtrelenebilir.

Sniffer kullanımının sınırlamaları

Sniffers, bilgilerin ağ üzerinden net olarak (şifresiz) iletildiği ve yerel ağların yoğunlaştırıcılar (hub'lar) temelinde kurulduğu günlerde en büyük tehlikeyi oluşturuyordu. Ancak, bu günler geri dönülmez bir şekilde geride kaldı ve artık gizli bilgilere erişmek için koklayıcıların kullanılması kolay bir iş değil.

Gerçek şu ki, hub'lara dayalı yerel ağlar oluştururken, belirli bir ortak veri iletim ortamı (ağ kablosu) vardır ve tüm ağ düğümleri, bu ortama erişim için rekabet eden paketleri (Şekil 2) ve bir ağ tarafından gönderilen bir paketi değiştirir. düğüm, hub'ın tüm bağlantı noktalarında iletilir ve bu paket ağdaki diğer tüm ana bilgisayarlar tarafından dinlenir, ancak yalnızca adreslendiği ana bilgisayar kabul edilir. Ayrıca, ağ düğümlerinden birine bir paket dinleyicisi kurulursa, bu ağ segmentiyle (hub tarafından oluşturulan ağ) ilgili tüm ağ paketlerini yakalayabilir.

Anahtarlar, yayın merkezlerinden daha akıllı cihazlardır ve ağ trafiğini izole eder. Anahtar, her bir bağlantı noktasına bağlı aygıtların adreslerini bilir ve paketleri yalnızca doğru bağlantı noktaları arasında aktarır. Bu, bir hub'ın yaptığı gibi, her paketi onlara iletmeden diğer bağlantı noktalarını boşaltmanıza olanak tanır. Böylece, belirli bir ağ düğümü tarafından gönderilen bir paket, yalnızca paketin alıcısının bağlı olduğu anahtar bağlantı noktasına iletilir ve diğer tüm ağ düğümleri bu paketi algılayamaz (Şekil 3).

Bu nedenle, ağ bir anahtar temelinde kuruluysa, ağ bilgisayarlarından birine kurulu bir dinleyici, yalnızca bu bilgisayar ve diğer ağ düğümleri arasında değiş tokuş edilen paketleri yakalayabilir. Sonuç olarak, saldırganın ilgilendiği bilgisayar veya sunucunun ağ düğümlerinin geri kalanıyla değiş tokuş ettiği paketleri kesebilmek için, sniffer'ı bu bilgisayara (sunucu) yüklemek gerekir ki aslında öyle değildir. basit. Ancak, bazı toplu sniffer'ların komut satırından çalıştırıldığı ve grafiksel bir arayüze sahip olmayabileceği akılda tutulmalıdır. Bu tür koklayıcılar, prensip olarak, kullanıcıya uzaktan ve görünmez bir şekilde kurulabilir ve başlatılabilir.

Ayrıca, anahtarların ağ trafiğini izole etmesine rağmen, tüm yönetilen anahtarların bağlantı noktası iletme veya yansıtma işlevine sahip olduğunu da unutmamalısınız. Yani, anahtar bağlantı noktası, diğer anahtar bağlantı noktalarına gelen tüm paketlerin buna kopyalanacağı şekilde yapılandırılabilir. Bu durumda, paket dinleyicisi olan bir bilgisayar böyle bir bağlantı noktasına bağlanırsa, bu ağ segmentindeki bilgisayarlar arasında değiş tokuş edilen tüm paketleri yakalayabilir. Ancak, genellikle yalnızca ağ yöneticisi anahtarı yapılandırabilir. Bu, elbette, davetsiz misafir olamayacağı anlamına gelmez, ancak ağ yöneticisinin yerel ağın tüm kullanıcılarını kontrol etmek için başka birçok yolu vardır ve sizi bu kadar karmaşık bir şekilde gözetlemesi pek olası değildir.

Sniffer'ların artık eskisi kadar tehlikeli olmamasının bir başka nedeni de, en önemli verilerin artık şifrelenmiş olmasıdır. Açık, şifrelenmemiş hizmetler internetten hızla kayboluyor. Örneğin, web sitelerini ziyaret ederken, SSL (Güvenli Yuva Katmanı) protokolü giderek daha fazla kullanılmaktadır; Açık FTP yerine SFTP (Güvenli FTP) kullanılır ve sanal özel ağlar (VPN'ler), varsayılan olarak şifreleme kullanmayan diğer hizmetler için giderek daha fazla kullanılır.

Bu nedenle, paket koklayıcıların kötü niyetli kullanım potansiyelinden endişe duyanlar aşağıdakileri akıllarında tutmalıdır. İlk olarak, ağınız için ciddi bir tehdit oluşturmak için, sniffer'ların ağın içinde bulunması gerekir. İkincisi, günümüzün şifreleme standartları, gizli bilgileri ele geçirmeyi son derece zorlaştırıyor. Bu nedenle, şu anda paket koklayıcılar, bilgisayar korsanları için araçlar olarak ilgilerini yavaş yavaş kaybediyorlar, ancak aynı zamanda ağları teşhis etmek için etkili ve güçlü bir araç olmaya devam ediyorlar. Ayrıca, koklayıcılar yalnızca ağ sorunlarını teşhis etmek ve yerelleştirmek için değil, aynı zamanda ağ güvenliğini denetlemek için de başarıyla kullanılabilir. Özellikle, paket analizörlerinin kullanımı, yetkisiz trafiği tespit etmenize, yetkisiz yazılımları tespit etmenize ve tanımlamanıza, kullanılmayan protokolleri tespit ederek bunları ağdan kaldırmanıza, güvenlik sistemini kontrol etmek için sızma testleri için trafik oluşturmanıza, izinsiz giriş tespit sistemleriyle çalışmanıza olanak tanır ( Saldırı Tespiti Sistem, IDS).

Yazılım toplu koklayıcılarına genel bakış

Tüm yazılım sniffer'ları kabaca iki kategoriye ayrılabilir: komut satırından başlatmayı destekleyen sniffer'lar ve grafik arayüze sahip sniffer'lar. Aynı zamanda, bu yeteneklerin her ikisini de birleştiren sniffer'ların olduğunu not ediyoruz. Ek olarak, koklayıcılar, destekledikleri protokollerde, ele geçirilen paketlerin analiz derinliğinde, filtreleri yapılandırma yeteneğinde ve diğer programlarla uyumluluk olasılığında birbirinden farklıdır.

Genellikle, grafik arayüzlü herhangi bir sniffer penceresi üç alandan oluşur. İlki, yakalanan paketlerin özetini görüntüler. Tipik olarak, bu alan minimum alan gösterir, yani: paket yakalama süresi; Paketin göndericisinin ve alıcısının IP adresleri; Paket kaynağı ve hedef MAC adresleri, kaynak ve hedef bağlantı noktası adresleri; protokol türü (ağ, aktarım veya uygulama katmanı); ele geçirilen veriler hakkında bazı özet bilgiler. İkinci alan, seçilen bireysel paket hakkında istatistiksel bilgileri görüntüler ve son olarak üçüncü alan, paketi onaltılık veya ASCII karakter biçiminde sunar.

Hemen hemen tüm paket dinleyicileri, kodu çözülmüş paketleri analiz etmenize izin verir (bu nedenle paket dinleyicilerine paket analizörleri veya protokol analizörleri de denir). Sniffer, yakalanan paketleri katman ve protokole göre dağıtır. Bazı paket dinleyicileri, protokolü tanıma ve ele geçirilen bilgileri görüntüleme yeteneğine sahiptir. Bu tür bilgiler genellikle sniffer penceresinin ikinci alanında görüntülenir. Örneğin, herhangi bir dinleyici TCP protokolünü tanıyabilir ve gelişmiş dinleyiciler bu trafiği hangi uygulamanın oluşturduğunu belirleyebilir. Çoğu protokol analizörü 500'den fazla farklı protokolü tanır ve bunları adlarıyla tanımlayabilir ve kodunu çözebilir. Sniffer ne kadar çok bilgiyi çözebilir ve ekranda sunabilirse, manuel olarak deşifre etmesi o kadar az olacaktır.

Paket analizörlerinin karşılaşabileceği sorunlardan biri, varsayılan bağlantı noktası dışında bir bağlantı noktası kullanarak protokolü doğru bir şekilde tanımlayamamaktır. Örneğin, güvenliği artırmak için bazı iyi bilinen uygulamalar, varsayılandan farklı bağlantı noktalarını kullanacak şekilde yapılandırılabilir. Bu nedenle, bir web sunucusu için ayrılmış geleneksel 80 numaralı bağlantı noktası yerine, bu sunucu zorla 8088 numaralı bağlantı noktasına veya başka bir bağlantı noktasına yeniden yapılandırılabilir. Böyle bir durumda bazı paket analizörleri, protokolü doğru bir şekilde belirleyemez ve yalnızca alt katman protokolü (TCP veya UDP) hakkındaki bilgileri görüntüleyemez.

Yakalanan trafik hakkında faydalı analitik bilgiler içeren raporlar oluşturmanıza olanak tanıyan eklentiler veya yerleşik modüller olarak yazılım analitik modülleriyle birlikte gelen yazılım koklayıcıları vardır.

Çoğu paket sniffer yazılımının bir diğer özelliği, trafiği yakalamadan önce ve sonra filtreleri yapılandırma yeteneğidir. Filtreler, trafiği analiz ederken gereksiz bilgilerden kurtulmanızı sağlayan belirli bir kritere göre genel trafikten belirli paketleri seçer.


Bu ders, ağ paketlerini ele geçirmeye dayalı ağ korsanlığı teknolojilerini açıklar. Bilgisayar korsanları, bu tür teknolojileri, değerli bilgileri çalmak, ortadaki adam saldırısı amacıyla verilerin ele geçirilmesini organize etmek, örneğin verilerin yanıltıcılığına izin veren TCP bağlantılarına müdahale etmek için ağ trafiğini gizlice dinlemek için kullanırlar. diğer eşit derecede ilginç eylemler. Ne yazık ki, pratikte bu saldırıların çoğu, yalnızca bilgisayar korsanlarının hem özel yardımcı programları hem de Unix sistem araçlarını kullanabileceği Unix ağları için uygulanmaktadır. Görünüşe göre Windows ağları bilgisayar korsanları tarafından atlandı ve kendimizi, ağ paketlerini önemsiz bir şekilde dinlemek için tasarlanmış sniffer programlarıyla veri durdurma araçlarını tanımlamakla sınırlamak zorunda kaldık. Bununla birlikte, uygulanan bilgisayar korsanlığı teknolojilerinin bilgisi birçok sorunun önlenmesine yardımcı olacağından, özellikle bilgisayar korsanlarına karşı bu tür saldırıların en azından teorik bir açıklamasını ihmal etmemelidir.

ağ koklama

Ethernet ağlarını koklamak için genellikle dinleme modunda olan ağ kartları kullanılır. Bir Ethernet ağında gizlice dinleme, bir sniffer programı çalıştıran bir bilgisayarın bir ağ kesimine bağlanmasını gerektirir, ardından bu ağ kesimindeki bilgisayarlar tarafından gönderilen ve alınan tüm ağ trafiği bilgisayar korsanı tarafından kullanılabilir hale gelir. Kablosuz ağ aracılarını kullanarak radyo ağlarının trafiğini kesmek daha da kolaydır - bu durumda kabloya bağlanmak için bir yer aramanıza bile gerek yoktur. Alternatif olarak, saldırgan bir bilgisayarı İnternet sunucusuna bağlayan bir telefon hattına bağlanarak bunun için uygun bir yer bulabilir (telefon hatları genellikle bodrum katlarına ve korumasız diğer az ziyaret edilen yerlere döşenir).

Sniffing teknolojisini göstermek için çok popüler bir sniffer programı kullanacağız. SpyNet hangi birçok Web sitesinde bulunabilir. Programın resmi web sitesi SpyNet da yerleşmiş http://members.xoom.com/layrentiu2/, programın demo sürümünü buradan indirebilirsiniz.

programı SpyNet iki bileşenden oluşur - CaptureNet ve PipeNet... programı CaptureNet Ethernet ağı üzerinden iletilen paketleri ağ düzeyinde engellemenize olanak tanır, ör. Ethernet çerçeveleri şeklinde. programı PipeNet Ethernet çerçevelerini uygulama katmanı paketlerinde birleştirmenize, örneğin e-posta mesajlarını, HTTP (Web sunucusu iletişimi) mesajlarını ve diğer işlevleri kurtarmanıza olanak tanır.

Ne yazık ki, demo sürümünde SpyNet olasılıklar PipeNet HTTP paketinin demo yapısıyla sınırlıdır, bu nedenle nasıl çalıştığını gösteremiyoruz SpyNet dolu. Ancak, ağ koklamanın yeteneklerini göstereceğiz. SpyNet deneysel ağımızın örneğinde, ana bilgisayardan bir metin dosyası aktarma Kılıç-2000 ana bilgisayar başına Alex-Z normal Windows Gezgini kullanarak. Aynı anda bilgisayarda A1ex-1 programı başlatacağız CaptureNet, iletilen paketleri durduracak ve iletilen dosyanın içeriğini Ethernet çerçevelerinde okumanıza izin verecek. İncirde. 1 dosyadaki gizli mesajın metnini gösterir gizli.txt; yakalanan Ethernet çerçevelerinde bu metni bulmaya çalışacağız.

Pirinç. 1. Not Defteri penceresindeki gizli mesajın metni

Ethernet çerçevelerini yakalamak için bu adımları izleyin.

Bilgisayarda Alex-Z Programı çalıştır CaptureNet... Programın görüntülenen çalışma penceresinde menü komutunu seçin Yakala * Başlat(Yakala * Başlat) ve ağ çerçevelerini yakalama işlemini başlatın.

Windows Gezgini'ni kullanarak security.txt dosyasını bilgisayarınızdan kopyalayın Kılıç-2000üzerinde A1ex-3.

secret.txt dosyasını aktardıktan sonra menü komutunu seçin Yakala * Durdur(Yakala * Durdur) ve durdurma işlemini durdurun.

Yakalanan Ethernet çerçeveleri, programın çalışma penceresinin sağ tarafında görüntülenecektir. CaptureNet(Şekil 2), üst listedeki her satır bir Ethernet çerçevesini temsil eder ve listenin altında seçilen çerçevenin içeriği görüntülenir.

Pirinç. 2. Ethernet çerçevesi gizli mesajın metnini içerir

Yakalanan çerçeveler listesine baktıktan sonra, Bu bizim tarafımızdan aktarılan çok büyük bir sırdır (Bu çok büyük bir sırdır) metnini içereni kolayca bulabiliriz.

Bunun, ele geçirilen tüm ağ trafiğinin kaydedildiği en basit örnek olduğunu vurgulayalım. programı CaptureNet belirli protokoller aracılığıyla ve belirli ana bilgisayar bağlantı noktalarına gönderilen paketleri engellemenize, belirli içeriğe sahip mesajları seçmenize ve ele geçirilen verileri bir dosyada toplamanıza olanak tanır. Bu tür eylemleri gerçekleştirme tekniği basittir ve programın yardım sistemini kullanarak ustalaşabilirsiniz. SpyNet.

İlkel telefon dinlemeye ek olarak, bilgisayar korsanlarının daha gelişmiş veri ele geçirme araçları vardır. Aşağıda, teorik açıdan da olsa, bu tür yöntemlere kısa bir genel bakış yer almaktadır. Bunun nedeni, Windows ağları için, veri dinleme saldırılarının pratik uygulamasının son derece sınırlı olması ve gizli dinleme saldırıları için güvenilir araç setinin oldukça kıt olmasıdır.

Ağ trafiğini engelleme yöntemleri

Yukarıdaki gibi ağ koklayıcıları ile ağı koklama CaptureNet, verileri engellemenin ilk ve en kolay yoludur. hariç SpyNet Ağ koklama için, başlangıçta ağ etkinliğini analiz etmek, ağları teşhis etmek, belirtilen kriterlere göre trafiği seçmek ve diğer ağ yönetim görevleri için geliştirilmiş birçok araç kullanılır. Böyle bir programın bir örneği tcpdump (http://www.tcpdump.org), daha fazla analiz için ağ trafiğini özel bir günlüğe kaydetmenizi sağlar.

Ağ dinlemelerine karşı koruma sağlamak için özel programlar kullanılır, örneğin, koku önleyici (http://www.securitysoftwaretech.com/antisniff), ağ trafiğini dinlemekle meşgul olan ağdaki bilgisayarları tanımlayabilir. Antisnifer programları, sorunlarını çözmek için ağda dinleme cihazlarının varlığının özel bir işaretini kullanır - sniffer bilgisayarının ağ kartı özel bir dinleme modunda olmalıdır. Dinleme modundayken, ağ bilgisayarları test edilen ana bilgisayarın adresine gönderilen IP datagramlarına özel bir şekilde tepki verir. Örneğin, dinleme ana bilgisayarları, ana bilgisayar adresine gönderilen datagramlarla sınırlı olmamak üzere, tipik olarak tüm gelen trafiği yönetir. Programın tanıyabileceği başka şüpheli ana bilgisayar davranışı belirtileri de vardır. koku önleyici.

Ağ üzerinden iletilen parolalar, ağ bilgisayarlarının adresleri, gizli veriler, mektuplar vb. gibi birçok yararlı bilgi edinmenize izin verdiği için, kuşkusuz, gizlice dinleme bir saldırganın bakış açısından çok yararlıdır. Ancak, basit dinleme, bir bilgisayar korsanının verileri değiştirmek ve kurcalamak için iki ana bilgisayar arasındaki ağ iletişimine müdahale etmesini önler. Böyle bir sorunu çözmek için daha sofistike bir teknoloji gereklidir.

Sahte ARP istekleri

Bir saldırgan, iki A ve B ana bilgisayarı arasındaki ağ iletişim sürecini durdurmak ve kapatmak için, A ve B ana bilgisayarlarına sahte ARP (Adres Çözümleme Protokolü) mesajları göndererek etkileşimde bulunan ana bilgisayarların IP adreslerini kendi IP adresiyle taklit edebilir. ARP hakkında daha fazla bilgiyi, bir ana bilgisayar IP adresini, ana bilgisayarın NIC'sine bağlı bir makine adresine (MAC adresi) çözümleme (çevirme) prosedürünü açıklayan Ek D'de bulabilirsiniz. Bir bilgisayar korsanının A ve B ana bilgisayarları arasındaki ağ iletişimini engellemek için ARP'yi nasıl kullanabileceğini görelim.

A ve B ana bilgisayarları arasındaki ağ trafiğini kesmek için, bir bilgisayar korsanı IP adresini bu ana bilgisayarlara zorlar, böylece A ve B, mesaj alışverişi yaparken bu sahte IP adresini kullanır. Bir bilgisayar korsanı IP adresini kabul etmek için aşağıdaki işlemleri gerçekleştirir.

Saldırgan, örneğin aşağıdaki komutu kullanarak A ve B ana bilgisayarlarının MAC adreslerini belirler. nbtstat paketten W2RK.

Saldırgan, ana bilgisayarların IP adreslerini bilgisayarların MAC adreslerine dönüştürme isteklerine sahte ARP yanıtları olan A ve B ana bilgisayarlarının tanımlanan MAC adreslerine mesajlar gönderir. Host A, host B'nin IP adresinin, saldırganın bilgisayarının MAC adresine karşılık geldiği konusunda bilgilendirilir; ana bilgisayar B'ye, ana bilgisayar A'nın IP adresinin saldırganın MAC adresiyle de eşleştiği söylenir.

A ve B ana bilgisayarları, alınan MAC adreslerini ARP önbelleklerine girer ve ardından bunları birbirlerine mesaj göndermek için kullanır. A ve B'nin IP adresleri saldırganın bilgisayarının MAC adresine karşılık geldiğinden, A ve B ana bilgisayarları hiçbir şeyden şüphelenmeden, mesajları ile istediklerini yapabilecek kapasitede bir aracı aracılığıyla haberleşirler.

Bu tür saldırılara karşı savunmak için ağ yöneticilerinin, ağ bilgisayarlarının MAC adresleri ve IP adreslerinden oluşan bir eşleme tablosuna sahip bir veritabanı tutması gerekir. Ayrıca, örneğin bir yardımcı program gibi özel bir yazılım kullanarak arp saati (ftp://ftp.ee.lbl.gov/arpwatch-2.lab.tar.gz), ağı periyodik olarak inceleyebilir ve tutarsızlıkları belirleyebilirsiniz.

UNIX ağlarında, bu tür sahte ARP saldırısı, aşağıdakiler gibi ağ trafiğini izlemek ve kontrol etmek için sistem yardımcı programları kullanılarak uygulanabilir: ön yönlendirme... Ne yazık ki, bu tür güvenilir yardımcı programlar görünüşe göre Windows 2000 / XP ağlarında uygulanmamaktadır. Örneğin, NTsecurity web sitesinde ( http://www.ntsecurity.nu) yardımcı programı indirebilirsiniz GrabitAII ağ ana bilgisayarları arasındaki trafiği yeniden yönlendirmenin bir yolu olarak sunulur. Ancak, yardımcı programın işlevselliğinin temel bir kontrolü GrabitAII işlevlerinin uygulanmasında hala tam bir başarıdan uzak olduğunu göstermektedir.

Yanlış yönlendirme

Bir saldırgan, ağ trafiğini engellemek için, örneğin sahte ICMP Yönlendirme mesajları kullanarak kendi IP adresiyle bir ağ yönlendiricisinin gerçek IP adresini taklit edebilir. Ana Bilgisayar A, RFC-1122'ye göre, alınan Yeniden Yönlendirme mesajını başka bir ana bilgisayara, örneğin B'ye gönderilen bir verikatarına yanıt olarak yorumlamalıdır. Ana Bilgisayar A, alınan Yeniden Yönlendirme iletisinin içeriğine bağlı olarak Yönlendirme iletisi üzerindeki eylemlerini belirler ve Yönlendirme, datagramları yeni bir rotada A'dan B'ye yeniden yönlendirmek üzere ayarlandıysa, ana bilgisayar A bunu yapacaktır.

Yanlış yönlendirme gerçekleştirmek için, saldırganın, ana bilgisayar A'nın bulunduğu yerel ağın organizasyonu hakkında, özellikle, trafiğin ana bilgisayar A'dan B'ye gönderildiği yönlendiricinin IP adresi hakkında bazı ayrıntıları bilmesi gerekir. Bunu bilen saldırgan IP - kaynak adresinin yönlendiricinin IP adresi olarak tanımlandığı ve hedefin ana bilgisayar A olduğu bir IP verikatarı oluşturacaktır. saldırgan bilgisayar. Böyle bir mesaj alındığında Host A, tüm mesajları saldırganın bilgisayarının IP adresine gönderir.

Böyle bir saldırıya karşı korunmak için, ana bilgisayar A'da ICMP Yönlendirme mesajlarının işlenmesini ve komutu devre dışı bırakın (örneğin, bir güvenlik duvarı kullanarak). iz bırakmayan(Unix'te bu tracerout komutudur). Bu yardımcı programlar, elbette ağ yöneticisi uyanıksa, kurulum sırasında sağlanmayan yerel ağda görünen ek bir yol bulabilir.

Yukarıdaki müdahale örnekleri (saldırganların yeteneklerinin sınırlı olmaktan uzak olduğu), veriler gizli bilgiler içeriyorsa, ağ üzerinden iletilen verilerin korunması ihtiyacına ikna eder. Ağ trafiğinin kesilmesine karşı korumanın tek yöntemi, kriptografik algoritmalar ve şifreleme protokolleri uygulayan programların kullanılması ve gizli bilgilerin ifşa edilmesini ve değiştirilmesini önlemektir. Bu tür sorunları çözmek için kriptografi, güvenli protokoller üzerinden iletilen mesajların doğruluğunu şifrelemek, imzalamak ve doğrulamak için araçlar sağlar.

Sanal Özel Ağlar (VPN'ler), Bölüm 4'te açıklanan iletişimlerin güvenliğini sağlamaya yönelik tüm kriptografik yöntemler için pratik uygulamalar sağlar. Kriptografik koruma ilkeleri ve yöntemlerine ilişkin kısa bir genel bakış, Ek E'de ve uygulama tarafından sağlanan kriptografik korumaların ayrıntılı açıklamasında bulunabilir. PGP Masaüstü Güvenliği (http://www.pgp.com).

TCP bağlantısını ele geçirme

En karmaşık ağ trafiği engelleme saldırısı, bir bilgisayar korsanının saldırıya uğrayan ana bilgisayara TCP paketleri oluşturup göndererek ana bilgisayarla mevcut iletişim oturumunu kesmesi durumunda TCP ele geçirmedir. Ayrıca, kesilen TCP bağlantısını geri yüklemek için TCP protokolünün yeteneklerini kullanan bilgisayar korsanı, kesilen iletişim oturumunu durdurur ve bağlantısı kesilen istemci yerine devam eder.

TCP bağlantı ele geçirme saldırılarını gerçekleştirmek için birkaç verimli yardımcı program oluşturulmuştur, ancak bunların tümü Unix platformu için uygulanmaktadır ve bu yardımcı programlar yalnızca Web sitelerinde kaynak kodunda sunulmaktadır. Bu nedenle, hacklemenin asil amacına ikna olmuş uygulayıcılar olarak bizler için, bir TCP bağlantısını keserek yapılan saldırılar pek işe yaramaz. (Başkasının program kodunu anlamak isteyenler siteye başvurabilir. http://www.cri.cz/~kra/index.html iyi bilinen TCP bağlantı kesme yardımcı programının kaynak kodunu buradan indirebilirsiniz Avlanmak Pavel Krauz'dan).

Pratik araçların olmamasına rağmen, TCP bağlantılarının ele geçirilmesi gibi ilginç bir konuyu görmezden gelemeyiz ve bu tür saldırıların bazı yönleri üzerinde duramayız. Bir TCP paketinin yapısı ve TCP bağlantılarını kurma sırası hakkında bazı bilgiler bu kitabın Ek D'sinde verilmiştir, ancak burada şu soruya odaklanacağız - bilgisayar korsanlarının TCP bağlantılarını arayarak saldırı gerçekleştirmesine tam olarak ne izin verir? Bu konuyu, esas olarak ve içindeki tartışmaya dayanarak daha ayrıntılı olarak ele alalım.

TCP (İletim Kontrol Protokolü), sanal bir iletişim kanalı üzerinden mantıksal bağlantıların kurulmasını sağlayan OSI taşıma katmanının temel protokollerinden biridir. Paketler dizi kaydı ile bu kanal üzerinden iletilir ve alınır, paket akışı kontrol edilir, bozulan paketler tekrar iletilir ve oturum sonunda iletişim kanalı kesilir. TCP, TCP/IP ailesindeki gelişmiş mesaj ve bağlantı tanımlama sistemine sahip tek temel protokoldür.

Bir TCP paketini tanımlamak için, TCP başlığında sıra numarası ve alındı ​​numarası olarak adlandırılan ve aynı zamanda paket sayacı görevi gören iki adet 32 ​​bitlik tanımlayıcı vardır. Ayrıca TCP paketinin kontrol bitleri adı verilen başka bir alanıyla da ilgileneceğiz. Bu 6 bitlik alan aşağıdaki kontrol bitlerini içerir (soldan sağa doğru):

URG - aciliyet bayrağı;

ACK - onay bayrağı;

PSH - bayrak taşımak;

RST - bağlantı yeniden kurma bayrağı;

SYN - senkronizasyon bayrağı;

FIN - bağlantı sonlandırma bayrağı.

Şimdi bir TCP bağlantısının nasıl oluşturulacağına bakalım.

1. Ana Bilgisayar A'nın ana bilgisayar B ile bir TCP bağlantısı kurması gerekiyorsa, ana bilgisayar A, ana bilgisayar B'ye aşağıdaki mesajı gönderir:

A -> B: SYN, ISSa

Bu, Host A tarafından gönderilen mesajın SYN (Sıra numarasını senkronize et) bayrağına sahip olduğu ve sıra numarası alanının 32-bit İlk Sıra Numarasına (ISSa) ayarlandığı anlamına gelir.

2. Ana bilgisayar A'dan alınan isteğe yanıt olarak, ana bilgisayar B, SYN bitinin ayarlandığı ve ACK bitinin ayarlandığı bir mesajla yanıt verir. Sıra numarası alanında, ana bilgisayar B, başlangıç ​​sayaç değerini ayarlar - ISSb; onay numarası alanı, ana bilgisayar A'dan ilk pakette alınan ISSa değerini bir artırarak içerecektir. Böylece, B ana bilgisayarı aşağıdaki mesajla yanıt verir:

B -> A: SYN, ACK, ISSb, ACK (ISSa + 1)

3. Son olarak, ana bilgisayar A, ana bilgisayar B'ye şu mesajı gönderir: bit'in ayarlandığı SORMAK; sıra alanı değeri içerir ISSa + 1; onay numarası alanı değeri içerir ISSb + 1... Bundan sonra ana bilgisayarlar arasında TCP bağlantısı A ve V yerleşik kabul edilir:

A -> B: ACK, ISSa + 1, ACK (ISSb + 1)

4. Şimdi ev sahibi A ana bilgisayara veri paketleri gönderebilir V yeni oluşturulan sanal TCP kanalı üzerinden:

A -> B: ACK, ISSa + 1, ACK (ISSb + 1); VERİ

Buraya VERİ verileri ifade eder.

Bir TCP bağlantısı oluşturmak için yukarıdaki algoritmadan, TCP abonelerinin ve TCP bağlantılarının tek tanımlayıcılarının sıra numarası ve onay numarasının iki 32 bit parametresi olduğu görülebilir - ISSa ve ISSb... Bu nedenle, bir bilgisayar korsanı alanların mevcut değerlerini bulmayı başarırsa, ISSa ve ISSb, o zaman hiçbir şey onun sahte bir TCP paketi oluşturmasını engelleyemez. Bu, bir hacker'ın parametrelerin mevcut değerlerini bulması yeterli olduğu anlamına gelir. ISSa ve ISSb belirli bir TCP bağlantısı için bir TCP paketi, belirli bir TCP bağlantısı için bir istemci adına İnternet'teki herhangi bir ana bilgisayardan bir paket gönderin ve bu paket geçerli olarak kabul edilecektir!

TCP paketlerinin bu şekilde sızdırılması tehlikesi de önemlidir, çünkü yüksek seviyeli FTP ve TELNET protokolleri TCP protokolü temelinde uygulanır ve FTP istemcilerinin ve TELNET paketlerinin tanımlanması tamamen TCP protokolüne dayalıdır.

Ayrıca FTP ve TELNET protokolleri mesaj gönderenlerin IP adreslerini kontrol etmediği için sahte bir paket aldıktan sonra FTP veya TELNET sunucuları sahte pakette belirtilen hacker hostun IP adresine bir yanıt mesajı gönderecektir. Bundan sonra, bilgisayar korsanı, IP adresinden FTP veya TELNET sunucusuyla çalışmaya başlayacak, ancak yasal olarak bağlı kullanıcının haklarıyla, bu da sayaçlardaki uyumsuzluk nedeniyle sunucuyla bağlantısını kaybedecek.

Bu nedenle, yukarıda açıklanan saldırıyı gerçekleştirmek için gerekli ve yeterli koşul, iki mevcut 32 bit parametrenin bilinmesidir. ISSa ve ISSb TCP bağlantısını tanımlama. Bunları elde etmenin olası yollarını düşünelim. Hacker ana bilgisayarın saldırıya uğrayan ağ segmentine bağlı olması durumunda, değerleri elde etme görevi ISSa ve ISSbönemsizdir ve ağ trafiğini analiz ederek çözülür. Bu nedenle, TCP protokolünün, ilke olarak, yalnızca saldırganın bu bağlantı üzerinden iletilen mesajları ele geçirmesinin imkansız olması durumunda, yani yalnızca bilgisayar korsanı ana bilgisayarı bir ağa bağlıysa, bağlantıyı korumaya izin verdiği açıkça anlaşılmalıdır. abonenin TCP bağlantı kesiminden farklı olan kesim.

Bu nedenle, bir bilgisayar korsanı için en ilginç olanı, saldırgan ve hedefi farklı ağ segmentlerinde olduğunda, bölümler arası saldırılardır. Bu durumda, değerleri elde etme görevi ISSa ve ISSbönemsiz değildir. Bu sorunu çözmek için şimdi sadece iki yol icat edildi.

Önceki değerleri tahmin ederek TCP bağlantı parametrelerinin başlangıç ​​değerinin matematiksel tahmini ISSa ve ISSb.

Unix rsh sunucularında TCP bağlantılarının abonelerini belirlemek için güvenlik açıklarını kullanma.

İlk sorun, TCP protokolünün çeşitli işletim sistemlerinde uygulanmasına ilişkin derinlemesine çalışmalarla çözülmüştür ve artık tamamen teorik bir değere sahiptir. İkinci sorun, güvenilir ana bilgisayarları belirlemek için Unix sisteminin güvenlik açıklarından yararlanılarak çözülür. (Bu ana bilgisayarla ilgili olarak güvenilir A ağ ana bilgisayarı denir V kimin kullanıcısı ana bilgisayara bağlanabilir A host r-service ile kimlik doğrulama yok A). Bir bilgisayar korsanı, TCP paketlerinin parametrelerini manipüle ederek, güvenilen bir ana bilgisayarın kimliğine bürünmeye ve saldırıya uğrayan ana bilgisayarla TCP bağlantısını kesmeye çalışabilir.

Bütün bunlar çok ilginç, ancak bu tür araştırmaların pratik sonuçları henüz görünmüyor. Bu nedenle, bu konuyu araştırmak isteyen herkesin, genel olarak yukarıdaki bilgilerin alındığı kitaba başvurması önerilir.

Çözüm

Ağ verilerinin ele geçirilmesi, bir bilgisayar korsanının ağ üzerinde dolaşan neredeyse tüm bilgileri elde etmesine izin veren ağ korsanlığının en etkili yöntemidir. En büyük pratik gelişme, koklama yoluyla elde edildi, yani. ağları dinlemek; bununla birlikte, trafiği bir bilgisayar korsanına yönlendirmek için ağın normal işleyişine müdahale ederek gerçekleştirilen ağ verilerini ele geçirme yöntemlerini, özellikle de TCP bağlantılarını yakalama yöntemlerini göz ardı etmek imkansızdır. Ancak uygulamada, son bahsedilen yöntemler henüz yeterli gelişmeyi almamıştır ve iyileştirilmesi gerekmektedir.

Bir anti-hacker, veri ele geçirmesinden tek kurtuluşun şifreleme olduğunu bilmelidir, yani. kriptografik koruma yöntemleri. Ağ üzerinden bir mesaj gönderirken, ağın kablo sisteminin kesinlikle savunmasız olduğunu ve ağa bağlanan herhangi bir bilgisayar korsanının, iletilen tüm gizli mesajları ondan alabileceğini önceden varsaymak gerekir. Bu sorunu çözmek için iki teknoloji vardır - bir VPN ağı oluşturmak ve mesajların kendilerini şifrelemek. Tüm bu görevlerin yazılım paketi yardımıyla çözülmesi çok kolaydır. PGP Masaüstü Güvenliği(açıklaması örneğin içinde bulunabilir).