Ağdaki gizli veri iletimi nasıl tespit edilir? İnternetteki gizli kanallar nelerdir? Ağ olayı icmp skype gizli kanalı engellendi.

Ağdaki gizli veri iletimi nasıl tespit edilir?  İnternetteki gizli kanallar nelerdir?  Ağ olayı icmp skype gizli kanalı engellendi.
Ağdaki gizli veri iletimi nasıl tespit edilir? İnternetteki gizli kanallar nelerdir? Ağ olayı icmp skype gizli kanalı engellendi.

Öğrenmek MikroTik kurulumu olabilir çevrimiçi kurs bu üreticinin ekipmanı için. Kursun yazarı, sertifikalı bir MikroTik eğitmenidir. Makalenin sonunda daha fazlasını okuyabilirsiniz.

Makale, ICMP trafiğini engellemenin ne kadar tehlikeli olduğu sorusunu yanıtlıyor.

ICMP bir çekişme kemiğidir

Birçok ağ yöneticisi, İnternet Kontrol Mesajı Protokolü'nün (ICMP) bir güvenlik riski olduğuna ve bu nedenle üzerinde her zaman engellenmesi gerektiğine inanır. Protokolün kendisiyle ilişkili bazı güvenlik sorunları olduğu ve bazı isteklerin engellenmesi gerektiği doğrudur. Ancak bu, hayır tüm ICMP trafiğini engellemek için bir neden!

ICMP trafiğinin birçok önemli işlevi vardır; bazıları sorun giderme için yararlıdır, diğerleri ise doğru operasyon ağlar. Aşağıda, ICMP protokolünün bilmeniz gereken önemli kısımlarından bazıları yer almaktadır. Onları ağınızdan en iyi nasıl geçireceğinizi düşünmelisiniz.

Yankı isteği ve ve Yankı yanıtı

IPv4 - Yankı İsteği (Type8, Code0) ve Yankı Yanıtı (Type0, Code0)
IPv6 - Yankı İsteği (Type128, Code0) ve Yankı Yanıtı (Type129, Code0)

