Một chiến dịch tấn công chuỗi cung ứng (supply chain attack) vừa được hacker tiến hành. Trong vụ này, hacker đã xâm phạm 93 theme và plugin WordPress để cài backdoor giúp chúng toàn quyền truy cập vào các trang web.
Tổng cộng, hacker đã xâm nhập 40 theme và 53 plugin của AccessPress, một nhà phát hành các tiện ích bổ sung cho WordPress. Hơn 360.000 trang web đang sử dụng các tiện ích của AccessPres.
Các nhà nghiên cứu tại Jetpack, công ty tạo ra công cụ bảo mật và tối ưu hóa cho các trang web WordPress, đã phát cuộc tấn công này. Họ nhận thấy rằng một backdoor PHP đã được thêm vào các theme và plugin.
Jetpack cho rằng một hacker bên ngoài đã xâm nhập vào trang web của AccessPress sau đó xâm phạm vào phần mềm và sau đó lây nhiễm sang các trang WordPress khác.
Ngay sau khi quản trị viên cài đặt một sản phẩm đã bị xâm phạm của AccessPress, một tệp “initial.php” mới sẽ được thêm vào thư mục theme chính và đưa nó vào tệp “functions.php” chính. Tệp này chứa payload được mã hóa base64 ghi một webshell vào tệp “./wp-includes/vars/php”.
Mã độc hoàn tất việc cài đặt backdoor bằng cách giải mã payload và đưa nó vào tệp “vars.php”. Về cơ bản, hacker có quyền kiểm soát từ xa mọi trang web cài đặt các theme và plugin bị cài backdoor.
Cách duy nhất để phát hiện mối đe dọa này là sử dụng giải pháp giám sát tính toàn vẹn của tệp cốt lõi. Lý do là vì mã độc sẽ xóa tệp dropper “initial.php” để xóa dấu vết của nó.
Theo các nhà nghiên cứu của Sucuri, đơn vị tiến hành điều tra vụ việc để tìm ra mục tiêu của hacker, hacker sử dụng backdoor để chuyển hướng khách truy cập đến các trang web lừa đảo và phát tán mã độc. Do đó, chiến dịch này không phức tạp cho lắm.
Ngoài ra, hacker cũng có thể bán quyền truy cập vào các trang web qua backdoor trên dark web. Đây là một cách kiếm tiền hiệu quả với các cuộc tấn công quy mô lớn như thế này.
Quản trị viên các trang WordPress phải làm gì?
Nếu bạn đã cài đặt một trong các theme hoặc plugin bị xâm phạm trên trang web của mình, việc xóa/thay thế/cập nhật chúng sẽ không giúp bạn xóa bỏ bất kỳ webshell nào đã được cài cắm.
Do vậy, quản trị viên nên quét trang web để tìm các dấu hiệu xâm nhập bằng cách thực hiện những việc sau:
- Kiểm tra từ dòng 146-158 trong tệp wp-include/vars.php. Nếu thấy hàm “wp_is_mobile_fix” ở đó với một số code đã bị xáo trộn thì bạn đã bị xâm nhập.
- Truy vấn hệ thống tệp của bạn bằng từ khóa “wp_is_mobile_fix” hoặc “wp-theme-connect” để xem có thấy tệp nào bị ảnh hưởng hay không.
- Thay thế các tệp WordPress cốt lõi của bạn bằng các bản sao mới.
- Nâng cấp các plugin bị ảnh hưởng và chuyển sang một them khác.
- Thay đổi mật khẩu wp-admin và cơ sở dữ liệu.
Jetpack đã cung cấp một quy tắc YARA dưới đây để các admin kiểm tra xem trang web của họ có bị xâm nhập hay không. Ngoài ra, quy tắc này còn phát hiện ra cả dropper và webshell đã được cài đặt:
rule accesspress_backdoor_infection
{
strings:
// IoC's for the dropper
$inject0 = "$fc = str_replace('function wp_is_mobile()',"
$inject1 = "$b64($b) . 'function wp_is_mobile()',"
$inject2 = "$fc);"
$inject3 = "@file_put_contents($f, $fc);"
// IoC's for the dumped payload
$payload0 = "function wp_is_mobile_fix()"
$payload1 = "$is_wp_mobile = ($_SERVER['HTTP_USER_AGENT'] == 'wp_is_mobile');"
$payload2 = "$g = $_COOKIE;"
$payload3 = "(count($g) == 8 && $is_wp_mobile) ?"
$url0 = /https?:\/\/(www\.)?wp\-theme\-connect\.com(\/images\/wp\-theme\.jpg)?/
condition:
all of ( $inject* )
or all of ( $payload* )
or $url0
}
Các backdoor được phát hiện vào tháng 9/2021
Jetpack tìm ra backdoor vào tháng 9/2021 và ngay sau đó các nhà nghiên cứu phát hiện ra rằng hacker đã xâm phạm tất cả các plugin và theme của AccessPress. Jetpack cho rằng cả những tiện ích bổ sung có thu phí của AccessPress cũng đã bị xâm phạm nhưng không kiểm tra được nên chưa thể xác nhận.
Dựa trên dấu vết thời gian, hầu hết các sản phẩm có thể đã bị xâm phạm vào đầu tháng 9/2021.
Vào ngày 15/10/2021, nhà cung cấp đã xóa các tiện ích mở rộng khỏi cổng tải xuống chính thức cho đến khi xác định và giải quyết được vấn đề. Vào ngày 17/01/2022, AccessPress đã phát hành các phiên bản plugin mới đã được loại bỏ các tác nhân gây hại.
Tuy nhiên, cho tới nay các theme bị ảnh hưởng vẫn chưa được “làm sạch”. Do vậy, việc chuyển sang một theme khác là cách duy nhất để giảm thiểu các rủi ro bảo mật.
Nguồn: Hơn 90 theme và plugin WordPress bị backdoor trong chiến dịch tấn công chuỗi cung ứng