Apa itu Pembajakan Sesi? Cara Memastikan Privasi Sesi

Diterbitkan: 2021-07-13

Banyak yang bisa terjadi antara login dan logout.

Penyerang mencari sesi di mana mereka dapat memperoleh akses tidak sah ke akun Anda dan mengeksploitasi data Anda. Anda harus memastikan bahwa Anda mengotentikasi detail login Anda di lingkungan yang aman dan melindungi diri Anda dari serangan pembajakan sesi.

Kamu dapat memakai   firewall aplikasi web   untuk mendeteksi anomali dalam lalu lintas masuk dan memblokir lalu lintas yang berpotensi berbahaya saat datang. Namun untuk memperbaiki pertahanan keamanan yang kuat, penting untuk memahami pembajakan sesi secara mendetail, jenisnya, dan alat yang mungkin digunakan penyerang untuk menembus akun pengguna.

Apa itu pembajakan sesi?

Pembajakan sesi , juga dikenal sebagai pembajakan cookie, adalah proses mengambil kendali sesi pengguna dengan memperoleh atau membuat ID sesi saat sesi masih berlangsung.

Penyerang dapat menggunakan skrip lintas situs (XSS), brute force, rekayasa balik, atau berbagai metode lain untuk mendapatkan cookie sesi dan mendapatkan akses tidak sah ke akun pengguna.

Sesi dimulai saat Anda masuk ke layanan seperti aplikasi web dan berakhir saat Anda keluar. Hypertext Transfer Protocol (HTTP) adalah protokol stateless, yang berarti ia membawa setiap permintaan secara independen tanpa mengacu pada permintaan sebelumnya, mengharuskan pengguna untuk mengotentikasi setiap kali mereka melihat halaman web. Untuk menghindari meminta pengguna untuk masuk setiap saat, server menetapkan ID sesi untuk memberikan pengalaman web yang mulus setelah otentikasi.

Penyerang mencoba mencuri ID sesi target atau mengelabui mereka agar mengklik tautan berbahaya yang membawa mereka ke sesi prefabrikasi untuk serangan pembajakan sesi. Setelah pengguna diautentikasi di server, pelaku ancaman dapat membajak sesi dan mengelabui server agar menganggap sesi mereka valid.

Saat penyerang menargetkan cookie sesi, ini terkait dengan pembajakan sesi aplikasi web, bukan pembajakan sesi Transmission Control Protocol (TCP). TCP adalah protokol transport yang digunakan di atas IP untuk memastikan transmisi paket yang andal. Aplikasi web mengembalikan cookie sesi setelah otentikasi berhasil yang dimanfaatkan penyerang untuk membajak sesi. Ini tidak ada hubungannya dengan koneksi TCP antara perangkat pengguna dan server.

Metode pembajakan sesi

Penyerang biasanya memiliki beberapa metode pilihan saat melakukan pembajakan sesi. Mereka dapat menggunakannya secara individual atau dalam kombinasi untuk mengambil alih akun pengguna dan melakukan aktivitas jahat.

Skrip lintas situs

Dalam serangan skrip lintas situs (XSS) , peretas jahat menipu komputer target untuk mengeksekusi kode yang menyamar sebagai kode tepercaya milik server. Ini memungkinkan penyerang untuk mendapatkan salinan cookie untuk melakukan tindakan jahat mereka. Biasanya, halaman web disematkan dengan JavaScript. Tanpa perlindungan yang tepat dan   alat keamanan aplikasi, ini mengungkapkan informasi sensitif pengguna jika skrip dieksekusi.

Jika server tidak menyetel atribut HTTPOnly di cookie sesi, skrip dapat mengeksposnya ke penyerang.

Injeksi perangkat lunak jahat

Beberapa   perangkat lunak perusak   atau trojan diprogram untuk mencuri cookie browser dan melakukan tindakan jahat tanpa sepengetahuan pengguna. Misalnya, ketika pengguna mengunjungi situs web jahat atau mengklik tautan yang tidak diinginkan, malware memindai lalu lintas jaringan, mengumpulkan cookie sesi, dan mengirimkannya ke pelaku jahat. Penyerang dengan akses ke penyimpanan lokal dapat mencuri kunci sesi dari penyimpanan lokal sementara browser (cookie jar), atau mereka dapat memperoleh konten file atau memori dari server atau komputer pengguna.

Kasar

Penyerang dapat melakukan serangan brute force untuk menebak kunci sesi pengguna. Saat aplikasi menggunakan kunci sesi berurutan atau dapat diprediksi, itu membuat sesi rentan terhadap pembajakan. Ini adalah metode pilihan yang lebih disukai di masa lalu, tetapi dengan aplikasi modern, ID sesi panjang dan dihasilkan secara acak, menawarkan ketahanan yang besar terhadap serangan brute force.

