Simulasi serangan terhadap sistem untuk menemukan kerentanan keamanan sebelum penyerang sungguhan menemukannya.
Penetration Testing (Pentest) adalah metode pengujian keamanan di mana tester mensimulasikan serangan nyata terhadap sistem untuk menemukan kerentanan (vulnerability). Tester berperan sebagai "hacker yang baik" (ethical hacker).
Penetration testing hanya bisa menunjukkan adanya kerentanan, tapi TIDAK bisa membuktikan bahwa sistem 100% aman. Tidak mungkin menguji semua kemungkinan serangan.
Pentest itu seperti menyewa pencuri profesional untuk mencoba masuk ke rumahmu. Kalau dia berhasil masuk lewat jendela belakang, kamu tahu harus memasang kunci di sana. Tapi kalau dia tidak berhasil masuk, bukan berarti rumahmu 100% aman — mungkin pencuri dengan skill berbeda bisa menemukan jalan lain.
| Tipe | Pengetahuan Tester | Simulasi | Kelebihan |
|---|---|---|---|
| Black Box | Tidak tahu apa-apa tentang sistem (kode, arsitektur, credential) | Simulasi serangan dari hacker luar yang tidak punya informasi | Paling realistis |
| White Box | Tahu semua (source code, arsitektur, credential, dokumentasi) | Simulasi serangan dari orang dalam (insider) | Paling menyeluruh (thorough) |
| Gray Box | Tahu sebagian informasi (misalnya akun user biasa) | Simulasi serangan dari user biasa yang punya akses terbatas | Keseimbangan antara realistis dan menyeluruh |
| Scope | Apa yang Diuji? |
|---|---|
| Web Application | Keamanan aplikasi web (SQL Injection, XSS, CSRF, dll.) |
| Network | Keamanan jaringan (port scanning, firewall bypass, sniffing) |
| Mobile | Keamanan aplikasi mobile (Android/iOS) |
| Social Engineering | Manipulasi manusia (phishing, pretexting, baiting) |
| Wireless | Keamanan jaringan nirkabel (WiFi cracking, evil twin) |
| Physical | Keamanan fisik (tailgating, lock picking, dumpster diving) |
| IoT | Keamanan perangkat Internet of Things (smart home, sensor) |
Pentest dilakukan secara sistematis melalui 7 fase berurutan:
Persiapan sebelum pentest. Menentukan scope (apa yang boleh dan tidak boleh diuji), rules of engagement (aturan main), timeline, dan perjanjian legal. Ini fase "kontrak" antara pentester dan klien.
Fase mengumpulkan informasi sebanyak-banyaknya tentang target. Ada 2 jenis:
Mengidentifikasi ancaman potensial dan menentukan prioritas pengujian berdasarkan informasi yang dikumpulkan. Menjawab: "Serangan apa yang paling mungkin dan paling berbahaya?"
Menganalisis dan mengidentifikasi kerentanan spesifik pada sistem. Menggunakan tools seperti Nessus (vulnerability scanner) untuk melakukan scanning otomatis.
Fase "serangan" — mengeksploitasi kerentanan yang ditemukan untuk membuktikan bahwa celah tersebut benar-benar bisa dimanfaatkan. Menggunakan tools seperti Metasploit.
Setelah berhasil masuk, tester menilai seberapa besar dampak yang bisa ditimbulkan. Termasuk: eskalasi privilege, lateral movement, data exfiltration, dan menentukan nilai aset yang bisa diakses.
Membuat laporan lengkap yang berisi temuan, bukti (proof-of-concept), tingkat keparahan, dan rekomendasi perbaikan. Ini adalah hasil akhir yang diberikan ke klien.
Singkat: "PR-TV-EPR" atau ingat alurnya: Persiapan → Info → Prioritas → Celah → Serang → Dampak → Laporan
Setiap tool punya fungsi spesifik. Berikut yang paling sering keluar di soal:
Fungsi: Port scanning & network discovery. Menemukan port yang terbuka, service yang berjalan, dan OS yang digunakan.
Fase: Reconnaissance (Active)
Fungsi: Mengumpulkan email, subdomain, dan nama dari sumber publik (Google, LinkedIn, dll).
Fase: Reconnaissance (Passive)
Fungsi: Vulnerability Scanner — memindai sistem untuk menemukan kerentanan yang sudah diketahui (known vulnerabilities).
Fase: Vulnerability Analysis
Fungsi: Exploitation Framework — menyediakan kumpulan exploit yang siap pakai untuk mengeksploitasi kerentanan.
Fase: Exploitation
Fungsi: Web Application Security Testing — menginteresepsi (intercept) trafik HTTP/HTTPS antara browser dan server. Bisa memodifikasi request/response. Juga bisa melakukan spidering/crawling untuk memetakan struktur aplikasi web.
Fase: Vulnerability Analysis & Exploitation
Fungsi: Web Application Scanner — mirip Burp Suite tapi open-source. Untuk mencari kerentanan web (XSS, SQLi, dll).
Fase: Vulnerability Analysis
Fungsi: Otomatisasi SQL Injection — mendeteksi dan mengeksploitasi kerentanan SQL Injection secara otomatis.
Fase: Exploitation
Fungsi: Network Protocol Analyzer — menangkap dan menganalisis paket data jaringan secara real-time (packet sniffing).
Fase: Reconnaissance / Analysis
Fungsi: Reporting & Collaboration — mengorganisir temuan dari berbagai tools menjadi laporan yang terstruktur.
Fase: Reporting
Spidering (atau crawling) adalah proses otomatis memetakan seluruh struktur aplikasi web — menemukan semua halaman, link, form, dan endpoint yang ada.
Fungsinya:
Fungsi utama spidering/crawling adalah memetakan struktur aplikasi web, BUKAN menyerang atau mengeksploitasi kerentanan.
Active scanning (pemindaian aktif) melibatkan interaksi langsung dengan target. Risikonya:
Penetration testing dapat...
A. Membuktikan bahwa sistem 100% aman
B. Menunjukkan adanya kerentanan, tetapi tidak bisa membuktikan sistem 100% aman
C. Mengganti sistem keamanan
D. Mempercepat performa sistem
Jawaban: B — Pentest hanya bisa menunjukkan kerentanan yang ditemukan, tidak menjamin tidak ada kerentanan lain.
Metasploit digunakan untuk...
A. Membuat laporan pentest
B. Scanning port jaringan
C. Mengeksploitasi kerentanan yang ditemukan pada sistem target
D. Mendesain user interface
Jawaban: C — Metasploit adalah exploitation framework untuk mengeksploitasi kerentanan.
Burp Suite dalam penetration testing digunakan untuk...
A. Mengedit source code
B. Menginteresepsi dan memodifikasi trafik HTTP/HTTPS antara browser dan server
C. Membuat database
D. Mengirim email
Jawaban: B — Burp Suite berfungsi sebagai proxy untuk intercept trafik HTTP/HTTPS.
Kerjakan 15 soal berikut, lalu klik Submit untuk melihat hasilnya.