Hacker khai thác lỗ hổng nghiêm trọng trên Elementor Pro – Update ngay!

Xuất hiện lỗi bảo mật Elementor Pro cho phép hacker chiếm quyền Administrator và phá hoại website. Cần update ngay phiên bản Elementor Pro mới nhất.

Lỗi bảo mật Elementor Pro

Tuần này có vẻ WordPress gặp hạn, có khá nhiều lỗi bảo mật nghiêm trọng xuất hiện, và trùng hợp là đều dính tới WooCommerce, bằng cách này hay cách khác.

Vài hôm trước cộng đồng WordPress vừa xôn xao việc WooCommerce Payment dính lỗi bảo mật cực kỳ nghiêm trọng – cấp độ cảnh báo là Critical, cho phép người dùng bất kỳ chiếm quyền Administrator dễ dàng, như WPVUI đã thông tin chi tiết:

WooCommerce Payment dính lỗi bảo mật nghiêm trọng

Chỉ ngày hôm sau, giới bảo mật lại tiếp tục tung tin Elementor Pro , đang chạy trên hơn 12 triệu websites toàn cầu, có lỗ hổng bảo mật ở cấp độ nghiêm trọng (High -> Critical), cũng cho phép chiếm quyền Administrator.

Hài ở chỗ lỗ hổng trên Elementor Pro lại nằm ở module hỗ trợ WooCommerce, tức nếu bạn có cài đặt và activate WooCommerce thì lỗi này mới có thể bị khai thác.

Như vậy những website bán hàng WooCommerce mà có sử dụng Elementor Pro thì bạn cần update ngay lên phiên bản mới nhất, hoặc chí ít là phiên bản 3.7.11 trở về sau, để đảm bảo lỗ hổng này đã được fixed.

Ta sẽ nói chi tiết hơn:

Lỗ hổng Broken Access Control trên Elementor Pro

Lỗ hổng được công bố vào ngày 18/3/2023 bởi chuyên gia bảo mật whitehat Jerome Bruandet từ Nintechnet.

Jerome phát hiện trên các website bán hàng đang chạy WooCommerce, nếu sau đó kích hoạt Elementor Pro, thì Elementor Pro sẽ tải về module hỗ trợ riêng cho WooCommerce, cụ thể là file /elementor-pro/modules/woocommerce/module.php, trong đó có đăng ký 2 lệnh Ajax actions:

public function register_ajax_actions( Ajax $ajax ) {
   // `woocommerce_update_page_option` is called in the editor save-show-modal.js.
   $ajax->register_ajax_action( 'pro_woocommerce_update_page_option', [ $this, 'update_page_option' ] );
   $ajax->register_ajax_action( 'pro_woocommerce_mock_notices', [ $this, 'woocommerce_mock_notices' ] );
}

Lỗ hổng nằm trên action  pro_woocommerce_update_page_option có hàm update_page_option trong hàm này có lệnh update_option với 2 tham số đầu vào do người dùng gởi, update_option cho phép chỉnh sửa các tùy chọn trên Database (wp-options) của WordPress.

public function update_page_option( $data ) {
   update_option( $data['<strong>option_name</strong>'], $data['<strong>editor_post_id</strong>'] );
}

Đây là chức năng bình thường trên WooCommerce, cho phép người dùng với quyền Administrator hoặc Shop Manager có đặc quyền cập nhật một số tùy chọn của WooCommerce lên Database.

Vấn đề nghiêm trọng xảy ra vì lỗi lập trình, đó là lỗi bỏ qua khâu kiểm tra đặc quyền người dùng để hạn chế truy cập.

Lỗi Broken Access Control
Source: practonet.com

Lẽ thường, nếu chức năng đặc quyền riêng cho user Administrator và Shop Manager thì cần kiểm tra xác thực quyền người dùng trước khi cho phép họ sử dụng các lệnh này. Bỏ qua nó, giống như ai cũng có thể vào khám xét nhà bạn, mà không cần có giấy khám nhà.

