Güvenlik

ÇözümPark

Çözümsüz Sorununuz Kalmasın. Türkiyenin En büyük Bilişim Topluluğu
ÇözümPark'a hoş geldiniz. Oturum Aç | Üye Ol
in ARA
Ana Sayfa Makaleler Video Forumlar Resimler Dosyalar Ajanda Online Destek Biz Kimiz? Eğitim

Güvenlik

Güvenlik

Hping Kullanarak TCPIP Paketleriyle Oynama Bölüm 1

Hping Nedir?

Hping, istenilen türde TCP/IP paketleri oluşturmak için kullanılan harikulade bir araçtır. Her ne kadar adı ping komutundan esinlenilse de klasik ping uygulamasından çok daha gelişmiş bir uygulamadır.

Hping, oluşturulacak paketlerde tüm alanları kendimize özgü belirlenebilmesi, dinleme modu ile hostlar arası dosya transferi ve komut çalıştırma özelliği(Truva atı özelliği), IDS/IPS testleri için özel veri alanı belirtilebilmesi(ids imzalarinin testi) gibi ileri düzey özelliklere sahiptir.

Hping’i tüm özellikleriyle efektif kullanabilmek, çıktılarını yorumlamak için orta düzey TCP/IP bilgisi gerekir. Klasik otomatize araçlardan farklı olarak hping ile tamamen kendi oluşturduğunuz (tcp/ip bilgisi burada işe yariyor) paketleri ağa gönderirsiniz. Mesela XMAS Scan  için nmap’de nmap –SX komutu verilirken hping’de XMAS scanin ne olduğunu, hangi TCP bayrakları ile gerçekleştirildiğini bilmeniz ve ona göre parametreleri oluşturmanız  gerekir (hping –FUP hedef_sistem gibi). Kısacası hping maharetli ellerde kaliteli bir hamur işlevi görmektedir.

 

Hping’in kullanılacağı alanlar

 

Hping’i iyi bir şekilde öğrenip kullanma TCP/IP’nin geçerli olduğu yerlerde(tüm iletişim dünyası) avantaj sağlayacaktır.  Kısa kısa hping’in somut olarak nerelerde ne amaçla kullanılacağını listeleyecek olursak;

İsteğe göre düzenlenmiş TCP, UDP, ICMP, Raw-IP paketleri üretme

Güvenlik duvarı işlevsellik ve performans testleri

DOS engelleme sistemleri testleri

Saldırı Tespit ve Engelleme Sistemleri işlevsellik ve performans testleri

Gelişmiş port tarama

Gelişmiş dosya transferi

TCP/IP protokolleri üzerinden hedef sistemlerden bilgi toplama

Geçmiş TCP/IP zaafiyetlerinin lab. Ortamında tekrar edilmesi

 

Nasıl Edinebilirim?

 

Hping Linux/UNIX/Windows sistemler üzerinde sorunsuzca kullanılabilir ve kullanım için herhangi bir ücret istenmemektedir.  Hping.org adresinden indireceğiniz kaynak kodları sisteminizde derleyerek hping’î kullanmaya başlayabilirsiniz.

 

Kurulum için kaynak koddan derleme yerine kullandığınız Linux dağıtımlarının paket yönetim sistemleri de kullanılabilir.

#yum install hping3   / Fedora icin

#apt-get install  hping3   / Debian icin

Aynı sitede Windows sistemler için hazır kurulum paketleri de bulunmaktadır.

image001

www.hping.org ‘dan indirdiginiz  paketlerde problem yaşarsanız http://downloads.sourceforge.net/sectools/hping2.win32.tar.gz?modtime=1163676368&big_mirror=0  adresindeki sürümü denemenizi tavsiye ederim.

Not: Windows sistemlerde hping’in bazı özellikleri sağlıklı çalışmamaktadır. Hping’in gerçek gücünü görmek için mutlaka Linux/UNIX tabanlı bir sistemde denenmelidir.

 

Temel Hping Kullanımı

 

