Langkah Mudah Deobfuscating PHP Script dengan EvalHook

Di dunia teknologi, tentu kita sudah tak asing dengan istilah bernama obfuscate, di mana menjadi sebuah teknik yang sering dilakukan di dunia coding dengan menyembunyikan source code dari suatu aplikasi untuk mempersulit orang lain membaca dan memahami isi dari source code tersebut.

Sederhananya, obfuscation menjadi teknik yang lazim digunakan programmer atau software architect untuk melindungi source code ciptaan mereka dari orang lain yang ingin mengubah, mengganti, atau mengklaim source code tersebut tanpa izin. Namun, pemakaian obfuscation juga bisa disalahgunakan oleh orang-orang yang menyisipkan kode-kode yang disebarkan di internet.

Ada banyak tool dan situs web yang menyediakan fitur obfuscation, yang pada akhirnya disalahgunakan oleh sejumlah oknum untuk menciptakan kode dan menyembunyikannya dengan tool obfuscation, sehingga sulit dideteksi oleh sysadmin atau blue team.

Kalau obfuscation menyembunyikan kode asli, ada juga deobfuscation yang mana melakukan ‘pembongkaran’ source code dari program yang sudah di-obfuscate, sehingga kode dapat dilihat tanpa mengalami kesulitan untuk memahaminya. Dengan kemampuan reverse engineering, sangat memungkinkan untuk menganalisa obfuscated code dan mengetahui source code asli dari program tersebut.

Deobfuscating PHP Script dengan EvalHook

Pada kesempatan kali ini, akan dijelaskan lebih detail terkait proses deobfuscating pada source code dari program berbahaya yang menggunakan PHP script menggunakan bantuan dari EvalHook.

EvalHook adalah sebuah library tambahan yang dapat mendeteksi fungsi eval pada memori ketika program berjalan. EvalHook bisa didapatkan pada repositori berikut https://github.com/unreturned/evalhook.

Sebagai contoh sederhana, di sini ada source code yang sudah di-obfuscate secara sederhana:

 # cat obfuscated.php

 

$Oo0O = “base64_decode”;

$xXxX = “c3lzdGVtKCJ3aG9hbWkiKTs=”;

@eval(@$Oo0O($xXxX)); 

 

Potongan source code diatas tampak sulit dibaca dan dipahami karena adanya proses obfuscate pada code tersebut. Mari coba gunakan EvalHook untuk melakukan analisis terhadap source code tersebut.

# php -d extension=evalhook.so obfuscated.php

Script tries to evaluate the following string.

—-

system(“whoami”);

—-

Do you want to allow execution? [y/N]

Setelah menjalankan EvalHook pada contoh diatas, EvalHook akan mencari fungsi eval pada memori ketika program tersebut dijalankan, dan bisa diketahui bahwa source code yang sudah di-obfuscate hanya berisikan potongan kode yaitu system(“whoami”);

Dengan demikian, tak peduli serumit apa proses obfuscate yang diterapkan, pada akhirnya program tersebut menggunakan eval untuk melakukan eksekusi, di mana EvalHook bisa menampilkan source code asli dari program itu. Hal ini dikarenakan EvalHook akan langsung mencari fungsi eval yang ada pada memori ketika program tersebut dijalankan dan menampilkan code asli yang dijalankan pada fungsi eval tersebut.

Sebagai ahli keamanan IT terpercaya di Indonesia, Defenxor selalu berkomitmen dengan memberikan informasi dan tips-tips yang diharapkan dapat membantu Anda mendapatkan lebih banyak pemahaman tentang ilmu IT, salah satunya adalah dengan mempelajari proses deobfuscating, sehingga kita semua bisa semakin waspada dalam menghadapi tantangan keamanan siber, khususnya dalam menjaga keamanan data dalam aplikasi dan program yang kita ciptakan.

Contents

Share the Post:

Related Posts

Pandemi COVID-19 yang masih berlangsung telah mengubah cara hidup dan bekerja semua lapisan masyarakat di dunia. Perubahan yang ada terjadi begitu cepat dan massal. Untuk...

Sekarang, sudah banyak arsitektur aplikasi yang sepenuhnya memakai environment serta teknologi cloud. Adapun alasan penggunaan environment dan teknologi cloud ini adalah untuk meningkatkan efisiensi waktu,...

By submitting your personal data in the required fields above, PT Defender Nusa Semesta and its affiliates collect and proceed with such data. To learn more about our privacy practices, please refer to: PT Defender Nusa Semesta’s Privacy Policy.