Lỗi này được gọi là Broken Access Control, một trong những lỗi kinh điển thường xuyên xảy ra ở mọi cấp độ do sự bất cẩn của lập trình viên, lỗi này sẽ trao các quyền hạn cao cấp cho đối tượng người dùng thông thường, bỏ qua khâu xác thực – phân quyền, dẫn đến nguy cơ bị chiếm quyền kiểm soát website, phần mềm hay hệ thống mạng.

Các action của Elementor Pro WooCommerce Module đã bỏ qua khâu xác thực user role, nên mọi user trên WordPress, từ quyền nhỏ nhất là Subscriber hay Customer đều có thể sử dụng các lệnh này.

Khi đó, user bất kỳ trên website có thể sử các tùy chọn trên Database với ý đồ cực kỳ hiểm độc là:

  • Bật tính năng đăng ký thành viên users_can_register nếu nó chưa được bật sẵn, và đặt quyền mặc định của user default_role khi đăng ký thành viên là Administrator thay vì chỉ quyền Subscriber/ Customer như bình thường.

Sau đó, họ có thể tạo bao nhiêu user Administrator trên website tùy thích.

Lỗ hổng cũng cho phép user bất kỳ tùy chỉnh Database để:

  • Đổi email quản trị admin_email trên WordPress.
  • Chuyển toàn bộ truy cập sang một trang bất kỳ siteurl.

Ví dụ:

MariaDB [example]> SELECT * FROM `wp_options` WHERE `option_name`='siteurl';
+-----------+-------------+------------------+----------+
| option_id | option_name | option_value     | autoload |
+-----------+-------------+------------------+----------+
|         1 | siteurl     | https://evil.com | yes      |
+-----------+-------------+------------------+----------+
1 row in set (0.001 sec)

Tóm lại, website dễ dàng bị kẻ xấu chiếm quyền hoàn toàn nếu đang chạy WooCommerce cùng với Elementor Pro và thỏa mãn chỉ 1 trong 2 điều kiện sau đây:

  1. Bật sẵn tính năng đăng ký thành viên, thường là quyền Subscriber hoặc Customer (với web bán hàng), web bán hàng sẽ có tùy chọn cho phép đăng ký thành viên (với user role là Customer) khi thực hiện checkout, đây là tính năng hữu ích nên hầu hết trường hợp nó đều được bật sẵn.
  2. Hoặc có sẵn user có ý đồ xấu trên website, bất kể user role là Subscriber, Customer, Contributor, Author, Editor..

Hacker đang khai thác lỗ hổng Elementor Pro

Khác với lỗ hổng trên WC Pay, được công bố bởi giới White Hat trước khi có dấu hiệu tấn công và thiệt hại rõ ràng, lỗ hổng trên Elementor Pro có vẻ đã được hacker khai thác rồi.

Công ty bảo mật số 1 cho WordPress là PactStack đã phát hiện các cuộc tấn công có chủ ý từ các IP sau:

  • 193.169.194.63
  • 193.169.195.64
  • 194.135.30.6

Kẻ tấn công đã chủ động upload các file đáng ngờ:

  • wp-resortpack.zip
  • wp-rate.php
  • lll.zip

Và cũng thực hiện chuyển hướng truy cập sang website site lạ với đường dẫn, đây là trang web của hacker:

  • xa. trackersline .com

Trên cộng đồng WordPress, một số người dùng cũng có thông báo về việc website của họ bị chuyển hướng sang tracksline, có vẻ đây là trang đích của hacker:

Chi tiết hơn, theo báo cáo từ Sucuri, thì tham số site_url trên table wp-options của WordPress database bị thay đổi thành:

  • hxxps://away[.]trackersline[.]com/do.js?l=1#

Khi vào website, khách truy cập sẽ gọi file Javascript là do.js, file này có chức năng bật cửa sổ popup trên trình duyệt và gọi lệnh thực thi các đoạn mã PHP của hacker:

window.stop();var step = "hxxps://away[.]trackersline[.]com/away.php?id=43436-22-4734573234";
document.location.href=step;
window.location.replace(step);

Chương trình này dùng kỹ thuật hack Injection để tiếp tục chuyển hướng người dùng sang các trang web sơ sài khác nhau thông qua một chuỗi dài các bước nhảy bao gồm koldasee[.]ru và các miền như thebestprizes[.]life .

