Smiling woman surrounded by digital and physical currency in a tech office setting.

Cara Melakukan Pentest: Tahapan Penetration Testing dari Scoping hingga Reporting

Cara Melakukan Pentest: Tahapan Penetration Testing dari Scoping hingga Reporting

Bagaimana cara melakukan pentest?

Pertanyaan ini semakin sering muncul seiring meningkatnya penggunaan aplikasi, cloud, API, website, dan sistem digital dalam operasional perusahaan.

Perusahaan tidak cukup hanya mengetahui bahwa sistem memiliki vulnerability.

Pertanyaan yang lebih penting adalah:

Apakah vulnerability tersebut benar-benar dapat dimanfaatkan?

Seberapa besar dampaknya terhadap bisnis?

Apa yang harus diperbaiki terlebih dahulu?

Di sinilah penetration testing atau pentest memiliki peran penting.

Pentest merupakan proses pengujian keamanan yang dilakukan secara terstruktur, terkontrol, dan memiliki otorisasi untuk mengidentifikasi serta memvalidasi kelemahan keamanan pada sistem.

Namun pentest bukan aktivitas yang seharusnya dilakukan secara sembarangan.

Ada proses yang perlu dipersiapkan, mulai dari menentukan scope hingga menyusun laporan hasil pengujian.

Artikel ini membahas tahapan pentest secara lengkap, mulai dari:

Scoping → Reconnaissance → Vulnerability Identification → Validation → Controlled Exploitation → Analysis → Reporting → Remediation → Retesting

Catatan keamanan: Pentest hanya boleh dilakukan terhadap sistem yang Anda miliki atau yang secara eksplisit memberikan izin pengujian. Detail eksploitasi teknis harus selalu disesuaikan dengan scope dan Rules of Engagement (RoE).


Apa Itu Pentest?

Pentest atau penetration testing adalah pengujian keamanan terhadap sistem dengan pendekatan simulasi serangan yang dilakukan secara legal dan terkontrol.

Target pentest dapat berupa:

  • website;
  • web application;
  • mobile application;
  • API;
  • server;
  • network;
  • cloud environment;
  • internal infrastructure;
  • external infrastructure.

Tujuannya bukan merusak sistem.

Tujuannya adalah:

Menemukan, memvalidasi, dan memahami risiko keamanan sebelum kelemahan tersebut dimanfaatkan oleh pihak yang tidak berwenang.


Gambaran Besar Tahapan Pentest

Secara umum, proses pentest dapat digambarkan sebagai berikut:

1. Scoping

↓

2. Authorization & Rules of Engagement

↓

3. Reconnaissance

↓

4. Vulnerability Identification

↓

5. Validation

↓

6. Controlled Exploitation

↓

7. Impact Analysis

↓

8. Reporting

↓

9. Remediation

↓

10. Retesting

Setiap tahap memiliki tujuan berbeda.

Karena itu, pentest bukan sekadar:

“Scan → Hack → Report.”

Pentest profesional membutuhkan proses yang lebih terstruktur.


1. Menentukan Scope Pentest

Tahap pertama adalah menentukan scope.

Scope menjawab pertanyaan:

Sistem apa saja yang boleh diuji?

Misalnya perusahaan memiliki:

  • 10 website;
  • 5 aplikasi;
  • 100 server;
  • 3 API;
  • cloud environment.

Bukan berarti semuanya otomatis masuk scope.

Perusahaan harus menentukan aset mana yang termasuk dalam pengujian.

Contoh Scope

In Scope:

  • app.company.com
  • Customer Portal
  • Public API

Out of Scope:

  • sistem internal tertentu;
  • third-party application;
  • sistem partner.

Dengan scope yang jelas, proses pentest menjadi lebih aman dan terukur.


2. Menentukan Authorization

Pentest harus dilakukan dengan izin yang jelas.

Ini merupakan salah satu perbedaan antara:

Authorized Security Testing

dan

Unauthorized Hacking.

Dokumen authorization sebaiknya menjelaskan bahwa tester memiliki izin untuk melakukan pengujian terhadap target yang telah disepakati.

Tanpa authorization yang jelas, aktivitas pengujian dapat menimbulkan masalah hukum maupun operasional.