Hping’in paket göndermek için çeşitli modları ve komut satırı parametreleri vardır. Temel olarak hping ile raw ip, icmp, tcp ve udp paketleri üretilebilir. Üretilecek paketlere ait tüm özellikler komut satırından belirtilebilir. Hping ile birlikte kullanılabilecek seçenekleri görmek için –h parametresi kullanılır.

 image002

 

Hping versiyonu öğrenme

 

Hping’in yaygın kullanılan iki sürümü vardır. Bunlar; hping2 ve hping3 . Her iki sürümde de bazı özellikleri diğer sürüm tarafından desteklenmemektedir. Hping3, hping2’e göre daha fazla özellik barındırdığı için tercih edilebilir. Kullandığınız sistemde hangi sürüm hping’in kurulu olduğunu öğrenmek için –v parametresi kullanılabilir.

Hping2 kurulu bir sistemden alınacak çıktı

# hping -v

hping version 2.0.0-rc3 (Mon May  3 10:56:19 CEST 2004)

libpcap based binary

 

Hping3 kurulu sistemden alınacak çıktı

$ hping -v

hping version 3.0.0-alpha-1 ($Id: release.h,v 1.4 2004/04/09 23:38:56 antirez Exp $)

This binary is TCL scripting capable

 

Hping Çalışma Modları

 

Hping çeşitli türde tcp/ip paketleri üretip bunları kullanabilir demiştik. Öntanımlı olarak hping TCP paketleri üretir, bunu değiştirmek için(udp, icmp veya ip yapmak için) aşağıdaki parametreler kullanılabilir.

 

-0  --rawip  Raw ip paketleri kullanmak için

-1  --icmp  Icmp Paketi oluşturmak için.

-2  --udp    UDP Paketleri oluşturmak için.

-8  –scan    Klasik  Tarama  modu.

-9  –listen   Dinleme modu

 

Hping ile paket gönderimi

 

image003

 

image004

TCP Paketleriyle Oynama

 

Bir TCP paketinde hangi alanlar vardır, öncelikle buna biraz deginelim sonra hping ile tcp

baslıgındaki alanlar ile oynayarak neler yapabiliyoruz görelim.

 

TCP oturumunda en önemli bilesen bayrak(flags)lardır. Oturumun kurulması, veri aktarımı, baglantının koparılması vb gibi islerin tamamı bu bayraklar aracılıgı ile yapılır.

Hping kullanarak paket oluşturacağımız diğer protokollerde(IP, ICMP, UDP) bayrak tanımı yoktur.

 

image005

 

TCP’deki bayraklar  ve hping parametreleri

 

TCP’de 6+2 bayrak vardır. Yoğun olarak 6 tanesi kullanılır ve hping ile aşağıdaki gibi belirtilir(komut satırı parametreleri)

SYN        (hping -S)

FIN         (hping -F)

RST        (hping -R)

ACK       (hping -A)

PUSH    (hping -P)

URG      (hping -U)

 

İlk  oluşturacağımız paket her TCP oturumunun kurulmasında ilk adım olan SYN bayraklı bir paket . Hping’e –S parametresi vererek SYN bayraklı paketler gönderebiliriz.

 

image006

Yukarıdaki çıktıda görüleceği üzere hping ile oluşturulan SYN bayraklı TCP paketi hedef sistemin 0. Portuna gitmeye çalışmış ve hedef işletim sistemi tarafından RST paketiyle düşürülmüştür. 0. Port yerine daha farklı portlara paketler gönderilirse farklı sonuçlar elde edilecektir.

 

Hping çıktısını yorumlama

Hping çıktısı gönderilen pakete dönen cevaı içerir. Eğer paket gönderilen hedef sistem cevap dönmüyorsa ekran boş kalacaktır.

Gönderilen paket:

# hping -S  vpn.lifeoverip.net  -p 80

HPING vpn.lifeoverip.net (bce1 91.93.119.80): S set, 40 headers + 0 data bytes

Dönen cevap

len=46 ip=91.93.119.80 ttl=64 DF id=48348 sport=80 flags=SA seq=0 win=65535 rtt=0.1 ms

len =>  dönen paketin boyutu

ip => paketi gönderen ip adresi(hedef sistem)

ttl => paketin yaşam süresi

DF => Parçalama biti aktif durumda

