Bir ICMP tüneli [1], ICMP yankı istekleri ve yanıt paketlerini kullanarak iki uzak bilgisayar (istemci ve vekil) arasında gizli bir bağlantı kurar. Bu tekniğin bir örneği ping istekleri ve yanıtları üzerinden tüm TCP trafiğini tünellemektir.
Teknik detaylar[değiştir | kaynağı değiştir]
ICMP tüneli uzaktaki bir bilgisayara gönderilen bir yankı paketinin içerisine rastgele veri enjekte ederek çalışır. Uzaktaki bilgisayar başka bir ICMP paketine cevap enjekte edip geri göndererek aynı şekilde yanıt verir. İstemci tüm iletişiminde ICMP yankı istek paketlerini kullanarak gerçekleştirirken vekil (proxy) yankı yanıt paketlerini kullanır.
Teoride, vekilin yankı istek paketlerini kullanması mümkündür (bu uygulamayı çok daha kolay hale getirir) ancak bu paketlerin istemciye iletilmesi gerekmez çünkü istemci çevrilmiş bir adresin (NAT) arkasında olabilir. Bu çift yönlü veri akışı sıradan bir seri hat ile soyutlanabilir.
ICMP paketlerinin yapısını tanımlayan RFC 7925 Eylül 2005 tarihinde Wayback Machine sitesinde arşivlendi., herhangi bir tip 0 (yankı yanıtı) veya 8 (yankı mesajı) ICMP paketleri için rastgele bir veri uzunluğuna izin verdiği için ICMP tünellemesi mümkündür.
Kullanımları[değiştir | kaynağı değiştir]
ICMP tüneli, gerçek trafiğin gizlenmesi yoluyla güvenlik duvarı kurallarını atlamak için kullanılabilir. ICMP tünelleme yazılımının uygulanmasına bağlı olarak bu tip bağlantılar, iki bilgisayar arasında şifreli bir iletişim kanalı olarak da sınıflandırılabilir. Uygun derin paket inceleme veya iz kayıtlarının incelemesi olmadan ağ yöneticileri kendi ağları üzerinde bu tip trafiği tespit edemeyecektir.[2]
Hafifletme[değiştir | kaynağı değiştir]
Bu tür tünellemeyi önlemenin bir yolu, insanların genellikle önemsemediği bazı ağ işlevlerini kaybetme pahasına ICMP trafiğini engellemektir (örneğin, bir eşin çevrimdışı olduğunu neredeyse hemen belirlemek yerine onlarca saniye sürebilmesi gibi). Bu tür saldırıyı azaltmanın başka bir yöntemi, güvenlik duvarlarından yalnızca sabit boyutlu ICMP paketlerine izin vermektir. Bu işlem bu tür davranışları engelleyebilir veya ortadan kaldırabilir.[3]
ICMP tünelleri bazen LAN ile dış dünya arasındaki trafiği engelleyen güvenlik duvarlarını atlatmak için kullanılır. Kullanıcının kullanım için ödeme yapmasını gerektiren ticari wifi hizmetleri veya kullanıcının ilk önce bir web portalında oturum açmasını gerektiren bir kütüphane örnek verilebilir. Ağ yöneticisi yalnızca TCP ve UDP gibi normal taşıma protokollerini engellemenin yeterli olduğunu hatalı şekilde varsayar ve ICMP gibi çekirdek protokolleri engellemezse, sonrasında ağ erişimi için yetki olmamasına rağmen İnternet'e erişmek için bir ICMP tünelinin kullanılması bazen mümkün olur. Kullanıcıların ICMP paketlerini (belki IEEE 802.1X kullanarak diğer tüm paket türleri) harici eşlerle değiştirmesine izin vermeyen şifreleme kuralları ve her bir kullanıcı kuralları yetkilendirmeden önce bu problemi çözer.
Ayrıca bakınız[değiştir | kaynağı değiştir]
Kaynakça[değiştir | kaynağı değiştir]
- ^ "Ping Tunnel: For those times when everything else is blocked". 6 Şubat 2005 tarihinde kaynağından arşivlendi. Erişim tarihi: 26 Mart 2020.
- ^ http://protocol.korea.ac.kr/publication/Covert%20Channel%20Detection%20in%20the%20ICMP%20Payload%20Using%20Support%20Vector%20Machine.pdf[ölü/kırık bağlantı]
- ^ "Arşivlenmiş kopya". 19 Ekim 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 26 Mart 2020.
Dış bağlantılar[değiştir | kaynağı değiştir]
- RFC 792, Internet Control Message Protocol
- itun 26 Mart 2020 tarihinde Wayback Machine sitesinde arşivlendi. Simple IP over ICMP tunnel
- Hans18 Ağustos 2009 tarihinde Wayback Machine sitesinde arşivlendi. ICMP tunnel for Linux (server and client) and BSD MacOSX (client only)
- ICMP-Shell 26 Mart 2020 tarihinde Wayback Machine sitesinde arşivlendi., a telnet-like protocol using only ICMP
- PingTunnel6 Şubat 2005 tarihinde Wayback Machine sitesinde arşivlendi. Tunnel TCP over ICMP
- ICMP Crafting 26 Mart 2020 tarihinde Wayback Machine sitesinde arşivlendi. by Stuart Thomas
- Using the ICMP tunneling tool Ping Tunnel 26 Mart 2020 tarihinde Wayback Machine sitesinde arşivlendi.
- Project Loki 14 Şubat 2014 tarihinde Wayback Machine sitesinde arşivlendi. Article on ping tunneling in Phrack
- ICMP tunnel with C# source code28 Haziran 2012 tarihinde Wayback Machine sitesinde arşivlendi.
- icmptunnel 26 Mart 2020 tarihinde Wayback Machine sitesinde arşivlendi. IP over ICMP tunnel by Dhaval Kapil