Dianggap sebagai tulang punggung pengembangan web UI, Javascript terutama digunakan untuk pembuatan skrip dan pemrograman front-end. Kedengarannya tidak berbahaya, bukan? Namun, javascript juga dapat dieksploitasi sebagai alat jahat untuk melakukan tindakan yang tidak diinginkan, tanpa sepengetahuan korban. Ini dapat digunakan untuk mengunduh program malware drive-by, melakukan phishing kepada pengguna, atau bahkan mengambil alih sepenuhnya browser web korban (yang rentan). Sekarang, mari langsung ke bisnis…

Seorang pekerja perusahaan meneruskan email kepada saya dan meminta analisis ancaman untuk aktivitas mencurigakan. Email tersebut diduga dikirim dalam upaya spear phishing. Ada lampiran file yang menarik perhatian saya; Proyek.html

Saya menyalakan mesin virtual Windows 10 saya untuk analisis lebih lanjut (alasannya karena Windows memiliki penerjemah javascript bawaan; CScript. CScript digunakan untuk keluaran baris perintah/terminal, sedangkan WScript digunakan untuk keluaran penerjemah GUI). Saya mengunduh file di mesin virtual saya. Kemudian, saya mengganti nama ekstensi .html menjadi .txt dan membukanya menggunakan editor teks.

Tag ‹script› membuktikan bahwa ini adalah kode javascript. Fungsi unescape() menggantikan urutan escape-encoded dengan karakter yang diwakilinya. Saya membuat salinan file Project.txt untuk menghindari gangguan pada kode asli dan mengganti nama ekstensi txt salinan tersebut menjadi .js. Lalu, saya mengganti fungsi document.write dengan fungsi WScript.echo. Ini mirip dengan fungsi 'cetak', tetapi untuk WScript/CScript. Saya menyalakan cmd dan menggunakan perintah ini:

cscript “Proyek2 -Copy.js”

Pada awalnya, itu tidak berhasil. Namun setelah menghapus beberapa tag yang tidak perlu dari kode, saya mulai melihat beberapa keluaran yang tepat.

Saya mengarahkan output ke file 'decode.txt' menggunakan perintah ini:

cscript “Proyek2 -Copy.js” decode.txt

Saya melihat file ini dan menemukan kode sumber sebuah situs web.

Saya menggulir kode ke bawah dan menemukan banyak karakter berkode base64.

Karena penasaran, saya menjalankan alat kedua yang akan saya gunakan untuk analisis ini; CyberChef (saya sangat merekomendasikan btw). Saya memasukkan resep 'dari base64' dan menempelkan masukan base64.

Saya menggulir kode lebih jauh ke bawah untuk menampilkan bidang pengiriman formulir. Ini mungkin halaman phishing, tapi apa yang dicurinya dan ke mana dikirimkannya?

Ini menangkap bidang email dan kata sandi dengan submit-btn klasik. Saya menemukan objek eval() di bagian bawah skrip dengan beberapa karakter yang disandikan karakter.

Saya menyalin badan objek eval(), dan menaruhnya di file baru 'eval.js'. Kemudian, saya mengganti fungsi eval()dengan fungsi WScript.echo dan menjalankannya di cmd.

cscript eval.js

Saya mengarahkan keluaran baru ini ke file baru; evaldecode.txt dan membuka file dalam editor teks.

Merasa sedikit ekstra, saya memasukkan kode yang tersisa ke dalam percantik javascript CyberChef untuk mendapatkan tampilan yang bagus. Menemukan beberapa sintaks JSON, mari kita lihat.

Saya menemukan URL situs web tempat formulir ini mengirimkan kredensial yang dicuri; [DISUNTING].com/success/list.php

Saya mencoba menelusuri direktori jalur dan saya menemukan… servernya rentan!

Servernya adalah server web LiteSpeed. Melihat sekilas list.txt menunjukkan beberapa informasi yang sangat sensitif, yang TIDAK BISA saya masukkan di sini.

Sekarang situs tersebut telah dipastikan sebagai situs phishing (dan bukan situs sandbox BeEF berbahaya yang lolos dalam 0 hari), saya dapat melihat secara visual situs tersebut. Saya mengganti nama file asli kembali ke ekstensi .html dan membukanya di browser VM saya.

Saya menguji formulir dengan memasukkan beberapa detail palsu dan mengirimkannya. Saya memeriksa [DISUNTING].com/success/list.txtdan masukan palsu dengan cepat ditambahkan ke file teks sama seperti korban lainnya.

Melihat direktori induknya [DISUNTING].com, situs tersebut tampaknya dihosting di NameCheap tanpa halaman indeks. Saya mencoba mencari email atau informasi apa pun yang dapat digunakan untuk mengidentifikasi webmaster.. tetapi semua upaya terbukti sia-sia.

Saya mengumpulkan semua bukti prosedur analisis ancaman dan memberikannya kepada klien saya, bersama dengan URL situs web dan informasi terkait. Klien memutuskan untuk melaporkan situs ini, dan situs tersebut dihapus dalam waktu kurang dari satu jam. Sanksi lebih lanjut diberlakukan atas kebijakan perusahaan hosting.

Begitulah cara saya menghilangkan pengaburan beberapa kode javascript berbahaya dan melacaknya kembali ke server penyerang, bersama dengan kredensial curian yang terekspos.

Jaga keselamatan.

Tetap berbahaya.

Sampai jumpa di lain waktu ketika saya mengingat kata sandi saya.