Penetration Testing: Panduan Lengkap Metodologi, Framework, dan Best Practice untuk Keamanan Organisasi
Daftar Isi 15 bagian
Ringkasan Eksekutif
Penetration testing — atau ethical hacking — adalah simulasi serangan siber yang dilakukan secara terkontrol terhadap sistem, jaringan, atau aplikasi. Tujuannya satu: menemukan celah keamanan sebelum penyerang sungguhan yang menemukannya. Berbeda dengan vulnerability assessment yang hanya memindai dan membuat daftar kerentanan potensial, penetration testing mengambil langkah lebih jauh — mengeksploitasi kerentanan tersebut untuk mengukur seberapa dalam dampaknya dan seberapa mudah penyerang bisa masuk.
Data dari Verizon 2025 Data Breach Investigations Report menunjukkan sesuatu yang mengkhawatirkan: rata-rata organisasi membutuhkan 194 hari untuk mendeteksi sebuah breach. Itu lebih dari setengah tahun. Dalam kurun waktu tersebut, penyerang bisa saja sudah menyusup, bergerak lateral, mengeskalasi hak akses, dan mencuri data tanpa terdeteksi. Di sinilah penetration testing berperan — dengan mensimulasikan serangan secara proaktif, organisasi bisa menemukan dan menutup celah sebelum dieksploitasi.
SANS Institute mencatat bahwa organisasi yang menjalankan pentest minimal dua kali setahun mengalami 62% lebih sedikit insiden keamanan yang berhasil. Angka ini bukan kebetulan. Ketika tim keamanan secara rutin menguji sistem mereka sendiri, mereka membangun pemahaman yang jauh lebih dalam tentang kelemahan infrastruktur — hal yang tidak bisa diberikan oleh automated scanner manapun.
Apa Itu Penetration Testing?
Penetration testing adalah proses sistematis mengidentifikasi dan mengeksploitasi kerentanan dalam sistem komputer, jaringan, atau aplikasi. Tiga syarat mutlak: legal, terotorisasi, dan menggunakan metodologi yang dapat dipertanggungjawabkan. Tanpa ketiganya, aktivitas tersebut bukan pentest — melainkan tindakan kriminal.
Dalam praktiknya, pentest sangat berbeda dari vulnerability assessment yang hanya mengandalkan automated scanner untuk menghasilkan daftar kerentanan. Pentest menggabungkan tools otomatis dengan keahlian manual — eksploitasi yang berhasil membuktikan bahwa kerentanan bukan sekadar entri di database, melainkan jalur nyata menuju kompromi sistem. Sebuah vulnerability scanner mungkin melaporkan ratusan temuan, tetapi hanya pentester yang bisa mengatakan: “dari 100 kerentanan ini, 3 benar-benar bisa digunakan untuk mengambil alih domain controller Anda.”
KARAKTERISTIK PENETRATION TESTING
DEFINISI:
├── Simulasi serangan TERKONTROL dan TEROTORISASI
├── Dilakukan oleh profesional keamanan (ethical hacker/pentester)
├── Menggunakan tools, teknik, dan prosedur (TTP) yang sama dengan attacker
├── Bertujuan mengidentifikasi dan memvalidasi kerentanan
├── Menghasilkan laporan komprehensif dengan rekomendasi perbaikan
└── BUKAN sekadar vulnerability scanning otomatis
PERBEDAAN DENGAN ACTIVITAS KEAMANAN LAIN:
VULNERABILITY ASSESSMENT:
├── Identifikasi kerentanan potensial
├── Menggunakan scanner otomatis (Nessus, Qualys, OpenVAS)
├── TIDAK mengeksploitasi kerentanan
├── Hasil: daftar kerentanan dengan severity rating
└── Sering menghasilkan false positives
PENETRATION TESTING:
├── Identifikasi DAN eksploitasi kerentanan
├── Menggabungkan tools otomatis dengan teknik manual
├── MENGEKSPLOITASI kerentanan untuk validasi dampak
├── Hasil: kerentanan yang terbukti bisa dieksploitasi + business impact
└── Meminimalkan false positives melalui validasi manual
RED TEAMING:
├── Simulasi serangan skenario penuh (full-scale adversary simulation)
├── TIDAK terbatas pada sistem tertentu — seluruh organisasi
├── Menguji DETEKSI dan RESPONS (bukan hanya pencegahan)
├── Durasi: mingguan hingga bulanan
├── Hasil: kelemahan di people, process, dan technology
└── Sering dilakukan tanpa pemberitahuan ke tim keamanan internal
Jenis-Jenis Penetration Testing
KLASIFIKASI PENETRATION TESTING BERDASARKAN CAKUPAN
1. NETWORK PENETRATION TESTING
├── External Network Pentest
│ ├── Simulasi serangan dari internet
│ ├── Target: perimeter security, exposed services, VPN endpoints
│ ├── Fokus: firewall rules, IDS/IPS evasion, port security
│ └── Tools: Nmap, Metasploit, Nessus, Burp Suite
├── Internal Network Pentest
│ ├── Simulasi serangan dari dalam jaringan (insider threat)
│ ├── Target: internal servers, workstations, Active Directory
│ ├── Fokus: lateral movement, privilege escalation, data exfiltration
│ └── Tools: BloodHound, Mimikatz, CrackMapExec, Impacket
└── Wireless Network Pentest
├── Keamanan WiFi: WPA2/WPA3, rogue AP, evil twin
├── Target: access points, wireless clients, captive portals
└── Tools: Aircrack-ng suite, Wifite, Kismet
2. APPLICATION PENETRATION TESTING
├── Web Application Pentest
│ ├── OWASP Top 10: injection, broken auth, XSS, CSRF, dll.
│ ├── API security testing (REST, GraphQL, SOAP)
│ ├── Authentication & authorization testing
│ └── Tools: Burp Suite, OWASP ZAP, SQLMap, ffuf
├── Mobile Application Pentest
│ ├── Android (APK analysis, reverse engineering, runtime manipulation)
│ ├── iOS (IPA analysis, jailbreak detection bypass, keychain access)
│ └── Tools: MobSF, Frida, Objection, APKTool, Jadx
└── Thick Client Pentest
├── Aplikasi desktop: .NET, Java, Electron
├── DLL hijacking, binary exploitation, memory analysis
└── Tools: dnSpy, IDA Pro, Ghidra, Process Monitor
3. CLOUD PENETRATION TESTING
├── AWS, Azure, GCP security assessment
├── IAM privilege escalation, misconfigurations, exposed storage
├── Container security: Docker, Kubernetes
├── Serverless security: Lambda, Azure Functions
└── Tools: ScoutSuite, Prowler, Pacu, CloudSplaining
4. SOCIAL ENGINEERING
├── Phishing campaigns (email, SMS, voice)
├── Physical penetration testing (tailgating, badge cloning, lock picking)
├── USB drop attacks
└── Pretexting dan impersonation (telepon, in-person)
5. SPECIALIZED TESTING
├── IoT/Embedded Device Pentest
├── SCADA/ICS/OT Pentest
├── Blockchain/Smart Contract Audit
├── Code Review/Secure Code Analysis (SAST)
└── Red Team / Purple Team Exercises
KLASIFIKASI BERDASARKAN INFORMASI YANG DIBERIKAN:
BLACK BOX:
├── Tester TIDAK diberi informasi internal
├── Simulasi serangan dari perspektif external attacker
├── Paling realistis — tetapi mungkin melewatkan kerentanan internal
├── Waktu lebih lama karena harus melakukan reconnaissance dari nol
└── Cocok untuk: menguji perimeter dan external-facing systems
GREY BOX:
├── Tester diberi INFORMASI TERBATAS (kredensial user biasa, arsitektur umum)
├── Simulasi serangan dari insider dengan akses terbatas
├── Keseimbangan antara realisme dan efisiensi
├── Paling umum digunakan dalam industri
└── Cocok untuk: sebagian besar skenario pengujian
WHITE BOX:
├── Tester diberi AKSES PENUH (source code, arsitektur, kredensial admin)
├── Simulasi audit keamanan menyeluruh
├── Paling efisien — cakupan pengujian maksimal
├── Kurang realistis dari perspektif attacker
└── Cocok untuk: secure code review, compliance audit
Dalam praktik industri, grey box adalah pendekatan yang paling banyak digunakan — memberikan keseimbangan optimal antara realisme serangan dan efisiensi waktu. Black box memberikan perspektif eksternal yang realistis namun memakan waktu dan biaya lebih besar. White box paling cocok untuk secure code review dan compliance audit di mana kedalaman analisis lebih diutamakan daripada realisme simulasi serangan.
Framework dan Metodologi Pentest
FRAMEWORK PENETRATION TESTING YANG DIAKUI INDUSTRI
1. PTES (Penetration Testing Execution Standard)
├── Framework paling komprehensif untuk pentest teknis
├── 7 fase utama yang saling terkait
├── Dikembangkan oleh komunitas pentester profesional
├── Sumber: http://www.pentest-standard.org/
└── Fase:
├── Pre-engagement Interactions
├── Intelligence Gathering
├── Threat Modeling
├── Vulnerability Analysis
├── Exploitation
├── Post-Exploitation
└── Reporting
2. OSSTMM (Open Source Security Testing Methodology Manual)
├── Framework untuk security testing dan metrics
├── Fokus pada pengukuran faktual (factual measurement)
├── Mencakup 5 channel: Human, Physical, Wireless, Telecommunications, Data Networks
├── Menggunakan konsep RAV (Risk Assessment Values)
├── Versi terbaru: OSSTMM 3 (dikembangkan terus oleh ISECOM)
└── Sumber: https://www.isecom.org/research
3. OWASP TESTING GUIDE
├── Khusus untuk web application security testing
├── Mencakup OWASP Top 10 dan beyond
├── 12 kategori pengujian dengan teknik detail
├── Versi terbaru: OWASP Testing Guide v5
└── Sumber: https://owasp.org/www-project-web-security-testing-guide/
4. NIST SP 800-115
├── Technical Guide to Information Security Testing and Assessment
├── Diterbitkan oleh National Institute of Standards and Technology (NIST)
├── Mencakup 3 fase: Planning, Execution, Post-Execution
├── Target: organisasi pemerintahan AS dan kontraktornya
└── Sumber: https://csrc.nist.gov/publications/detail/sp/800-115/final
5. ISSAF (Information Systems Security Assessment Framework)
├── Framework open source untuk security assessment
├── Mencakup berbagai domain: network, host, application, database
├── Menyediakan panduan langkah demi langkah untuk setiap teknik
└── Dikembangkan oleh OISSG (Open Information Systems Security Group)
6. MITRE ATT&CK for Pentesting
├── Menggunakan framework ATT&CK sebagai blueprint pengujian
├── Memetakan teknik pentest ke taktik adversary nyata
├── Membantu mengukur cakupan pengujian terhadap known adversary TTPs
└── Sumber: https://attack.mitre.org/
Tahapan Penetration Testing
ALUR KERJA PENETRATION TESTING STANDAR
FASE 0: PRE-ENGAGEMENT
├── Menentukan scope dan rules of engagement
├── Penandatanganan kontrak dan NDA
├── Identifikasi sistem dalam scope
├── Menentukan jenis pengujian (black/grey/white box)
├── Menentukan batasan (sistem yang tidak boleh disentuh)
├── Menentukan kontak darurat (emergency contact)
├── Menentukan waktu pengujian (business hours? off-hours?)
├── Persetujuan tertulis (written authorization)
└── Output: Statement of Work (SoW) + Rules of Engagement (RoE)
FASE 1: RECONNAISSANCE (INFORMATION GATHERING)
├── Tujuan: mengumpulkan informasi sebanyak mungkin tentang target
├── Pasif: tanpa interaksi langsung dengan target
│ ├── OSINT: Google dorking, Shodan, Censys, social media
│ ├── WHOIS lookup, DNS enumeration, SSL certificate analysis
│ ├── Wayback Machine, GitHub dorking, job postings
│ └── Email harvesting, document metadata extraction
└── Aktif: interaksi langsung dengan target
├── Port scanning dan service identification
├── DNS zone transfer attempt
├── Web crawling dan directory enumeration
└── Banner grabbing
FASE 2: SCANNING & ENUMERATION
├── Tujuan: mengidentifikasi kerentanan dan vector serangan
├── Vulnerability Scanning
│ ├── Automated: Nessus, OpenVAS, Qualys
│ ├── Manual: service-specific enumeration
│ └── Output: daftar kerentanan dengan CVE/CVSS
├── Service Enumeration
│ ├── SMB enumeration: shares, users, groups
│ ├── SNMP enumeration: network info, device config
│ ├── LDAP enumeration: Active Directory info
│ └── Web enumeration: directories, files, parameters
└── Network Mapping
├── Topologi jaringan
├── Trust relationships
├── Firewall rules analysis
└── Segmentation testing
FASE 3: THREAT MODELING & VULNERABILITY ANALYSIS
├── Menganalisis hasil scanning untuk menentukan attack path
├── Memprioritaskan kerentanan berdasarkan:
│ ├── Exploitability (mudah/sulit dieksploitasi)
│ ├── Impact (dampak terhadap confidentiality, integrity, availability)
│ └── Exposure (seberapa terekspos kerentanan tersebut)
├── Asset-based threat modeling:
│ ├── Identifikasi aset kritis (crown jewels)
│ ├── Petakan jalur menuju aset tersebut
│ └── Tentukan attack chain yang paling mungkin
└── Output: prioritized attack plan
FASE 4: EXPLOITATION
├── Tujuan: membuktikan kerentanan bisa dieksploitasi
├── Mendapatkan akses awal (initial foothold)
├── Privilege escalation (horizontal & vertical)
├── Lateral movement (berpindah antar sistem)
├── Persistence (mempertahankan akses)
└── Data exfiltration (membuktikan dampak)
FASE 5: POST-EXPLOITATION
├── Menentukan nilai dan dampak dari akses yang didapatkan
├── Pivot ke sistem lain (lateral movement)
├── Mengumpulkan bukti (screenshots, logs, extracted data)
├── Menjaga akses (persistence)
├── Membersihkan jejak (cleanup — hanya untuk red team)
└── Analisis business impact
FASE 6: REPORTING
├── Menyusun laporan komprehensif
├── Executive summary untuk manajemen
├── Technical findings dengan bukti
├── Risk rating (CVSS, DREAD, atau custom)
├── Remediation recommendations
├── Presentasi hasil ke stakeholder
└── Debrief dan diskusi
Reconnaissance: Fase Pengumpulan Informasi
Reconnaissance adalah fase paling kritis dalam penetration testing. Kualitas informasi yang dikumpulkan di fase ini menentukan keberhasilan seluruh pengujian. Semakin banyak informasi tentang target, semakin besar peluang menemukan entry point.
TEKNIK RECONNAISSANCE PASIF (PASSIVE RECON)
1. OSINT (OPEN SOURCE INTELLIGENCE)
├── Google Dorking (Google Hacking)
│ ├── site:target.com (semua halaman terindeks)
│ ├── site:target.com filetype:pdf (dokumen PDF)
│ ├── site:target.com inurl:admin (halaman admin)
│ ├── site:target.com intitle:"index of" (directory listing)
│ └── site:target.com ext:sql | ext:bak | ext:log (sensitive files)
├── Shodan/Censys/ZoomEye
│ ├── Mencari perangkat dan servis yang terhubung ke internet
│ ├── org:"Target Corp" (filter by organization)
│ ├── port:22,3389,3306 (specific services)
│ └── Identifikasi: open ports, banner info, outdated software
└── Social Media & Professional Networks
├── LinkedIn: struktur organisasi, teknologi yang digunakan
├── Twitter: informasi real-time tentang organisasi
└── GitHub: source code, API keys, konfigurasi yang terekspos
2. DNS ENUMERATION
├── WHOIS Lookup: informasi registrasi domain
│ ├── Admin/tech contacts (bisa digunakan untuk social engineering)
│ ├── Name servers
│ └── Tanggal registrasi dan expiry
├── DNS Records
│ ├── A/AAAA: alamat IP server
│ ├── MX: mail servers
│ ├── NS: name servers
│ ├── TXT: SPF, DKIM, dan informasi lainnya
│ └── CNAME: alias dan kemungkinan subdomain takeover
├── DNS Zone Transfer (AXFR)
│ ├── Mencoba transfer seluruh zone file dari DNS server
│ ├── dig axfr @ns1.target.com target.com
│ └── Jika berhasil: mendapatkan SEMUA subdomain dan IP
└── Subdomain Enumeration
├── Dictionary-based: ffuf, gobuster, amass
├── Certificate Transparency (CT) logs: crt.sh
└── Tools: subfinder, assetfinder, Amass
3. EMAIL HARVESTING
├── theHarvester: mengumpulkan email dari berbagai sumber
├── Hunter.io: mencari email berdasarkan format domain
├── Email pattern identification: nama.belakang@perusahaan.com
└── Validasi email: mail-tester, email-checker
4. METADATA ANALYSIS
├── FOCA: menganalisis metadata dokumen (PDF, DOCX, XLSX)
├── Informasi yang bisa didapatkan:
│ ├── Username dan nama karyawan
│ ├── Software versions (Office, Adobe, OS)
│ ├── Network paths (UNC paths, internal hostnames)
│ └── Printer dan perangkat jaringan
└── ExifTool: metadata dari gambar dan media lainnya
TEKNIK RECONNAISSANCE AKTIF (ACTIVE RECON)
1. PORT SCANNING
├── Nmap
│ ├── nmap -sS -sV -O -p- target.com (TCP SYN scan, semua port)
│ ├── nmap -sU --top-ports 1000 target.com (UDP scan)
│ └── nmap -sC -sV -p 80,443,8080 target.com (script + version scan)
├── Masscan: scanning super cepat untuk jaringan besar
└── RustScan: modern, fast port scanner
2. WEB ENUMERATION
├── Directory/File Brute-forcing
│ ├── gobuster dir -u https://target.com -w wordlist.txt
│ ├── ffuf -u https://target.com/FUZZ -w wordlist.txt
│ └── dirsearch -u https://target.com
├── Virtual Host Discovery
│ ├── ffuf -u https://target.com -H "Host: FUZZ.target.com"
│ └── Mengidentifikasi subdomain internal
└── Technology Fingerprinting
├── Wappalyzer, WhatWeb, BuiltWith
├── Mengidentifikasi: CMS, framework, server, library versions
└── Membantu mempersempit vulnerability research
3. SMB/SHARE ENUMERATION
├── enum4linux: enumerasi Windows/Samba shares
├── smbclient -L //target -N (list shares)
├── smbmap -H target (map shares dan permissions)
└── CrackMapExec: enumerasi dan eksploitasi massal
Scanning dan Enumeration
VULNERABILITY SCANNING — TOOLS DAN OUTPUT
AUTOMATED SCANNERS:
├── Nessus Professional
│ ├── Scanner komersial paling populer
│ ├── Database kerentanan terbesar (180,000+ plugins)
│ ├── Compliance scanning: CIS, DISA STIG, PCI DSS
│ ├── Kustomisasi: custom plugins dan audit files
│ └── Output: CVSS scores, remediation steps, compliance gaps
├── OpenVAS (Greenbone)
│ ├── Open source vulnerability scanner
│ ├── 50,000+ Network Vulnerability Tests (NVTs)
│ ├── Web-based management interface (GSA)
│ └── Gratis — cocok untuk organisasi dengan budget terbatas
├── Qualys
│ ├── Cloud-based vulnerability management platform
│ ├── Continuous monitoring dengan agent
│ ├── Asset discovery dan inventory otomatis
│ └── Integrasi dengan patch management
└── Nexpose (Rapid7)
├── Real-time vulnerability assessment
├── Integrasi erat dengan Metasploit
├── Live dashboard dan reporting
└── Asset grouping dan risk scoring
MANUAL ENUMERATION TECHNIQUES:
1. SMB (PORT 445)
├── Null session: smbclient -L //target -N
├── User enumeration: enum4linux, samrdump
├── Share permissions: smbmap
└── Kerentanan: EternalBlue (MS17-010), SMBGhost, SMB signing not required
2. LDAP (PORT 389/636)
├── ldapsearch untuk anonymous bind
├── Informasi: users, groups, computers, organizational units
├── BloodHound/SharpHound: AD attack path analysis
└── Kerentanan: weak LDAP signing, null session
3. SNMP (PORT 161/162)
├── Community string default: public, private
├── snmpwalk -v2c -c public target
├── Informasi: network interfaces, running processes, installed software
└── Kerentanan: default community strings, SNMPv1/v2 no encryption
4. WEB APPLICATION ENUMERATION
├── Burp Suite: intercept dan manipulasi HTTP traffic
├── Parameter discovery: Arjun, ParamSpider
├── API endpoint discovery: swagger.json, /graphql, OpenAPI specs
├── Authentication testing: brute force, credential stuffing
└── Session management: token analysis, session fixation
Exploitation: Fase Eksploitasi
STRATEGI EKSPLOITASI
1. INITIAL FOOTHOLD
├── Web Application Exploitation
│ ├── SQL Injection: sqlmap -u "https://target.com/page.php?id=1"
│ ├── Command Injection: ; id, | whoami, `whoami`
│ ├── File Upload: bypass filter, web shell upload
│ ├── LFI/RFI: local/remote file inclusion
│ ├── XXE: XML External Entity injection
│ └── SSTI: Server-Side Template Injection
├── Service Exploitation
│ ├── Metasploit: search dan exploit module yang sesuai
│ ├── Searchsploit: mencari exploit dari Exploit-DB
│ ├── CVE research: mencari PoC untuk CVE yang ditemukan
│ └── Default credentials: admin/admin, tomcat/tomcat
└── Client-Side Attacks
├── Phishing dengan malicious attachment
├── Browser exploits (drive-by download)
└── Malicious macro/VBA di dokumen Office
2. PRIVILEGE ESCALATION
LINUX PRIVESC:
├── Enumeration Scripts
│ ├── LinPEAS: enumerasi menyeluruh (crontab, SUID, capabilities, dll.)
│ ├── LinEnum: enumerasi dasar sistem
│ └── linux-smart-enumeration (lse.sh)
├── Common Vectors:
│ ├── SUID binaries: find / -perm -u=s -type f 2>/dev/null
│ ├── Sudo misconfigurations: sudo -l
│ ├── Cron jobs: menulis ke script yang dijalankan root
│ ├── Writable /etc/passwd: menambahkan user baru
│ ├── Capabilities: getcap -r / 2>/dev/null
│ └── Docker group membership: privilege escalation via container
└── Kernel Exploits
├── Dirty COW, Dirty Pipe, PwnKit
├── uname -a untuk mengetahui kernel version
└── Searchsploit untuk mencari kernel exploit
WINDOWS PRIVESC:
├── Enumeration Scripts
│ ├── WinPEAS: enumerasi menyeluruh
│ ├── PowerUp.ps1: PrivEsc checker dari PowerSploit
│ └── Seatbelt: C# enumeration tool
├── Common Vectors:
│ ├── Unquoted Service Paths
│ ├── Insecure Service Permissions: sc qc, accesschk
│ ├── AlwaysInstallElevated (registry)
│ ├── Token Impersonation (Potato family: Juicy, Rogue, Sweet)
│ ├── DLL Hijacking
│ └── Passwords in files: unattend.xml, sysprep.inf, group policy
└── Active Directory Privilege Escalation
├── Kerberoasting: mendapatkan TGS hash dari SPN accounts
├── AS-REP Roasting: user tanpa pre-authentication
├── DCSync: meniru Domain Controller untuk dump hashes
├── ACL Abuse: memanfaatkan permission yang salah di AD
└── BloodHound: analisis attack path AD
3. PERSISTENCE
├── Linux
│ ├── SSH key: menambahkan public key ke ~/.ssh/authorized_keys
│ ├── Cron job: reverse shell yang dijalankan berkala
│ ├── Systemd service: membuat service yang dijalankan saat boot
│ └── Rootkit: kernel module untuk stealth
└── Windows
├── Scheduled Tasks: schtasks /create /tn "Update" /tr "payload.exe" /sc daily
├── Registry Run Keys: HKLM\Software\Microsoft\Windows\CurrentVersion\Run
├── WMI Event Subscription: menjalankan script saat event tertentu
├── DLL Hijacking: menempatkan malicious DLL di lokasi yang diprioritaskan
└── Golden Ticket / Silver Ticket: persistent domain admin access
Post-Exploitation dan Lateral Movement
POST-EXPLOITATION OBJECTIVES
1. SITUATIONAL AWARENESS
├── whoami / id (user yang sedang digunakan)
├── ipconfig / ifconfig (network interfaces)
├── netstat -ano / ss -tlnp (listening services)
├── arp -a / ip neigh (ARP table — tetangga di jaringan)
├── route print / ip route (routing table)
├── systeminfo / uname -a (OS dan patch level)
└── env (environment variables — kredensial sering tersimpan di sini)
2. CREDENTIAL DUMPING
WINDOWS:
├── Mimikatz
│ ├── sekurlsa::logonpasswords (dump plaintext passwords/NTLM hashes)
│ ├── sekurlsa::tickets (dump Kerberos tickets)
│ ├── lsadump::sam (dump SAM database)
│ └── lsadump::dcsync (DCSync attack)
├── Alternatives (jika Mimikatz terdeteksi AV/EDR)
│ ├── SafetyKatz, Dumpert, PPLDump
│ ├── comsvcs.dll: rundll32.exe C:\Windows\System32\comsvcs.dll MiniDump
│ └── Task Manager: Create dump file of lsass.exe
├── SAM & SYSTEM
│ ├── reg save hklm\sam sam.save
│ ├── reg save hklm\system system.save
│ └── secretsdump.py -sam sam.save -system system.save LOCAL
└── LSASS Memory Dump
├── Procdump, Task Manager, comsvcs.dll
├── mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonpasswords"
└── pypykatz lsa minidump lsass.dmp
LINUX:
├── /etc/shadow (password hashes)
├── /etc/passwd (user accounts)
├── ~/.ssh/ (SSH private keys)
├── ~/.bash_history (command history — mungkin mengandung password)
├── /etc/fstab, ~/.aws/credentials, ~/.azure/accessTokens.json
└── Memory dump: LiME (Linux Memory Extractor), /proc/kcore
3. LATERAL MOVEMENT
WINDOWS:
├── Pass-the-Hash (PtH): menggunakan NTLM hash tanpa mengetahui password
│ ├── crackmapexec smb 192.168.1.0/24 -u admin -H NTLM_HASH
│ ├── impacket-wmiexec, impacket-smbexec, impacket-psexec
│ └── evil-winrm -i target -u admin -H NTLM_HASH
├── Pass-the-Ticket (PtT): menggunakan Kerberos ticket
│ ├── Rubeus, Mimikatz
│ └── export KRB5CCNAME=ticket.kirbi
├── Overpass-the-Hash: mengubah NTLM hash ke Kerberos ticket
├── Remote Desktop Protocol (RDP)
│ ├── Restricted Admin Mode: mstsc.exe /restrictedAdmin
│ └── xfreerdp /u:admin /pth:NTLM_HASH /v:target
└── PowerShell Remoting / WinRM
├── Enter-PSSession -ComputerName target
└── Invoke-Command -ComputerName target -ScriptBlock { whoami }
LINUX:
├── SSH with stolen keys: ssh -i stolen_key user@target
├── SSH agent forwarding hijack
├── .ssh/config: menemukan target lompatan berikutnya
└── Ansible/Chef/Puppet: configuration management bisa dimanfaatkan
4. DATA EXFILTRATION
├── Metode: HTTP POST, DNS tunneling, ICMP tunneling, SSH/SCP
├── Stealth: chunking, encryption, legitimate services (Dropbox, GDrive)
├── Tools: rclone, curl, nc, socat, dnscat2
└── Simulasi: membuktikan data sensitif bisa dikeluarkan tanpa terdeteksi
Reporting: Dokumentasi dan Rekomendasi
STRUKTUR LAPORAN PENETRATION TESTING
1. EXECUTIVE SUMMARY (1-2 HALAMAN)
├── Ringkasan tingkat tinggi untuk manajemen
├── Overall risk rating (Critical, High, Medium, Low)
├── Jumlah kerentanan per kategori severity
├── Gambaran umum attack chain yang berhasil
├── Business impact summary
├── Rekomendasi strategis (tidak teknis)
└── Satu grafik: risk breakdown pie chart
2. METHODOLOGY (1 HALAMAN)
├── Jenis pengujian: Black/Grey/White Box
├── Framework yang digunakan: PTES, OSSTMM, NIST, OWASP
├── Tools yang digunakan
├── Timeline: kapan pengujian dilakukan
└── Scope dan batasan
3. FINDINGS — TEKNIS (UTAMA)
├── Setiap finding dengan format standar:
│ ├── Finding ID: unique identifier (e.g., PT-001)
│ ├── Title: nama deskriptif
│ ├── Severity: Critical/High/Medium/Low/Informational
│ │ └── Berdasarkan CVSS 3.1
│ ├── CVE: jika relevan
│ ├── Location/Affected System: URL, IP, hostname
│ ├── Description: penjelasan kerentanan
│ ├── Proof of Concept (PoC):
│ │ ├── Screenshots dengan timestamp
│ │ ├── Code snippets / command yang dijalankan
│ │ └── Output/response yang membuktikan keberhasilan
│ ├── Impact: dampak bisnis jika dieksploitasi
│ │ ├── Confidentiality impact
│ │ ├── Integrity impact
│ │ └── Availability impact
│ ├── Likelihood: kemungkinan eksploitasi
│ └── Remediation:
│ ├── Short-term fix (workaround)
│ ├── Long-term fix (permanent solution)
│ ├── Patching information (specific KB, update)
│ └── Reference links
└── Urutan: Critical → High → Medium → Low → Informational
4. ATTACK NARRATIVE (OPSIONAL — RED TEAM)
├── Kronologi serangan dari awal hingga akhir
├── Timeline visual dengan milestone
├── Teknik yang digunakan (mapping ke MITRE ATT&CK)
└── Kontrol yang berhasil/bypass
5. APPENDICES
├── Tools used (list lengkap)
├── Glossary of terms
├── CVSS v3.1 calculation details
├── Raw scan output (jika diminta)
└── Evidence file list (nama file dan hash)
RISK RATING GUIDELINES:
CRITICAL:
├── CVSS 9.0 - 10.0
├── Remote code execution tanpa autentikasi
├── Akses langsung ke data sensitif (PII, financial, healthcare)
├── Full domain admin compromise
└── Remediation: SEGERA, dalam 24-48 jam
HIGH:
├── CVSS 7.0 - 8.9
├── Authenticated RCE
├── SQL Injection pada database produksi
├── Privilege escalation dari user ke admin
└── Remediation: dalam 1-2 minggu
MEDIUM:
├── CVSS 4.0 - 6.9
├── Information disclosure terbatas
├── Reflected XSS
├── Missing security headers
└── Remediation: dalam 30-60 hari
LOW:
├── CVSS 0.1 - 3.9
├── Informasi minor (internal IP disclosure)
├── Self-XSS
├── Lack of security-related cookie attributes
└── Remediation: dalam siklus pengembangan normal
INFORMATIONAL:
├── Observasi tanpa risiko langsung
├── Rekomendasi hardening
├── Best practice yang belum diterapkan
└── Tidak ada urgensi — untuk pertimbangan
Tools Pentest Profesional
TOOLKIT PENETRATION TESTING PROFESIONAL
DISTRIBUSI PENTEST:
├── Kali Linux: distribusi standar industri
├── Parrot OS: alternatif dengan fokus privacy
├── BlackArch: repository tools terbanyak (2800+ tools)
└── Commando VM: Windows-based pentest VM (FireEye/Mandiant)
RECONNAISSANCE:
├── Nmap: port scanning dan service detection
├── Amass: subdomain enumeration (OWASP project)
├── theHarvester: email dan domain information gathering
├── Shodan CLI: internet-connected device search
├── Maltego: graph-based intelligence gathering
└── Recon-ng: web reconnaissance framework
VULNERABILITY SCANNING:
├── Nessus: vulnerability scanner (komersial)
├── OpenVAS/Greenbone: open source vulnerability scanner
├── Nikto: web server scanner
├── WPScan: WordPress vulnerability scanner
└── Nuclei: template-based vulnerability scanner
WEB APPLICATION TESTING:
├── Burp Suite Professional: intercepting proxy + scanner
├── OWASP ZAP: open source web application scanner
├── SQLMap: automated SQL injection
├── ffuf: fast web fuzzer
├── Dirsearch: directory brute-forcing
├── Commix: command injection exploitation
├── XSStrike: advanced XSS detection
└── NoSQLMap: NoSQL injection testing
NETWORK EXPLOITATION:
├── Metasploit Framework: exploit development & execution
├── CrackMapExec: post-exploitation Swiss army knife
├── Impacket: network protocols (SMB, WMI, Kerberos, dll.)
├── Responder: LLMNR/NBT-NS/mDNS poisoning
├── Evil-WinRM: Windows Remote Management shell
├── NetExec: CrackMapExec successor
└── Chisel: TCP/UDP tunnel over HTTP
PASSWORD TESTING:
├── Hashcat: GPU-accelerated password cracking
├── John the Ripper: CPU-based password cracking
├── Hydra: online brute force (many protocols)
└── CeWL: custom wordlist generation from websites
WINDOWS/ACTIVE DIRECTORY:
├── BloodHound/SharpHound: AD attack path analysis
├── Mimikatz: credential dumping
├── PowerView/PowerSploit: AD enumeration
├── Rubeus: Kerberos exploitation
├── Seatbelt: system enumeration
├── SharpHound: BloodHound data collector
└── Certipy: AD Certificate Services exploitation
LINUX:
├── LinPEAS: Linux privilege escalation enumeration
├── pspy: unprivileged process monitoring
├── GTFOBins: living-off-the-land binary exploitation
└── Chisel: tunneling
MOBILE:
├── MobSF: Mobile Security Framework
├── Frida: dynamic instrumentation
├── Objection: runtime mobile exploration
├── APKTool: APK reverse engineering
└── Jadx: dex to Java decompiler
CLOUD:
├── ScoutSuite: multi-cloud security auditing
├── Prowler: AWS security assessment
├── Pacu: AWS exploitation framework
├── Cloudsplaining: AWS IAM least privilege analysis
└── kube-bench: Kubernetes security benchmark
REPORTING:
├── Dradis: collaborative pentest reporting
├── Ghostwriter: reporting and project management
├── AttackForge: pentest management platform
├── PlexTrac: reporting and workflow
└── Sysreptor: offensive security reporting
Pentest vs Vulnerability Assessment vs Red Teaming
PERBANDINGAN JENIS PENGUJIAN KEAMANAN
ASPEK | VA SCAN | PENTEST | RED TEAM
-------------------|-----------------|-----------------|------------------
TUJUAN | Identifikasi | Validasi | Uji deteksi &
| kerentanan | kerentanan | respons
-------------------|-----------------|-----------------|------------------
METODE | Otomatis | Manual + | Full adversary
| (scanner) | otomatis | simulation
-------------------|-----------------|-----------------|------------------
DURASI | Jam - Hari | 1-4 Minggu | 3-12 Bulan
-------------------|-----------------|-----------------|------------------
NOTIFIKASI | Diberitahu | Diberitahu | TIDAK diberitahu
TIM DEFENSE | | (IT Security) | (blind test)
-------------------|-----------------|-----------------|------------------
CAKUPAN | Luas (banyak | Terfokus | Target-based
| sistem) | (sistem scope) | (objective)
-------------------|-----------------|-----------------|------------------
HASIL | Daftar vuln | Validated vuln | Attack path +
| + CVSS | + business | detection gaps
| | impact |
-------------------|-----------------|-----------------|------------------
FREKUENSI | Bulanan / | 2x setahun / | 1-2x setahun
| continuous | after major |
| | changes |
-------------------|-----------------|-----------------|------------------
FALSE POSITIVES | Banyak | Sangat sedikit | Tidak relevan
-------------------|-----------------|-----------------|------------------
KAPAN MENGGUNAKAN MASING-MASING:
VULNERABILITY ASSESSMENT:
├── Kepatuhan (PCI DSS, ISO 27001, dll.)
├── Baseline keamanan reguler
├── Setelah deployment infrastruktur baru
├── Budget terbatas (lebih murah dari pentest)
└── Frekuensi: bulanan atau continuous
PENETRATION TESTING:
├── Sebelum go-live aplikasi/sistem baru
├── Setelah perubahan besar (migrasi, upgrade)
├── Untuk memvalidasi kontrol keamanan
├── Compliance requirement (PCI DSS mensyaratkan pentest tahunan)
├── Untuk mendapatkan gambaran realistis keamanan
└── Frekuensi: minimal 1x setahun, ideal 2x setahun
RED TEAM:
├── Organisasi dengan security maturity tinggi
├── Memiliki SOC internal yang perlu diuji
├── Setelah investasi besar di security tools
├── Untuk menguji incident response plan
├── Sebelum menghadapi ancaman spesifik (APT)
└── Frekuensi: 1x setahun atau berbasis skenario ancaman
Membangun Program Pentest untuk Organisasi
STRATEGI MEMBANGUN PROGRAM PENTEST
1. IN-HOUSE vs EXTERNAL
IN-HOUSE PENTEST TEAM:
├── Kelebihan:
│ ├── Pemahaman mendalam tentang infrastruktur
│ ├── Biaya lebih rendah dalam jangka panjang
│ ├── Pengujian bisa lebih sering
│ └── Continuous security improvement
├── Kekurangan:
│ ├── Rekrutmen talenta sulit dan mahal
│ ├── Bias — terlalu familiar dengan sistem
│ ├── Training dan sertifikasi mahal
│ └── Conflict of interest
└── Cocok untuk: enterprise dengan 3000+ karyawan
EXTERNAL PENTEST FIRM:
├── Kelebihan:
│ ├── Perspektif segar (tidak ada bias)
│ ├── Expertise di berbagai domain
│ ├── Sertifikasi dan compliance recognized
│ ├── Tanpa overhead rekrutmen
│ └── Laporan diterima auditor eksternal
├── Kekurangan:
│ ├── Biaya per engagement tinggi ($15,000 - $150,000+)
│ ├── Waktu terbatas (biasanya 1-4 minggu)
│ ├── Kurang memahami konteks bisnis internal
│ └── Ketergantungan pada vendor
└── Cocok untuk: organisasi semua ukuran
HYBRID APPROACH:
├── Tim internal untuk pengujian rutin
├── Firm eksternal untuk pengujian tahunan/strategis
├── Kombinasi terbaik: coverage + fresh perspective
└── Cocok untuk: organisasi menengah-besar
2. FREKUENSI PENTEST
├── Web Applications: setiap rilis major + minimal 1x setahun
├── External Network: 2x setahun
├── Internal Network: 1x setahun
├── Mobile Apps: setiap rilis major
├── Cloud Infrastructure: continuous (automated) + 2x setahun (manual)
├── Social Engineering: 2-4x setahun (kampanye phishing)
├── After Incident: segera setelah insiden besar
├── Merger & Acquisition: sebelum integrasi sistem
└── New Infrastructure: sebelum production go-live
3. MEMILIH VENDOR PENTEST
Kriteria evaluasi:
├── Sertifikasi tim (OSCP, OSCE, GWAPT, GPEN, PNPT, CREST)
├── Pengalaman di industri yang sama
├── Metodologi yang digunakan (PTES, OSSTMM, NIST)
├── Sample report (tanpa data klien)
├── Client references
├── Insurance coverage (professional liability)
├── Data handling dan kerahasiaan temuan
├── Post-assessment support (remediation guidance, re-test)
└── Harga dan value
4. MENGELOLA TEMUAN PENTEST
Remediation workflow:
├── 1. Temuan diterima → register di ticketing system (Jira, ServiceNow)
├── 2. Assign ke pemilik sistem yang bertanggung jawab
├── 3. SLA berdasarkan severity:
│ ├── Critical: 48 jam
│ ├── High: 2 minggu
│ ├── Medium: 30 hari
│ └── Low: 90 hari
├── 4. Verifikasi perbaikan (internal testing)
├── 5. Re-test oleh pentester (opsional, dalam scope)
├── 6. Closure: temuan ditutup setelah diverifikasi
└── 7. Tracking: metric: Mean Time to Remediate (MTTR)
KPI PROGRAM PENTEST:
├── Jumlah temuan per pengujian (trending down = baik)
├── Severity distribution
├── Re-test pass rate (% temuan yang diperbaiki dengan benar)
├── Mean Time to Remediate (MTTR)
├── Coverage: % aset yang diuji dari total aset
└── Cost per finding
Legal dan Etika dalam Pentest
ASPEK LEGAL DAN ETIKA PENTEST
1. WRITTEN AUTHORIZATION (WAJIB)
├── Harus ada DARI pemilik sistem
├── Mencakup:
│ ├── Nama organisasi dan penandatangan yang berwenang
│ ├── Scope: IP ranges, domain, aplikasi spesifik
│ ├── Batasan: sistem yang dikecualikan
│ ├── Periode pengujian: start date, end date
│ ├── Metode yang diizinkan (scanning? exploitation? DoS?)
│ ├── Kontak darurat: nama, telepon, email
│ ├── Data handling: bagaimana data temuan dikelola
│ ├── Insurance dan liability
│ └── Confidentiality clause
└── TANPA dokumen ini = tindakan ILEGAL
2. RULES OF ENGAGEMENT (RoE)
├── Definisi teknis tentang apa yang boleh dan tidak boleh
├── Tools yang diizinkan
├── Waktu pengujian (jam kerja? malam? weekend?)
├── Prosedur eskalasi jika menemukan breach aktif
├── Protokol komunikasi selama pengujian
└── Persetujuan perubahan scope (jika diperlukan)
3. DATA PROTECTION
├── Data temuan disimpan di sistem yang aman (enkripsi at rest)
├── Laporan dikirim melalui channel aman (encrypted email, secure portal)
├── Retensi data: berapa lama data disimpan
├── Data destruction: penghapusan setelah periode retensi
└── GDPR / UU PDP compliance
4. ETHICAL GUIDELINES
├── Tidak mengeksploitasi di luar scope
├── Tidak mencuri atau memodifikasi data produksi
├── Tidak meninggalkan backdoor (kecuali bagian dari persistence test)
├── Membersihkan perubahan setelah pengujian (cleanup)
├── Tidak mengungkapkan temuan ke pihak ketiga tanpa izin
├── Melaporkan kerentanan kritis segera (tidak menunggu laporan final)
└── Conflict of interest disclosure
5. SERTIFIKASI DAN STANDAR PROFESIONAL
SERTIFIKASI PENTESTER:
├── OSCP (Offensive Security Certified Professional)
│ ├── Sertifikasi entry-level paling diakui
│ ├── Ujian praktik 24 jam + laporan
│ └── Offensive Security / Kali Linux
├── OSCE3 (OSCP + OSED + OSEP + OSWE)
│ ├── Sertifikasi tertinggi dari Offensive Security
│ ├── Mencakup: exploit dev, evasion, web expert
│ └── Expert-level
├── GPEN (GIAC Penetration Tester)
│ └── SANS Institute
├── PNPT (Practical Network Penetration Tester)
│ └── TCM Security
├── CREST CRT / CCT
│ ├── Diakui di UK, Eropa, Australia, Asia
│ └── Diperlukan untuk pentest di sektor keuangan UK
└── eCPPT / eWPT (eLearnSecurity / INE)
STANDAR INDUSTRI:
├── PCI DSS: mensyaratkan pentest tahunan + setelah perubahan signifikan
├── ISO 27001: A.12.6 — technical vulnerability management
├── SOC 2: pentest sebagai bagian dari security monitoring
├── HIPAA: security testing untuk melindungi ePHI
├── GDPR: Article 32 — security of processing
└── NIST CSF: DE.CM — continuous security monitoring
Kesimpulan
Penetration testing menempati posisi yang tidak tergantikan dalam strategi keamanan siber modern. Vulnerability assessment bisa memberi tahu ada berapa kerentanan di sistem. Tapi hanya penetration testing yang bisa menjawab pertanyaan yang sebenarnya penting: seberapa parah dampaknya jika kerentanan itu benar-benar dieksploitasi?
Beberapa hal yang perlu diingat:
Gunakan metodologi standar. PTES, OSSTMM, NIST SP 800-115, atau OWASP Testing Guide — pilih satu dan patuhi. Tanpa metodologi yang terstruktur, pentest hanya menjadi latihan teknis tanpa arah yang jelas.
Pilih jenis pengujian sesuai kebutuhan. Black box untuk menguji perimeter dari perspektif luar. White box untuk audit keamanan menyeluruh. Grey box — yang paling banyak digunakan di industri — memberikan keseimbangan antara keduanya. Jangan lupa pertimbangkan social engineering; seringkali itu adalah jalur termudah menuju sistem.
Dokumentasi adalah deliverables utama. Laporan pentest yang berkualitas tidak hanya mencantumkan temuan teknis dengan PoC, tetapi juga menyajikan executive summary yang bisa dipahami manajemen non-teknis. Rekomendasi harus actionable — bukan sekadar “patch sistem Anda.”
Legal bukan formalitas. Tidak boleh ada penetration testing tanpa persetujuan tertulis. Scope, rules of engagement, dan data handling harus didefinisikan sebelum pengujian dimulai. Satu kesalahan administrasi bisa mengubah ethical hacking menjadi tindakan kriminal.
Jadikan siklus, bukan proyek satu kali. Kombinasikan pentest manual tahunan dengan vulnerability scanning continuous, automated security testing dalam CI/CD pipeline, dan periodic red team exercises. Keamanan bukan status yang dicapai sekali lalu selesai — ia adalah proses yang terus berulang.
Organisasi yang mengintegrasikan penetration testing ke dalam security development lifecycle akan memiliki pemahaman yang jauh lebih tajam tentang postur keamanan mereka. Mereka tidak menunggu breach terjadi untuk tahu di mana kelemahannya.
Sumber Referensi: PTES (Penetration Testing Execution Standard) — http://www.pentest-standard.org/, OSSTMM 3 (Open Source Security Testing Methodology Manual) — ISECOM, OWASP Testing Guide v5, NIST SP 800-115 Technical Guide to Information Security Testing and Assessment, MITRE ATT&CK Framework, PCI DSS v4.0 Requirement 11 (Security Testing), SANS Institute Penetration Testing Curriculum, Offensive Security OSCP/OSCE3 Certification Framework.