Pembajakan sisi sesi

Dalam session side jacking , penyerang memanfaatkan packet sniffing untuk membaca lalu lintas jaringan dan mencuri cookie sesi. Biasanya, situs web menggunakan enkripsi Secure Sockets Layer/Transport Layer Security (SSL/TLS) di halaman otentikasi mereka. Namun, beberapa tidak menggunakannya di seluruh situs setelah otentikasi, memungkinkan penyerang untuk mencegat data yang dipertukarkan antara server dan halaman web.

Setelah penyerang mendapatkan cookie sesi, mereka dapat membajak sesi pengguna untuk melakukan operasi jahat. Misalnya, pelaku jahat yang menargetkan pengguna yang terhubung ke WiFi yang tidak aman dapat dengan mudah membaca data atau lalu lintas yang dibagikan antara node dan titik akses lain.

Fiksasi sesi

Penyerang terkadang dapat membuat sesi terselubung dan menipu pengguna untuk mengautentikasi ke server yang rentan. Misalnya, aktor ancaman dapat menggunakan   rekayasa sosial   (phishing) atau metode serupa untuk membujuk pengguna mengeklik tautan yang membawa mereka ke sesi yang dibuat dengan cookie sesi yang diketahui. Setelah pengguna mengautentikasi, penyerang dapat menggunakan kunci sesi yang diketahui untuk membajak sesi pengguna.

Penyerang juga dapat mengelabui pengguna agar melengkapi formulir masuk yang telah dibuat sebelumnya yang menyertakan ID sesi tersembunyi dan tetap.

Tingkat serangan pembajakan sesi

Ada dua tingkat serangan pembajakan sesi. Serangan-serangan ini dapat saling terkait karena serangan yang berhasil pada lapisan jaringan akan memberikan informasi penyerang untuk mengeksploitasi pengguna yang sebenarnya di tingkat aplikasi.

Tingkat pembajakan sesi

Pembajakan lapisan transportasi

Pembajakan lapisan transport terjadi dalam koneksi TCP di mana penyerang memotong pertukaran data antara server web dan pengguna, menghalangi saluran komunikasi yang ditetapkan di antara mereka. Kemudian, pelaku jahat mengirim paket data berbahaya yang disamarkan sebagai yang sah ke klien dan server, mengambil alih sesi pengguna.

Metode umum pembajakan lapisan transport adalah IP spoofing , di mana penyerang menggunakan alamat IP palsu yang menyamar sebagai yang tepercaya untuk berkomunikasi dengan komputer di jaringan. Mereka menggunakan paket IP yang dirutekan sumber untuk mencegat komunikasi aktif antara dua node. IP spoofing mengambil keuntungan yang tidak semestinya dari otentikasi satu kali pada awal sesi TCP.

Pembajakan lapisan aplikasi

Dalam pembajakan lapisan aplikasi, penyerang mencuri ID sesi pengguna setelah pengguna mengautentikasi ke aplikasi mereka. Serangan man-in-the-middle adalah contoh khas dari pembajakan sesi lapisan aplikasi, di mana pembajak memotong saluran komunikasi antara klien dan server.

Serangan proxy juga termasuk dalam pembajakan lapisan aplikasi. Penyerang mengarahkan lalu lintas ke server proxy dengan ID sesi yang telah ditentukan untuk mencegat komunikasi selama serangan ini.

3 Jenis pembajakan sesi

Pembajakan sesi melibatkan menebak atau mencegat cookie sesi dalam sesi yang ada atau menipu pengguna untuk mengautentikasi dalam sesi prefabrikasi. Ada tiga jenis serangan pembajakan sesi.

1. Aktif

Dalam pembajakan sesi aktif , penyerang mengambil alih koneksi aktif dalam jaringan. Mereka dapat membisukan semua perangkat dan mengambil alih saluran komunikasi antara klien dan server. Kemudian, mereka melepaskan afiliasi antara server dan perangkat pengguna.

Ada beberapa cara dimana penyerang dapat mengganggu komunikasi antara klien dan server. Biasanya, penyusup mengirim lalu lintas besar untuk menyerang sesi yang valid dan menyebabkan serangan penolakan layanan (DoS) .

2. Pasif

Pembajakan sesi pasif mirip dengan aktif, kecuali bahwa penyerang memantau komunikasi antara klien dan server. Penyerang tidak memblokir pengguna yang sebenarnya dari sesi tetapi mengawasi pertukaran komunikasi yang sedang berlangsung.

Motif utama serangan pasif adalah untuk mencuri informasi yang dipertukarkan dan menggunakannya untuk tujuan jahat.

