SKRIPSI PENGUJIAN KETAHANAN WEBSITE MENGGUNAKAN FRAMEWORK ISSAF DAN OWASP Laporan Skripsi Disusun Guna Memenuhi Syarat Kelulusan Studi di Program Studi S1 Informatika Institut Teknologi Telkom Purwokerto Disusun Oleh: HENDRA RAMADHAN 13102014 PROGRAM STUDI S1 INFORMATIKA FAKULTAS TEKNOLOGI INDUSTRI DAN INFORMATIKA INSTITUT TEKNOLOGI TELKOM PURWOKERTO 2017
ii
iii
KATA PENGANTAR Ucapan syukur alhamdulillah segala puji bagi Allah SWT atas berkat dan kuasa-nya sehingga mengijinkan penulis untuk mampu menyelesaikan laporan skripsi ini. Penyusunan laporan skripsi ini merupakan salah satu syarat kelulusan untuk memperoleh gelar Sarjana di Program Studi S1 Informatika Institut Teknologi Telkom Purwokerto. Adapun judul skripsi ini, yaitu PENGUJIAN KETAHANAN WEBSITE MENGGUNAKAN FRAMEWORK ISSAF DAN OWASP. Tentunya dalam penyelesaian penulisan laporan skripsi ini tidak terlepas dari bimbingan, dukungan, motivasi, doa serta bantuan dari berbagai pihak. Oleh sebab itu dalam kesempatan ini penulis mengucapkan terima kasih yang sebesar-besarnya kepada: 1. Bapak, ibu tercinta yang selalu memberikan doa, nasihat dan motivasi yang tiada henti bagi penulis. 2. Bapak Dr. Ali Rokhman, M.Si. selaku Ketua Institut Teknologi Telkom Purwokerto. 3. Bapak M.Zidny Naf an,s.kom., M.Kom. selaku dosen pembimbing I atas waktu dan kesempatan yang telah diberikan untuk mengarahkan dan membimbing penulis dalam penyusunan skripsi. 4. Bapak Didi Supriyadi, S.T, M.Kom. selaku dosen pembimbing II atas waktu dan kesempatan yang telah diberikan untuk mengarahkan dan membimbing penulis dalam penyusunan skripsi. 5. Bapak dan Ibu dosen Institut Teknologi Telkom Purwokerto yang telah memberikan tambahan ilmu dan wawasan kepada penulis selama perkuliahan. 6. Teman - teman Institut Teknologi Telkom Purwokerto dan teman - teman Wisma Valve Gaming yang telah memberikan motivasi dan doa selama penyelesaian skripsi. Penulis menyadari dalam penyusunan laporan skripsi ini masih banyak kekurangan dan jauh dari sempurna. Oleh karena itu penulis bersedia menerima masukan dari semua pihak baik berupa kritik maupun saran yang bersifat membangun. Semoga upaya kecil dari penulis ini dapat bermanfaat bagi para pembaca. Purwokerto, 10 November 2017 Hendra Ramadhan iv
DAFTAR ISI HALAMAN SAMPUL... i HALAMAN PENGESAHAN... ii HALAMAN PERNYATAAN ANTI PLAGIAT...iii KATA PENGANTAR... iv DAFTAR ISI... v DAFTAR GAMBAR... vii DAFTAR TABEL...viii DAFTAR SINGKATAN... ix DAFTAR ISTILAH... x DAFTAR LAMPIRAN... xvi ABSTRAK BAHASA INGGRIS... xvii ABSTRAK BAHASA INDONESIA...xviii BAB I PENDAHULUAN... 1 1.1 Latar Belakang... 1 1.2 Rumusan Masalah... 3 1.3 Batasan Masalah... 3 1.4 Tujuan Penelitian... 4 1.5 Manfaat Hasil Penelitian... 4 1.5 Ruang Lingkup... 4 BAB II DASAR TEORI... 6 2.1 Penelitian Sebelumnya... 6 2.2 Penetration Testing... 8 2.3 Information System Assessment Framework (ISSAF)... 8 2.4 Open Web Application Security Project (OWASP)... 9 2.5 Web Application Attack and Audit Framework (W3AF)... 9 2.6 Kali Linux... 9 BAB III METODE PENELITIAN... 10 3.1 Studi Literatur... 10 3.2 Tahapan Pengujian... 10 3.2.1 ISSAF... 10 v
3.3 Perancangan Proses ISSAF... 11 3.4 Perancangan Proses OWASP... 16 3.5 Perancangan OWASP dengan Tools W3AF... 17 BAB IV ANALISA DAN PEMBAHASAN... 19 4.1 Hasil pengujian ISSAF... 19 4.1.1 Information Gathering... 19 4.1.2 Vulnerability Identification... 22 4.1.3 Network Mapping... 22 4.1.4 Penetration... 24 4.2 Hasil pengujian OWASP... 25 4.2.1 Injection (A1)... 25 4.2.2 Broken authentication and Session Management (A2)... 25 4.2.3 Cross Site Scripting (XSS) (A3)... 25 4.2.4 Security Misconfiguration (A4)... 26 4.2.5 Insurance Direct Object References (A5)... 26 4.2.6 Sensitive Data Expose (A6)... 26 4.2.7 Missing Function Level Access Control (A7)... 27 4.2.8 Cross-Site Request Forgery (CSRF) (A8)... 27 4.2.9 Using Component with Known Vulnerabilities (A9)... 27 4.2.10 Unvalidate Redirect and Forward (A10)... 28 4.3 Ringkasan Hasil Uji Framework ISSAF... 28 4.4 Ringkasan Hasil Uji Framework OWASP... 32 4.5 Rekomendasi Framework ISSAF dan OWASP Tool W3AF... 34 BAB V KESIMPULAN DAN SARAN... 35 5.1 Kesimpulan... 35 5.2 Saran... 35 DAFTAR PUSTAKA... 36 vi
DAFTAR GAMBAR Gambar 3.1 Tahapan Metode Penelitian... 10 Gambar 3.2 Flowchart Perancangan ISSAF... 11 Gambar 3.3 Langkah Mendapatkan IP Target... 12 Gambar 3.4 Langkah Pengujian Domain Info... 12 Gambar 3.5 Langkah Pengujian Secure Socket Layer... 13 Gambar 3.6 Langkah Pengujian DNS... 13 Gambar 3.7 Langkah Pengujian Identification CMS... 14 Gambar 3.8 Langkah Pengujian Wpscan... 14 Gambar 3.9 Langkah Pengujian Network Mapping... 15 Gambar 3.10 Langkah Pengujian Metasploit... 15 Gambar 3.11 Flowchart Perancangan OWASP... 16 Gambar 3.12 Membuka Aplikasi W3AF berbasis GUI... 17 Gambar 3.13 Memasukan URL Target Pada W3AF... 17 Gambar 3.14 Menunggu Proses Scanning... 18 Gambar 4.1 Hasil Pengujian Mendapatkan IP Target... 19 Gambar 4.2 Hasil Pengujian Domain Info... 20 Gambar 4.3 Hasil Pengujian Domain Info... 20 Gambar 4.4 Hasil Pengujian Domain Info... 20 Gambar 4.5 Hasil Pengujian DNS... 21 Gambar 4.6 Hasil Pengujian SSL... 21 Gambar 4.7 Hasil Pengujian Identification CMS... 22 Gambar 4.8 Hasil Pengujian WPScan... 22 Gambar 4.9 Hasil Pengujian Network Mapping... 23 Gambar 4.10 Hasil Pengujian Network Mapping... 23 Gambar 4.11 Hasil Pengujian Network Mapping... 24 Gambar 4.12 Hasil Pengujian Metasploit... 24 Gambar 4.13 Hasil Pengujian Metasploit... 25 Gambar 4.14 Hasil Uji Cross Site Tracing Vulnerability... 26 Gambar 4.15 Hasil Pengujian Private IP Vulnerability... 27 Gambar 4.16 Shared Hosting... 28 vii
DAFTAR TABEL Tabel 2.1 Perbandingan Referensi... 7 Tabel 4.1 Tabel Ringkasan Hasil Uji dengan Framework ISSAF... 29 Tabel 4.2 Tabel Hasil Pengujian Framework OWASP Menggunakan Tool W3AF... 32 viii
DAFTAR SINGKATAN Keyword Definisi CMS Content Management System DNS Domain Name Server DOS Denial Of Service GUI Graphical User Interface HTTP Hypertext Transfer Protocol IP Internet Protocol ISP Internet Service Provider ISSAF Information Systems Security Assessment Framework OSSIG Open Web Application Security Project OWASP Open Web Application Security Project PENTEST Penetration Test SSL Secure Socket Layer W3AF Application Programming Interface XSS Cross Site Scripting ix
DAFTAR ISTILAH No Istilah Keterangan 1 Broken authentication and session management Fungsi aplikasi terkait otentikasi dan manajemen sesi yang tidak diterapkan dengan baik, memungkinkan penyerang mengetahui password, key, maupun token sesi atau mengasumsikan identitas pengguna. 2 Cross Site Request Forgery 3 Cros Site Scripting (XSS) Serangan CSRF memaksa browser korban yang masuk untuk mengirimkan permintaan HTTP yang dipalsukan, termasuk cookie sesi korban dan informasi otentikasi lainnya yang disertakan secara otomatis, ke aplikasi web yang rentan. Hal ini memungkinkan penyerang untuk memaksa browser korban untuk menghasilkan permintaan aplikasi yang rentan menganggap permintaan sah dari korban. Teknik yang biasa digunakan untuk mencuri cookie, penyebaran malware dan pembelokkan tujuan / malicious redirects. Serangan ini melakukan injeksi kode javascript terhadap sebuah website sehingga browser mengeksekusi kode/script yang diperintahkan oleh penyerang. Kelemahan ini mudah didapat tapi susah untuk diatasi. Inilah alasannya mengapa XSS banyak ditemukan di berbagai website. 4 Cyber crime Tindak kriminal yang dilakukan menggunakan teknologi komputer sebagai alat kejahatan utama. 5 Domain Name Server (DNS) Sebuah sistem yang menyimpan informasi tentang nama host maupun nama domain dalam bentuk basis data x
No Istilah Keterangan tersebar di dalam jaringan komputer. 6 Domain info Kumpulan informasi domain/ alamat suatu website. 7 DOS (Denial of service) Serangan terhadap sebuah komputer atau server di dalam jaringan internet dengan cara menghabiskan sumber (resource) yang dimiliki oleh komputer tersebut sampai komputer tersebut tidak dapat menjalankan fungsinya dengan benar sehingga secara tidak langsung mencegah pengguna lain untuk memperoleh akses layanan dari komputer yang diserang tersebut. 8 Framework Kerangka kerja adalah sebuah software untuk memudahkan para programmer membuat aplikasi atau web yang isinya adalah berbagai fungsi, plugin, dan konsep sehingga membentuk suatu sistem tertentu. Dengan menggunakan framework, sebuah aplikasi akan tersusun dan terstruktur dengan rapi. 9 Identification CMS (Content Management System) Bertujuan untuk melakukan identifikasi CMS (Content Management System) yang digunakan pada sistem target. 10 Information Gathering Mengumpulkan informasi suatu sistem untuk membantu individu dan organisasi dari berbagai sumber melalui berbagai cara. 11 Injection Teknik yang menyalahgunakan sebuah celah keamanan dalam lapisan basis data sebuah aplikasi. Atau Bug code yang disebabkan oleh pengolahan data yang tidak valid. 12 Insecure Direct Object References Objek langsung di sini berkaitan ketika developer mengekspos referensi ke dalam implementasi objek xi
No Istilah Keterangan internal. Misalnya ke file, direktori, atau database key. Tanpa memiliki accsess control check dan perlindungan lain, penyerang dapat memanipulasi referensi ini untuk mengakses data rahasia. 13 Malicious code Teknik atau kode-kode suatu program yang tujuan utamanya tidak diketahui fungsi dan tugas serta manfaatnya bagi sistem komputer. Kode-kode computer ini mampu menambahkan, merubah atau memindahkan dari perangkat lunak korban ke prangkat lunak penyerang. sekumpulan perintah-perintah yang dapat mengeksekusi suatu sistem sehingga korban akan menerima kerusakan fungsi sistem komputernya. 14 Malware Program Script/code yang diciptakan untuk menyusup atau merusak sistem komputer, server atau jejaring komputer tanpa izin dari pemilik. 15 Metasploit Aplikasi yang digunakan untuk menemukan masalah keamanan yang cukup kuat untuk melakukan penetrasi kedalam sebuah system. 16 Missing Function Level Access Control Hampir semua aplikasi web memverifikasi fungsi tingkat hak akses sebelum membuat fungsi yang terlihat di ui. Namun, aplikasi perlu ditampilkan untuk memeriksa kontrol akses yang sama pada server ketika setiap fungsi diakses. jika permintaan tidak diverifikasi, penyerang akan dapat melakukan permintaan mengakses fungsi yang tidak sah. 17 Msfconsole Antarmuka / tampilan yang populer untuk mengeksploit sebuah Framework. xii
No Istilah Keterangan 18 Network Mapping Proses yang digunakan untuk menemukan dan memvisualisasikan konektivitas jaringan fisik dan virtual melalui sekelompok tugas yang saling terkait yang memfasilitasi pembuatan peta jaringan. 19 Nslookup Command-line tool untuk pengujian dan troubleshooting server DNS. Nslookup akan menampilkan informasi yang dapat Anda gunakan untuk mendiagnosis infrastruktur dari Domain Name System (DNS). 20 Penetration test Penetration Test (Pentest) adalah sebuah metode untuk melakukan evaluasi terhadap keamanan dari sebuah sistem dan jaringan komputer. Evaluasi dilakukan dengan cara melakukan sebuah simulasi serangan (attack) pada sistem atau jaringan komputer. 21 Port Scanner Aktivitas untuk mendapatkan informasi yang menyeluruh mengenai status port (port TCP) pada sebuah host. 22 Secure Socket Layer (SSL) 23 Security Misconfiguration Lapisan keamanan untuk melindungi transaksi di website dengan teknologi enkripsi data. Sistem keamanan yang bagus membutuhkan konfigurasi yang terjamin guna mengakses aplikasi, framework, web server, aplikasi server, database server, hingga platform. Sebab, setingan default seringkali tidak aman. Selain itu, pembaruan rutin terhadap software pun menjadi sebuah keharusan. 24 Sensitive Data Expose Banyak aplikasi berbasis web yang belum melindungi data sensitif secara layak. Contoh data kartu kredit hingga data autentifikasi. Penyerang sistem sangat mungkin mencuri atau memodifikasi data bersistem pengamanan lemah tersebut untuk melakukan tindakan penipuan, pencurian xiii
No Istilah Keterangan identitas, atau kriminalitas lain. 25 Stakeholder Suatu masyarakat, kelompok, komunitas ataupun individu manusia yang memiliki hubungan dan kepentingan terhadap suatu organisasi atau perusahaan. 26 Unvalidate Redirects and Forward 27 Using Component With Known Vulnerabilities 28 Vulnerability Identification Aplikasi web sering mengarahkan dan meneruskan pengguna ke situs halaman lain dan menggunakan data tidak dipercaya untuk menentukan halaman tujuan tanpa validasi yang tepat, penyerang dapat mengarahkan korban meneruskan untuk mengakses halaman yang tidak sah ke phising atau malware sites. Komponen yang rentan, seperti libraries, frameworks dan modul perangkat lunak lain hampir selalu berjalan dengan hak penuh. Jadi, jika dimanfaatkan, mereka dapat menyebabkan hilangnya data yang serius maupun pengambilalihan server. Aplikasi yang menggunakan komponen-komponen yang rentan dapat merusak pertahanan mereka dan memungkinkan berbagai serangan dan dampak yang buruk. Identifikasi kelemahan dalam sistem atau perlindungannya yang bisa dilakukan, menciptakan pelanggaran dalam perlindungan keamanan sistem. 29 Web server Software yang memberikan layanan berbasis data dan mempunyai fungsi menerima permintaan dari HTTP atau HTTPS pada klien yang dikenal dan biasanya kita kenal dengan nama web browser, yang hasilnya dalam bentuk beberapa halaman web dan pada umumnya akan berbentuk dokumen HTML. xiv
No Istilah Keterangan 30 WPScan Tool Scanner keamanan yang memeriksa keamanan Wordpress menggunakan metode black box xv
DAFTAR LAMPIRAN Lampiran 1 Hasil Pengujian OWASP Tool W3AF xvi