JURNAL IT - Pernahkah kamu membayangkan bahwa sebaris kecil kode di halaman web bisa menjadi pintu masuk bagi peretas untuk mengendalikan komputer seseorang dari jauh?
Di balik layar dunia maya yang tampak aman, ada banyak skrip salah satunya JavaScript yang ternyata berbahaya, disamarkan dengan sangat cerdik agar tak mudah dikenali.
Obfuscation atau penyamaran kode adalah seni membuat program sulit dibaca tanpa mengubah apa yang dilakukannya.
Di dunia malware, teknik ini ibarat topeng yang dipakai peretas supaya niat jahatnya tidak terlihat oleh peneliti keamanan.
Dalam kasus Async RAT, obfuscation itulah yang membuat satu baris kode tampak seperti teka-teki, padahal berisi rangkaian perintah berbahaya.
Mengapa Malware JavaScript Sulit Dibaca
Biasanya, kode JavaScript bisa dibuka dan dibaca seperti teks biasa. Namun, penulis malware tidak ingin kode yang mereka tulis mudah dipelajari atau dibongkar oleh forensik keamanan.
Mereka menyembunyikan kode aslinya lewat teknik yang disebut obfuscation, semacam penyamaran kode.
| Contoh script obfuscation |
Hasilnya, satu baris kode bisa tampak seperti huruf dan angka acak yang tak masuk akal, padahal di baliknya tersimpan perintah berbahaya.
Bayangkan seseorang menulis surat, tapi semua hurufnya diacak, dipisah-pisah, dan disembunyikan dalam simbol. Begitulah kira-kira cara kerja obfuscation.
Tujuannya sederhana tapi efektif:
- Menyembunyikan niat, agar analisis manual memakan waktu lama.
- Menghindari deteksi otomatis, signature-based scanner lebih susah mengenali pola jika kode diacak.
- Memperlambat respons, semakin lama analis memahami kode, semakin besar peluang malware berhasil dijalankan.
Apa Itu Async RAT?
Malware JavaScript (JS) merupakan ancaman siber yang umum, dan sering kali di-obfuscate secara intensif (disamarkan) untuk menyulitkan proses reverse engineering.
Tanpa obfuscation, skrip JS relatif mudah dilihat dan dipahami kemampuan penuhnya.
Tujuan utama dari reverse engineering kode JS yang ter-obfuscated adalah untuk mengganti nama semua variabel, mengatur ulang fungsi, dan menciptakan pandangan yang mendekati apa yang skrip itu lakukan sebelum penulis malware menambahkan obfuscation.
Kode yang dianalisis dalam proses reverse engineering ini merupakan bagian dari perangkat lunak Async RAT (Remote Access Tool).
Async RAT (Remote Access Tool) sebenarnya adalah sebuah program legal yang dirancang untuk mengendalikan komputer dari jarak jauh.
Dalam dunia IT, alat semacam ini bisa dipakai untuk membantu administrasi sistem atau perawatan komputer.
Sayangnya, alat ini sering disalahgunakan oleh pihak tak bertanggung jawab untuk mengakses komputer korban, mencuri data, atau bahkan mengendalikan sistem tanpa izin.
Dalam kasus ini, peneliti keamanan menemukan versi berbahaya dari Async RAT yang dibungkus dalam skrip JavaScript penuh “kamuflase”.
Proses Deobfuscation Manual
Ketika dibuka, skrip malware ini hanya berisi satu baris panjang tanpa jeda.
Tidak ada jarak, tidak ada susunan rapi, semuanya berantakan seperti paragraf tanpa tanda baca.
Nama-nama variabelnya pun aneh, seperti kombinasi huruf dan angka heksadesimal, sehingga sulit ditebak apa fungsinya.
Di dalamnya tersembunyi pula array berisi kumpulan teks (string) yang dienkripsi dalam bentuk angka-angka misterius. Semua ini dirancang untuk mempersulit siapa pun yang mencoba memahami isi kode tersebut.
Langkah pertama dalam membongkar kode ini adalah merapikannya.
Dengan bantuan alat seperti JS Formatter, kode yang tadinya satu baris panjang dipecah menjadi baris-baris rapi agar lebih mudah dibaca. Dari situ, beberapa kata kunci mencurigakan mulai terlihat.
Salah satunya adalah ActiveXObject, fitur lawas di Windows yang memungkinkan JavaScript berinteraksi langsung dengan sistem operasi. Fitur ini sering disalahgunakan untuk menjalankan perintah berbahaya di komputer korban.
Setelah formatnya rapi, peneliti mulai mengganti nama-nama variabel aneh dengan nama yang lebih deskriptif, dengan begitu, arah logika program mulai tampak.
Beberapa bagian kode tak bisa dipahami hanya dengan membaca. Karenanya, peneliti menjalankannya di lingkungan aman, misalnya melalui browser console di Developer Tools.
Tujuannya? Untuk melihat hasil asli dari angka-angka misterius yang diubah menjadi teks sebenarnya.
Contohnya, kode hexadesimal saat dijalankan akan muncul sebagai angka. Teknik ini membantu mereka mengembalikan string asli dari array yang sebelumnya tersembunyi.
Proses ini dilakukan berulang kali, satu demi satu, potongan kode diuji, diterjemahkan, dan diganti dengan bentuk yang mudah dibaca.
Butuh kesabaran luar biasa, mirip seperti menyusun puzzle besar dari potongan-potongan yang diacak.
| Alur eksekusi menunjukkan perangkaian perintah (menggunakan map dan loop while dengan switch-case) |
Rahasia di Balik Baris Kode
Setelah berjam-jam membongkar, potongan teka-teki mulai membentuk gambaran utuh.
Kode tersebut ternyata berusaha menjalankan perintah sistem melalui ActiveXObject dan mengeksekusi Powershell, alat baris perintah di Windows.
Dari situ, malware akan mengunduh file berbahaya yang disamarkan sebagai gambar JPEG, kemudian menyimpannya sebagai file ZIP.
Mengekstrak isinya ke folder publik (C:\Users\Public), menjalankan file baru bernama shell.js, yang menjadi “otak” utama malware.
File terakhir inilah yang memberi peretas akses jarak jauh ke komputer korban, inti dari Async RAT.
Alamat IP tempat malware mengunduh file tersebut juga dipastikan berbahaya setelah ditelusuri.
| Perintah akhir yang ditemukan, setelah diurutkan dengan benar |
Perilaku utama malware:
1. Malware menggunakan ActiveXObject untuk menjalankan perintah shell.
2. Perintah yang dieksekusi adalah perintah Powershell yang kompleks:
- Mengunduh file (yang disamarkan sebagai JPEG) dari alamat IP berbahaya (malicious IP address).
- Menyimpan file yang diunduh sebagai file ZIP.
- Mengekstrak arsip tersebut.
- Mendorong payload ke dalam folder C:\users\public dengan nama shell.JS.
- Terakhir, mengeksekusi C:\user\public\shell.JS sebagai final payload.
Alamat IP yang digunakan dalam pengunduhan malware ini dipastikan berbahaya (malicious) melalui pengecekan (cek malicious IP di Virustotal).
File yang dieksekusi pada akhirnya kemungkinan besar adalah payload Async RAT yang memberikan akses kontrol jarak jauh kepada penyerang.
Awalnya, skrip ini hanyalah satu baris aneh penuh angka dan simbol. Namun setelah proses panjang reverse engineering, seluruh struktur dan maksudnya terbuka lebar.
Kini, jelas terlihat bahwa kode tersebut dirancang untuk mengambil alih komputer dan mengunduh program kendali jarak jauh.
Kasus pembongkaran Async RAT ini menunjukkan betapa bahaya siber bisa tersembunyi di balik hal yang tampak sepele, sebaris JavaScript di halaman web, misalnya.
Bagi pembaca non-teknis, pesan utamanya sederhana, selalu waspada terhadap file atau tautan mencurigakan, bahkan jika terlihat biasa saja.(*)
0 Komentar