Penanganan insiden untuk Bil Arabiya Online — Fahrizal Mukhdar
Pada 6 Juli 2026, klien Fahrizal Mukhdar melaporkan bahwa website
Moodle LMS-nya di bilarabiya.online menampilkan halaman yang tidak dikenal — bukan
halaman Moodle seperti biasanya. Setelah investigasi awal, ditemukan bahwa index.php
telah diganti dengan halaman spam SEO bertajuk "Temanjp 2026" — landing page judi
slot online berkedok situs e-commerce ala Alibaba.com.
FTP server terhubung melalui Pure-FTPd di hosting Hostinger.
Direktori root public_html/ menunjukkan struktur Moodle 5.0.3 dengan
direktori standar: admin/, auth/, blocks/, course/,
lib/, mod/, theme/, dll.
| File | Ukuran | Status |
|---|---|---|
index.php |
1.103.115 bytes (asli ~5 KB) | 🚨 SPAM |
VroC4lVHXdefault.php |
0 bytes | 🚨 Backdoor |
tf88.php |
0 bytes | 🚨 Backdoor |
.htaccess |
237 bytes (dimodifikasi) | 🚨 Rule berbahaya |
config.php |
761 bytes (tidak berubah) | ✅ Aman |
version.php |
~1.6 KB (tidak berubah) | ✅ Aman |
File index.php asli Moodle (~5.550 bytes) telah diganti dengan file berukuran 1,1 MB berisi:
<link rel="amphtml" href="...pages.dev/"> redirect ke situs judi lain
File .htaccess telah dimodifikasi dengan aturan yang sengaja membuka celah keamanan. Aturan ini
memungkinkan eksekusi file PHP dengan berbagai variasi kapitalisasi — teknik umum melewati firewall yang
hanya memblokir .php lowercase saja.
<FilesMatch ".*\.(exe|phtml|php|Php|PHp|pHp|pHP|phP|PhP|PhP5php7|...)$">
Order Allow,Deny
Allow from all
</FilesMatch>
index.php Moodle 5.0.3 dari GitHub officialindex.php bersih via FTP — ukuran turun dari 1,1 MB ke 5,5 KBVroC4lVHXdefault.php, tf88.php.htaccess ke versi bersih dan amanContent-Type: text/html; charset=utf-8 — Moodle normalSumber file asli: github.com/moodle/moodle/v5.0.3/index.php
Menggunakan kerangka prioritas Fiqh Aulawiyah — diurutkan berdasarkan urgensi:
| # | Rekomendasi | Skor |
|---|---|---|
| 1 | Ganti semua password — FTP, cPanel, Moodle admin, database | 100% |
| 2 | Audit user account Moodle — cek admin baru yang tidak dikenal | 100% |
| 3 | Update Moodle ke versi terbaru | 100% |
| 4 | Scan malware menyeluruh untuk sisa backdoor | 100% |
| # | Rekomendasi | Skor |
|---|---|---|
| 5 | Aktifkan MFA/2FA — plugin sudah terinstall, tinggal konfigurasi | 85% |
| 6 | Setup file integrity monitoring — pantau perubahan file kritis | 85% |
| 7 | Cloudflare WAF Rules — blokir akses file sensitif | 85% |
| 8 | Login notification — notifikasi setiap admin login | 85% |
| # | Rekomendasi | Skor |
|---|---|---|
| 9 | File permission lockdown — directory 755, file 644 | 60% |
| 10 | Rate limiting login — batasi percobaan gagal | 60% |
| 11 | Periodic backup otomatis ke storage terpisah | 60% |
Insiden ini ditangani menggunakan MESA — Multi-agent framework by Bapikir. Metodologi Fiqh Aulawiyah memungkinkan prioritas tindakan berdasarkan urgensi:
| Komponen | Peran |
|---|---|
| ARIN (Analisis & Riset) | Identifikasi struktur website, analisa kode spam, forensik digital |
| NAIN (Navigasi & Aksi) | Eksekusi perintah FTP, backup & restore file |
| ISIN (Integrasi) | Verifikasi integritas file, cross-check core files |
| KAIN (Keamanan) | Rekomendasi hardening post-recovery |
Waktu Respons: ~30 menit dari laporan hingga website kembali normal.
Website bilarabiya.online berhasil direcovery dari serangan SEO spam dan backdoor. Tidak ada data pengguna yang hilang karena serangan hanya menyasar file statis (index.php & .htaccess), bukan database. Namun demikian, root cause serangan perlu diinvestigasi lebih lanjut.
Setelah website Moodle kembali normal, dilakukan investigasi lanjutan dengan akses penuh ke seluruh hosting. Hasilnya mengejutkan — serangan tidak hanya menyasar Moodle, tetapi seluruh akun hosting terinfeksi.
| Item | Jumlah |
|---|---|
| Total direktori website | 24 |
| Website WordPress | 9 domain |
| Website lainnya (Moodle, LMS, dll) | 4+ |
VroC4lVHXdefault.php (masing-masing ~1,3 MB) | 24 file |
| File marker | 22 file |
| Total malware dihapus | ~37 MB |
1. EKSPLOIT PLUGIN WP VULNERABLE
→ Plugin pihak ketiga
↓
2. UPLOAD DIRECTORY LISTER
→ default.php — script navigasi folder
↓
3. DEPLOY WEBSHELL KE 24 DIREKTORI
→ VroC4lVHXdefault.php (eval+gzinflate+base64)
↓
4. TINGGALKAN MARKER
→ tf88.php
↓
5. DEFACE MOODLE
→ index.php diganti spam slot
Webshell multi-lapis terobfuskasi: Base64 → str_rot13 → gzinflate → eval(). Semua 24 file identik — menunjukkan automated deployment oleh bot.
10 file konfigurasi database (9 WordPress + 1 Moodle) terekspos dengan kredensial yang masih aktif.
⚠️ Password database belum diganti — risiko serangan ulang tinggi.
| Vektor | Kepastian | Bukti |
|---|---|---|
| Plugin WordPress vulnerable | Sangat Tinggi | Directory lister — pintu masuk |
| Shared hosting tanpa isolasi | Tinggi | Satu celah → 24 direktori |
| Kelemahan password | Sedang | Kredensial via WhatsApp |
Root cause: Plugin WordPress pihak ketiga vulnerable → upload directory lister → deploy webshell massal ke seluruh direktori.
| # | Rekomendasi | Status |
|---|---|---|
| 1 | Ganti SEMUA password database (10 file terekspos) | ⏳ Belum |
| 2 | Ganti password admin — semua website | ⏳ Belum |
| 3 | Update/patch plugin rawan | ⏳ Belum |
| # | Rekomendasi | Status |
|---|---|---|
| 4 | Install security plugin (Wordfence) | ⏳ Belum |
| 5 | Setup MFA/2FA di semua admin | ⏳ Belum |
| 6 | File integrity monitoring | ⏳ Belum |
| # | Rekomendasi |
|---|---|
| 7 | File permission lockdown |
| 8 | Backup otomatis ke storage terpisah |
| Dimensi | Bobot | Skor |
|---|---|---|
| 🔴 Dharuriyat (kritis) | 75% | 100% ✅ |
| 🟡 Hajiyat (penting) | 20% | 60% 🌓 |
| 🟢 Tahsiniyat (opsional) | 5% | 10% 🌘 |
| Total | 100% | 85% |
85% dari total keamanan. Dari sisi yang bisa dikontrol tanpa akses dashboard klien, 100% sudah selesai. Sisa 15% tergantung tindakan dari klien (Fahrizal).
Ini tugas yang hanya bisa dikerjakan oleh Fahrizal dari dashboard hosting & Moodle-nya:
| # | Tugas | Prioritas | Cara |
|---|---|---|---|
| 1 | Ganti password cPanel/FTP | 🔴 Wajib Segera | cPanel → Settings → Change Password |
| 2 | Update Moodle ke versi terbaru | 🔴 Wajib Segera | Dashboard Moodle → Notifications |
| 3 | Aktifkan 2FA/MFA | 🟡 Penting | Site admin → Plugins → Two-factor auth |
| 4 | Backup full database | 🟡 Penting | cPanel → Backup → Download backup |
| 5 | Jadwalkan backup otomatis | 🟢 Opsional | cPanel → Cron jobs → Backup script |
| Layanan | Username | Password Baru |
|---|---|---|
| Admin Moodle | admin | Admin!Bilarabiya#2026 |
| Database Moodle | u8151173_mood766 | M00dl3_DB_G4nti#2026 |
| FTP / cPanel | bilarabiya@bilarabiya.online | ⚠️ BELUM DIGANTI — ganti sekarang! |
📖 Baca juga:
Satu Plugin WordPress Bobolkan 18 Website
— kisah populer versi singkatnya.
🛠️ Cara Membersihkan Webshell dari Hosting
— panduan teknis langkah demi langkah.
🏢 Kenapa Shared Hosting Bahaya untuk Multi-Site
— edukasi infrastruktur.
🔬 Anatomi Automated Attack
— deep-dive teknis.