Dokumen tersebut memberikan panduan lengkap untuk menjadi penetration tester (penetration testing) mulai dari pengertian, proses, tahapan penting seperti pengumpulan informasi, penilaian kerentanan, eksploitasi, pelaporan, serta contoh struktur laporan. Prosesnya meliputi perjanjian hukum, pengumpulan data target, penilaian risiko, validasi kerentanan melalui eksploitasi, dan memberikan saran perbaikan keamanan berdasarkan hasil uji coba
Bagaimana Belajar Menjadi Seorang Penetration Tester (PenTest)
1. Bagaimana Belajar Menjadi Seorang Penetration Tester (PenTest)
1. Pengertian
Penetration testing dan hacking memiliki pengertian yang sangat dekat, namun ada
sedikit perbedaan diantara keduanya. Keduanya sama sama melakukan serangan pada
system IT baik itu network maupun web application. Namun Penetration testing melakukan
serangan tersebut atas dasar perjanjian kerjasama dengan pemilik system IT yang
berkekuatan hukum, selain itu seorang penetration testing juga harus mampu melakukan
analisa secara menyeluruh terhadap kelemahan yang ada dan mampu membuat
om
kesimpulan atas tingkat kelemahan untuk keseluruhan system IT serta mampu memberikan
l.c
rencana perbaikan / solusi. Sedangkan hacking dilakukan tanpa adanya perjanjian
al
@
gm
keuntungan, protes, atau tantangan dan bahkan ingin terkenal .
ai
kerjasama yang berkekuatan hukum dan dengan banyak motivasi / alasan seperti
riz
2. Proses penetration testing
k.
Pada prakteknya proses penetration testing dibagi menjadi beberapa tahapan, dan tiap
m
ar
tahapan merupakan kunci kesuksesan pada tahapan selanjutnya. Tahapannya adalah :
&
a. Engagement / Perjanjian
l.c
om
b. Information gathering (Pengumpulan informasi) dan scanning
Engagement / Perjanjian
ca
n
2.1.
tik
@
e. Reporting / Pelaporan
gm
d. Exploitation / Eksploitasi
ai
c. Vulnerability assessment / Penilaian kerentanan
ri.
Salah satu cara terbaik untuk memenangkan suatu project adalah dengan
in
d
menggunakan proposal, pertanyaannya adalah apa yang harus kita tuliskan pada proposal
khususnya dalam project penetration testing ? Sebaiknya dalam proposal anda terdapat
ulasan tentang pemahaman anda terhadap kebutuhan, usulan pendekatan / metodologi
(menggunakan scan tools otomatis, pendekatan manual testing, dll). Dalam proposal
tersebut anda harus mampu meyakinkan client bahwa pekerjaan anda akan membawa
nilai bisnis untuk client (kontinuitas, kerahasiaan yang terjaga, menghindari kehilangan uang
karena pelanggaran).
Dalam proposal juga berisi tentang harga pekerjaan dan lama waktu pengerjaan. Untuk
menghitung harga pekerjaan sebaiknya memperhatikan hal hal berikut :
Tipe perjanjian (Black Box | Grey Box...)
Lama pekerjaan
2.
Tools yang digunakan dalam pekerjaan
Jumlah target (IP address, domains, dll).
Anda dapat memberikan biaya per jam jika anda tidak bersedia untuk menghitung
berdasarkan kuantitas jumlah pekerjaan yang diperlukan.
Ketika anda telah memenangkan project , maka perusahaan tersebut akan mengikat kita
secara hukum dengan menandatangani dokumen kontrak dan atau surat perjanjian
kerahasiaan / non disclosure agreement (NDA). Dokumen kontrak tersebut bisa berupa
Memorandum of Understanding (MOU) atau Rules of Engagement (ROE).
MOU pada dasarnya adalah perjanjian singkat seperti apa peran dan tanggung jawab
entitas bagi setiap pihak, apa hukum yang digunakan dalam perjanjian, dll. MOU hampir
om
sama dengan ROE namun ROE lebih detail, sedangkan MOU lebih menjelaskan tentang
l.c
peran dan tanggung jawab pihak yang terkait.
gm
ai
ROE merupakan dasar hukum dari penetration tester bekerja. ROE berisi detail dari apa
al
@
yang akan dilakukan, bagaimana cara melakukan, apa yang didapatkan client sebagai
hasil. Dokumen RoE harus sangat rinci dan mencakup metodologi pengujian, tools yang
k.
riz
akan digunakan, tes yang akan dilakukan, setiap akses, peralatan, atau persyaratan
ar
konektivitas, dan ketentuan lain yang perlu disesuaikan oleh penetration tester dalam
m
perjanjian. Client juga perlu mengetahui kapan perjanjian akan dimulai dan kapan akan
l.c
om
&
berakhir.
Pastikan ketika client membutuhkan dokumentasi dalam perjanjian, bahwa dokumen
ai
yang diberikan harus sangat detail. Ini akan menjadi dokumen yang paling penting selain
gm
nomor kontak yang akan anda tukar dengan client, sehingga anda membutuhkan waktu
@
yang cukup dalam membuat template yang komprehensif dan memiliki landasan hukum
ca
n
tik
untuk memastikan bahwa segala hak dan kewajiban anda dan client telah ditulis dan yang
in
d
hukum anda.
ri.
paling penting adalah mengikat secara hukum. Jika perlu konsultasikan dengan penasehat
Aspek minimum yang perlu anda dan client definisikan dalam dokumen RoE adalah :
Scope / batasan target (IP, domain, server, department, dll)
Time-frame untuk test (tanggal mulai dan selesai, jam perhari yang diperlukan
untuk test)
Orang yang terkait dengan test
Kontak (nomor telpon dan email), sehingga anda dapat telpon untuk keadaan
darurat ketika test)
Pemberitahuan status kemajuan mingguan
Methodology yang digunakan
Tools yang digunakan
3.
Persetujuan untuk melakukan social engineering pada pegawai atau teknik yang
lain seperti password cracking dan denial of service
2.2.
Information gathering (Pengumpulan informasi), dan scanning
Setelah pekerjaan hukum selesai maka anda harus segera memulai pekerjaan
sebagai penetration tester, dan yang harus dilakukan adalah menggali informasi tentang
perusahaan client. Penetration tester harus mengetahui bisnis client tersebut bergerak
dibidang apa? Sehingga anda bisa mengetahui aset terpenting client yang harus
dilindungi dari attacker. Anda juga harus mampu menilai tingkat resiko yang ada pada
setiap aset yang dimiliki oleh client.
@
gm
ai
l.c
om
&
m
ar
k.
riz
al
@
gm
ai
l.c
om
Selanjutnya minimum informasi yang harus anda dapatkan adalah :
ca
n
tik
Bagaimana mendapatkan informasi seperti gambar diatas? Informasi tersebut dapat
diperoleh dari wawancara atau scanning IP Address. Ketika melakukan wawancara atau
in
d
ri.
scanning IP Address kita bisa mendapatkan kerentanan dan bisa menentukan ancaman apa
yang kemungkinan dapat membahayakan bisnis, meskipun terkadang kerentanan dan
ancaman tersebut baru bisa didapatkan setelah kita melakukan analisa lebih mendalam.
2.3.
Vulnerability assessment / Penilaian kerentanan
Tahap ini bertujuan untuk membangun sebuah daftar kerentanan yang ada pada target
sistem. Penetration tester akan melakukan sebuah penilaian kerentanan untuk setiap target
yang ditemukan di tahap sebelumnya. Semakin besar daftar semakin banyak kesempatan
untuk mengeksploitasi sistem. Penilaian kerentanan dapat dilakukan secara manual
(dengan menggunakan data yang dikumpulkan dalam tahap sebelumnya, seperti deteksi
service) atau melalui tool otomatis.
4. Ketika anda melakukan penilaian kerentanan secara manual tanpa bantuan tools
otomatis dan kemudian anda kesulitan menentukan tingkat resiko / dampak kerentanan
tersebut ada pada level high, medium atau low, anda dapat menggunakan referensi dari
OSVDB, Bugtraq ID atau CVE.
Kenapa tahap ini harus dilakukan, dan kenapa tidak langsung saja melakukan
eksploitasi ? Yang perlu diingat adalah tugas penetration tester tidak hanya melakukan
eksploitasi dengan sukses, tetapi juga harus dapat membuat laporan dan analisa
kerentanan system IT yang dimiliki oleh client, sekaligus mampu menjelaskan apa dampak
kerugian yang akan dialami oleh client apabila eksploitasi berhasil dilakukan baik secara
Exploit / Eksploitasi
l.c
2.4.
om
finansial maupun non finansial.
gm
ai
Tahap eksploitasi akan memanfaatkan semua kelemahan yang ditemukan pada langkah
al
@
sebelumnya. Eksploitasi bertujuan memvalidasi adanya kerentanan pada langkah
k.
Reporting / Pelaporan
ar
2.5.
riz
sebelumnya, dan untuk melakukan bypass ke system.
m
Laporan adalah dokumen yang berisi history dan hasil dari project Anda. Sebagai
l.c
om
&
penetration tester, anda harus memahami level hierarki yang ada di perusahaan client. Dan
anda harus mampu berbicara pada setiap level tersebut dengan bahasa mereka. Layer yang
ai
ada di perusahaan biasanya ada 3, yaitu :
gm
1. Executive
@
Di level ini anda berbicara dengan matrik dan grafik yang menyajikan tentang resiko,
ca
n
tik
dan dampak kerugian baik secara finansial maupun non finansial.
2. IT Departement
in
d
ri.
Di level ini anda akan berbicara lebih detail pada tiap departemen tentang
kerentanan beserta dampaknya.
3. Development
Di level ini anda akan berbicara tentang hasil eksploitasi, proof of concept, tips untuk
perbaikan, source code. Disinilah anda dapat menuliskan laporan anda secara
teknik.
Untuk perusahaan yang berskala kecil biasanya hanya terdiri 2 level saja yaitu executive
dan development. Pastikan bahwa client anda dapat memahami laporan yang anda buat.
5. Berikut merupakan contoh struktur laporan :
1. Executive summary
Pada bagian ini anda dapat menceritakan secara singkat sistem IT yang telah anda pentest, kemudian hasil secara keseluruhan tingkat resiko untuk keseluruhan sistem IT
menunjukkan high, medium, atau low. Anda juga dapat menyajikan summary dari hasil
eksploitasi anda berupa grafik tentang vulnerability by impact, vulnerability by cause,
successfull attack by type.
2. Vulnerability report
Pada bagian ini dibagi menjadi dua sub bagian :
a. Detail of vulnerability
om
Pada sub bab ini anda bisa membuat tabel yang berisi tentang tanggal uji coba, nama
l.c
vulnerability / kerentanan, impact level / tingkat dampak, cause / sebab kerentanan, lokasi /
al
@
gm
ai
url. Contoh :
Name of Vulnerability
Impact Level
Cause
12/1/2013
XSS / SQLi / brute force / dll
High / Medium /
Unpacted Software /
Low
0-day vulnerabilities /
Location / url
http://contoh.com/login.php
ar
k.
riz
Tgl
l.c
om
&
m
Misconfiguration /
pada security control
gm
ai
b. Proof of concept
kesalahan implementasi
@
Proof of concept disini bisa menggunakan langkah langkah serangan yang telah sukses
tik
dilakukan. Laporan bisa berupa keterangan yang disertai screenshot hasil uji coba. Semua
ca
n
vulnerability pada tabel diatas yang dapat dilakukan uji coba serangan dan sukses, maka
in
d
ri.
perlu dibuat laporan proof of concept nya.
3. Remediation report
Remediation report bisa dibagi menjadi dua, yaitu rencana jangka pendek dan rencana
jangka panjang. Rencana jangka pendek dapat diterapkan ketika hal tersebut dapat
mengatasi kerentanan yang paling penting (yang memiliki nilai resiko medium dan high) dan
dapat dilakukan sesegera mungkin. Sedangkan rencana jangka panjang dapat diterapkan
ketika membawa manfaat jangka panjang dan perusahaan tidak dapat melakukan dalam
waktu 6-12 bulan ke depan, sehingga membutuhkan investasi waktu dan dana yang besar.
Dalam membuat remediation report, anda bisa berbagi tugas dengan tim anda untuk
memberikan solusi yang terbaik ke client, tapi jika anda bekerja sendiri sebagai seorang
freelance maka anda harus bisa menguasai hal ini. Jadi tugas anda sebagai seorang
6. penetration tester tidak hanya melakukan eksploitasi terhadap system mereka, tapi juga
untuk meningkatkan keamanan dari system mereka.
4. Logs
Logs adalah segala catatan kegiatan penetration testing yang meliputi:
Target yang di test
Type test yang dilakukan
Source IP Address
Tools yang digunakan
Anggota penetration team
om
Tanggal test
ai
l.c
gm
Log ini bisa saja di sertakan dalam laporan yang sudah di buat, jika termasuk dalam
al
@
perjanjian dengan client. Pada dasarnya log ini tidak perlu di sertakan dalam laporan, tapi
bisa sebagai catatan anda sebagai bukti apa saja yang telah terjadi dalam project pentest
ar
k.
riz
ini.
m
Penulis:
l.c
om
&
- Indri (indri.cantik@gmail.com)
in
d
ri.
ca
n
tik
@
gm
ai
- Mark (mark.rizal@gmail.com)