Vì phổ biến rộng rãi, WordPress thường bị các chiến dịch hack độc hại trên internet. Chiến dịch này khác nhau dựa trên động cơ hacker, kỹ thuật che giấu, v.v. Tuy nhiên, một điểm chung: trang WordPress bị hack được dùng làm trung gian cho mọi mục đích độc hại.
Một loại nhiễm mã độc là hack .Bt WordPress. Đặt tên vậy vì nhiễm này tạo file với phần mở rộng .bt trên trang WordPress dưới thư mục gốc hoặc "wp-admin" hoặc "wp-admin/css".
Ở đây bạn tìm thấy nguyên nhân, triệu chứng, phát hiện, gỡ bỏ hack. Hơn nữa, phân tích hoạt động mã độc để hiểu rõ. Vậy,
Nguyên Nhân Phổ Biến Sau Hack .Bt WordPress
Một số nguyên nhân phổ biến của "Hack .Bt WordPress":
- Plugin cũ và không uy tín.
- Theme bị lỗi.
- Phiên bản PHP cũ.
- Mật khẩu yếu.
- Sai cấu hình server.
Phân Tích Code Mã Độc .Bt WordPress
Xác nhận đầu tiên là file .bt chứa danh sách địa chỉ IP. Nếu xóa file này, nó sẽ tái sinh vì nhiễm không ở file .bt. Nhiễm thường nằm trong file WordPress như:
- wp-load.php
- wp-settings.php
- /wp-content/themes/<some theme>/functions.php
- /wp-includes/functions.php
Mã độc trong file này được che giấu (obfuscated) trông như:


Như thấy, mã độc đầu tiên tắt tất cả thông báo lỗi để tránh nghi ngờ.
Bước 1: Tải Mã Độc
Trong hack .Bt WordPress, payload độc hại không nằm trên server mà tải từ nguồn ngoài. Để làm vậy, mã độc kiểm tra wrapper "allow_url_fopen" của PHP có sẵn không. Nếu không, dùng thư viện cURL của PHP tải mã độc qua hàm "get_data_ya()". URL tải file độc hại: hxxp://lmlink1[.]top/lnk/inj[.]php.
Bước 2: Che Giấu Mã Độc
Sau đó, dữ liệu tải về được che giấu bằng mã hóa XOR đơn giản. Làm trong hàm "wp_cd()" nhận dữ liệu và key, trả về output XOR encrypted.
Bước 3: Ghi Mã Độc
Khi payload mã hóa sẵn sàng, mã độc tìm thư mục con có quyền ghi. Nếu không tìm thấy, ghi trong thư mục hiện tại.
Payload độc hại tải về sau khi giải mã trông như:


Lưu ý: payload không chứa thẻ mở/đóng PHP, được thêm sau khi ghi vào thư mục con.
Bước 4: Thực Thi Payload
Khi payload ghi thành công vào thư mục con, nó được thực thi bằng statement include() của PHP. Payload này tạo file .bt chứa IP của bot công cụ tìm kiếm. Payload cũng phục vụ pharma spam như code dưới.


File .bt có thể dùng để tránh phục vụ spam cho bot tìm kiếm, từ đó tránh blacklist. Payload cũng chấp nhận lệnh độc hại từ creator và thực thi trên trang WordPress bị nhiễm.
Bước 5: Xóa Payload
Cuối cùng, khi xong việc độc hại, mã độc xóa file dùng hàm unlink() của PHP để tránh nghi ngờ. Do đó, mã độc này lẩn tránh radar lâu vì không lưu payload mà tải, dùng, xóa khi xong.
Cách Phát Hiện & Dọn Dẹp Mã Độc .bt?
Phương Pháp 1: Kiểm Tra File Phần Mở Rộng .bt Hoặc .r
Là heuristic test, kiểm tra file với phần mở rộng ".bt" hoặc ".r" có trên server không. Dùng file manager tìm.
Hoặc đăng nhập server qua SSH và chạy lệnh:
find . -name '*.bt' -print
Để xác nhận hack .Bt WordPress, tìm trong file WordPress mã độc. Trong SSH console, chạy:
find . -name "*.php" -exec grep " $ea = '_shaesx_'; $ay = 'get_data_ya'; $ae = 'decode';"'{}'; -print &> list.txt
Lệnh lưu output vào list.txt. Mở file chứa mã độc và xóa code độc hại. Nếu không chắc code nào độc hại, truy cập link này xem chỉ mã độc và xóa tương ứng. Nếu vẫn không chắc, comment code đáng ngờ và nhờ giúp đỡ.
Phương Pháp 2: Kiểm Tra Toàn Vẹn File Core
Phương pháp khác: kiểm tra toàn vẹn file core. Làm như sau, đăng nhập server qua SSH:
Bước 1: Tạo thư mục mới để tải bản WordPress mới và điều hướng:
$ mkdir WordPress
$ cd WordPress
Bước 2: Tải và giải nén phiên bản WordPress mới:
$ wget https://github.com/WordPress/WordPress/archive/<latest version>.tar.gz
$ tar -zxvf <latest version>.tar.gz
Thay <latest version> bằng phiên bản mới nhất, ví dụ: https://github.com/WordPress/WordPress/archive/5.3.tar.gz
Bước 3: So sánh file dùng diff để tìm code đáng ngờ.
$ diff -r path/to/your/file/wp-load.php /Wordpress/wp-load.php.
Bước 4: Nếu tìm thấy mã độc, xóa hoặc nhờ giúp đỡ xóa.
Astra Ở Đây Để Giúp!
Astra Security cung cấp giải pháp bảo mật giá cả phải chăng phát hiện và chặn hack .bt WordPress với giải pháp Website Protection.
Có câu hỏi? Đăng comment hoặc chat với chuyên gia bảo mật. Chúng tôi hứa hẹn trả lời 🙂