Mã độc WP-VCD, được đặt tên theo file wp-vcd.php, đã gây phá hoại trong không gian WordPress. Kể từ lần đầu tiên được phát hiện bởi các nhà nghiên cứu bảo mật của chúng tôi hơn một năm trước, mã độc này đã tiến hóa và trở nên tinh vi hơn. Dưới đây là nghiên cứu của chúng tôi về sự tiến hóa của mã độc nổi tiếng này và cách sửa chữa và ngăn chặn nhiễm mã độc WP-VCD cho trang web.
Triệu chứng mã độc WP-VCD:
1. Người dùng admin mới được thêm vào WordPress: Chúng tôi đã thấy hacker thêm mình làm người dùng trong WordPress với đặc quyền admin.
2. Tiêu thụ tài nguyên cao: Mã độc WP-VCD nổi tiếng với việc tiêu thụ tài nguyên máy chủ. Chúng tôi cũng đã thấy công ty hosting tạm ngưng tài khoản với lý do "tiêu thụ tài nguyên cao".
3. Làm chậm thời gian tải trang web: Thường, thời gian tải trang web bị nhiễm mã độc này bị ảnh hưởng tiêu cực. Trong một số trường hợp, chúng tôi thấy trang web thường tải 2-3 giây mất hơn 30 giây!
4. Mã Javascript không xác định: Chúng tôi đã thấy mã javascript không xác định được thêm vào một số file WP quan trọng như functions.php, index.php, hoặc hầu như tất cả file core WP. Thứ hai thường là ác mộng để sửa, thường dẫn đến chuyển hướng trang web đến domain độc hại.
5. Mã PHP độc hại trong thư mục core: Mã "WP-VCD" được thêm vào các vị trí khác nhau của WordPress. Từ tên của nó, có thể giả định file là một phần của WordPress, nhưng phân tích mã tiết lộ nó là mã độc.
Dưới đây là ví dụ mã độc WP-VCD được ẩn tốt trong thư mục wp-includes, được gắn cờ bởi trình quét mã độc của Astra Security.
Các nguyên nhân chính của nhiễm virus WP-VCD:
Một khi bị nhiễm, rất quan trọng để xóa nhiễm mã và đảm bảo WordPress của bạn kín đáo và an toàn cho tương lai. Đồng thời, quan trọng không kém là biết nguồn của nhiễm mã có thể là gì. Dưới đây là một số điểm vào chúng tôi đã xác định:
- Theme bị crack và nulled: Mã độc WP-VCD được cài sẵn với phiên bản crack của theme/plugin trả phí. Theme và plugin nulled (crack) này chứa script độc hại triển khai khi bạn cài đặt.
Sau khi đặt chân vào trang web qua theme nulled, nó tiếp tục nhiễm tất cả theme khác trên trang. Trong trường hợp shared hosting, mã độc này lan sang nhiễm mọi trang không được bảo vệ trên máy chủ đó. Đó là lý do ta thường thấy mã độc này nhiễm tất cả trang web trên cùng máy chủ khi chúng không được containerized.
- Plugin và theme không cập nhật: Đây là một trong những nguyên nhân chính của hầu hết nhiễm mã WordPress. Tuy nhiên, cập nhật tất cả theme/plugin sau nhiễm mã không có nghĩa là nhiễm mã biến mất. Dọn dẹp nhiễm mã luôn cần thiết, đảm bảo bảo mật chủ động.
- Không có bảo mật chủ động trên trang web: Thực tế, hacker đã tiến hóa kỹ thuật qua nhiều năm. Họ kiếm hàng nghìn đô la từ hack này, nghĩa là họ có thể chi hàng trăm đô la để tự động hóa hack và nhiễm hàng nghìn/trieu trang web cùng lúc.
Để bảo vệ khỏi kỹ thuật hack WordPress tiến hóa này, một khoản đầu tư nhỏ vào công cụ bảo mật có thể giúp rất xa. Nó giúp bạn tránh đau đầu trong lúc như thế và ngăn chặn mất mát SEO, marketing, doanh số do downtime là lợi ích thêm.
Cách mã độc WP-VCD hoạt động chính xác?
[một chút thuật ngữ kỹ thuật (nhưng siêu quan trọng) sắp tới]
Rất quan trọng để hiểu chính xác WP-VCD làm gì và nó làm thế nào để làm chậm trang web bằng cách tiêu thụ tất cả tài nguyên quý giá của máy chủ.
Khi mã độc được chèn vào trang web, nó thường nằm trong file core như functions.php/index.php. Bây giờ, mã độc này gọi các file của trang web. Khi trang web được mở từ trình duyệt, nó cố gắng đạt đến file mà mã độc gọi. Và các file này có thể tồn tại hoặc không trên trang web, dẫn đến functions.php chạy lại. Về cơ bản, đây là làm cho quá trình tải trang web chạy vòng tròn. Trong ngôn ngữ bảo mật, điều này gọi là "fork bomb" (bom nhánh).
Bước 1: Triển khai script độc hại
Trong file functions.php của theme, bạn sẽ thấy mã tương tự như sau:
<?php if (file_exists(dirname(__FILE__) . '/class.theme-modules.php')) include_once(dirname(__FILE__) . '/class.theme-modules.php'); ?>
Mã này kiểm tra xem script triển khai có sẵn không và chạy chúng. Như bạn thấy trong mã, file được gọi là class.theme-modules.php. Tùy theo nguồn nhiễm (theme hay plugin), script độc hại sẽ ở file class.theme-modules.php hoặc class.plugin-modules.php tương ứng.
Bước 2: Tạo backdoor
<?php //install_code1 error_reporting(0); ini_set('display_errors', 0); DEFINE('MAX_LEVEL', 2); DEFINE('MAX_ITERATION', 50); DEFINE('P', $_SERVER['DOCUMENT_ROOT']); $GLOBALS['WP_CD_CODE'] = 'PD9waHANCmVycm9y...(base64-encoded string of PHP code) ...
Mã này tạo người dùng admin mới với tên tương tự 100010010. Mục đích của tài khoản admin bị chiếm đoạt này là đảm bảo hacker có thể truy cập trang web ngay cả khi bạn xóa mã độc, để kẻ tấn công có thể tấn công sau.
Bước 3: Nhận lệnh từ hacker
Đôi khi hacker chèn URL máy chủ C2 của họ. URL này sau đó được gọi để triển khai hành động trên các trang bị nhiễm cùng lúc. Các domain như www.krilns[.]com/code.php, krilns[.]pw, krilns[.]top, v.v. đã được tìm thấy thực hiện hành động này trên nhiều trang bị nhiễm WP-VCD.
Bước 4: Nhiễm file và trang khác
Điều tiếp theo mã độc WP-VCD làm là lan rộng. Nó triển khai script độc hại vào mọi theme và plugin trên trang. Sau đó, nó tiếp tục tìm trang dễ bị tổn thương trên cùng máy chủ và nhiễm chúng.
Sự lan truyền này bắt đầu bằng việc triển khai script tại: wp-includes/wp-vcd.php. Được theo sau bởi sửa đổi trong core wp-includes/post.php cuối cùng thực thi mã trong wp-vcd.php trên mọi trang.
Cách sửa và xóa mã độc WP-VCD WordPress?
1. Tìm và xóa mã độc: Có vài nơi khả năng tìm mã độc cao. Tuy nhiên, hacker thường cố gắng cải thiện cách ẩn mã độc sáng tạo hơn, nhưng các file/thư mục này trên máy chủ đáng để bắt đầu săn tìm:
- wp-includes/wp-vcd.php
- wp-includes/wp-tmp.php
- wp-content/themes/*/functions.php (tất cả theme cài trên server dù active hay không)
- class.wp.php
- code1.php
- class.theme-modules.php (bên trong thư mục theme)
2. Tìm kiếm mẫu chuỗi độc hại: Tìm kiếm mẫu chuỗi tìm thấy trong file mã độc bị nhiễm giúp thu hẹp tìm kiếm. Một số được đề cập dưới đây:
- tmpcontentx
- function wp_temp_setupx
- wp-tmp.php
- derna.top/code.php
- stripos($tmpcontent, $wp_auth_key)
3. Phân tích functions.php: File này là một trong những file bị hacker nhiễm nhiều nhất. Xem lại mã trong functions.php có thể tiết lộ mã điều khiển của wp-vcd malware.
4. Chạy kiểm tra diff để đảm bảo tính xác thực của mã: Chạy diff check nội dung file trên server với file tương ứng trong repository GitHub WordPress core hoặc thư mục theme/plugin. Bạn có thể dùng một trong hai cách (hoặc cả hai) dùng SSH hoặc IDE.
- Finding & removing malicious code: There are a few places where probability of finding the malicious code is high. Though, hackers often try to improve their ways to hide the malware more creatively still these files/folders on your server are worth starting the hunt from:
- wp-includes/wp-vcd.php
- wp-includes/wp-tmp.php
- wp-content/themes/*/functions.php (all themes installed on the server whether active or not)
- class.wp.php
- code1.php
- class.theme-modules.php (inside the theme folder)
- Searching malicious string patterns: Searching for string patterns that are found in infected malware files helps you in narrowing down the search. A few of them mentioned below:
- tmpcontentx
- function wp_temp_setupx
- wp-tmp.php
- derna.top/code.php
- stripos($tmpcontent, $wp_auth_key)
- Analyze functions.php: This file is one of the top infected files by hackers. Reviewing the code in functions.php can reveal the controlling code of wp-vcd malware.
- Run a diff check to ensure code authenticity: Run a diff check of the file contents on your server with corresponding files in the WordPress core GitHub repository or theme/plugin directory. You can use either of the approaches (or both) using SSH or using your IDE.

(Kiểm tra diff file, screenshot Astra malware scanner hiển thị mã độc thêm ở đầu file index.php)
5. Chạy quét mã độc: Trong tình huống nhiễm mã như vậy, trình quét mã độc có thể giúp bạn tiết kiệm giờ tìm mã độc (vẫn không đảm bảo thành công). Trình quét không chỉ quét mỗi file trên server, nó đảm bảo mọi khác biệt trong file core WordPress được gắn cờ.
Mã độc WP VCD xâm nhập trang web bằng cách khai thác lỗ hổng plugin và theme cũ. Trong hầu hết trường hợp, chủ trang web tự nhiễm bằng cách cài plugin và theme miễn phí hoặc nulled từ nguồn không uy tín, trong trường hợp khác do lây lan từ trang bị nhiễm.
Hướng dẫn liên quan – Hướng dẫn hoàn chỉnh bảo mật WordPress
Một trong những bài học lớn từ các hack này là đảm bảo trang web an toàn cho tương lai. Không rơi vào tình huống đó hoàn toàn có thể với Astra Security Suite, bảo mật hàng nghìn trang web toàn cầu, chặn hàng triệu tấn công và mã độc mỗi ngày!