Sebelum masuk ke materi Penetration Tester Guide, saya akan mengulas sedikit apa itu Penetration Testing. Penetration testing adalah sebuah cara untuk mensimulasikan metode yang bisa digunakan penyerang untuk menghindari kontrol keamanan. Dan mendapatkan hak akses ke dalam sebuah sistem.

Penetration testing ini lebih dari sekedar menjalankan scanner/tools otomatis dan kemudian menyusun laporan bugs. Kamu tidak akan menjadi penetration tester yang ahli dalam semalam. Mungkin waktu bertahun-tahun mempraktikan dan pengalaman di dunia nyata dibutuhkan untuk menjadi ahli.

Saat ini, ada perubahan dalam cara orang menganggap dan menentukan penetration testing dalam industri keamanan. Penetration Testing Execution Standard (PTES) mendefinisikan ulang penetration testing yang akan berpengaruh, baik untuk pemula atau yang berpengalaman. Definisi ini juga sudah disahkan oleh beberapa anggota terkemuka dari komunitas keamanan.

Charter adalah untuk mendefinisikan dan meningkatkan kesadaran tentang penetration testing yang benar. Yang maksudnya membentuk dasar dari prinsip-prinsip dasar yang diperlukan untuk melakukan penetration testing. Jika kamu masih baru dalam hal penetration testing atau belum terbiasa dengan PTES, bisa kunjungi www.pentest-standard.org untuk mempelajari lebih lanjut tentang hal tersebut.

Fase dari PTES

Fase dari PTES ini dirancang untuk menentukan penetration testing dan menjamin organisasi klien tingkat standar dari upaya yang akan dikeluarkan dalam penetration testing oleh siapa saja yang melakukannya. Standar ini dibagi menjadi 7 kategori dengan tingkat yang berbeda tergantung usaha yang diperlukan untuk masing-masing organisasi yang diserang.

1. Pre-engagement Interactions

Interaksi pra-keterlibatan ini biasanya terjadi ketika kamu membahas ruang lingkup dan persyaratan dari penetration testing dengan klien. Hal ini penting kamu sampaikan apa tujuan dari keterlibatan ini selama pra-keterlibatan. Tahap ini juga berfungsi sebagai kesempatan untuk memberitahu secara menyeluruh apa yang bisa diharapkan dari penetration testing ini selama keterlibatan.

2. Intelligence Gathering

Pada tahap ini, kamu akan mengumpulkan informasi apapun yang kamu dapat tentang organisasi klien. Seperti pengumpulan informasi lewat sosial media, Google hacking, footprinting target, dll.

Salah satu keterampilan penting penetration tester adalah memiliki kemampuan untuk mempelajari tentang target. Termasuk bagaimana target berprilaku, beroperasi. dan bagaimana akhirnya bisa diserang. Informasi yang kamu kumpulkan tentang target akan memberikan pemahaman yang berharga tentang jenis kontrol keamanan di tempat.

Selama fase ini juga, kamu mencoba untuk mengidentifikasi mekanisme perlindungan seperti apa yang ada di tempat dan sistem target. Sebagai contoh, sebuah organisasi sering kali hanya akan mengizinkan lalu lintas port bagian tertentu pada perangkat eksternalnya. Dan jika query kamu terdaftar selain dari whitelist, maka kamu akan diblokir. Hal yang sama berlaku ketika kamu menguji aplikasi web. Dimana setelah batas tertentu, aplikasi web firewall akan memblokir kamu dan membuat permintaan lebih lanjut. Agar tetap tidak terdeteksi selama tes, kamu dapat melakukan scan awal dari rentang alamt IP yang tidak dapat dihubungkan kembali kepada kamu.

Notes: Dalam beberapa kasus, mungkin masuk akal untuk menjalankan very noisy scan dari berbagai IP yang sama sekali berbeda selain yang akan kamu gunakan untuk serangan utama. Ini akan membantu kamu menentukan seberapa baik organisasi merespon alat yang kamu gunakan.

3. Threat Modeling