3. Menentukan Rules of Engagement

Setelah scope ditentukan, perusahaan dan tester perlu menyepakati Rules of Engagement (RoE).

RoE dapat mencakup:

  • waktu pengujian;
  • metode yang diperbolehkan;
  • sistem yang boleh diuji;
  • aktivitas yang dilarang;
  • batasan pengujian;
  • emergency contact;
  • prosedur jika terjadi gangguan.

Contohnya:

Pengujian hanya dilakukan pada staging environment dan tidak diperbolehkan melakukan tindakan yang berpotensi mengganggu availability sistem.

Aturan seperti ini membantu mengurangi risiko operasional.


4. Menentukan Jenis Pentest

Sebelum pengujian dimulai, tentukan jenis pentest.

Misalnya:

External Pentest

Menguji aset yang dapat diakses dari internet.

Internal Pentest

Menguji keamanan dari perspektif internal network.

Web Application Pentest

Berfokus pada aplikasi web.

Mobile Application Pentest

Berfokus pada aplikasi Android atau iOS.

API Pentest

Berfokus pada keamanan API.

Cloud Pentest

Menguji aset cloud sesuai scope dan kebijakan provider.

Jenis pentest harus disesuaikan dengan tujuan perusahaan.


5. Menentukan Black Box, Gray Box, atau White Box

Pendekatan pengujian juga perlu ditentukan.

Black Box

Tester memperoleh informasi yang sangat terbatas.

Pendekatan ini lebih mendekati perspektif external attacker.

Gray Box

Tester memperoleh sebagian informasi.

Pendekatan ini memberikan kombinasi perspektif attacker dan informasi internal.

White Box

Tester memperoleh informasi yang lebih lengkap mengenai sistem.

Pendekatan ini dapat memungkinkan pengujian yang lebih mendalam.


6. Reconnaissance

Setelah scope dan aturan disepakati, tester mulai memahami target.

Tahap ini disebut reconnaissance.

Tujuannya adalah memahami:

  • aset;
  • teknologi;
  • service;
  • application;
  • architecture;
  • dan attack surface.

Informasi yang dikumpulkan harus tetap berada dalam scope.

Secara sederhana:

Reconnaissance = memahami target sebelum melakukan pengujian lebih lanjut.


7. Attack Surface Mapping

Setelah informasi dikumpulkan, tester dapat membuat pemetaan attack surface.

Misalnya:

Internet

↓

Firewall

↓

Web Application

↓

API

↓

Database

Dari sini tester dapat menentukan area mana yang perlu mendapatkan perhatian.

Attack surface yang besar berarti semakin banyak area yang perlu dikelola.


8. Vulnerability Identification

Tahap berikutnya adalah mencari potensi vulnerability.

Pengujian dapat menggunakan kombinasi:

  • automated scanning;
  • manual testing;
  • configuration review;
  • application testing;
  • security assessment.

Tujuannya adalah menemukan kelemahan yang berpotensi memiliki dampak terhadap keamanan.

Contohnya:

  • authentication weakness;
  • authorization issue;
  • insecure configuration;
  • outdated component;
  • input validation issue;
  • access control weakness.

9. Validasi Temuan

Tidak semua hasil scanning otomatis berarti vulnerability yang dapat dieksploitasi.

Karena itu, temuan perlu divalidasi.

Misalnya scanner menghasilkan:

Potential High-Risk Finding

Tester kemudian melakukan pemeriksaan lebih lanjut.

Hasilnya dapat berupa:

False Positive

atau

Confirmed Finding.

Validasi ini penting agar laporan tidak dipenuhi temuan yang tidak relevan.


10. Controlled Exploitation

Jika vulnerability telah tervalidasi, pengujian dapat dilanjutkan dengan controlled exploitation sesuai scope.

Tujuannya untuk mengetahui:

Apakah vulnerability tersebut benar-benar dapat dimanfaatkan?

Pengujian harus dilakukan dengan hati-hati.

Tester tidak seharusnya mengejar eksploitasi maksimal jika tindakan tersebut dapat:

  • merusak data;
  • mengganggu layanan;
  • menghapus sistem;
  • atau menimbulkan dampak bisnis yang tidak diperlukan.

