Tấn công Lữ đảo Nguy hiểm: Mã nguồn thay đổi liên tục

Tấn công Lữ đảo Nguy hiểm: Mã nguồn thay đổi liên tục
CLOUD HOSTING
DỊCH VỤ
VPS • CLOUD • SERVER
Hiệu năng cao
Ổn định • Bảo mật • Tốc độ
☁️
SSD NVMe 99.9% 24/7
TÌM HIỂU NGAY

Các đối tượng tấn công đang tìm cách làm cho các trang lữ đảo (phishing pages) khó bị theo dõi hơn bằng cách thay đổi mã nguồn được phân phối đến mỗi người truy cập. Một chiến dịch đã được phân tích sử dụng một biểu mẫu đánh cắp thông tin đăng nhập, có giao diện quen thuộc nhưng cấu trúc liên tục thay đổi.

Cuộc tấn công bắt đầu bằng một thông điệp lữ đảo chứa một liên kết web. Khi mở liên kết này, thay vì hiển thị trang đăng nhập ngay lập tức, trình duyệt có thể bị tạm dừng khoảng 30 giây và sử dụng gần như toàn bộ một lõi xử lý. Điều này cho thấy vấn đề nằm ở chính trang web hơn là máy chủ lưu trữ.

Kỹ thuật Biến đổi Mã nguồn

Các nhà phân tích tại Internet Storm Center đã xác định hành vi bất thường này khi xem xét một thông điệp được gửi đến hộp thư xử lý của họ. Internet Storm Center báo cáo rằng trang web đáng ngờ sử dụng JavaScript được mã hóa nặng và cuối cùng hiển thị một biểu mẫu truyền thống để thu thập thông tin đăng nhập.

Phát hiện này rất quan trọng vì nhiều biện pháp phòng thủ dựa vào các dấu hiệu ổn định, chẳng hạn như mã băm tệp (file hash), trường dữ liệu lặp lại hoặc chuỗi ký tự nhận dạng trong tập lệnh. Khi mỗi lượt truy cập nhận được một phiên bản mới, các dấu hiệu này sẽ mất đi giá trị, ngay cả khi trang web vẫn thực hiện cùng một tác vụ độc hại.

Phân tích Chi tiết

Các nhà nghiên cứu đã truy cập lại cùng một địa chỉ và phát hiện rằng các yêu cầu sau đó đã tải bình thường. Họ đã tải trang này 50 lần và nhận thấy mỗi mẫu có một mã băm SHA-256 khác nhau. Ngoài ra, 21 tiêu đề trang khác nhau đã xuất hiện, mã nguồn đã sắp xếp lại các hàm, đổi tên biến và viết lại các giá trị số thông qua các phép tính khác nhau.

Những thay đổi này không chỉ giới hạn ở lớp JavaScript đầu tiên. Sau khi giải mã, tất cả 50 trang HTML cuối cùng cũng khác biệt, với các tên biểu mẫu và trường nhập liệu bị thay đổi, các lớp CSS, bộ định danh phần tử trang, tham số hình ảnh và các ký tự không nhìn thấy được (zero-width characters) được đặt bên trong văn bản hiển thị.

Tuy nhiên, đối với người dùng, kết quả trông và hoạt động tương tự nhau: một trang được thiết kế để lấy thông tin đăng nhập.

Kỹ thuật Đánh cắp Thông tin Đăng nhập

Sự khác biệt này chính là mục đích của kỹ thuật đa hình (polymorphism), một kỹ thuật làm cho mã nguồn trông mới mà không thay đổi mục đích ban đầu. Điều này làm phức tạp các phương pháp so khớp tĩnh thường dùng để phát hiện hạ tầng lữ đảo lặp lại.

Tuy nhiên, phương pháp này không làm cho việc phát hiện trở nên bất khả thi. Các đội ngũ bảo mật vẫn có thể nghiên cứu hành vi của trang, luồng gửi biểu mẫu, các mẫu lưu trữ và các đặc điểm cấu trúc tồn tại bên dưới mã nguồn thay đổi. Điều này tương tự như cách các phương pháp che giấu lời kêu gọi lữ đảo bằng JavaScript ẩn Unicode đã làm nổi bật giới hạn của việc chỉ dựa vào một chữ ký tệp đơn giản.

Trường hợp Lỗi trong Quá trình Giải mã

Mẫu đầu tiên đã thất bại do hai vòng lặp giải mã sử dụng chung một biến không được khai báo, `k`. Một quy trình trợ giúp nội bộ đã liên tục đặt lại bộ đếm được sử dụng bởi vòng lặp bên ngoài, khiến nó bị kẹt giữa các giá trị 48 và 49. Điều này làm trình duyệt bận rộn thay vì cho phép trang độc hại tải xong.

Sau khi nhà phân tích cung cấp cho quy trình nội bộ một bộ đếm cục bộ riêng, bộ giải mã đã hoàn thành và biểu mẫu thu thập thông tin đăng nhập xuất hiện. Một trong 50 mẫu được tạo ra lặp lại cùng một lỗi, trong khi 49 mẫu khác giải mã thành công. Điều này cho thấy quá trình tạo mã có thể gây bất lợi cho chính những kẻ thực hiện, cũng như gây khó khăn cho các nhà phân tích và hệ thống quét tự động.

Trong khoảng 56 mẫu được phân tích, bao gồm cả các kiểm tra thủ công ban đầu, hai trang đã bị lỗi. Con số này chưa đủ để tính toán một tỷ lệ lỗi đáng tin cậy, nhưng nó cho thấy quy trình tạo mã có thể gây ra trục trặc.

Phòng chống và Đánh giá

Báo cáo không khẳng định rằng trí tuệ nhân tạo đã tạo ra các biến thể này. Nó ghi nhận rằng mã lữ đảo được viết bằng LLM (mô hình ngôn ngữ lớn) trong thời gian thực là khả thi, nhưng các thay đổi có hệ thống và lỗi phạm vi biến lặp lại phù hợp hơn với một công cụ làm rối mã (obfuscation tool) thông thường, tự động hóa việc đổi tên và sắp xếp lại thứ tự mã mà không xử lý đúng phạm vi biến.

Đối với các chuyên gia phòng thủ, bài học thực tế là tránh coi một trang web trông sạch sẽ hoặc một mã băm thay đổi là bằng chứng về sự an toàn. Việc lọc email cần được kết hợp với phân tích URL và kiểm tra dựa trên hành vi. Người dùng nên xác minh các lời nhắc đăng nhập bất ngờ thông qua một kênh đã biết thay vì nhấp vào liên kết trong tin nhắn, đặc biệt khi các mối đe dọa lữ đảo qua email đã tăng mạnh.

Các tổ chức cũng nên chuẩn bị cho khả năng tài khoản bị xâm phạm thay vì giả định rằng việc đặt lại mật khẩu sẽ chấm dứt rủi ro. Trong trường hợp một chiến dịch lữ đảo đánh cắp các phiên đăng nhập đã được xác thực, các chuyên gia phòng thủ có thể cần thu hồi các phiên và token đang hoạt động, xem xét hoạt động truy cập và kiểm tra các thay đổi danh tính đáng ngờ một cách kịp thời trên các tài khoản bị ảnh hưởng.

Các chỉ số thỏa hiệp (IoCs):

  • Lưu ý: Địa chỉ IP và tên miền được làm mù có chủ ý (ví dụ: [.]) để ngăn chặn việc phân giải hoặc tạo siêu liên kết ngẫu nhiên. Chỉ làm mờ lại trong các nền tảng tình báo mối đe dọa được kiểm soát như MISP, VirusTotal hoặc SIEM của bạn.