Threat modeling ini menggunakan informasi yang kamu peroleh dalam tahap Intelligence Gathering. Lalu informasi tersebut digunakan untuk mengidentifikasi kerentanan yang ada pada sistem target. Ketika melakukan tahap ini, kamu akan menentukan metode yang paling efektif. Tentu, metode serangan ini menggunakan informasi yang sudah kamu peroleh. Lalu mencari cara bagaimana target bisa mungkin untuk diserang. Dan mencoba untuk mengeksploitasi kerentanan seperti apa yang mungkin akan dilakukan penyerang.

4. Vulnerability Analysis

Setelah mengidentifikasi metode serangan yang paling efektif, kamu perlu mempertimbangkan bagaimana akan mengakses target. Selama Vulnerabilty Analysis ini, kamu akan menggabungkan informasi yang sudah kamu dapat dari tahap sebelumnya. Dan menggunakannya untuk mencari serangan yang akan efektif. Seperti memperhitungkan port akun, scan kerentanan, data yang dikumpulkan oleh banner grabbing, dan infromasi yang berhasil didapat selama Intelligence Gathering.

5. Exploitation

Tahap ini mungkin salah satu bagian yang paling glamour dari penetration testing. Namun tahap ini sering dilakukan dengan brute force atau jalur keras dan membabi buta bukan dengan presisi. Mengeksploitasi dilakukan hanya pada saat kamu tahu bahwa pengeksploitasian ini akan berhasil. Tentu saja, mungkin pada saat di tengah perjalanan akan ada sebuah perlindungan yang tak terduga di tempat target. Hal ini pastinya akan menghambat pada saat mengeksploitasi sebelum kamu memicu kerentanan. Kamu harus tahu betul bahwa sistem target itu rentan.

6. Post Exploitation

Tahap ini merupakan komponen penting dalam penetration testing. Disini kamu akan membedakan kamu dengan penyerang. Dalam tahap ini kamu akan menargetkan spesifik sistem target, mengidentifikasi infrastruktur kritis, dan menargetkan informasi/data sensitif yang target telah berusaha amankan. Dalam tahap ini juga kamu akan mengeksploitasi sistem satu demi satu. Lalu mencoba menunjukan serangan yang memiliki dampak besar terhadap target.

Ketika menyerang dalam tahap Post Exploitation, kamu harus meluangkan waktu untuk mengidentifikasi fungsi dari berbagai macam sistem. Dan juga membedakan masing-masing peran user yang berbeda. Misalnya dalam sistem infrastruktur domain kamu menjalankan sebagai admin. Mungkin kamu menjadi superuser terhadap domain tersebut. Tapi bagaimana dengan sistem yang berkomunikasi dengan Active Directory? Bagaimana dengan aplikasi keuangan utama yang digunakan untuk membayar karyawan? Bisakah kamu mengakses sistem tersebut? Lalu bagaimana juga dengan properti intelektual target?

Anggaplah, misalnya, bahwa target adalah sebuah toko pengembangan perangkat lunak yang mengembangkan aplikasi untuk digunakan dalam lingkungan manufaktur. Dapatkah kamu menyisipkan backdoor ke dalam kode sumber mereka atau sistem mereka?

Post Exploitation merupakan salah satu skenario rumit. Di mana kamu harus meluangkan waktu untuk mengolah informasi yang tersedia dan kemudian menggunakan informasi tersebut. Penyerang umumnya akan melakukan hal yang sama dan menghabiskan banyak waktu di sistem seperti ini. Berpikirlah seperti penyerang, beradaptasi dengan cepat, dan mengandalkan akalmu bukan mengandalkan alat bantu auto mated.

7. Reporting

Reporting merupkan elemen yang jauh lebih penting dalam penetration testing. Kamu akan melaporkan apa yang kamu sudah lakukan. Melaporkan bagaimana kamu melakukannya. Dan yang paling penting, melaporkan bagaimana target harus memperbaiki kerentanan yang ditemukan selama penetration testing.

Ketika melakukan penetration testing, kamu akan bekerja dalam titik pandang penyerang. Informasi tang kamu peroleh pada saat tes sangatlah penting. Untuk mencapai keberhasilan program keamanan informasi target. Dan mengantisipasi serangan yang mungkin akan datang. Ketika Reporting juga kamu harus berpikir tentang bagaimana target menggunakan penemuan kamu. Meningkatkan kesadaran, memulihkan masalah yang ditemukan, dan meningkatkan keamanan secara menyeluruh. Bukan hanya menambal kerentanan teknis.

