Cyber Security 2
Celah Keamanan pada Aplikasi Web
Website dan aplikasi berbasis web merupakan salah satu pintu terbesar untuk serangan. Oleh karena itu, keamanan terhadap web server dan alikasi sangat penting dari internal maupun eksternal.
Kesalahan keamanan pada web server dan aplikasi dapat mengeskpos seluruh jaringan internal dan mengakibatkan kebocoran data.
OWASP TOP 10
OWASP (The Open Web Application Security Project) mengeluarkan OWASP Top 10 yang berisi 10 celah keamanan dengan risiko paling tinggi terhadap aplikasi berbasis web.
Berikut adalah OWASP Top 10 per tahun 2021:
- Broken Acess Control
- Cryptographic Failure
- Injection
- Insecure Design
- Security Misconfiguration
- Vulnereable and Outdated Component
- Identification and Authentication Failure
- Software and Data Integrity Failure
- Security Logging and Monitoring Failure
- Server-Side Request Forgery (SSRF)
OWASP Juice Shop
OWASP Juice Shop merupakan aplikasi web tidak aman yang paling modern dan canggih! Aplikasi ini dapat digunakan dalam pelatihan keamanan, demo kesadaran, CTF, dan sebagai kelinci percobaan untuk alat keamanan! Juice Shop mencakup kerentanan dari seluruh OWASP Top Ten beserta banyak kelemahan keamanan lain yang ditemukan dalam aplikasi dunia nyata!
Untuk Install & Downloadnya OWASP Juice Shop dapat dilakukan pada link berikut: https://drive.google.com/file/d/1U2bQKLzswLw4a1osZP8lzMNGn88BmH6F/view?usp=sharing
Kemudian atur konfigurasi jaringan seperti pada arsitektur Cyber Security 1 (Target Server)
Kemudian buka peramban di kali linux (mozila firefox) ketikkan "192.168.1.103:3000" maka aplikasi OWASP Juice Shop akan terbuka melalui local host pada port 3000. Aplikasi ini merupakan seperti aplikasi toko online yang dapat melakukan pembelian pada sebuah toko. Kemudian kita dapat membuat akun pada aplikasi tersebut dengan cara: account > Login > Not yet customer > isikan username, password, dan beberapa data yang perlu diisi (dikarenakan ini latihan maka jangan menggunakan data pribadi). setelah membuat akun maka disitu dapat melakukan pembelian ataupun memberikan review.
XSS (Cross Site Scripting)
- XSS merupakan salah satu dari OWASP Top 10 pada kategori injecction per tahun 2021
- XSS memungkinkan hacker untuk mengendalikan sebagian konten dari website atau aplikasi web. memasukkan oten berbahaya, mencuri cookies yang berisi sesi untuk sebuah user sehingga hacker bisa login sebagai user lain secara valid.
- XSS terjadi ketika user input tidak disanitasi sehingga hacker bisa memasukkan script yang selanjutnya dieksekusioeh server
- Jenis XSS:
- Reflected: Script langsung dieksekusi ketika mebuka link
- Stored: Script tersimpan ke dalam database, dan dieksekusi ketika ada yang mengambil dan menampilkan data tersebut.
- DOM-Based: Script dieksekusi pada browser user denganmemodifikasi DOM (document object model)
Pada uiji coba ini kita dapat mengetikan suatu perintah pada menu pencarian, pasti akan memunculkan menu yang dicari. Jika dengan memasukkan format script "<script>alert(1)</script>" maka tidak dapat memunculkan script tersebut dikarenakan website tersebut dapat memfilter scriptnya.
Beda jika memasukan format script "<iframe src="javascript:alert('xss')">" maka akan memunculkan pop up alert yang berisi XSS. Dapat diketahui bahwa dengan format iframe dapat memnuculkan XSS.
Untuk format lainnya dapat dilihat pada github (https://github.com/payloadbox/xss-payload-list). XSS jika berdiri sendiri sebenarnya tidak berbahaya. Akan nampak berbahaya apabila digabungkan dengan software atau code yang lain. Hal tersebut dapat menyebabkan pecurian data maupun informas pengguna website. Untuk mencegah terjadinya XSS dapat melakukan update atau pembaruan website dan dari sisi client/pengguna juga harus melakukan update terhadap browser yanng digunakan.
SQL Injection
SQL Injection atau SQLi adalah teknik peretasan yang dilakukan dengan memasukkan kode SQL berbahaya ke dalam input yang diizinkan oleh aplikasi web. Tujuannya adalah untuk mengakses informasi yang tidak seharusnya ditampilkan, seperti data perusahaan, daftar pengguna, atau detail pelanggan. SQLi memungkinkan hacker untuk membaca maupun mengubahisi dari database, sehingga mengakibatkab kebocoran data, maupun data yang tidak valid.
SQLi terjadi ketika user tidak melakukan pengmanan websiite yang baik, sehingga hacker bisa memasukkan parameter untuk melakuan query database/ permintaan database secara ilegal.
Untuk melakukan uji coba SQLi dengan menggunakan OWAS Juice Shop, buka portal Juice shop (login) masukkan username dan password terserah (tanpa mendaftarkan akun) maka akan muncul error yang cukup aneh semacam object object. Kemudian klik kanan pilih inspect lalu akan muncul pemberitahuan warna merah, artinya terdapat error saat melakukan login.
Selanjutnya dapat mengecek atau mengeklik errornya, pada bagian menu Request terdapat Email dan Password yang sudah dimasukkan saat error tadi.
kemudian pindah ke menu Respons isinya terdapat SQL error yang artinya syntax dalam SQL tersebut dapat dieksploitasi. untuk mempermudah dapat mengeklil tools Raw kemudian di copy pada text editor untuk diedit syntaxnya.
Dan yang terkahir kita bisa melakukan inspect saat login kemudian copy authentification di text editor
Untuk percobaannya lakukan login dengan akun yang sudah didaftarkan saat awal menggunakan Juice Shop, disitu jika kita membuka sesuatu (misal keranjang belanja) pasti akan muncul directory pada halaman website, seperti gambar dibawah ini terlihat membuka directory profile. Dengan brute force ini kita akan mencari halaman yang tersedia pada website ini.Buka terminal Kali Linux ketikkan perintah "gobuster dir --url http://192.168.1.103:3000/#/ -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-small.txt --wildcard"
Edit Text editornya seperti ini atau cukup rubah bagian email nya " ' or 1=1;-- "
kemudian copy " ' or 1=1;-- " ke username portal login. dan akan masuk sebagai user admin, karena dengan masuk menggunakan syntax or 1=1;-- otomatis akan login menggunakan email yang pertama login yaitu admin.
Dan yang terkahir kita bisa melakukan inspect saat login kemudian copy authentification di text editor
disitu terdapat berbagai informasi dari user ataupun password, code password dicopy untuk percobaan Hash selanjutnya.
Finding Subdomain
Enumerasi subdoamin merupakan teknik untuk menemukan valid subdomain seperti subdomain1.example.com, subdomain2.example.com karena bisa saja terdapat informasi tertentu ataupun celah keamanan lain yang tedapat pada subdomain tertentu yangdapat membuat hacker mendapatkan akses
Biasa dilakukan dengan menggunakan dictionary atau daftar kata yang uumdigunakan sebagai subdomain.
Brute Force & Credential Stuffing
Brute Force merupakan teknik untuk mencoba semua kemungkinan seperti userrname dan password, token, kode kupon, dll. Sehingga hacker bsia mendapatkan list data yang valid.
Creddentian Stuffing merupakan teknik untuk mencoba login dengan menggunakan username dan password yang didapatkan dari data yang pernah bocor sebelumnya. Jika user menggunakan password yang sama, maka hacker akan bisa login sebagai user tersebut.
Hash Cracking
Setelah mendapatkan code password dapat membuka website https://crackstation.net/ untuk mengecrack code password.Directory and File Brute Force
Teknik ini digunakan untuk mendapatkan list directory maupun file yang valid, misalnya example.com/directory1, example.com/directory2, example.com/file1.txt.
teknik ini memungkinkan hacker untuk menemukan halaman website ataupun file tertentu yang mungkin memiliki celah keamanan ataupun informasi yang dapat digunakan hacker untuk mendapatkan akses ataupun data.
Disitu terlihat hasil Status: 200 yang artinya bahwa semua directory tersedia. Akan tetapi Size: 1987 tidak mungkin dalam suatu website memiliki ukuran yang sama, bisa diketahui juga bahwa directory halaman tersebut tidak ada.
Broken Authentification
Broken Authentification merupakan salah satu dari OWASP Top 10 kategori Identification and Authentification Failure per tahun 2021.
Broken Authentification memungkinkan hacker untuk melakukan enumerasi terhadap user, brute force atack, default credential, session ID tidak dicabut sehingga hacker bisa melakukan lgin sebagai user lain.
Broken Authentification terjadi ketika user menggunakan password yang lemah atau password default, mengirim session id pada url, dll.
Percobaan kali ini menggunakan tools yang ada di Kali Linux yaitu Burp Suite, Burp Suite berfungsi untuk menemukan kerentanan dan mengamankan aplikasi web dari berbagai jenis serangan siber. Kemudian buka menu Proxy (ubah Intercept is of ke Intercept is on) > Open Browser masukkan website juice shop (192.168.1.103:3000), kemudian login dengan menggunakan akun yang sudah terdaftar.
Setelah login pergi ke menu Account > Privacy & Security > Change Password kemudian rubah password anda. lalu kita akan mencari tahu apa yang terjadi dalam perubahan password tersebut.
Buka Burp Suite lali klik kanan > Send to repeater kemudian klik forward > intercept is off (matikan intercept), dan buka menu Repeater
Ubah node "Get /rest/user/change-password?current-password1&new-password&repeat-password HTTP/1,1" menjadi "Get /rest/user/change-password?new-abctest&repeat-abctest HTTP/1.1" dan klik tombol Send. Kemudian buka website dan login ulang dengan password yang telah diubah menjadi "abctest"
dengan melakukan broken authentification kita dapat mengganti password tanpa harus mengetahui password yang lama, dengan begitu juga dengan aktvitas yang lainnya.
Kesimpulannya kita telah melakukan percobaan dengan celah keamanan yang berisiko tinggi pada OWASP Top 10. Percobaan ini menggunakan Website dari OWASP Juice Shop dengan melakukan Cross Site Scripting, SQL Injection, Hash Cracking, Brute Force file and Directory, dan Broken Authentification.

Komentar
Posting Komentar