Tùy vào trình duyệt bạn dùng và vị trí truy cập, mà trang đích cuối cùng sẽ là các trang lừa đảo, cờ bạc hoặc tiền ảo, ví dụ như trang đánh bạc này:

Scam website

Theo Sucuri, đây không phải là các cuộc tấn công mới, mà là những chiến dịch tấn công có chủ đích được phát hiện từ năm 2017 đến nay, gọi là Balada Injector.

Hacker cá nhân, hoặc cả một nhóm, tập trung khai thác các lỗ hổng trên mã nguồn WordPress, theme và plugin để thực hiện các kỹ thuật tấn công injections, và chuyển hướng truy cập sang hệ thống site lừa đảo, quảng cáo, tiền ảo và đánh bạc bất hợp pháp, chưa kể chúng còn thực hiện cài đặt các phần mềm độc hại trên máy tính người dùng.

Update Elementor Pro và rà soát bảo mật ngay

Chỉ có Elementor Pro chịu tác động, bản miễn phí Elementor không gặp sự cố do nó không hỗ trợ module riêng cho WooCommerce như bản trả phí.

Lỗ hổng này đã được Elementor fix hoàn toàn từ bản cập nhật Elementor Pro 3.11.7 vào ngày 22/3/2023.

Tuy nhiên, Elementor cũng như hầu hết các theme và plugin nổi tiếng khác, rất ít khi thông báo rõ mức độ nghiêm trọng của các lỗ hổng bảo mật cho người dùng, họ chỉ âm thầm tung bản cập nhật với ghi chú chung chung ‘nhẹ lựa lông hồng‘ trên changelog.

Elementor Changelog

Các tổ chức bảo mật thì khác, đam mê của họ là khám phá – đào sâu mọi ngóc ngách bảo mật. Nhờ đó mà người dùng WordPress có thể biết được mức độ nghiêm trọng của vấn đề và xử lý trước khi mọi thứ vượt khỏi tầm kiểm soát.

Như vậy, với các website chạy WooCommerce cùng Elementor Pro thì bạn cần thực hiện ngay các công việc sau:

  1. Update ngay Elementor Pro lên bản mới nhất, hoặc chí ít là update lên bản 3.11.7
  2. Rà soát xem có user nào lạ trên website không, với nhất là user quyền Administrator, nếu có user lạ trong thời gian gần đây thì xóa ngay.

Nếu phát hiện website đã có dấu vết đáng ngờ, hãy backup ngay để tránh bị phá hoại sâu hơn, rồi thực hiện xóa user lạ, kiểm tra kỹ hơn các hiện tượng khác và khắc phục từng bước nhé!

Cập nhật:

Sau khi cộng đồng WordPress xôn xao thì ngày 3/4/2023 Elementor đã gởi email nói về bản vá bảo mật mà họ đã thực hiện trước đó 10 ngày, cũng như khuyến cáo người dùng update.

Báo Thanh Niên cũng đăng tin về vụ này:

Lỗ hổng bảo mật khiến 12 triệu websites dễ bị hack

Cấu hình bảo mật – đảm bảo an toàn cho WordPress

Đây cũng là dịp người dùng WordPress nhìn lại về vai trò của các biện pháp bảo mật khi dùng mã nguồn này.

Bảo mật WordPress

WordPress rất linh hoạt, dễ dùng, chi phí thấp và rất dễ SEO, nhưng cũng là mã nguồn mà hacker nhắm tới nhiều nhất, đơn giản bởi vì mức độ phổ biến của nó, cũng như lỗ hổng bảo mật không chỉ ở phía người dùng hay máy chủ mà cả phía các nhà phát triển theme, plugins nữa.

Xem thêm:

WordPress có an toàn? Những sự cố bảo mật nổi tiếng

