â˜€ī¸Siang
Keamanan

Penetration Testing untuk Pemula

Panduan lengkap mempelajari penetration testing dari nol — methodology, reconnaissance, scanning, exploitation, reporting, dan pengenalan Kali Linux sebagai toolkit utama ethical hacker

Artikel: Penetration Testing Artikel: Penetration Testing


1. Pengenalan Penetration Testing

Penetration Testing (atau disingkat pentest) adalah simulasi serangan siber yang dilakukan secara sistematis dan terstruktur terhadap sistem, jaringan, atau aplikasi — dengan izin resmi dari pemilik sistem. Tujuannya adalah mengidentifikasi kelemahan keamanan sebelum penyerang sungguhan menemukannya.

Penetration testing berbeda dari vulnerability scanning yang hanya mendeteksi kerentanan. Dalam pentest, tester benar-benar mencoba mengeksploitasi kerentanan untuk membuktikan dampak nyata yang bisa terjadi. Ini memberikan gambaran yang lebih realistis tentang risiko keamanan yang dihadapi organisasi.

Jenis-Jenis Penetration Testing

Jenis Basis Pengetahuan Simulasi Kegunaan
Black BoxTidak ada informasi — tester seperti penyerang asingExternal attacker tanpa akses internalMenguji pertahanan dari luar
White BoxFull akses — source code, arsitektur, kredensialInsider threat atau code reviewAnalisis mendalam, coverage tinggi
Grey BoxInformasi parsial — beberapa akses terbatasAuthenticated user atau karyawanSimulasi realistis, efisien

Cakupan Penetration Testing

Cakupan Target Contoh Tools
Network PentestInfrastruktur jaringan, server, firewallNmap, Metasploit, Nessus
Web Application PentestAplikasi web, API, backendBurp Suite, OWASP ZAP, sqlmap
Mobile App PentestAplikasi Android/iOSAPKTool, Frida, MobSF
Social EngineeringManusia — phishing, pretextingGoPhish, SET Framework
Wireless PentestWiFi, Bluetooth, protokol nirkabelAircrack-ng, Kismet
Physical PentestAkses fisik ke gedung/ruang serverLockpicks, RFID cloners
âš ī¸ Peringatan Hukum

Penetration testing HARUS selalu dilakukan dengan izin resmi tertulis dari pemilik sistem. Melakukan testing tanpa izin adalah tindak pidana yang dapat diancam hukuman berdasarkan UU ITE (Undang-Undang Informasi dan Transaksi Elektronik). Selalu pastikan ada scope of work dan rules of engagement yang disetujui kedua belah pihak sebelum memulai.

Diagram: Perbandingan Tipe Pentest

đŸŽ¯ PENETRATION TESTING TYPES

BLACK BOX (External)

WHITE BOX (Internal)

GREY BOX (Hybrid)

Tidak ada info sistem

Simulasi attacker luar

100% realistis

Full akses source code & infra

Audit mendalam dari dalam

60% coverage

Partial info (akun user, API docs)

Kombinasi external + internal

75% balanced



2. Methodology & Framework

Penetration testing yang profesional selalu mengikuti methodology yang terstruktur dan terdokumentasi. Ini memastikan testing dilakukan secara menyeluruh, konsisten, dan hasilnya dapat dipertanggungjawabkan. Beberapa framework populer yang digunakan di industri:

PTES (Penetration Testing Execution Standard)

Fase Aktivitas Durasi Khas
1. Pre-engagementScope, rules of engagement, kontrak, legal1-2 minggu
2. Intelligence GatheringOSINT, footprinting, informasi publik1-3 hari
3. Threat ModelingIdentifikasi aset kritis dan vektor serangan1 hari
4. Vulnerability AnalysisScanning dan identifikasi kelemahan2-3 hari
5. ExploitationMencoba mengeksploitasi kelemahan yang ditemukan3-5 hari
6. Post-ExploitationPrivilege escalation, lateral movement, data exfil2-3 hari
7. ReportingDokumentasi temuan, rekomendasi, executive summary3-5 hari

OWASP Testing Guide

Untuk web application pentest, OWASP Testing Guide adalah referensi utama. Panduan ini mencakup:

Diagram

🔍 Spider / Crawl

Hasil: daftar URL, parameter, form

Intercept & Passive Scan

Hasil: insecure headers, cookie tanpa flags

Active Scan - Kirim payload test

Hasil: XSS, SQLi, CSRF, path traversal

Test API endpoints secara manual

Tools: Postman, Burp Suite

Cek: auth, authorization, input validation

Test brute force & session management

Business logic flaws & race conditions



5. Exploitation (Eksploitasi)

Fase exploitation adalah inti dari penetration testing — di mana tester benar-benar memanfaatkan kerentanan yang ditemukan untuk mendapatkan akses ke sistem. Ini membuktikan bahwa kerentanan tersebut memiliki dampak nyata dan bukan sekadar teori.

Metasploit Framework

Diagram

Vulnerability Discovered

Research CVE & Exploit DB

Find/Write Exploit

Testing in Lab

Execute Exploit

Success! Access!

Failed - Try Another



6. Reporting & Documentation

Reporting adalah fase paling penting — bahkan lebih penting dari exploitation itu sendiri. Laporan yang baik mengubah temuan teknis menjadi aksi perbaikan yang bisa dipahami oleh manajemen dan diterapkan oleh tim IT. Tanpa laporan yang baik, seluruh usaha penetration testing menjadi sia-sia.

Struktur Laporan Pentest

Text — Contoh Struktur Laporan Pentest
LAPORAN PENETRATION TESTING
Severity : CRITICAL (CVSS 9.8)
Location : https://app.contoh.com/login
Description : Parameter 'username' vulnerable to SQL injection
Impact : Full database access, data exfiltration
Evidence : [Screenshot + Proof of Concept]
Remediation : Gunakan parameterized queries (prepared statements)
References : CWE-89, OWASP A03:2021
Severity : HIGH (CVSS 7.5)
Location : https://app.contoh.com/api/auth
Description : No rate limiting on authentication endpoint
Impact : Brute force attack possible
Evidence : [1000 requests tanpa block]
Remediation : Implement rate limiting (5 attempts/15 min)
References : CWE-307, OWASP A07:2021

Severity Classification

Severity CVSS Score Response Time Contoh
🔴 Critical9.0 - 10.0Immediate (24 jam)RCE, SQL Injection, Auth Bypass
🟠 High7.0 - 8.91 mingguStored XSS, Privilege Escalation
🟡 Medium4.0 - 6.91 bulanCSRF, Information Disclosure
đŸŸĸ Low0.1 - 3.9QuarterlyMissing headers, verbose errors
â„šī¸ Info0.0Best practiceOutdated software version


7. Pengenalan Kali Linux

Kali Linux adalah distribusi Linux yang dirancang khusus untuk penetration testing, security research, dan digital forensics. Dikembangkan oleh Offensive Security, Kali Linux hadir dengan lebih dari 600 tools keamanan yang sudah terinstall dan dikonfigurasi. Ini adalah operating system yang paling banyak digunakan oleh ethical hacker dan security professional di seluruh dunia.

Setup Kali Linux

Bash — Kali Linux Setup
# =============================================
# KALI LINUX — Setup & Essential Commands
# =============================================

# Download Kali Linux dari: https://www.kali.org/get-kali/
# Opsi instalasi:
# 1. VM Image (VirtualBox/VMWare) — paling mudah untuk pemula
# 2. Bootable USB — untuk bare metal installation
# 3. WSL (Windows Subsystem for Linux) — untuk Windows
# 4. Kali NetHunter — untuk Android

# Update system setelah install
sudo apt update && sudo apt upgrade -y

# Install tools tambahan
sudo apt install -y kali-linux-large    # Collection populer
sudo apt install -y kali-tools-web      # Web app testing
sudo apt install -y kali-tools-network  # Network analysis
sudo apt install -y kali-tools-exploitation  # Exploitation tools