Pada tahap Reporting ini juga kamu akan membagikan laporan kamu ke dalam rangkuman eksekutif, dan pertemuan teknisi. Pada pertemuan teknisi ini juga kamu akan membahas cara untuk memulihkan kerentanan.

Types of Penetration Tests

Sekarang kamu sudah mengetahui pemahaman dasar dari 7 kategori PTES. Sekarang mari kita mengulas 2 jenis utama dari penetration testing: Secara terbuka dan Secara rahasia. Penetration yang dilakukan secara terbuka atau biasa disebut “white hat” test ini dilakukan dengan sepengetahuan penuh dari target. Sedangkan tes yang dilakukan secara rahasia dilakukan untuk mengsimulasikan tindakan penyerang. Tentu tanpa diketahui dan tanpa pemberitahuan. Kedua jenis tes ini memiliki kelebihan dan kekurangan masing-masing.

1. Penetration Testing Secara Terbuka

Menggunakan cara ini kamu akan bekerja sama dengan target untuk mengidentifikasi potensi ancaman keamanan. Satu manfaat dari tes secara terbuka ini yaitu kamu akan memiliki akses ke informasi rahasia. Dan dapat melancarkan serangan tanpa takut diblokir. Kekurangan tes secara terbuka ini yaitu tes seperti ini tidak mungkin efektif untuk menguji program respon target. Juga menguji seberapa baik program keamanan target dalam mendeteksi serangan dadakan atau serangan tertentu. Ketika waktu kamu mepet dan tidak bisa melakukan langkah-langkah PTES tertentu, mungkin jenis tes ini pilihan terbaik.

2. Penetration Testing Secara Rahasia

Berbeda dengan metode sebelumnya, tes secara rahasia dilakukan untuk mensimulasikan tindakan penyerang. Pastinya tanpa sepengetahuan target. Tes ini dilakukan untuk menguji kemampuan tim keamanan internal target dalam mendeteksi dan menanggapi serangan.

Namun dengan metode ini akan memakan biaya dan memakan waktu. Dan membutuhkan keterampilan yang lebih daripada tes secara terbuka. Dikalangan para penetration tester, metode ini cenderung lebih disukai. Karena metode ini paling dekat untuk mensimulasikan serangan yang sebenarnya. Tes secara rahasia ini mengandalkan kemampuan untuk mendapatkan informasi dengan pengintaian. Oleh karena itu, dalam metide ini biasanya tidak berusaha untuk menemukan beberapa celah kerentanan besar dalam sistem target. Tapi untuk mencoba menemukan cara termudah agar mendapatkan akses kedalam sistem tanpa terdeteksi.

Vulnerability Scanners

Vulnerability Scanner memainkan peran yang sangat penting dalam penetration testing. Terutama dalam tes secara terbuka. Kekayaan pengetahuan yang di peroleh dalam vulnerability scanner akan menjadi berharga. Namun jangan terlalu mengandalkan tahap ini. Seni dari penetration testing yang sebenarnya adalah hal ini tidak dapat dilakukan secara otomatis. Keberhasilan menyerang sistem mengharuskan kamu memiliki pengetahuan dan keterampilan. Dalam kebanyakan kasus ketika menjadi penetration tester, kamu akan jarang menggunakan vulnerability scanner. Tapi kamu akan bergantung pada pengetahuan dan keahlian untuk mengganggu sebuah sistem.

Pulling It All Together

Jika kamu masih baru dalam penetration testing, atau bahkan belum benar-benar mengadopsi metodologi formal, pelajariah PTES. Seperti dalam percobaan apapun, saat melakukan penetration testing pastikan kamu menjalankan proses yang mulus. Dan tentunya mudah beradaptasi dan lakukan secara berulang. Sebagai penetration tester, kamu perlu memastikan Intelligence Gathering dan Vulnerability Analysis dijalankan sebaik mungkin.

Mungkin, hanya itu dulu materi yang bisa saya sampaikan. Sampai berjumpa di bab selanjutnya 🙂


Like it? Share with your friends!

Muhammad Zaky Zulfiqor

I just simple person who like photography, videography, code, and cyber security enthusiast.

Comments

error: Content is protected !!