Ping'in ilk sorun giderme araçlarından biri olduğunu hepimiz çok iyi biliyoruz. Evet, donanımınızda ICMP paket işlemeyi etkinleştirirseniz, bu, ana makinenizin artık keşfedilebilir olduğu anlamına gelir, ancak ana makineniz zaten 80 numaralı bağlantı noktasını dinliyor ve istemci isteklerine yanıt göndermiyor mu? Elbette, DMZ'nizin ağın ucunda olmasını gerçekten istiyorsanız, bu istekleri de engelleyin. Ancak ağınızdaki ICMP trafiğini engellemek güvenliği artırmaz, aksine gereksiz yere karmaşık bir sorun giderme işlemine sahip bir sistem elde edersiniz (“Lütfen ağ geçidinin ağ isteklerine yanıt verip vermediğini kontrol edin?”, “Hayır, ama bu beni üzmez. hiç, çünkü hiçbir şey söylemeyecek!"

Unutmayın, isteklerin belirli bir yöne gitmesine de izin verebilirsiniz; örneğin, donanımı, ağınızdan gelen Yankı istekleri İnternet'e ve Eko yanıtları İnternetten ağınıza gidecek, ancak bunun tersi olmayacak şekilde yapılandırın.

Paket parçalanması gerekli (IPv4) / Paket çok büyük (IPv6)

IPv4 - (Tip3, Kod4)
IPv6 - (Tip2, Kod0)

Bu ICMP protokol bileşenleri, ayrılmaz bir parçası olan Path MTU Discovery'de (PMTUD) önemli bir bileşen oldukları için çok önemlidir. TCP protokolü. İki ana bilgisayarın, TCP Maksimum Segment Boyutu (MSS) değerini, iki hedef arasındaki bağlantı yolu boyunca en küçük MTU ile eşleşen bir değere ayarlamasına izin verir. Paketlerin yolu üzerinde gönderici veya alıcıdan daha düşük bir Maksimum İletim Birimi olan bir düğüm varsa ve bu çarpışmayı algılayacak araçlara sahip değillerse, trafik fark edilmeden düşecektir. Ve iletişim kanalında neler olduğunu anlamayacaksınız; yani "mutlu günler senin için gelecek."

Parçalara Ayırmayın - ICMP geçmeyecek!

Arabirimden geçemeyecek kadar büyük olan IPv4 paketlerinin Parçalara Ayrılma biti ayarlanmış (çoğu!) veya IPv6 paketlerinin (IPv6'da yönlendiriciler tarafından parçalanma olmadığını unutmayın) iletilmesi, yönlendiricinin paketi atmasına neden olur ve aşağıdaki ICMP hatalarıyla gönderene yanıt oluşturun: Fragmentation Required ( Parçalanma Gerekli) veya Paket Çok Büyük ( Paketler de büyük). Bu hatalara sahip yanıtlar göndericiye geri dönemezse, ACK paketlerinin teslimi hakkında onay yanıtlarının bulunmadığını yorumlayacaktır ( Kabullenmek) alıcıdan tıkanıklık/kayıp olarak ve ayrıca bırakılacak paketleri yeniden iletmek için kaynak.

Böyle bir sorunun nedenini belirlemek ve hızlı bir şekilde düzeltmek zordur, TCP el sıkışma işlemi küçük paketler içerdiğinden iyi çalışır, ancak toplu veri aktarımı gerçekleşir gerçekleşmez, aktarım kaynağı hata almadığı için aktarım oturumu askıda kalır. mesajlar.

Paket Teslimat Yolu Çalışması

RFC 4821, ağ katılımcılarının paket yayılma yolu keşfini kullanarak bu sorunu çözmelerine yardımcı olmak için tasarlanmıştır. (Yol MTU Keşfi (PLPMTUD). Standart, algılamayı mümkün kılar maksimum hacim veri (Maksimum İletim Birimi (MTU) Kullanışlı veri bloğunun maksimum boyutunu kademeli olarak artırarak, protokol tarafından bir yinelemede aktarılabilen . (Maksimum Segment Boyutu (MSS), vericiden alıcıya giden yolda parçalanma olmadan mümkün olan maksimum paket boyutunu bulmak için. Bu işlevsellik, İnternet Denetim İletisi Protokolü (ICMP) hata yanıtlarının zamanında alınmasına olan güveni azaltır ve çoğu ağ aygıtı yığınında ve istemci işletim sistemlerinde bulunur. Ne yazık ki, mümkün olan maksimum boyutta doğrudan veri elde etmek kadar verimli değildir. iletilen paketler Lütfen bu ICMP protokol mesajlarının iletim kaynağına geri dönmesine izin verin, tamam mı?

Paket Zaman Aşımı

IPv4 - (Tip11, Kod0)
IPv6 - (Tip3, Kod0)

Traceroute, çok kullanışlı bir sorun giderme aracıdır. ağ bağlantıları yolun her adımını detaylandıran iki ana bilgisayar arasında.


IP protokolü için veri paketi ömrüne sahip bir paket gönderir (Yaşama zamanı (TTL) eşit 1 ilk yönlendiricinin paketin zaman aşımına uğradığına dair bir hata mesajı (kendi IP adresi dahil) göndermesini sağlamak için. Ardından TTL 2 vb. ile bir paket gönderir. Bu prosedür, paketlerin yolu boyunca her bir düğümü keşfetmek için gereklidir.

NDP ve SLAAC (IPv6)

Yönlendirici Talebi (RS) (Type133, Code0)
Yönlendirici Reklamı (RA) (Type134, Code0)
Komşu Talebi (NS) (Type135, Code0)
Komşu Bildirisi (NA) (Type136, Code0)
Yönlendirme (Type137, Code0)

IPv4 ise, 2. ve 3. katmanları eşlemek için Adres Çözümleme Protokolü'nü (ARP) kullandı. ağ modeli OSI, IPv6, Komşu Keşif Protokolü (NDP) biçiminde farklı bir yaklaşım benimsiyor. NDP, yönlendirici keşfi, önek keşfi, adres çözümlemesi ve daha fazlasını içeren birçok özellik sunar. NDP'ye ek olarak, Durumsuz Adres Otomatik Yapılandırması (SLAAC), Dinamik Ana Bilgisayar Yapılandırma Protokolü (DHCP) konseptine benzer şekilde (DHCPv6'nın daha ayrıntılı olması amaçlanmış olsa da) ağdaki bir ana bilgisayarı dinamik olarak yapılandırmanıza olanak tanır.

IP veri protokolünün düzgün çalışması için bu beş tür ICMP mesajının ağınızın içinde bloke edilmemesi gerekir (dış çevre göz ardı edilerek).

ICMP tipi numaralandırma

İnternet Denetim İletisi Protokolü (ICMP), bir "tür" alanıyla tanımlanan birçok ileti içerir.

Tip İsim Şartname
0 yankı yanıtı
1 atanmamış
2 atanmamış
3 Ulaşılamaz hedef
4 Kaynak Söndürme (Kullanımdan Kaldırıldı)
5 Yönlendirme
6 Alternatif Ana Bilgisayar Adresi (Kullanımdan Kaldırıldı)
7 atanmamış
8 Eko
9 Yönlendirici Reklamı
10 Yönlendirici Talebi
11 Zaman aşımı yapıldı
12 Parametre Problemi
13 Zaman Damgası
14 Zaman Damgası Yanıtı
15 Bilgi Talebi (Kullanımdan Kaldırıldı)
16 Bilgi Yanıtı (Kullanımdan Kaldırıldı)
17 Adres Maskesi İsteği (Kullanımdan Kaldırıldı)
18 Adres Maskesi Yanıtı (Kullanımdan Kaldırıldı)
19 Rezerve edildi (güvenlik için) Solo
20-29 Ayrıldı (Sağlamlık Deneyi için) ZSu
30 Traceroute (Kullanımdan kaldırıldı)
31 Datagram Dönüştürme Hatası (Kullanımdan Kaldırıldı)
32 Mobil Ana Bilgisayar Yönlendirmesi (Kullanımdan Kaldırıldı) David_Johnson
33 IPv6 Neredesiniz (Kullanımdan Kaldırıldı)
34 IPv6 Ben-Buradayım (Kullanımdan Kaldırıldı)
35 Mobil Kayıt İsteği (Kullanımdan Kaldırıldı)
36 Mobil Kayıt Yanıtı (Kullanımdan Kaldırıldı)
37 Alan Adı İsteği (Kullanımdan Kaldırıldı)
38 Etki Alanı Adı Yanıtı (Kullanımdan Kaldırıldı)
39 ATLA (Kullanımdan kaldırıldı)
40 Photuris
41 Seamoby gibi deneysel mobilite protokolleri tarafından kullanılan ICMP mesajları
42 genişletilmiş yankı isteği
43 Genişletilmiş Yankı Yanıtı
44-252 atanmamış
253 RFC3692 tarzı Deney 1
254 RFC3692 tarzı Deney 2
255 Rezerve

Hız sınırı hakkında birkaç kelime

Bu makaledekiler gibi ICMP mesajları çok faydalı olsa da, tüm bu mesajların oluşturulmasının yönlendiricilerinizde CPU zamanı aldığını ve trafik oluşturduğunu unutmayın. Normal bir durumda güvenlik duvarınız üzerinden saniyede 1000 ping almanızı gerçekten bekliyor musunuz? Bu normal trafik olarak kabul edilecek mi? Muhtemelen değil. sınır verim uygun gördüğünüz şekilde bu tür ICMP trafiği için ağlar; bu adım, ağınızın güvenliğini sağlamanıza yardımcı olabilir.

Okuyun, keşfedin ve anlayın

ICMP paketlerini "engelleyin ya da engellemeyin" konusunun tartışılmasının her zaman kafa karışıklığına, anlaşmazlıklara ve anlaşmazlıklara yol açtığını göz önünde bulundurarak, bu konuyu kendi başınıza incelemeye devam etmenizi öneririm. Bu sayfada birçok bağlantıdan alıntı yaptım, konuyu daha iyi anlamak için bunları okumak için zaman ayırmalısınız diye düşünüyorum. Ve ağınız için neyin en iyi olduğuna dair bilinçli bir seçim yapın.

MikroTik: Çalışması için nereye tıklamalı?
Tüm avantajlarına rağmen, MikroTik ürünlerinin bir dezavantajı vardır - ayarları hakkında pek çok bağlantısız ve her zaman güvenilir olmaktan uzak bilgiler. Her şeyin toplandığı, mantıklı ve yapılandırılmış bir Rusça güvenilir kaynak öneriyoruz - video kursu " MikroTik donanım kurulumu". Kurs 162 video dersi, 45 laboratuvar işi, kendi kendine inceleme ve özet için sorular. Tüm malzemeler süresiz olarak sizde kalır. Kurs sayfasından istek bırakarak kursun başlangıcını ücretsiz izleyebilirsiniz. Kursun yazarı, sertifikalı bir MikroTik eğitmenidir.

Gizli kanallar bu yöntemlerden biridir. bilgi Güvenliği, hem artı işaretiyle (anonimlik ve gizlilik için) hem de eksi işaretiyle (veri sızıntılarını düzenlemek için) kullanılabilir. Uygulamadaki en zor bilgi güvenliği görevlerinden biri olan gizli veri iletiminin veya gizli kanallar aracılığıyla veri iletiminin tespiti olan ikinci bileşeni ele alalım. Makalenin boyutunu büyütmemek için şifreleme ve steganografi gibi veri gizleme mekanizmalarını kasten görmezden geleceğim.

Alexey Lukatsky
Cisco Güvenlik Danışmanı

Gizli veri iletimi nedir?

Gizli ağ iletimi tek uygulama değildir Bu method. "Gizli kanal" terimi ilk olarak 1973'te ortaya çıktı ve geleneksel olmayan bilgi işlem sistemleri için kullanıldı. ağ bağlantısı. Örneğin, bir sürecin süresi için çift bir değer bir anlamına gelebilir ve tek bir değer sıfır anlamına gelebilir. Böylece, sürecin süresini manipüle ederek, herhangi bir şeyi tanımlayabileceğimiz bir 0 ve 1 dizisi oluşturabiliriz (bu sözde zaman kanalıdır). Bilgi işlem sistemlerindeki gizli bir sürecin başka bir örneği, bir birim olarak ele alınabilecek belirli bir görevin bir süreci tarafından başlatılması ve belirli bir zamanda tamamlanmasıdır; ve görev tamamlanmadıysa sıfır belirli zaman.

Gizli iletim nasıl uygulanabilir?

Gizli ağ veri aktarımı hakkında konuşursak, en popüler ve uygulaması nispeten kolay yöntemlerden biri, izin verilen bir protokole dışarıdan iletilmesi gereken korumalı bilgileri veya dışarıdan kabul edilmesi gereken bir komutu dahil etmekten oluşan kapsüllemedir. .

Bu durumda tamamen farklı kapsülleme seçenekleri kullanılabilir:

1987'de ağ üzerinden gizli iletim fikri önerildi ve o andan itibaren bu gizliliği sağlama yöntemi veya veri sızıntısı (barikatların hangi tarafından bakıldığına bağlı olarak) hakkında ciddi araştırmalar başladı. Özellikle, 1989'da, ilk kez, kullanılmayan Ethernet çerçeve bitlerini ve bir dizi başka kanal protokolünü manipüle etmek önerildi. Açıktır ki, gizli kanallar yerel ağ verileri saklamaktan farklı olarak çalışmak ilginç değildir. küresel ağlar. Bir atılım (en azından halka açık), gizli bir TCP / IP kanalı üzerinden verilerin gerçek iletimini ve alımını gösteren bir çalışmanın yayınlandığı 1996 yılı olarak kabul edilebilir; veya daha doğrusu, başlığının ayrı alanlarında.

  • Temelinde diğer uygulama protokollerini oluşturmak için uzun süredir fiili standart haline gelen HTTP düzeyinde. Örneğin, JAP anonim ağı veri aktarımı için HTTP kullanır ve ayrıca kontrol edilmesi zor bir ağ içerir. Tor ağı. HTTP'de, veri aktarımı için GET ve POST komutlarını kullanmak mümkündür ve eğer HTTP, akış halindeki video ve sesi aktarmak için kullanılırsa, saldırganların büyük miktarda veri aktarma olasılıkları neredeyse sınırsız hale gelir.
  • DNS düzeyinde, bilgiler DNS sorgularında ve yanıtlarında gizlendiğinde. Bu yöntem ilk olarak 2000'lerin başında, TCP'yi DNS'ye tünellemek için DeNiSe aracı ortaya çıktığında konuşuldu. Daha sonra Dan Kaminsky'nin DNS üzerinden SSH'yi kapsülleme olasılığını gösteren bir çalışması vardı ve 2005'teki Defcon konferansında sunuldu. Ve sonra bu konu popülerlik kazanmaya başladı - dns2tcp, DNScapy, DNScat, Heyoka, iodine, squeeza, vb.
  • ICMP düzeyinde, veriler normalde güvenlik özellikleri tarafından izin verilen ICMP protokolü içinde kapsüllendiğinde. İlk olarak 1996 yılında Phrack dergisinde adı geçen Loki programı, bir zamanlar bu prensip üzerine çalışıyordu. Bunu daha gelişmiş Loki2 izledi. ICMP üzerinden şifreli mesajlarla iletişim kurmanıza izin veren icm-pchat gibi bir araç da var.
  • TCP / UDP / IP seviyesinde, paket başlığının ayrı alanları sızıntıyı gizlemek veya dışarıdan komut almak için kullanıldığında. Kullanılan protokole bağlı olarak, iletilen verilerin boyutu IP, UDP ve TCP protokollerinde sırasıyla 2 ila 12 ve 38 bayt arasında değişecektir. TCP başlık değişikliğini kullanan çok ilginç bir araca Nushu adı verilir. Tuhaflığı, kendi başına herhangi bir trafik yaratmaması, ancak yalnızca bazı uygulama veya işlemler tarafından düğümden zaten gönderilmiş olanı değiştirmesidir. Başka bir deyişle, değiştirilen trafik olması gereken yere gönderilir ve saldırgan bunu ağ üzerinden yakalayarak sızan verileri bu şekilde toplar.
  • Kablosuz ağlarda, yayın trafiğinde veriler maskelendiğinde. Bu arada, bu durumda, yalnızca veri almak için pasif modda çalışabilen alıcı tarafı bulmak kolay değildir. HICCUPS aracı bu prensip üzerine inşa edilmiştir.

Gizli iletim nasıl tespit edilebilir?

Örtülü kanallar tarafından kullanılan bu kadar çeşitli yöntemleri ve bunların içinde bulundukları protokolleri görünce, örtülü iletimleri tespit etmek için neden bu kadar çok farklı yöntemin sunulduğunu anlıyorsunuz. Bunlardan en önemlisi, aşağıdaki parametrelerin (kapsamlı olmayan liste) kontrol edilmesini içeren anormallik kontrolüdür:

  • İstek ve yanıt boyutu. Örneğin, bir DNS sorgusunun ortalama uzunluğunun 40-60 bayttan fazla olmadığı bilinmektedir. Bu nedenle, paket uzunlukları artan DNS sorgularının sayısındaki artış, gizli bir kanalın çalıştığını gösterebilir. Benzer bir uygulama diğer protokoller için önerilebilir - ICMP, SIP, vb.
  • İsteklerin hacmi. Tipik olarak, belirli protokol türleri üzerindeki trafik hacmi, sabit bir değer değilse de nadiren yüzde birin birkaç kesri içinde değişir. Bu nedenle, hizmet protokolü trafiğinde veya DNS isteklerinin sayısında veya boyutlarında ani bir artış, bir anormallik olduğunu ve araştırılması gerektiğini gösterebilir. Bu durumda trafik profili hem gönderen düğüm hem de alıcı düğüm için değerlendirilebilir.
  • Aramaların sayısı veya coğrafyası da gizli kanalların bir özelliği olabilir. Örneğin, dahili bir DNS sunucunuz varsa, sürekli olarak harici bir DNS ana bilgisayarına başvurmak da bir anormallik işareti olabilir.
  • Diğer istatistiksel analiz türleri de gizli kanal keşfi için yararlıdır. Örneğin, DNS için ana bilgisayar adlarındaki entropi düzeyini analiz edebilirsiniz. DNS sorgularında ise iletilecek gizli bilgi, o zaman kullanılan sembollerin dağılımı geleneksel olandan farklı olacaktır.

Bu tür anormallikleri izlemenizi sağlayan bir araç ağ trafiği, zaten çok sayıda yerleşik kural içeren veya eğitim modundan sonra bağımsız olarak yapılandırılabilen NBAD (Ağ Tabanlı Anomali Tespiti) sınıfının sistemleridir.


Anomali analizinin yanı sıra belirli protokollerdeki içerikler incelenerek gizli kanallar da tespit edilebilmektedir. Bu, hem RFC'lerden uygulama protokolü trafiğindeki sapmaları izleyebilen geleneksel Yeni Nesil çözümlerle hem de izinsiz giriş tespit sistemlerinin yardımıyla yapılabilir. Örneğin, Snort açık kaynak çözümü için DNS protokolünde NSTX gizli kanalını tespit etmek için imza:
alert udp $EXTERNAL_NET herhangi biri - > $HOME_NET 53 (msg:"Potansiyel NSTX DNS Tüneli"; içerik:"|01 00|"; ofset:2; inside:4; içerik:"cT"; ofset:12; derinlik:3 ; içerik:"|00 10 00 01|"; inside:255; classtype:bad-unknown; sid:1000 2;)

Özet

Evrensel olmama, belki de hem gizli kanalların aktif kullanımı hem de bunlarla mücadele için ana engeldir.

Ağ trafiğindeki gizli kanallar, evrensel olmayan, sınırlamaları ve kapsamı olan çok özel bir yöntemdir. Her gizli kanalın, hem kullanımlarında hem de bunlara karşı mücadelede dikkate alınması gereken verim, gürültü, iletim modu (iki yönlü veya tek yönlü) gibi kendi özellikleri vardır. Yine de, "Savaş ve Barış" L.N. Tolstoy, bu tür kanallardan hızlı bir şekilde iletilemez ve bazı gizli iletim yöntemleri, dış faktörlerin gizli iletimin başarısını büyük ölçüde etkileyebileceği küresel ağlarda etkili bir şekilde uygulanmasını engelleyen çok yüksek bir gürültü seviyesine sahiptir.

Evrensel olmama, belki de hem gizli kanalların aktif kullanımı hem de bunlarla mücadele için ana engeldir. Çok sayıda gizli veri aktarımına yönelik kısıtlamalar, onu yalnızca belirli bir görev ve belirli bir müşteri için geliştirilmiş hedeflenen tehditler haline getirir. Aynı evrensel olmama durumu, tek bir ürün şeklinde sihirli değnek olmadığı ve gizli veri iletimini tespit etmek ve etkisiz hale getirmek için çok çeşitli araç ve teknolojilerin kullanılması gerektiği fikrine yol açar.

Bu kısa makale, birkaç bilgisayar, birkaç eğlenceli araç ve işletim sistemi elde etmek kablosuz erişim mümkün olan her yerde internet. Teknik tarafı oldukça net bir şekilde anlattım ve yorumlarda bulundum.

1. Giriş.

İlk dizüstü bilgisayarımı yeni aldım ve onunla bazı kirli şeyler yapmayı denemek istedim (hatta biraz iş yapmaya çalıştım ama çok yorucuydu)
:)). Araba sürmek başlarda oldukça eğlenceliydi ama ağların korunduğunu fark edince sıkıldım.
WEP benim için çok zor (intranet trafiği olmadığı için - ağlar ölü kabul edilebilir) ve güvenli olmayan ağlar hiç ilgimi çekmiyor. Şans eseri, kampüsümdeki kablosuz ağ biraz daha ilgi çekici hale geldi.

Ağ ücretsiz sağlar kablosuz internet, ancak erişime izin vermeden önce MAC adresinizi kendi adınıza kaydetmenizi gerektirir - kayıtlı olmayan kullanıcılar sağlayıcının sayfasına (kayıt sayfası) yönlendirilir. Kaydolmak, yöneticiyle iki dakikalık bir sohbeti gerektirecekti ama ben "Belki oradadır" diye düşündüm.
bu şekilde iletişim kurmak zorunda kalmadan erişim sağlamanın bir yolu mu?” Tabii ki öyleydi.

2. İlk penetrasyon yöntemi MAC sahtekarlığıdır.

Her şey MAC adresi etrafında döndüğü için, akla gelen ilk şey şuydu:
zaten kayıtlı olan MAC adresini bulmak ve onunla ilgilenmekti.
sahtekarlık Tabii ki konuşmak kolay ama daha önce hiç yapmamış olmama rağmen neredeyse hiç çaba gerektirmedi.
Yaptığım ilk şey kismet'i ("kismet -c orinoco,eth1,wifi") çalıştırmak ve ağı koklamak oldu. Kısmet koklanan her şeyi kurtarır
bilgileri bir dosyaya ("/var/log/kismet/*.dump" benim durumumda), koklama sonuçları oldukları gibi görüntülenebilir
gelirler. Sonuç olarak, tüm bilgileri görüntüleyebildim ve
doğru MAC adresini yazın.

Ağ kartının MAC adresini değiştirmek için kullanılan komutlar:

ifconfig eth1 aşağı
öldürücü dhclient
ifconfig hw ether 00:11:22:33:44:55
ifconfig eth1 yukarı
dhclient eth1

Tüm komutlara ihtiyaç yoktur, ancak birden çok MAC adresini birer birer değiştirmeye çalışırken çok kullanışlıdırlar.
benim için kullanışlı oldu, tk. Değiştirmeye çalıştığım MAC adresi hemen çalışmadı. Yasaklandım, ağ çevrimdışı oldu ve tekrar açılmadı, bu yüzden birkaç can sıkıcı hatayla uğraşmak zorunda kaldım
sisteminizde. Belki de bu sorunlar
bellenim nedeniyle ve muhtemelen ağın zaten ağ kartı bu MAC adresi ile.

Tüm iş istasyonları aktif değildi ve sonuçları geldikleri gibi görüntülemek için kısmet kullanmak verimsizdi, bu yüzden başka bir yöntem denedim.

Ağda, MAC adresine göre filtreleme oldukça yüksek bir seviyede gerçekleştirildi. İstediğim zaman ağa erişebilirim çünkü. katılmaya çalıştığımda, kaydolma teklifinin olduğu bir sayfayla karşılaştım.
Doğal olarak, aktif konakları düşünürken aklıma nmap geldi. Bu yüzden aktif istasyonlar için bir IP aralığı kontrolü yaptım.

marktwain:~# nmap -sP 10.0.0.1/22
23.05.2005 12:54 EEST'de nmap 3.81 (http://www.insecure.org/nmap/) başlatılıyor
Ana bilgisayar 10.1.0.14 çalışıyor gibi görünüyor.
MAC Adresi: 00:0E:35:97:8C:A7 (Intel)
Host 10.1.0.95 çalışıyor gibi görünüyor.

Host 10.1.0.109 çalışıyor gibi görünüyor.
MAC Adresi: 00:0D:54:A0:81:39 (3Com Avrupa)
... patlatmak ...
Ana bilgisayar 10.1.2.92 çalışıyor gibi görünüyor.
MAC Adresi: 00:02:2D:4D:1C:CE (Agere Sistemleri)
Host 10.1.2.187 çalışıyor gibi görünüyor.
MAC Adresi: 00:02:2D:4D:1C:43 (Agere Sistemleri)
Nmap tamamlandı: 53.980 saniyede taranan 1024 IP adresi (20 ana bilgisayar)

Bir sürü MAC adresi. Çoğu
ortaya çıkan adres tablosu (sanırım) son birkaç gün içinde ağı ziyaret eden makinelerin MAC adresleridir. Tabloda 245 farklı MAC vardı
adresler. Bu normal bir davranış mı bilmiyorum
erişim noktaları, ama bence adamların bir değeri var
İnternetin dağılımındaki değişiklik. Durum ne olursa olsun, artık şebekeyi ziyaret eden, ancak büyük olasılıkla uzun zaman önce ayrılan makinelerin yeterli MAC adresine sahibim. Birkaç sahtecilik girişiminde bulundum ve şimdiden neworder.box.sk'ye doğru yüzüyordum...

3. 2 numaralı girişim - ICMP tüneli oluşturma.

İstediğim her şeyi yaptım ama bu ağda hala kazılacak yer vardı. Ama ne
Bu ağ olmasaydı yapabilirdim
bana ait tek bir araba yok mu? Eğer
nmap tüm bu MAC adreslerini açıp göstermez mi? Her neyse, erişim elde etmenin başka bir yolunu denemeye karar verdim.

Bundan daha önce bahsedilmedi, ancak sistemi atlamak
İnternet dağıtımına izin veren ağ ve DHCP, ICMP mesajlarının serbestçe geçmesine izin verdi. Herhangi bir İnternet sitesinin etkinliğini kontrol etmek iyi çalıştı (unutmadıkları sürece neden engellemediklerini gerçekten anlayamıyorum), ping
sunucumda çalışan sniffer'da bile göründü.
Planım, üniversitedeki dizüstü bilgisayarım ile evdeki bir sunucu arasında bir tünel oluşturmaya çalışmaktı. Ve tüm bağlantıları içinden geçirin.
İnternette ICMP tünelleme uygulamaları aradım, ancak hiçbiri istediğim gibi çalışmadı (yani, basit olmasını istedim - böylece en sevdiğim tarayıcıyı veya başka bir programı çalıştırırsam, sadece tünel ile çalışacak) veya en azından
lezzetli görünüyordu.

4. Biraz kodlama.

İlk başta hiçbir şey kodlamayı planlamadım. Az önce bazı ICMP tünel uygulamalarını denedim
ama sonra aniden kendimi bunlardan birinin kaynağını okurken buldum ve bunun ne kadar şaşırtıcı derecede basit olduğunu ve böyle bir şey yapmanın ne kadar kolay olacağını anladım. Programın adı itunnel -
ICMP tünelleme için ortak bir yardımcı program. iTunes harika. Ama bu sadece bir tünel. Bir makinede çalıştırıyorsunuz ve sonunda ikisini birbirine bağlamış gibi görünüyorsunuz.
ağ kartları birlikte. Yapmak istediklerim için yeterli değildi.
Kullanıcı işlemlerinin bilgi paketlerini doğrudan çekirdeğe/çekirdeğe göndermesine izin veren çekirdek modülü TUN/TAP'ı zaten duymuştum.

Program sanal oluşturur ağ Arayüzü.
sağlayan bir ağ arabirimi oluşturur.
tam olarak aynı şekilde çalışır
standart. İşin en ilginç tarafı ise
kullanıcı programları
gibi çalışmak Fiziksel katman arayüz için
tünel. Bilgi paketlerini okumaları gerekir.
cihaz dosyası (örneğin, "/dev/net/tun0") ve bunları herhangi bir yolla gönderin ve yanıt paketleri yazın
dosyaya geri dön.

iyi bir kaynak bulamadım
TUN/TAP üzerinden, ancak tünelleri için TUN/TAP kullanan bir program - vtun - var, bu yüzden ben
poyuzal vtun kaynakları. Biraz araştırmadan sonra, tun* oluşturmak, okumak ve yazmak için kullanılan küçük bir işlev kitaplığı olduğu ortaya çıktı.
cihazlar. Birkaç biti düzelterek yapılabilecekse, programı neden kendim yazayım?
Aslında yazdığım kod:

#include "driver.h" /* vtun kütüphanesini bildir */
#katmak
#katmak

/* itunnel'den biraz değiştirilmiş main()
*/
int run_icmp_tunnel(int kimliği, int paket boyutu, char *desthost, int tun_fd);

/* maksimum birim - maksimum
kapsüllenmiş çanta boyutu

*/
sabit int mtu = 1400;

int main(int argc, char **argv) (
karakter*dev;
int tun_fd = 0;

/* tünel cihazı oluşturma */
dev = (char *) malloc(16);
eğer (dev == NULL) (
printf("Daha önce hiç sorun yasamadiysaniz,
16 bayt\"
"bellek senin ilk seferin. Ölümcül.n");
dönüş 1;
}
dev=0;
/*
güzel kütüphane işlevi
vtun'dan boş dizeyi şu şekilde kabul eder:
*
* bağımsız değişken, bir tunX cihazı oluşturur ve
*dev'e iletir
*/
tun_fd = tun_open(dev);

eğer (tun_fd< 1) {
printf("Aygıt oluşturulamadı. Fatal.n");
dönüş 1;
}
başka(
printf("Tünel açma aygiti olusturuldu: %sn", dev);
}

/* 7530, ICMP kimlik alanıdır,
tüneldeki paketler için kullanılır

*/
run_icmp_tunnel(7530, mtu, argv, tun_fd);

tun_close(tun_fd, dev);
}

İşte burada. Ve çoğu yorum ve hata kontrolü

Bahsettiğim gibi, itunnel bir tünel inşa etmek için idealdir. bir ana işlevi vardır ki,
giriş, çıkış ve soket için açık dosyalar; Ayrıca
komut satırı için bazı parametreler aldı (amaçlarım için yararlı olabilir). Daha sonra, esasen sadece bilgi paketlerini taşıyan biraz soyut bir işlev çağırdı. ICMP başlığı ücretsiz
kodda açıklanmıştır ve başka herhangi bir başlığa kolayca değiştirilebilir,
giriş/çıkış/soket başka bir mantıksal şemaya göre yapılandırılabilir - işlev minimum ayarlamalarla çalışacaktır.

en çok büyük değişim, yaptığım - tüm manipülasyonları silmek Komut satırı- esasen birkaç kod bloğunu kaldırmak. Tünel mantığı için en önemlisi, giriş ve çıkış arasındaki ayrımı kaldırdım çünkü ikisi de
aynı tanımlayıcıyı asın (tunX cihazı) -
gibi davranmak yerine bana ne verdi
netcat ve stdin'i ICMP soketine ve ICMP soketini stdout'a iletin,
tunX cihazına giden bir sinyal gönderir (gibi http istekleri tarayıcı) ICMP'ye
soket ve ICMP soket çıkışı (sanki HTTP
sunucudan gelen istekler geri gönderildi
tünelden) tunX cihazına (için
tarayıcıya dönecektir). Son cümle çok uzun ve dolambaçlı olduğundan, göstermek için küçük bir şema sunuyorum:

Yanıt bilgi paketleri aynı yolu izler, ancak
tam tersi.

Bir noktada, yeterince delirdim ve gerçekten yazdım Yeni hat kod. Şuna benziyor:

memcpy(&(target->sin_addr.s_addr), &(from.sin_addr.s_addr), 4);

İşlevi, tüm bilgi paketlerini son paketin geldiği yere göndermeye başlamaktır. yapabilirim
sunucumda çalıştır ve bağlan
herhangi bir yerden tünel yoluyla bir paket gönderin
ve anında alıcının IP'sini IP olarak değiştirir
dizüstü bilgisayarım

Sonuç olarak ne oldu, buradan alabilirsiniz:

5. Tünellerin montajı.

Tüneli evde test ettim ve iyi çalıştı ama evde güvenlik duvarı yoktu. Ertesi gün üniversitede bunu gerçek hayatta test etmeye hazırdım. Şans eseri bir kafede bir masada otururken sahtecilik kullanarak MAC adresini buldum ve bir tünel kurdum.

Denediğim tüm aptalca yolları ve yaptığım küçük deneyleri hatırlamak zor, bu yüzden bu bölümü olabildiğince organize etmeye çalıştım. Aslında her şeyi o kadar net yapmadım.
Her şeyin benim için çalışmasını sağlamak için
3 saatimi aldı ve yapabildiğim her yeri koklarken elimden gelen her şeyi denedim ve kodu "Paket!" Ve benzeri.

Bu komutları sunucuda çalıştırdım:

tsee-diees:~# ./create_tun wifi.ttu.ee
Oluşturulan tünel cihazı: tun0

./create_tun wifi.ttu.ee durduruldu
tsee-diees:~# ifconfig tun0 mtu 1400 192.168.3.1 yukarı
tsee-diees:~# rota ekleme 192.168.3.2 tun0
tsee-diees:~# tethereal -i eth0 -f "icmp"

Bunun hemen işe yarayacağını düşündüm ve bunu dizüstü bilgisayarımda çalıştırdım:

marktwain:~# ./create_tun 194.204.48.52
Oluşturulan tünel cihazı: tun0

./create_tun 194.204.48.52 durduruldu
marktwain:~# ifconfig tun0 mtu 1400 192.168.3.2 yukarı
marktwain:~# rota ekleme 192.168.3.1 tun0
marktwain:~# tethereal -i eth0 -f "icmp"

Yapmam gereken şey yaratmaktı
üzerinde iki ana bilgisayar bulunan ağ - 192.168.3.1 olarak sunucu ve 192.168.3.2 olarak dizüstü bilgisayar. Basit bir normal LAN, yalnızca fiziksel katmanı bir ICMP tüneli olacaktır. muhtemelen nasılsın
makaledeki metnin geri kalanından anlaşılmaktadır
yöntem pek işe yaramadı. Bir ping ("ping 192.168.3.1") koştum, ancak paketler hala ulaşmadı.

Şans eseri, dizüstü bilgisayardaki algılayıcı bana küçük bir ipucu verdi - ICMP paketleri geri dönüş yanıtlarıydı. Tabii ki yapmazlar
gönderildi. Bu yüzden tüneli kapatıyoruz, dizüstü bilgisayarda itunnel'i etkinleştiriyoruz ve icmp ters yanıtlarını kullanıyoruz ("icmp->type = 0;" olarak "icmp->type = 8;" olarak değiştirin), tüneli geri döndürün.
Sistem yine çalışmadı ama bu sefer paketler
sunucudaki sniffer'da göründü.

Ne yanlış olabilir? Bir sonraki paket geldiğinde "Paket!" diye bağırması gereken bir değişiklik denedim ama ünlemler gelmedi.
ortaya çıktı. "Aslında - şaşırdım - güvenlik duvarı internetten gelen tüm ICMP paketlerini engelleyecek şekilde ayarlanmışsa neden olmasın ki?" Bir süre sonra durumun aslında böyle olduğunu anladım (İnternetten gelen tüm ICMP paketleri bloke edilmişti).

Zaten daha iyi. Tünel "Paket!" , ve yanıtlar sunucudaki sniffer'da görülebilir. Aslında, her istek için iki yanıt vardır ve bunlardan yalnızca biri dizüstü bilgisayardaki sniffer'da görülebilir. Ve ping hala çalışmıyor.

İki paketten biri gereksiz olduğu için çekirdeğe (çekirdeğe) icmp ters isteklerine yanıt vermemesini söyledim:

tsee-diees:~# echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all

Ve pingler geçmeye başladı! Bu noktada, sunucuya erişmek için hala sahte MAC adresine güveniyordum. Buradaki fikir, kayıtsız bir kullanıcıdan paketlerin ileri geri gitmesini sağlamak olduğu için, MAC adreslerini yanıltmayı bıraktım. Aynı zamanda tünel çalışmaya devam etti ki bu oldukça hoş bir sürpriz oldu.

Paket akışı sağlandı ve sıra “İnternet”i çalıştırmaya geldi.
IP'de bazı değişiklikler yapmak zorunda kaldım
bir dizüstü bilgisayarda yönlendirme. yol boyunca
üniversite yönlendirici Kablosuz ağ sunucunun tünel adresi (bu durumda 192.168.3.1) ile değiştirilmiş olmalıdır. Tünelin kendisinin çalışabilmesi için sunucuya giden bir yol olması gerekir (ICMP tünel paketlerinin de izlenecek bir yola ihtiyacı vardır).
Oldukça iyi sonuçlar aldım:

marktwain:~# rota ekle 194.204.48.52 gw 10.0.0.111 # kablosuz yönlendirici aracılığıyla
marktwain:~# varsayılan rota
marktwain:~# route add default gw 192.168.3.1 # diğer her şey tünelden geçer.

Ve biraz zeki olduğum için, aralarında bir uyumsuzluk olabileceğini düşündüm.
sunucuya gönderilen ve sunucudan gönderilen paketlerin sayısı. ping yapmaya başladım
durumu izlemek için arka planda:.

marktwain:~# ping 194.204.48.52 -i 0.2
PING 194.204.48.52 (194.204.48.52) 56(84) bayt veri.

Elbette yanıt yoktu çünkü bunlar "tünel pingleri" değildi ve çekirdekten gelen yanıtlar
kapalı.

Sunucum zaten öğretildiğinden beri
İnternet bağlantısını birkaç bilgisayar arasında paylaşmak için, sunucuda tek yapmam gereken iki kural eklemekti.
tun0'dan ve tun0'a gelen paketleri kabul etmek için iptables'ta FORWARD zinciri. Mevcut kuralları ("iptables -vL FORWARD") rutin olarak kontrol ettiğimde, bağlantı aniden kesildi. Yeniden bağlandım ve bu soruyu araştırdım,
ancak kısa süre sonra bağlantı tekrar kesildi. Gerçekten şaşırdım - bağlantı neden bu kadar dengesiz?
Düşündüğümde, sunucunun her büyük bir ICMP yanıtı gönderdiğini fark ettim.
(sonuçta, yalnızca ping başlığı 1400+ idi), atıldı
ekipmanın kendisi. Tünel fiziksel olduğu için
IP katmanı, TCP doğal olarak paketleri yeniden göndermeye çalıştı, ancak boyut hala aynıydı ve yine de atıldılar. Bu yüzden tünel için MTU'yu 300 olarak değiştirdim (içinde
genellikle tesadüfen konuşur)

marktwain:~# ifconfig tun0 mtu 300
tsee-diees:~# ifconfig tun0 mtu 300

Ve tüm sistem çalıştı.

6. Sonuç.

Şimdi kendin yap.

gizli kanallar gizli, yetkisiz veya yasa dışı bilgi aktarımı için kullanılan eylemlerin gizlenmesi veya saldırıların gerçekleştirilmesi yöntemlerinden biridir. Gizli kanalların yardımıyla bilgi sızdırılabilir veya tersine bilgi kuruluşa girilebilir. İnternetteki gizli bir kanal, bir saldırganın saklanmaya çalışabileceği bir evrak çantasındaki gizli bir bölmeye benzetilebilir. gizli belgeler onları güvenli bir tesisin kontrol noktasından geçirmek için. İnternette, gizli kanallar saldırganlar tarafından iletim yapmak için kullanılabilir. gizli malzemeler, fark edilmeden kalırken - bu durumda, ağın güvenlik mekanizmaları hassas nesne için bir geçit kapısı görevi görür. Tıpkı bir casusun silahları aynı gizli bölmeye saklayarak onları güvenlikten ve nüfuz etmek saldırganlar, siber silahları gizlice aktarmak, örneğin harici bir sunucudan bir kuruluşun özel ağındaki bir ana bilgisayara kötü amaçlı yazılım indirmek için onunla birlikte İnternet'teki bir nesneye gizli kanalları kullanabilir.

İnternetteki Gizli Kanalların Temelleri

İnternetteki gizli kanallar, bilinen İnternet protokollerinin geleneksel olmayan kullanımına dayalı olabilir. Tek bir kanalın uç noktaları - virüslü bilgisayar ve saldırganın komuta merkezi - bu tür geleneksel olmayan hileleri tanıyabilen ve işleyebilen eylemlere saldırmak veya bunları gizlemek için özel yazılımlar kullanmalıdır. Bu tür yazılımlar, kullanıcının kendisi veya kötü amaçlı yazılım tarafından veya araçları kullanan saldırganlar tarafından yüklenebilir. uzaktan yönetim(FARE). Gizli İnternet kanalları şifreli tünellerden farklıdır. Onlarla ilgili bilgiler şifrelenmemiş bir biçimde iletilebilir (bu genellikle olur), ancak bu kanalların kendileri yabancılardan gizlenir. Şifreleme uygula veya kriptografik anahtarlar bu durumda gerek yok ama bazen gizli kanallar kullanılıyor çeşitli yollar veri şifreleme veya karartma.

İki örneğe bakalım. İlk teknik, bilgileri bir İnternet Protokolü (IP) paket başlığının tanımlayıcı (ID) alanında her seferinde bir karakter olmak üzere gizlice iletmektir. Bu tekniğin yaygın uygulamalarında, tanımlayıcı alanına ikame edilen 16 bitlik değerler oluşturmak için ASCII karakter kodları 256 ile çarpılır. Kısaltmayı göndermek için ICANN'in aşağıdaki tanımlayıcı alan değerlerine sahip 5 IP paketi göndermesi gerekir:

Naylon poşet ASCII ondalık değer IP Paket Kimliği (x256)
1 71 ("ben") 18176
2 67 ("C") 17152
3 65 ("A") 16640
4 78 ("K") 19968
5 78 ("K") 19968

Alıcı bilgisayar, alınan değeri 256'ya bölerek IP paketinin ID alanının değerini çözer. Bu tür değerlerin iletilmesi herhangi bir şüphe uyandırmaz ve IP protokolü çift paketlerin iletilmesine izin verdiği için olası değildir. bu trafiğin tespit edileceğini. Yavaş hız, şanzımanın gizliliği ile telafi edilir.

Gizli bir kanal oluşturmaya yönelik ikinci teknik, bir protokol yükünün kullanılmasını içerir, örn. teknik Bilgiler seçilen protokol içinde iletilir. Bu durumda, ECHO isteklerine ve yanıtlarına veriler eklenir - bunlar, İnternet Kontrol İletisi Protokolü veya ICMP'de kullanılan hizmet mesajlarıdır. ECHO mesajları ortak bir hizmette kullanılır ping . Ağ yöneticileri belirli bir uzak ana bilgisayarın erişilebilir olup olmadığını kontrol etmek için genellikle ping hizmetini kullanır, bu nedenle ICMP ECHO paket trafiği genellikle güvenlik duvarları gibi ağ güvenlik cihazları tarafından geçirilir.

Bu teknikler hakkında daha fazla bilgi edinmek istiyorsanız, şu makalelere göz atın: (Gizli Kanallar hakkında Sorular ve Yanıtlar) ve ICMP Üzerinden Gizli Kanallar (PDF, 740 KB).

Daha öte. DNS Gizli Kanalları

Etki Alanı Adı Sistemi (DNS) protokolü, gizli kanalların kullanılmasını kolaylaştıran bir dizi özelliğe sahiptir. DNS trafiği, her iki yönde de güvenlik duvarlarından geçirilir. Tehlike DNS kullanımı gizli kanallar oluşturmak genellikle göz ardı edilir veya hafife alınır, bu nedenle kuruluşlar veya ISP'ler DNS trafiğini saldırı belirtileri için her zaman kontrol etmez. Bazen DNS trafiği, kullanıcı yetkilendirme veya kimlik doğrulama işlevleri gerçekleştirilmeden önce adları çözmek için daha geniş İnternet'e iletilir ve DNS gizli kanallarının bu tür erişim kontrollerini atlamasına izin verilir.

Bir sonraki gönderimizde, DNS gizli kanallarının veri ayıklamak, erişim kontrollerini atlamak veya kötü amaçlı yazılım indirmek için nasıl kullanılabileceğini keşfedeceğiz.