3. Hibrida

Serangan pembajakan sesi hibrida adalah kombinasi dari serangan aktif dan pasif. Dalam serangan hybrid, penyerang memantau lalu lintas jaringan sampai mereka menemukan masalah, kemudian mengambil alih sesi dan mulai meniru pengguna yang sah.

Serangan hibrida bergantung pada spoofing dan diklasifikasikan lebih lanjut ke dalam jenis berikut:

  • Serangan spoofing buta melibatkan penyerang yang menargetkan korban tanpa mengganggu sesi. Mereka menangkap paket data yang dipertukarkan antara server dan pengguna dan mencoba untuk memecahkan urutan paket TCP.
  • Serangan spoofing non-buta mencakup pemantauan lalu lintas antara server dan pengguna untuk memprediksi pakta berikutnya untuk memperkirakan rentang urutan TCP-nya. Penyerang mengambil alih sesi pada tingkat aplikasi dan membentuk sesi baru, menggunakan token sesi yang mungkin dicuri atau dapat diprediksi.

Pembajakan sesi vs. sesi spoofing vs. sesi replay

Perbedaan utama antara session hijacking dan session spoofing adalah waktu serangan.

pembajakan sesi vs. sesi spoofing vs. sesi replay

Serangan pembajakan sesi dilakukan setelah pengguna mengautentikasi diri mereka ke dalam aplikasi. Serangan tersebut dapat menyebabkan kelambatan atau perilaku yang tidak biasa dalam aplikasi. Itu karena penyerang mengeksploitasi data Anda saat Anda masih masuk. Jika aplikasi sering mogok, itu mungkin menyarankan serangan pembajakan sesi.

Dalam sesi spoofing , korban tidak menyadari serangan itu. Penyerang mungkin menggunakan ID sesi yang dicuri atau palsu dan menyamar sebagai pengguna asli tanpa bergantung pada pengguna untuk melakukan otentikasi.

Sebuah sesi replay sedikit berbeda.

Dalam sesi replay , penyerang sudah memiliki cookie sesi (dikumpulkan dari pembajakan sesi), dan mereka dapat menggunakannya sesuka mereka. Mereka mungkin menipu korban untuk mengajukan kembali permintaan yang sebelumnya valid, seperti membeli beberapa item dalam jumlah banyak di mana mereka awalnya meminta satu unit.

Alat pembajakan sesi

Beberapa alat dapat membantu penyerang melakukan serangan pembajakan sesi. Anda dapat menggunakannya di   pengujian penetrasi   dan periksa apakah sistem dan aplikasi Anda tahan serangan.

Berikut adalah beberapa alat pembajak sesi populer yang digunakan untuk melakukan serangan.

* Alat-alat ini hanya boleh digunakan untuk tujuan etis untuk menguji dan memperkuat sistem terhadap pembajakan sesi.

Hamster dan Ferret

Hamster bertindak seperti server proxy yang memanipulasi data yang dikumpulkan oleh Ferret, yang menangkap cookie sesi yang melewati jaringan.

Berikut adalah contoh penggunaan Hamster yang dikemukakan oleh   Alat Kali:

root@kali:~# hamster

--- Alat pendongkrak samping HAMPSTER 2.0 ---

Setel browser untuk menggunakan proxy http://127.0.0.1:1234

DEBUG: set_ports_option (1234)

DEBUG: mg_open_listening_port(1234)

Proxy: mendengarkan di 127.0.0.1:1234

utas awal

T-Sight

T-Sight awalnya dikembangkan sebagai alat pemantauan jaringan untuk berjalan di platform Windows. Namun, saat memantau jaringan, seseorang dapat membajak sesi karena semua komunikasi di seluruh jaringan disalin secara real-time, memberikan output transmisi data yang tepat. Karena itu, Engrade, pengembang T-Sight, sekarang menyediakan lisensi perangkat lunak hanya untuk alamat IP yang telah ditentukan sebelumnya.

raksasa

Juggernaut adalah alat sniffing jaringan yang dapat digunakan secara jahat untuk melakukan serangan pembajakan sesi. Dimungkinkan untuk mengonfigurasi Juggernaut untuk menonton semua lalu lintas jaringan di jaringan area lokal (LAN) atau mendengarkan token sesi tertentu. Ini dapat diatur untuk merekam lalu lintas jaringan setelah korban melakukan upaya login.

Juggernaut berbeda dari sniffer jaringan biasa yang merekam semua lalu lintas jaringan dalam file log besar. Juggernaut memelihara database koneksi yang memungkinkan penyerang untuk menonton semua koneksi berbasis TCP dan bahkan membajak sesi. Alat pembajakan sesi juga menyediakan fungsi perakitan paket bawaan. Penyerang menggunakan fungsi ini untuk memecah paket untuk menghindari sistem deteksi intrusi dan firewall.