Prinsipnya:

Prove the risk without creating unnecessary damage.


11. Menguji Attack Path

Pada pentest tertentu, tester tidak hanya melihat satu vulnerability.

Tester dapat mencoba memahami apakah beberapa kelemahan dapat membentuk attack path.

Contoh konseptual:

Initial Access

↓

Privilege Escalation

↓

Access to Internal Resource

↓

Sensitive Data Exposure

Ini memberikan gambaran yang lebih realistis mengenai potensi dampak serangan.


12. Menguji Business Logic

Salah satu bagian penting dari pentest aplikasi adalah business logic testing.

Tidak semua kelemahan dapat ditemukan dengan scanner.

Misalnya aplikasi memiliki proses:

Register

↓

Order

↓

Payment

↓

Approval

↓

Delivery

Tester dapat mengevaluasi apakah terdapat kelemahan dalam workflow tersebut.

Misalnya:

  • proses dapat dilewati;
  • authorization tidak konsisten;
  • validasi tidak berjalan pada kondisi tertentu;
  • user dapat melakukan aktivitas yang seharusnya tidak diperbolehkan.

Karena itu, tester membutuhkan pemahaman terhadap:

Technology + Application + Business Process.


13. Impact Analysis

Setelah temuan ditemukan dan divalidasi, langkah berikutnya adalah menganalisis dampaknya.

Pertanyaan yang perlu dijawab:

Apa yang dapat diakses?

Siapa yang terdampak?

Seberapa besar akses yang diperoleh?

Apakah data sensitif dapat terdampak?

Apakah sistem lain dapat ikut terdampak?

Apa dampaknya terhadap bisnis?

Hasil analisis inilah yang membantu menentukan prioritas remediation.


14. Menentukan Severity

Temuan pentest biasanya diberikan tingkat severity.

Contohnya:

Critical

High

Medium

Low

Namun severity teknis bukan satu-satunya pertimbangan.

Perusahaan juga perlu mempertimbangkan:

Business Impact

Misalnya vulnerability pada sistem yang memproses transaksi utama perusahaan dapat memiliki prioritas tinggi meskipun konteks teknisnya berbeda dengan vulnerability pada sistem yang tidak kritis.


15. Menyusun Evidence

Setiap temuan sebaiknya memiliki evidence yang memadai.

Evidence dapat membantu menunjukkan:

“Temuan ini benar-benar terjadi.”

Evidence harus disajikan secara bertanggung jawab dan tidak membocorkan data sensitif secara tidak perlu.

Contohnya laporan dapat menggunakan:

  • screenshot yang telah disanitasi;
  • request/response yang relevan;
  • hasil observasi;
  • atau bukti teknis lainnya.

16. Menyusun Laporan Pentest

Reporting merupakan salah satu output terpenting dari pentest.

Laporan yang baik harus dapat dipahami oleh dua kelompok:

Technical Team

Membutuhkan informasi teknis untuk melakukan remediation.

Management

Membutuhkan gambaran:

  • risiko;
  • prioritas;
  • dampak;
  • dan rekomendasi.

Karena itu, laporan pentest idealnya memiliki:

Executive Summary

  •  

Technical Findings

  •  

Risk Assessment

  •  

Recommendation


17. Struktur Laporan Pentest

Struktur laporan dapat mencakup:

Executive Summary

Menjelaskan kondisi keamanan secara umum.

Scope

Menjelaskan sistem yang diuji.

Methodology

Menjelaskan pendekatan pengujian.

Findings

Menjelaskan vulnerability yang ditemukan.

Severity

Menjelaskan tingkat risiko.

Evidence

Menunjukkan bukti temuan.

Impact

Menjelaskan potensi dampak.

Recommendation

Memberikan arah remediation.

Conclusion

Memberikan kesimpulan kondisi keamanan.


18. Contoh Format Temuan

Contoh sederhana:

Finding

Broken Access Control

Severity

High

Affected Asset

Customer Portal

Description

Ditemukan kelemahan pada mekanisme authorization yang memungkinkan user tertentu mengakses resource yang seharusnya dibatasi.