# Tools yang WAJIB dikuasai:
# ┌────────────────────â”Ŧ───────────────────────────────────┐
# │  Tool              │  Fungsi                           │
# ├────────────────────â”ŧ───────────────────────────────────┤
# │  Nmap              │  Port scanning & enumeration      │
# │  Burp Suite        │  Web app testing proxy            │
# │  Metasploit        │  Exploitation framework           │
# │  sqlmap            │  Automated SQL injection          │
# │  John the Ripper   │  Password cracking                │
# │  Hashcat           │  GPU-accelerated hash cracking    │
# │  Aircrack-ng       │  Wireless network auditing        │
# │  Wireshark         │  Network packet analysis          │
# │  Gobuster          │  Directory/DNS brute-forcing      │
# │  Nikto             │  Web server scanner               │
# │  Hydra             │  Login brute-force                │
# │  WPScan            │  WordPress vulnerability scanner  │
# │  Recon-ng           │  Reconnaissance framework        │
# │  Maltego           │  OSINT & link analysis            │
# └────────────────────┴───────────────────────────────────┘

Lab Environment untuk Latihan

Text — Setting Up Pentest Lab
Metasploit.
(Target)
192.168.1.10
SETTING UP YOUR OWN PENTEST LAB
Tujuan: Berlatih penetration testing secara LEGAL di lingkungan sendiri
Required:
- PC/Laptop: RAM minimal 8GB, 50GB free disk
- VirtualBox atau VMWare Workstation (gratis)
VM yang harus diinstall:
1. Kali Linux (attacker machine)
https://www.kali.org/get-kali/
2. Metasploitable 2/3 (vulnerable target)
https://sourceforge.net/projects/metasploitable/
3. DVWA — Damn Vulnerable Web Application
https://github.com/digininja/DVWA
4. OWASP WebGoat
https://owasp.org/www-project-webgoat/
5. VulnHub machines (various difficulty)
https://www.vulnhub.com/
Network Setup:
Kali Linux ◄â–ē
(Attacker) Host
192.168.1.5 Only
Net
- Gunakan "Host Only Network" agar terisolasi dari internet
- JANGAN pernah targetkan VM ke internet!
Online Practice Platforms (LEGAL):
- TryHackMe (tryhackme.com) — Pemula sampai menengah
- HackTheBox (hackthebox.com) — Menengah sampai lanjut
- PentesterLab (pentesterlab.com) — Web app focused
- OverTheWire (overthewire.org) — Wargame challenges
- PicoCTF (picoctf.org) — CTF untuk pemula
💡 Sertifikasi Penetration Testing
  • CEH (Certified Ethical Hacker) — Sertifikasi entry-level, diakui secara global
  • CompTIA PenTest+ — Sertifikasi intermediate untuk pentester
  • OSCP (Offensive Security Certified Professional) — Sangat prestisius, berbasis hands-on exam 24 jam
  • eJPT (eLearnSecurity Junior Penetration Tester) — Bagus untuk memulai
  • GPEN (GIAC Penetration Tester) — Advanced enterprise certification


8. Quiz: Uji Pemahamanmu!

Setelah membaca tutorial di atas, jawablah 5 pertanyaan berikut untuk menguji pemahamanmu tentang Penetration Testing:

Pertanyaan 1: Apa perbedaan utama antara penetration testing dan vulnerability scanning?

a) Tidak ada perbedaan, keduanya sama
b) Pentest mengeksploitasi kerentanan untuk membuktikan dampak, sedangkan vulnerability scanning hanya mendeteksi
c) Vulnerability scanning lebih berbahaya dari pentest
d) Pentest dilakukan tanpa izin, vulnerability scanning dengan izin

Pertanyaan 2: Tipe penetration testing apa yang tester tidak diberikan informasi apapun tentang target?

a) White Box
b) Grey Box
c) Black Box
d) Blue Box

Pertanyaan 3: Dalam fase mana tester mengumpulkan informasi tentang target tanpa berinteraksi langsung?

a) Exploitation
b) Scanning
c) Reporting
d) Passive Reconnaissance

Pertanyaan 4: Tool apa yang digunakan untuk automated SQL injection exploitation?

a) Nmap
b) sqlmap
c) Nikto
d) Hydra

Pertanyaan 5: Operating system apa yang paling banyak digunakan oleh penetration tester?

a) Windows 11
b) Ubuntu Desktop
c) Kali Linux
d) macOS
🔍 Zoom
100%
🎨 Tema