Penetration testing (Pentest) adalah pengujian terhadap kehandalan suatu sistem dan mendokumentasikan tingkat keamanan aplikasi, sistem komputer atau jaringan. Dari hasil pengujian apabila ditemukan kelemahan suatu sistem maka dengan segera dilakukan patch/penambalan sehingga keamanan sistem akan menjadi lebih kuat. Pentest dilakukan sesuai konteks hukum yang legal.
Untuk target penetration testing meliputi:
1.Layanan yang menggunakan internet (website, VPN endpoint, infrastruktur e-mail, extranet, dll); 2.Sistem internal atau servis yang ada di jaringan (Active Directory, Exchange, dll);
3.Aplikasi tertentu (dibeli atau dikembangkan sendiri);
4.Jaringan internal.
Mengapa perlu melakukan pentest?
Tujuan utama dari pentest
adalah untuk mengidentifikasi adanya kelemahan/celah keamanan dalam aplikasi,
komputer, atau jaringan. Jika kelemahan dapat diidentifikasi dan dapat
dibuktikan beserta dengan analisis resikonya, maka kita akan memiliki waktu untuk memperbaikinya sebelum seseorang yang tidak berkepentingan
mengambil keuntungan dari kelemahan atau celah tersebut.
Pentest ada 2 metode
yaitu:
1.Blackbox Testing
Melakukan penetrasi tanpa mengetahui apapun
mengenai sistem yang di gunakan selain domain aplikasi;
2.Whitebox Testing
Melakukan penetrasi dengan mengetahui informasi mengenai sistem dan logic yang
di gunakan, dimana kita akan mempelajari logic dari pemrograman aplikasi
(code review) kemudian melakukan eksplorasi sehingga ditemukannya
vulnerable/kelemahan supaya diperbaiki menjadi lebih baik.
Kita membagi
lagi ruang lingkup audit pentest sesuai tingkatan yang di butuhkan :
Level 1: General Vulnerability Scanning
Pada level ini kita
mengumpulkan informasi sebanyak-banyaknya, mengidentifikasi semua kelemahan yang
mungkin didapat dan mem-verifikasi kelemahan/vulnerability tersebut. Pada
tingkatan ini kita akan memberikan informasi kelemahan-kelemahan penting yang
ditemukan selama proses assesment namun tidak sampai pada tahap
penetrasi. Tingkatan ini cocok untuk tindakan yang memiliki kebutuhan hanya
untuk melakukan cek keamanan secara global dan berulang/rutin.
Audit
level 1 memiliki tahapan kerja sebagai berikut :
1.Footprinting,
mencari informasi sebanyak mungkin tentang target;
2.Port scanning;
3.Identifikasi dan enumeration service;
4.Vulnerability scanning.
Laporan komprehensif mengenai detail yang diperoleh dari tahapan-tahapan
tersebut
Level 2: Penetration Testing
Audit ini mencakup semua tahapan di
level 1 ditambah beberapa proses kerja lagi. Dari hasil yang diperoleh dari
audit level 1, kita akan melakukan penetrasi untuk membuktikan bahwa
kelemahan tersebut valid dan kita lakukan pembuktian PoC (Proof of Concept). Keuntungan dari audit level 2 adalah kita akan mendapatkan informasi
keamanan yang lebih rinci dan nyata.
Audit level 2 memiliki tahapan kerja
sebagai berikut :
1.Footprinting, mencari informasi sebanyak mungkin
tentang target;
2.Port scanning;
3.Identifikasi dan
enumeration service;
4.Vulnerability scanning;
5.Penetration Testing;
6.Vulnerability exploitation;
7.CVSS Scoring (kalkulasi tingkat
resiko yang dihasilkan dari kelemahan yang didapat). Laporan komprehensif
mengenai detail yang diperoleh dari tahapan-tahapan tersebut.
Level 3: Full Penetration Testing
Audit ini mencakup semua tahapan
di level 2 ditambah beberapa proses kerja lagi pada bagian
penetration testing. Dari hasil yang diperoleh dari audit level 2,
akan dilakukan proses eksploitasi lebih lanjut. Keuntungan dari audit
level 3 adalah audit ini dapat membantu memvalidasi
security policy target.
Audit level 3 memiliki tahapan kerja
sebagai berikut :
1.Footprinting, mencari informasi sebanyak mungkin
tentang target;
2.Port scanning;
3.Identifikasi dan
enumeration service;
4.Vulnerability scanning;
5.Penetration Testing;
6.Vulnerability exploitation;
7.Password Brute Forcing;
8.Password cracking;
9.Privilege escalation;
10.Gaining Root Access;
11.CVSS Scoring.
Laporan komprehensif mengenai detail yang diperoleh dari tahapan-tahapan
tersebut.
Catatan: di sini kita dapat melakukan sesuai kebutuhan sebatas yang diperlukan saja.
Penetration Testing Vectors
Varian vektor keamanan yang akan diuji pada saat penetrasi adalah :
1.Bussiness logic;
2.SQL injection;
3.XSS / Cross Site Scripting;
4.File Inclusion;
5.File upload;
6.Directory Traversal;
7.Access database found;
8.Access Admin Page found;
9.Server exploit;
10.Application Error Message;
11.File Manager Script Exploit;
12.Code Execution;
13.Clickjacking;
14.CSRF Information Disclosure;
15.File Tampering;
16.Weak Password ;
17.Host Header Attack;
18.Git Repository Found;
19.LDAP Injection;
20.PHPinfo Page Found;
21.Backup Data Found.
Demikian informasi singkat yang dapat saya sampaikan, semoga bermanfaat.
Salam
Sehat Selalu :)