Potential Impact

Dapat menyebabkan unauthorized access terhadap data tertentu.

Recommendation

Perkuat server-side authorization dan lakukan validasi access control pada setiap request yang relevan.

Retest

Lakukan pengujian ulang setelah remediation.

Format seperti ini lebih bermanfaat daripada sekadar:

“Ada vulnerability.”


19. Executive Summary untuk Management

Management biasanya tidak membutuhkan detail teknis yang terlalu dalam.

Executive summary dapat menjawab:

Berapa temuan ditemukan?

Berapa yang memiliki prioritas tinggi?

Sistem apa yang paling berisiko?

Apa dampaknya terhadap bisnis?

Apa yang harus dilakukan?

Misalnya:

Hasil penetration testing menemukan beberapa security findings pada customer-facing application. Temuan dengan prioritas tertinggi berkaitan dengan access control dan authentication. Perusahaan direkomendasikan memprioritaskan remediation pada area tersebut dan melakukan retesting setelah perbaikan.

Dengan demikian, management dapat memahami kondisi tanpa harus membaca seluruh detail teknis.


20. Remediation

Setelah laporan diterima, pekerjaan belum selesai.

Perusahaan perlu melakukan:

Remediation

atau tindakan perbaikan.

Contohnya:

  • patch software;
  • memperbaiki konfigurasi;
  • memperkuat access control;
  • memperbaiki code;
  • meningkatkan authentication;
  • memperbaiki security architecture.

Prioritas remediation sebaiknya ditentukan berdasarkan:

Severity + Exploitability + Business Impact + Asset Criticality


21. Retesting

Setelah remediation selesai, lakukan retesting bila sesuai scope dan kebutuhan.

Tujuannya:

Memastikan vulnerability sudah diperbaiki atau risikonya sudah berkurang sesuai target.

Siklusnya:

Finding

↓

Remediation

↓

Retest

↓

Validated

atau

↓

Still Open

Jika vulnerability masih ditemukan, diperlukan remediation lanjutan.


22. Pentest Bukan Sekadar Sekali Selesai

Keamanan sistem bersifat dinamis.

Setelah pentest selesai, perusahaan mungkin:

  • menambah fitur;
  • mengubah architecture;
  • melakukan deployment;
  • menambah API;
  • migrasi cloud;
  • mengganti software.

Perubahan tersebut dapat menciptakan vulnerability baru.

Karena itu, pentest sebaiknya menjadi bagian dari continuous security improvement.


Checklist Tahapan Pentest

Berikut checklist sederhana yang dapat digunakan perusahaan:

Planning

☐ Menentukan tujuan

☐ Menentukan scope

☐ Menentukan target

☐ Menentukan timeline

Authorization

☐ Authorization tersedia

☐ Rules of Engagement disepakati

☐ PIC teknis tersedia

☐ Emergency contact tersedia

Testing

☐ Reconnaissance

☐ Attack surface mapping

☐ Vulnerability identification

☐ Validation

☐ Controlled exploitation

☐ Impact analysis

Reporting

☐ Executive summary

☐ Technical findings

☐ Evidence

☐ Severity

☐ Recommendation

Post-Pentest

☐ Remediation

☐ Retesting

☐ Risk review

☐ Improvement plan


Kesalahan yang Harus Dihindari Saat Melakukan Pentest

1. Tidak Menentukan Scope

Ini dapat menyebabkan pengujian terhadap sistem yang tidak seharusnya diuji.

2. Tidak Memiliki Authorization

Pentest tanpa izin bukan security testing yang sah.

3. Langsung Melakukan Eksploitasi

Pentest harus dimulai dari planning dan scoping.

4. Mengabaikan Business Impact

Temuan teknis harus dikaitkan dengan risiko bisnis.

5. Tidak Melakukan Remediation

Laporan tidak memberikan manfaat maksimal jika tidak ada tindakan perbaikan.

6. Tidak Melakukan Retesting

Perusahaan perlu memastikan perbaikan efektif.


Pentest untuk Perusahaan: Apa yang Harus Dipersiapkan?

Sebelum melakukan pentest, perusahaan sebaiknya memastikan:

1. Asset Inventory

Mengetahui aset yang dimiliki.

2. Scope

Menentukan target pengujian.

3. Authorization

Memastikan izin pengujian.

4. Rules of Engagement

Menentukan batasan.

5. PIC

Menentukan pihak yang bertanggung jawab.

6. Backup & Recovery

Memastikan kesiapan menghadapi kemungkinan gangguan.

7. Remediation Owner

Menentukan siapa yang akan menangani temuan.

Dengan persiapan tersebut, pentest dapat berjalan lebih aman dan menghasilkan output yang lebih bermanfaat.


Apakah Pentest Harus Dilakukan oleh Internal atau Eksternal?

Keduanya dapat digunakan.

Internal Pentest

Kelebihannya:

  • tim memahami lingkungan internal;
  • lebih mudah melakukan follow-up;
  • dapat dilakukan sebagai bagian dari program internal.

Namun dibutuhkan:

  • kompetensi;
  • tools;
  • waktu;
  • dan independensi yang memadai.

External Pentest

Dapat memberikan:

  • perspektif pihak luar;
  • expertise khusus;
  • pendekatan yang lebih independen.

Pilihan bergantung pada kebutuhan dan maturity perusahaan.


Mengapa Kompetensi SDM Penting dalam Pentest?

Tools cybersecurity terus berkembang.

Namun tools bukan pengganti pemahaman.

Seorang security professional perlu memahami:

Network

  •  

Application

  •  

Operating System

  •  

Cloud

  •  

Security

  •  

Risk

  •  

Business Logic

Karena itu, perusahaan yang ingin membangun kemampuan security testing internal perlu mempertimbangkan pengembangan kompetensi SDM.


Training Pentest untuk Meningkatkan Kompetensi Tim

NEMA Academy dapat membantu perusahaan mengembangkan kompetensi melalui Training Pentest dan Cybersecurity yang disesuaikan dengan kebutuhan organisasi.

Materi dapat diarahkan berdasarkan level peserta, mulai dari:

Basic

→

Intermediate

→

Advanced

Topik training dapat mencakup:

  • fundamental penetration testing;
  • vulnerability assessment;
  • reconnaissance;
  • web application security;
  • network security;
  • security testing methodology;
  • vulnerability analysis;
  • reporting;
  • risk assessment;
  • dan remediation.

Untuk kebutuhan perusahaan, training dapat menggunakan pendekatan:

Concept → Demonstration → Practice → Case Study → Review

Dengan demikian, peserta tidak hanya mengetahui apa itu pentest, tetapi juga memahami bagaimana penetration testing menjadi bagian dari proses peningkatan keamanan perusahaan.


Kesimpulan

Cara melakukan pentest tidak dimulai dengan melakukan serangan terhadap sistem.

Proses yang profesional justru dimulai dari:

Scoping

↓

Authorization

↓

Rules of Engagement

↓

Reconnaissance

↓

Vulnerability Identification

↓

Validation

↓

Controlled Exploitation

↓

Impact Analysis

↓

Reporting

↓

Remediation

↓

Retesting

Setiap tahapan memiliki fungsi penting untuk memastikan pengujian dilakukan secara aman, terkontrol, dan memberikan nilai bagi perusahaan.

Hal yang paling penting adalah memahami bahwa:

Pentest bukan sekadar mencari vulnerability.

Pentest membantu perusahaan menjawab:

“Seberapa aman sistem kita jika diuji dari perspektif attacker?”

Dan yang lebih penting:

“Apa yang harus kita lakukan setelah mengetahui risikonya?”

Karena itu, hasil pentest sebaiknya tidak berhenti pada laporan.

Gunakan hasilnya untuk:

Find → Understand → Prioritize → Remediate → Retest → Improve

Dengan pendekatan tersebut, pentest dapat menjadi bagian dari program cybersecurity yang berkelanjutan, bukan sekadar aktivitas pengujian satu kali.

Butuh training IT untuk tim Anda?

NEMA Academy merancang in-house training dan pendampingan yang disesuaikan dengan kebutuhan organisasi Anda. Konsultasikan kebutuhan tim Anda langsung dengan kami.