Mari kita membuat trojan. Oh ya, ini
full tutorial untuk ilmu semata, jika disalahgunakan saya tidak akan
bertanggung jawab. Orang bijak tidak bajak. Bagi yang belum tau apa itu
trojan, silakan baca teori trojan yang sangat bagus dan detail Di kesempatan kali ini, kita akan belajar membuat dan memahami cara
kerjanya. Untuk memulai tutorial ini, diharapkan pembaca sudah memiliki
program Metasploit Framework
yang akan selalu digunakan pada tutorial kali ini. Sebagai catatan,
host pemilik trojan dan penyerang akan diperankan oleh (halah kayak
pentas drama aja hahah) mesin Linux Slackware dengan IP address
10.100.254.213, sedangkan korban trojan akan diperankan oleh Windows 7
Ultimate dengan IP address 10.100.239.225.
Kita akan full menggunakan Metasploit
Framework untuk membuat trojannya. Maka dari itu, tentu saja payload
trojan yang akan kita gunakan adalah payload shell dari Metasploitnya.
Ada dua tipe koneksi trojan pada metasploit yang kita gunakan pada
tutorial ini yaitu bind dan reverse. Pada payload jenis bind, akan
dibuka port 4444 pada target dan target yang akan melakukan listen di
port komunikasi ini. Jadi command yang dikirim oleh pemilik trojan akan
dikirim melalui port 4444.
Untuk percobaan jenis koneksi seperti di
atas, berarti kita akan menggunakan payload jenis bind_tcp Metasploit,
tetapi agak beda dengan teori gambar di atas, untuk percobaan ini dicoba
bukan ke port 4444 tapi ke port 19191:
msfpayload windows/shell/bind_tcp LPORT=19191 X > /tmp/a.exe
Maksud command msfpayload di atas adalah
menggenerate payload windows/shell/bind_tcp yang listen di port 19191
dan bertipe exe dan outputnya disimpan di /tmp/a.exe. Selanjutnya file
trojan a.exe ini akan dipindahkan ke user Windows untuk di eksekusi. Di
bawah ini adalah program a.exe yang telah di eksekusi user Windows:
Sementara itu di box Linux penyerang (pemilik trojan), dipasang exploit handler yang akan berinteraksi dengan port 4444 target:
Pada exploit di atas ini, hanya
dilakukan setting host target dan listen portnya (host Windows
10.100.239.225:19191). Yak! tuh dari gambar di atas kita sudah masuk
shell Windows kan? Sementara itu netstat di komputer korban adalah
sebagai berikut:
Cara seperti ini adalah cara jika pada
mesin target tidak memiliki firewall. Kalau saja ada firewall dan
firewallnya dikonfigurasi dengan secure, tentu saja koneksi tidak akan
tercipta. Dari inbound, tentu saja firewall memfilter koneksi yang
datang ke host target (apakah mengizinkan koneksi ke port 19191?). Dari
sisi outbound, lagi-lagi firewall tentu memfilter koneksi yang keluar
dari target.
Untuk itu ada tipe koneksi kedua, yaitu
reverse. Koneksi reverse akan membuat korban yang menginisiasi koneksi
ke listen port yang terletak di mesin penyerang sendiri. Solusi agar
bisa bypass firewall digambarkan sebagai berikut:
Langsung ke prakteknya saja untuk reverse, dimulai dari tahap membuat trojannya:
Command di atas, sekali lagi menggunakan
msfpayload untuk generate trojan shell reverse yang listen di host
10.100.254.213 dengan listen port 80. Hasil generate trojan bernama
b.exe. Setelah b.exe di pindahkan ke mesin Windows dan di eksekusi,
beginilah netstat Windows target sekarang:
Sementara itu di host penyerang jalankan
handlernya dan voila, shell target muncul dan itu berarti payload kita
lolos dari filter firewall port 80.
Trojan b.exe juga bisa digunakan untuk
hacking di scope WAN/Internet karena mekanisme payload ini menggunakan
port 80, port yang umumnya diizinkan firewall untuk masuk atau
keluar. Sekian tutorial membuat trojan menggunakan payload pada
Metasploit plus logika cara kerja connect bind dan reverse. Dengan
menggunakan kreatifitas, trojan a.exe dan b.exe di atas bisa dimodif
agar lebih ampuh berdaya guna (pada kesempatan lain akan di bahas),
misalnya:
- Dibinding dengan file-binder agar menjadi satu file executable dengan file lain (misalnya disatukan dengan notepad.exe)
- Dienkripsi sehingga bisa lolos dari deteksi signature antivirus
- Template .exe nya dibuat mirip dengan file exe tertentu (misalnya dengan file game minesweeper.exe)
- dan sebagainya