13 Haziran 2017 Salı

Sızma Testi 101 - Backdoor Bağlantıları



Reverse VS Bind

Hacking dünyasına adım atarken ilk öğrenilmesi gereken şeylerin arasında backdoor (arka kapı) bağlantıları var. Fakat bu bağlantıların türlerini ve kullanılan zararlı yazılımların nasıl çalıştığını bilmek büyük önem taşıyor.

Payload üretirken kullandığımız 2 çeşit bağlantı türü var:
  • Bind Bağlantı
  • Reverse Bağlantı

Bind Bağlantı

Diyelim ki izimle aynı ağ üzerinde bulunan bir başka cihaz üzerinde komut çalıştırmanın bir yolunu bulduk. Aşağıdaki gibi bir komut ile cihaz üzerinde bir bind backdoor açabiliriz.

nc -lvp 6666 -e /bin/bash 

Not: Netcat'in Windows versiyonunu kullanarak aynı işlemi şu şekilde de yapabiliriz:  
(nc -lvp 6666 -e cmd.exe) 

 Backdoor'a bağlandık ve (backdoor komutu root kullanıcısı olarak çalıştırıldığı için) işletim sisteminin kontrolünü ele geçirdik.



Bağlantıyı gerçekleştirdikten sonra, yukarıdaki gibi dosya ve dizinlerin içini görüntüleyebilir, dosya ve dizinleri silebilir ve daha birçok şey yapabiliriz.

Karşı taraftaki cihaza bakacak olursak, bağlantının başarılı bir şekilde gerçekleştiğini görebiliriz:
                                 (Evet Kali'yi hedef olarak kullandım...)

Şimdi ise bu küçük backdoor komutumuzu arka planda çalışacak şekilde ayarlayıp bir bash scripti halinde /etc/init.d/ klasörüne kopyalayabiliriz. Böylece bilgisayar her çalıştığında backdoor da otomatik olarak çalışacaktır.

Fakat diyelim ki iç ağa erişimimizi kaybettik veya (diyelim ki kötü niyetli bir hackerız) hedef dizüstünü topladı ve binayı terketti.

Artık oluşturduğumuz backdoor'a tekrar bağlanamayız.

Bahsettiğimiz senaryoda oluşturulan bağlantı aşağıdaki gibidir:

Aynı ağda olduğumuz takdirde, hedef üzerinde gelen bağlantılar için dinleyen 6666 portuna bağlanabiliriz. Fakat araya NAT girdiği zaman bind porta bağlanmamız mümkün olmaz.



Reverse Bağlantı 

İşte bu tür durumlarda devreye reverse bağlantı girer. Aynı senaryoyu yineleyelim. Diyelim ki bir sistem üzerinde komut çalıştırabiliyoruz ve sistem üzerinde bir backdoor açmak istiyoruz. Fakat bu sefer reverse bağlantı kullanıyoruz.


Payload çalıştığı takdirde hedef cihaz bizim önceden belirlediğimiz IP adresine, yani saldırıyı gerçekleştiren tarafa ait bir cihaza bağlanıyor.

Bu tür bir payload oluşturmak için msfvenom gibi bir araç kullanabilir, veya kendi zararlı yazılımımızı yazabiliriz.

Şimdilik "Eskiden Metasploit mi vardı?" diyerek nc ile port 6666 üzerinde bir listener açalım ve karşı tarafta basit bir perl komutu çalıştıralım:


Açtığımız listener'a bakacak olursak da reverse tcp bağlantısının başarılı bir şekilde gerçekleştiğini görebiliriz.


Şimdi tek yapmamız gereken bu komutu /etc/init.d/ klasörüne bir script olarak kaydetmek. Böylece bilgisayar her başlatıldığında gelip bizim cihazımıza bağlanacaktır.



Önemli Not: Bu yazı tamamen eğitim amacı ile yazılmıştır. Yukarıda bahsi geçen saldırıların size ait olmayan veya izninizin olmadığı herhangi bir sistem üzerinde gerçekleştirilmesi yasa dışıdır.










on 13 Haziran by Berk Cem Göksel |   Edit