Bạn cũng có thể hạn chế hậu quả của hầu hết các cuộc tấn công dựa vào các lỗ hổng kiểu này, nếu sử dụng các phương pháp bảo mật tốt cho WordPress, cụ thể như:

  • Tự động chặn bot của hacker dựa vào dãy IP của hacker thường dùng (được tổng hợp bởi các tổ chức bảo mật uy tín).
  • Chặn bot tự động bằng cách tích hợp Google ReCaptcha.
  • Ẩn đường dẫn login quản trị (Hide Back-end).
  • Quét mã độc định kỳ.
  • Báo cáo ngay khi có hành vi login từ IP lạ.
  • Báo cáo khi có người dùng mới được tạo ra.
  • Ghi lại mọi hành động của người dùng trên WordPress để có thể xử lý nếu bị tấn công.
  • Đăng ký Nhận những tin tức mới nhất về bảo mật WordPress.

Khi dùng các kỹ thuật bảo mật trên, thì dù plugin hay theme, hoặc mã nguồn WordPress core có lỗ hổng, trong hầu hết các trường hợp, bot sẽ bị chặn trước khi tiếp cận để khai thác các lỗ hổng này.

Nếu chẳn may bị hack, bạn cũng nhận được thông báo sớm, cũng như nắm rõ các hành vi của kẻ xấu đã làm trên WordPress, qua đó khắc phục vấn đề một cách hiệu quả.
Những plugin bảo mật tốt nhất là WordFence và iThemes Security, trong đó iThemes được đánh giá nhỉnh hơn một xíu, bạn có thể tham khảo:

Tìm hiểu iThemes Security – Plugin bảo mật WordPress tốt nhất

Chúc thành công!

5 3 votes
Đánh giá bài viết
Subscribe
Notify of
guest

18 Comments
Newest
Oldest
Inline Feedbacks
Xem tất cả
Ken
Guest
Ken
1 year ago

Đây là bài viết chi tiết nhất về lỗi này

Chí Vinh
Guest
Chí Vinh
1 year ago

Hôm nay mới biết tin này. May mình dùng Oxygen, cũng lười update.

Long
Guest
Long
1 year ago

Bạn làm mấy cái ảnh Intro hay banner bằng công cụ gì thế? Nhìn hay và đẹp quá. Nếu có thể chia sẻ với mọi người nha. Blog đẹp và nhiều thông tin hay qua.

Phú Ninh
Guest
1 year ago
Trả lời  WPVUI Neo

Làm bài hướng dẫn đi bạn ơi

Zen Digital
Guest
Zen Digital
1 year ago

Mấy plugin có action hỗ trợ riêng cho WooCommerce cũng cần rà soát lại, dễ bị lỗi giống thế này lắm.

Cuong Dang
Guest
Cuong Dang
1 year ago

Thanks wpvui đã thông tin kịp thời. Đảm bảo đợt này hậu quả rất lớn, 12 triệu sites chắc chưa tới 1 triệu update kịp

DucGPT
Guest
DucGPT
1 year ago
Trả lời  Cuong Dang

Em nghĩ chưa tới 1 triệu, tìm trên gg chưa thấy trang nào ở vn đăng tin trừ WPVUI.

Kiệt
Guest
Kiệt
1 year ago
Trả lời  Cuong Dang

Ẹc, mình còn dùng bản null 3.9.1, may mà không cài Woo cũng đỡ lo.

Mr K
Guest
Mr K
1 year ago
Trả lời  Cuong Dang

Nếu tính điều kiện phải cài WooCommerce thì số lượng web ảnh hưởng không cao như vậy đâu bạn. Nhưng chắc cũng phải vài trăm nghìn e bị hack.

Code Dạo
Guest
Code Dạo
1 year ago

Mình không bật cập nhật tự động trên Elementor Pro vì mấy lần trước nó cập nhật bị lỗi giao diện do addons cũ chưa tương thích.
May mà đọc tin này. Cảm ơn Neo nha.

Laura
Guest
Laura
1 year ago

Bên em mới nhận tin từ The Hacker News hôm qua, cả đêm update site cho clients mệt nghỉ.
Chán Elementor, chẳng có nỗi một email cảnh báo nữa.

Mr K
Guest
Mr K
1 year ago
Trả lời  Laura

Hehe, mấy dịp này mới chán phận culi, client vẫn ngủ ngon bất chấp.

BELL
Guest
1 year ago
Trả lời  Laura

Any idea Shopify, Laura?

Laura
Guest
Laura
1 year ago
Trả lời  BELL

Maybe, Girl.

18
0
Thảo luậnx
Scroll to Top