İd => Ip paketine ait tanımlayıcı biricik(uniq) bilgi

Sport => paketin gönderildiği kaynak port

Flags => aktif TCP bayrakları

seq => paketin sıra numarası

win => paketin pencere boyutu

rtt => Round trip time süresi(milisaniye)

 

Hping  kullanımında port belirtimi

 

-p parametresi kullanılarak hedef sisteme gönderilen paketlerin hangi porta gidecegi

belirtilir. Default olarak bu deger 0 dır.

 

-s parametresi ile kaynak TCP portu degistirilebilir, öntanımlı olarak bu deger rastgele atanır.

 

80.porta SYN bayraklı paket göndermek için

 

#hping –S –p 80 localhost

 

Komutu yeterli olacaktır.

 

-c parametresi ile kullanılmazsa hping durdurulana kadar(CTRL^c) paket göndermeye

devam eder, –c ile kaç adet paket gönderecegi belirtilir.

 

RST Bayraklı TCP paketleri olusturmak

 

# hping -R -c 3 192.168.1.1 –p 80

HPING 192.168.1.1 (eth0 192.168.1.1): R set, 40 headers + 0 data bytes

--- 192.168.1.1 hping statistic ---

3 packets tramitted, 0 packets received, 100% packet loss

round-trip min/avg/max = 0.0/0.0/0.0 ms

 

Benzer sekilde –R yerine diger TCP bayrak tipleri konularak istenilen türde TCP paketi

olusturulabilir.

 

Aynı pakette birden fazla bayrak kullanımı

 

Hping ile TCP paketleri oluştururken tek bayrak kullanılması zorunlu değildir. İstenirse tüm bayrakları set edilmiş TCP paketleri de üretilebilir(tabi bu paket firewallar tarafından düşürülecektir). Özellikle durum korumalı olmayan sistemleri test etmek için SYN/ACK , RST/ACK payraklı paketler kullanılabilir.

# hping -S -A localhost -p 80

HPING localhost (lo0 127.0.0.1): SA set, 40 headers + 0 data bytes

len=40 ip=127.0.0.1 ttl=64 DF id=54904 sport=80 flags=R seq=0 win=0 rtt=0.0 ms

len=40 ip=127.0.0.1 ttl=64 DF id=54955 sport=80 flags=R seq=1 win=0 rtt=0.0 ms

^C

Yayınlanış Tarihi 07 Mart 2010 Pazar 05:00 Yayınlayan: Huzeyfe ONAL
REKLAM-DENEME-3

Yorumlar

 

Hakan UZUNER Dediki :

Eline sağlık Huzeyfe.

Mart 7, 2010 05:09
 

cemengin Dediki :

teşekkürler.

Mart 7, 2010 19:37
 

Rıza SAHAN Dediki :

Teşekkürler.

Mart 8, 2010 09:00
 

Yasar KIYAK Dediki :

Elinize sağlık hocam.

Mart 8, 2010 09:16
 

Kamer KOSEOGLU Dediki :

Çok Faydalı Bir Makale Teşekkürler.

Mart 8, 2010 11:59
 

MERT DOĞAN Dediki :

teşekkürler.

Mart 12, 2010 10:44
 

Serkan KURT Dediki :

Teşekkürler Hüzeyfe hocam, eline sağlık.

Temmuz 15, 2010 07:08
Kimliksiz yorumlar seçilemez kılınmış durumdadır.

About Huzeyfe ONAL

Bilgisayar mühendisliği eğitiminin ardından 2002 yılından itibaren çeşitli firmalarda UNIX sistem yöneticisi, Ağ güvenliği yöneticisi,yolda Bilgi güvenliği denetim uzmanı, adli bilişim analiz uzmanı olarak görev alan Huzeyfe ÖNAL halihazırda bir GSM firmasında penetrasyon testleri ve alternatif ağ güvenliği çözümleri üzerine çalışmaktadır.
http://www.lifeoverip.net adresinden çeşitli güvenlik konuları üzerine güncel yazılarına ulaşılabilir.



Makale Kategorileri

Hepsi   

Bu Kategori

Hızlı aktarma

Etiketler

Haberler

Güvenlik