Lewati ke konten utama
menjadi.dev
Chapter 12.4 Security Spesialisasi

Penetration Testing Dasar

Cari vulnerability sebelum attacker menemukannya

Tujuan Pembelajaran

  • Memahami metodologi pentest
  • Bisa menggunakan tools dasar

Analogi

Diagram

      Pentest = Security Audit
Cari celah sebelum orang jahat

Seperti pemeriksaan kesehatan
Deteksi dini, pencegahan lebih baik
    

Penetration testing menemukan vulnerability sebelum di-exploit attacker

Penjelasan Konsep

Penetration Testing (Pentest)

Penetration Testing (Pentest) adalah simulasi serangan untuk menemukan vulnerability sebelum attacker yang sebenarnya.

Metodologi pentest

  1. Reconnaissance. Kumpulkan informasi tentang target. DNS, subdomain, tech stack.
  2. Scanning. Scan port, services, vulnerability otomatis.
  3. Exploitation. Coba eksploit vulnerability yang ditemukan.
  4. Post-exploitation. Cari akses lebih dalam lateral movement.
  5. Reporting. Dokumentasikan temuan dengan proof of concept.

Tools pentest

  1. Nmap. Network scanner — port, OS, service detection.
  2. Burp Suite. Web vulnerability scanner dan proxy.
  3. sqlmap. SQL injection automation.
  4. Metasploit. Framework untuk eksploit development.
  5. OWASP ZAP. Open-source web scanner.

Pentest HARUS punya written authorization. Tanpa izin, pentest adalah illegal hacking.

Responsible disclosure

Ketemu vulnerability? Laporkan ke perusahaan, beri waktu 90 hari untuk fix sebelum publish.

Inti yang Perlu Dipahami

Bagian ini berfokus pada memahami metodologi pentest., dan bisa menggunakan tools dasar. Jangan terburu-buru menghafal istilahnya. Lebih penting untuk memahami peran setiap konsep dan kapan konsep itu muncul dalam pekerjaan web development.

Saat membaca Penetration Testing Dasar, gunakan tujuan belajar sebagai penanda arah. Kalau kamu sudah bisa menjelaskan tujuan itu dengan kata-katamu sendiri, berarti fondasinya mulai terbentuk.

Cara Membayangkannya

Penetration testing menemukan vulnerability sebelum di-exploit attacker. Analogi ini dipakai supaya konsep teknis tidak terasa melayang. Hubungkan setiap istilah dengan perannya: siapa yang meminta, siapa yang memproses, data apa yang berpindah, dan hasil apa yang diharapkan.

Kalau analoginya sudah terasa masuk akal, barulah lihat istilah teknisnya. Cara ini membuat materi lebih mudah dipahami daripada langsung menghafal definisi.

Saat Melihat Contoh Kode

Contoh kode pada chapter ini memakai bahasa bash. Bacalah contoh kode sebagai ilustrasi alur, bukan sebagai bagian yang harus langsung dihafal. Nmap scan port dan OS. Sqlmap otomatis test SQL injection. Burp Suite intercept dan modify request.

Perhatikan nama fungsi, urutan langkah, dan data yang berpindah. Biasanya tiga hal itu sudah cukup untuk memahami hubungan antara teori dan praktik.

Konteks dalam Perjalanan Belajar

Setiap konsep di platform ini dipilih karena dipakai di industri. Fokus pada pemahaman, bukan hafalan.

Kamu sudah di bagian lanjutan. Mulai pikirkan bagaimana konsep ini dipakai di dunia kerja — bukan hanya untuk belajar, tapi untuk membangun produk nyata.

Gunakan pertanyaan reflektif dan prompt AI di akhir chapter sebagai latihan aktif. Membaca saja tidak cukup — kamu perlu menjelaskan ulang dengan kata-katamu sendiri.

Contoh Kode

bash
# NMAP — NETWORK SCAN
# Scan port terbuka
nmap -sS target.com

# Scan dengan OS detection
nmap -O target.com

# Scan all ports
nmap -p- target.com

# SQLMAP — SQL INJECTION TEST
sqlmap -u "https://target.com/search?q=test" \
  --batch --level=3 --risk=2

# Burp Suite — intercept request
# 1. Set proxy di browser: 127.0.0.1:8080
# 2. Intercept request di Burp
# 3. Modify dan forward

Penjelasan Kode

Nmap scan port dan OS. Sqlmap otomatis test SQL injection. Burp Suite intercept dan modify request.

Prompt AI

Lakukan port scan terhadap server development kamu.

Pertanyaan Reflektif

Kenapa pentest butuh written authorization?