Sebuah host yang dikompromikan di jaringan internal tidak berguna tanpa jalur pivot yang andal. Tunnel SOCKS5 melalui SSH menyediakan metode dengan latensi terendah dan paling agnostik terhadap alat untuk pergerakan lateral — namun sebagian besar operator salah mengonfigurasinya atau meninggalkan jejak forensik yang akan segera terdeteksi oleh tim biru yang kompeten. Pada tahun 2024, proxy SOCKS5 yang dikonfigurasi dengan benar masih mengalahkan proxy HTTP CONNECT dalam hal throughput TCP mentah, dan dengan alat seperti proxychains-ng dan Chisel, Anda dapat merutekan nmap, Metasploit, dan skrip kustom melalui satu sesi SSH tanpa menyentuh aturan firewall target.
Mengapa SOCKS5 melalui SSH Lebih Unggul dari Port Forwarding
Port forwarding lokal statis (-L) memaksa Anda untuk memetakan setiap layanan jarak jauh ke port lokal sebelum dapat berinteraksi dengannya. Jika Anda perlu memindai subnet /24, Anda harus membuat 254 forward terpisah. Dynamic forwarding SOCKS5 (-D) mengatasi ini dengan mengekspos proxy SOCKS5 lokal yang merutekan koneksi TCP apa pun melalui tunnel SSH ke host jarak jauh. Protokol ini didefinisikan dalam RFC 1928 dan menangani autentikasi, UDP (opsional), dan IPv6. Dalam praktiknya, Anda mendapatkan satu listener lokal — biasanya pada 127.0.0.1:1080 — dan setiap alat yang mendukung proxy SOCKS dapat menggunakannya. Overheadnya dapat diabaikan: enkripsi SSH menambah sekitar 5-10% CPU, tetapi latensinya jauh lebih rendah dibandingkan VPN atau reverse port forward melalui web shell.
Menyiapkan Listener SOCKS5 di Foothold Linux
Anggap Anda memiliki shell di host Linux di dalam jaringan target. Cara tercepat untuk membuat pivot adalah menjalankan ssh -D 1080 -N -f user@your-listener dari host yang dikompromikan kembali ke mesin serangan Anda. Namun itu memerlukan akses SSH keluar, yang mungkin diblokir. Sebagai gantinya, jalankan dynamic forward dari mesin serangan Anda ke host yang dikompromikan:
ssh -D 1080 -N -f compromised_user@compromised_host
Ini membuka proxy SOCKS5 pada port lokal 1080. Sekarang konfigurasikan proxychains-ng (/etc/proxychains.conf) untuk menggunakan proxy tersebut:
socks5 127.0.0.1 1080
Kemudian jalankan alat TCP apa pun melalui tunnel:
proxychains4 nmap -sT -Pn -p 445,3389 10.10.10.0/24
Perhatikan bahwa nmap memerlukan -sT (pemindaian koneksi TCP) karena SOCKS5 tidak mendukung paket SYN mentah. Untuk Metasploit, atur setg Proxies socks5:127.0.0.1:1080 dan semua modul auxiliary dan exploit akan dirutekan melalui pivot. Teknik ini berfungsi di lingkungan CTF seperti Hack The Box atau Proving Grounds yang tujuannya adalah mencapai subnet kedua.
Chisel, Ligolo-ng, dan Trade-Off
Ketika SSH tidak tersedia — mungkin target menjalankan Windows atau tidak memiliki server SSH — alat tunneling alternatif mengisi celah tersebut. Chisel menggunakan klien dan server berbasis Go yang membuat tunnel TCP melalui HTTP/HTTPS. Jalankan server di mesin serangan Anda: chisel server -p 8000 --reverse. Di host yang dikompromikan, jalankan klien: chisel client your_ip:8000 R:socks. Ini memberi Anda listener SOCKS5 di sisi server. Chisel cepat dan bekerja melalui filter egress yang ketat, tetapi lalu lintasnya tidak dienkripsi secara default — bungkus dengan TLS atau gunakan SSH jika Anda peduli dengan opsec.
Ligolo-ng mengambil pendekatan berbeda: ia membuat tunnel jaringan di Layer 3 menggunakan antarmuka TUN/TAP. Alih-alih SOCKS5, Anda merutekan seluruh rentang IP melalui pivot. Ini berarti Anda dapat menjalankan nmap -sS (pemindaian SYN) tanpa proxychains. Trade-off-nya adalah overhead administratif: Anda memerlukan root di kedua sisi, dan penyiapan tunnel memerlukan penambahan rute di mesin serangan Anda. Untuk CTF di mana Anda mengontrol kedua sisi, Ligolo-ng lebih cepat. Dalam pengujian nyata, pendekatan SOCKS5 lebih portabel karena berfungsi tanpa hak istimewa yang lebih tinggi di host pivot.
Sinyal Deteksi yang Ditinggalkan Penyerang
Setiap metode pivot meninggalkan artefak. Dynamic forward SSH membuat socket listening di host yang dikompromikan — ss -tlnp menunjukkan proses ssh yang terikat pada 127.0.0.1:1080. Tim biru dapat mengorelasikan ini dengan koneksi SSH keluar ke IP eksternal. Proses klien Chisel secara default bernama chisel — mudah dideteksi dengan pemantauan proses. Ligolo-ng memerlukan perangkat TUN (ip link show), yang tidak normal di server.
Lebih buruk lagi, banyak operator lupa membersihkan. Sesi SSH tetap ada sampai host jarak jauh mematikannya atau koneksi terputus. Proxychains tidak meninggalkan artefak lokal, tetapi lalu lintas nmap itu sendiri — pemindaian port yang tidak biasa berasal dari host yang biasanya tidak memindai — memicu peringatan IDS. Kesalahan paling umum adalah menggunakan kembali port SOCKS5 default 1080. Ubah ke port ephemeral tinggi (misalnya, ssh -D 53421) dan buat alias untuk konfigurasi proxychains agar tidak meninggalkan file konfigurasi default. Dalam CTF, semua ini tidak masalah. Dalam penetration test nyata, sinyal-sinyal inilah yang membuat Anda tertangkap.