Berikut adalah contoh penggunaan Juggernaut ketika Anda menjalankannya melalui baris perintah Linux:

Juggernaut ?) Bantuan 0) Informasi program 1) Database koneksi 2) Memata-matai koneksi 3) Reset koneksi 4) Daemon reset koneksi otomatis 5) Pembajakan koneksi Simplex 6) Pembajakan koneksi interaktif 7) Modul perakitan paket 8) Nomor opsi sekret super delapan 9) Mundur

  • Database koneksi menunjukkan koneksi aktif.
  • Memata-matai koneksi memungkinkan Anda memantau lalu lintas jaringan di seluruh saluran komunikasi terbuka dan menyediakan opsi untuk menyimpan log.
  • Reset koneksi menutup sesi dengan mengirimkan paket RST ke sumbernya.
  • Daemon reset koneksi otomatis memungkinkan Anda untuk mengonfigurasi alamat IP berbasis host dan paket RST ke sumber setiap kali host mencoba membuat sesi.
  • Pembajakan koneksi simpleks memungkinkan Anda memasukkan satu perintah ke target. Penyerang menggunakannya untuk mencegah deteksi.
  • Pembajakan koneksi interaktif memungkinkan Anda untuk melakukan pembajakan sesi lengkap dan membuat badai ACK besar.
  • Modul perakitan paket memungkinkan Anda membuat paket sendiri.
  • Souper sekret pilihan nomor delapan tidak memiliki fungsi.
  • Langkah ke bawah memungkinkan Anda untuk keluar dari program.

Ini adalah beberapa alat yang digunakan penyerang untuk melakukan serangan pembajakan sesi.

Anda perlu memperkuat jaringan dan sistem Anda terhadap alat serupa seperti Hunt, TTY-Watcher, IP-Watcher, 1164, Wireshark, SSHMITM, Hjksuite, C2MYAZZ, yang digunakan penyerang untuk mengeksploitasi sesi pengguna.

Bagaimana mencegah pembajakan sesi

Pembajakan sesi dapat memiliki konsekuensi yang mengerikan bagi organisasi, termasuk kerugian finansial dan kerugian reputasi yang terjadi setelah bertahun-tahun membangun reputasi yang baik dan memberikan layanan yang setia di industri.

Bisnis perlu menetapkan langkah-langkah keamanan strategis untuk menghindari menjadi target serangan pembajakan sesi. Langkah-langkah ini meliputi:

  • Mengenkripsi semua transmisi data di halaman web
  • Menerapkan sertifikasi Hypertext Transfer Protocol Secure (HTTPS) pada halaman web
  • Memperbarui dan menambal browser secara teratur
  • Mengadopsi alat keamanan siber seperti perangkat lunak perlindungan DDoS dan   teknologi penipuan
  • Masuk dan keluar dengan hati-hati dari setiap sesi
  • Menggabungkan kerangka kerja web alih-alih membuat sistem manajemen sesi internal
  • Buat ulang kunci sesi setelah otentikasi untuk mencegah peretas mengeksploitasi ID sesi yang dihasilkan saat login
  • Perkuat verifikasi identitas dengan memasukkan pemeriksaan tambahan seperti memverifikasi alamat IP biasa pengguna atau tren penggunaan aplikasi
  • Gunakan hanya jaringan nirkabel yang aman dan hindari pengoperasian di WiFi publik apa pun
  • Tutupi alamat IP Anda menggunakan perangkat lunak jaringan pribadi virtual (VPN) dan jaga agar sesi Anda tetap terlindungi

Memiliki HTTPS di seluruh situs bisa dibilang merupakan mekanisme pencegahan yang paling penting. Jika Anda khawatir tentang masalah kinerja, Anda dapat menerapkan SSL di halaman login situs web dan di area sensitif lainnya. Tindakan pencegahan penting lainnya adalah mengenkripsi nilai sesi yang disimpan dalam cookie sesi.

Lindungi sesi Anda

Pembajakan sesi bisa merepotkan. Jadilah proaktif dan tetapkan mekanisme pertahanan yang tepat untuk melindungi diri Anda dari serangan pembajakan sesi dan untuk melindungi akun dan data Anda.

Dengan peretas yang secara konsisten mengembangkan metode baru untuk memecahkan batas pertahanan organisasi, mungkin akan lebih sulit lagi untuk memastikan keamanan 100%.

Pelajari lebih lanjut tentang respons insiden dan bagaimana Anda dapat mengelola insiden siber saat penyerang mendapatkan akses ke akun atau data Anda.