Analisa sebuah Skrip Backdoor
Kode PHP ini [0] mencurigakan dan memiliki karakteristik backdoor atau akses tersembunyi.
Berikut adalah analisisnya:
1. Autentikasi Melalui Cookie dan Password
Fungsi is_logged_in() mengecek apakah ada cookie dengan nama user_id dan nilainya 'admin@h4x0rqt'. Jika iya, pengguna dianggap sudah login.
Jika belum login, sistem meminta password melalui formulir HTML.
Password yang dimasukkan diverifikasi dengan bcrypt hash ($hashed_key).
Jika cocok, cookie user_id diset untuk sesi login.
2. Mengambil dan Mengeksekusi Kode dari Internet
Jika pengguna sudah login, kode mengambil data dari URL eksternal:
$destiny = 'https://ikanmujaer.pages.dev/names.jpg';
Fungsi geturlsinfo($destiny) menggunakan berbagai metode untuk mengambil data:
curl_exec()
file_get_contents()
fopen() + stream_get_contents()
Data yang didapat dieksekusi menggunakan:
eval('?>' . $dream);
Ini sangat berbahaya karena kode yang diambil dari internet dapat berupa kode PHP berbahaya yang dijalankan langsung di server.
3. Indikasi Backdoor
Autentikasi berbasis cookie: Ini memungkinkan siapa saja yang mengetahui nilai cookie (admin@h4x0rqt) untuk login tanpa password.
Eksekusi kode dari sumber eksternal: Server bisa dieksploitasi dengan mengubah isi file names.jpg di ikanmujaer.pages.dev.
Enkripsi fungsi dalam hex: Nama fungsi PHP (fopen, curl_exec, dll.) disimpan dalam bentuk hex dan dikonversi kembali ke string untuk menghindari deteksi oleh scanner keamanan.
4. Langkah-Langkah Investigasi
Jika Anda memiliki akses ke sistem di mana kode ini ditemukan, berikut langkah-langkah yang bisa Anda lakukan:
4.1. Periksa File dan Lokasi Kode
Apakah file ini berada di server produksi?
Bagaimana file ini masuk ke server? Cek log akses (/var/log/apache2/access.log atau /var/log/nginx/access.log jika menggunakan Apache/Nginx).
Cek waktu modifikasi file untuk mengetahui kapan terakhir diubah:
ls -lah --time-style=full-iso /path/to/file.php
4.2. Cek Siapa yang Mengakses Kode Ini
Gunakan perintah berikut untuk mencari siapa yang mengakses halaman ini dalam log:
grep "nama_file.php" /var/log/apache2/access.log
atau jika menggunakan Nginx:
grep "nama_file.php" /var/log/nginx/access.log
Cari permintaan mencurigakan dari IP luar negeri atau IP tidak dikenal.
4.3. Analisis URL Eksternal yang Digunakan
Kode mencoba mengambil data dari:
$destiny = 'https://ikanmujaer.pages.dev/names.jpg';
Periksa URL tersebut:
Apakah masih aktif?
Apakah file tersebut benar-benar gambar atau kode PHP?
Unduh secara manual:
wget https://ikanmujaer.pages.dev/names.jpg -O suspect_file
Cek apakah ada PHP atau kode berbahaya di dalamnya:
cat suspect_file | strings | less
Jika berisi kode PHP, ini indikasi backdoor.
4.4. Cek Proses yang Berjalan
Jika kode ini sudah dijalankan, mungkin ada proses berbahaya berjalan. Cek dengan:
ps aux | grep php
Atau untuk mencari aktivitas curl yang mencurigakan:
ps aux | grep curl
4.5. Cek Koneksi Jaringan
Lihat apakah server membuat koneksi keluar ke IP mencurigakan:
netstat -anp | grep ESTABLISHED
Atau untuk mencari koneksi spesifik ke ikanmujaer.pages.dev:
lsof -i | grep ikanmujaer
4.6. Cek Cron Jobs untuk Backdoor yang Tertanam
Banyak backdoor yang menanam cron job untuk mempertahankan akses. Cek dengan:
crontab -l
cat /etc/crontab
Jika ada skrip otomatis yang menjalankan kode PHP mencurigakan, segera hapus.
Kesimpulan
Kode ini bukan sekadar eksploit, tetapi backdoor untuk memberikan akses rahasia ke server dengan mengambil kode dari internet dan mengeksekusinya.
Jika Anda menemukan ini di server Anda:
1. Putuskan koneksi internet server sementara untuk mencegah eksekusi lebih lanjut.
2. Salin file dan log terkait sebagai bukti untuk investigasi forensik.
3. Bersihkan dan perkuat keamanan server sebelum menghubungkannya kembali ke internet.
4. Laporkan ke tim keamanan atau CERT (Computer Emergency Response Team) jika ini terjadi dalam lingkungan perusahaan.
Rekomendasi
Kode ini kemungkinan besar adalah backdoor untuk memberikan akses rahasia ke server. Jika Anda menemukannya di sistem Anda:
Segera hapus kode ini.
Periksa log akses untuk melihat siapa yang mengakses file ini.
Reset kredensial penting, terutama jika server sudah terkompromi.
Gunakan IDS/IPS untuk mendeteksi aktivitas berbahaya.
Pastikan server Anda tidak memiliki file atau akses tidak sah lainnya.
Apakah Anda menemukannya dalam sistem Anda sendiri atau sedang melakukan analisis keamanan?
Referensi
[0] https://paste.ee/r/8FXVnzqm/0?fbclid=IwY2xjawJC99lleHRuA2FlbQIxMQABHUjY9NrbZ7AXPqsr-tdEr7tIHTOgLJTYyqCKLkj01S30nmryrFvnkpQahA_aem_z12MWByYSMOxOZRX-2uMSQ