Basic Penetration Testing and Reporting
Halo teman-teman, pada kesempatan kali ini kita akan membahas tentang penetration testing. Namun sebelum itu kita akan sedikit menyinggung berita yang sedang marak di internet saat ini yaitu tentang kebocoran data. Adanya celah pada sistem bisa menjadi pemicu terjadinya kebocoran data, sistem yang memiliki tingkat keamanan rendah bisa dipengaruhi oleh kurangnya kesadaran dari tim pengembang akan pentingnya keamanan informasi.
Sebelum mempelajari lebih jauh mengenai penetration testing, kita perlu tahu tentang apa itu Keamanan Informasi, biasanya terdapat tiga aspek yang perlu diperhatikan, sering disebut dengan CIA (Confidentiality, Integrity, dan Availability) yang lebih detailnya dijelaskan sebagai berikut:
- Confidentiality
Aspek confidentiality atau kerahasiaan informasi merupakan aspek dimana informasi perlu dirahasiakan dari pihak-pihak yang tidak berwenang dengan menerapkan berbagai upaya perlindungan yang membatasi akses informasi hanya untuk kelompok yang diizinkan.
Coba bayangin kalo di suatu perusahaan ada seorang karyawan yang memiliki jabatan staff namun bisa melihat informasi yang seharusnya hanya untuk para bos atau bayangin kalau temanmu bisa tahu nominal saldo di rekening mu.
- Integrity
Aspek integrity atau integritas dapat diartikan bahwa suatu informasi tidak boleh bisa diubah oleh pihak-pihak yang tidak berkepentingan seperti para peretas sehingga informasi yang tersimpan dapat dijamin keasliannya. Salah satu bentuk implementasi dari integrity adalah penerapan hak akses bahwa hanya user yang diizinkan yang boleh mengubah data.
Misalkan, bayangkan apa jadinya kalau saldo rekeningmu diubah oleh orang lain atau hacker jahat. Yang awalnya 100jt diubah menjadi 100rb dengan cara tertentu yang disebabkan oleh celah sistem bank.
- Availability
Aspek availability atau ketersediaan merupakan aspek keamanan informasi yang menekankan bahwa suatu informasi harus tetap tersedia untuk diakses oleh pengguna yang berkepentingan. Kebayang gak kalau misal ada insiden yang menyebabkan terhapusnya database di sebuah perbankan. Maka jelas kamu tidak bisa menarik uangmu, tidak bisa mengkakses internet banking dan jelas kamu tidak bisa mengakses fitur yang bank sediakan.
Keamanan informasi menjadi poin penting yang perlu diperhatikan dalam mengembangkan suatu sistem, jangan sampai sistem yang dikembangkan dapat diakses oleh pihak-pihak yang tidak bertanggung jawab sehingga data dan informasi di dalamnya disalahgunakan untuk tindak kejahatan yang dapat merugikan pengguna dari sistem tersebut. Oleh karena itu, untuk meminimalisir resiko sistem yang dibangun, maka perlu dilakukan serangkaian proses uji keamanan. Salah satunya adalah penetration testing.
Bagi perusahaan penetration testing ini diperlukan sebagai wujud kepatuhan akan regulasi pemerintah, pihak tertentu (client), aturan internal perusahaan atau kebutuhan khusus (ISO) serta untuk meminimalisir resiko kerugian finansial, reputasi dan sanksi hukum. Sedangkan bagi tim pengembang, penetration testing diperlukan untuk mengetahui celah keamanan sistem atau potensi resiko untuk segera diperbaiki.
Setelah kita memahami CIA, mari kita bahas apa itu Penetration testing ?
Penetration testing atau biasa disebut pentest sendiri merupakan kegiatan menguji suatu sistem untuk menemukan celah keamanan dengan tujuan meminimalisir kerugian finansial, reputasi atau sanksi hukum. Celah yang berhasil ditemukan, selanjutnya segera diperbaiki oleh developer. Penetration testing juga menjadi bukti bahwa sistem tersebut telah memenuhi standar keamanan dan layak digunakan. Penetration Testing biasanya dibagi menjadi beberapa jenis seperti WhiteBox, GreyBox, dan BlackBox.
Dalam WhiteBox penetration testing seorang pentester akan diberikan informasi yang cukup membantu dalam kegiatan pentest seperti alur kerja aplikasi, service yang digunakan pada aplikasi, dan juga kredensial bahkan dari beberapa pengalaman orang ada yang memberikan source code dari aplikasinya untuk bisa mengakses lebih dalam fitur-fitur yang ada pada aplikasi.
Lalu GreyBox penetration testing biasanya seorang pentester hanya akan diberikan sedikit informasi mengenai aplikasi yang akan dilakukan pentest, bisa jadi hanya diberikan kredensial saja.Sedangkan BlackBox penetration testing merupakan jenis pentest yang cukup menarik karena pentester tidak diberikan informasi apapun tentang aplikasi yang akan dilakukan pentest, hanya petunjuk untuk menuju ke aplikasinya saja.
Tahapan dalam melakukan penetration testing yang pertama adalah melakukan Information Gathering, yaitu mencari informasi mengenai target yang berguna untuk fase selanjutnya. Lalu yang kedua Scanning, melakukan scanning terhadap target seperti port scanning, application scanning, dan sebagainya. Selanjutnya Fingerprinting and Enumeration, untuk mengetahui detail lebih lanjut dari layanan target seperti Service Fingerprinting, OS Fingerprinting, dan sebagainya. Lalu melakukan Vulnerability Assessment, ini merupakan tahapan yang sangat penting yaitu mengidentifikasi celah-celah yang kemungkinan bisa terjadi pada target. Selanjutnya melakukan Exploit Research & Verification, untuk validasi dan verifikasi celah-celah yang sudah teridentifikasi valid atau tidak. Dan tahap yang terakhir adalah Reporting, yaitu tahap menuliskan temuan-temuan terkait proses yang sudah dilakukan sebelumnya.
Sedikit tips dalam reporting, usahakan untuk membuat report yang informatif agar bisa dipahami oleh semua pihak, untuk selanjutnya bisa lebih mudah diperbaiki. Lalu jangan lupa menjelaskan step-by-step eksploitasinya dan memberikan saran atau rekomendasi yang bisa segera diimplementasikan dan tepat guna sesuai aplikasi yang diuji. Sebisa mungkin buat rekomendasi perbaikan yang sangat komprehensif
Tidak luput juga, bahwasanya dalam pentesting sering menemukan kendala dalam melakukan pentest. Dan kebanyakan dari kendala tersebut adalah tidak kooperatif dengan para pentester.
Sesuai dengan pengalaman dari penulis yang dialami adalah:
- Terkadang Informasi mengenai kredensial, dokumentasi aplikasi, dan informasi yang diperlukan oleh pentester telat diberikan ke pentester sehingga hasil tidak maksimal dan waktu pentest menjadi terlambat.
- Si Developer tanya secara progresif temuan terbaru, lalu segera diperbaiki. Namun menyanggah report saat presentasi.
- Aplikasi yang sedang dilakukan penetration testing terdapat firewall yang membuat pentester sedikit kewalahan dalam melakukan pentest.
Jadi itulah hal yang bisa dibagikan mengenai Basic Penetration Testing. Semoga dapat memberikan manfaat bagi para pembaca dan bisa dipergunakan ilmunya dengan baik.
Buat kalian yang ingin tau lebih lanjut mengenai penetration testing, besok tanggal 25 September 2022 ada sharing session yang membahas Basic Penetration Testing and Reporting, informasi lebih lanjut ada di link berikut
Ditulis dengan ❤️ oleh Surabaya Hacker Link