Mấy anh em lập trình, làm SEO marketing đôi khi gặp những trường hợp lỗi website bị redirect (chuyển hướng) sang những trang website m88,kèo sòng bạc , ww88…Link SEO bẩn các kiểu là khóc tiếng mán. Những lỗi như thế này ảnh hưởng rất nhiều đến quá trình marketing website, thương hiệu, hoạt động chính thống. Bài viết này tôi sẽ hướng dẫn bạn hiểu qua và cách sửa, tôi tốt nghiệp trường Học Viện Kỹ Thuật Mật mã nên có kiến thức về những cách tấn công của Hacker, mặc dù làm trong lĩnh vực marketing rất may biết ơn tôi có kiến thức này.
Theo thông tin từ Báo Lao Động, số tiền được “đầu tư” vào các lĩnh vực “kinh doanh tài chính trực tuyến” ước tính hàng triệu USD mỗi ngày. Với lợi nhuận khổng lồ từ các hành vi bất hợp pháp này, những kẻ đứng sau sẵn sàng chi một số tiền lớn để “quảng bá” các dịch vụ này. Một số kênh “quảng bá” tiêu biểu như: web phim lậu, web truyện và các kênh không chính thống khác. Đặc biệt gần đây, các hacker được thuê để thực hiện SEO cho những trang web bất hợp pháp này, bằng cách tấn công vào các web server, thực hiện chèn các mã độc vào các hệ thống này.
Ví dụ như bạn gặp tình trạng website tồn tại những link bị redirect như thế này:
Hoặc link kiểu dạng như thế này:
Thậm chí gần đây, các trang bị nhắm đến còn có các trang .edu, .gov – nơi có lưu lượng truy cập cao, ổn định và tiếp cận chủ yếu đến người dùng có “tiềm năng” tham gia vào các kênh “kinh doanh tài chính”, gây ảnh hưởng không ít đến uy tín của những trang này. – Theo : sec.vnpt.vn
Bài viết này tổng hợp từ nhiều nguồn bảo mật uy tín từ: sec.vnpt.vn và blog.viettelcybersecurity.com, eset Secirity
Mục đích tấn công:
Hacker lợi dụng để chuyển hướng website sang website khác mà hacker mong muốn, từ đó có được truy cập vào website bất hợp pháp. Thao túng kết quả SEO Google.
SEO viết tắt của Search Engine Optimization – Tối ưu hóa công cụ tìm kiếm là quá trình tăng chất lượng và lưu lượng truy cập website bằng cách tăng khả năng hiển thị của website
1. Cách thức tấn công những website chạy bằng PHP:
Hacker thực hiện chuyển hướng sang các trang web bất hợp pháp như thế nào ?
Tùy theo kiến trúc mà web server sử dụng, hệ điều hành mà server đang chạy (Windows/Linux) thì theo đó có nhiều cách để hacker chèn các mã độc thực hiện nhiệm vụ chuyển hướng trang web. Tuy nhiên chung quy lại các cách chuyển hướng này đều cần can thiệp vào tệp cấu hình của web server, hacker có thể chỉnh sửa trực tiếp vào file cấu hình trên hệ thống hoặc can thiệp vào các file/folder cấu hình tạm thời trên web server (VD C:\inetpub\temp\appPools\<site>
trên IIS), một số phương thức phổ biến mà hacker sử dụng để chuyển hướng trang web:
-
- Chuyển hướng URL bằng cách xử lý các mã lỗi
- Chuyển hướng URL bằng cách chèn các cấu hình độc hại thực hiện redirect trực tiếp
- Chuyển hướng URL bằng cách chèn các module độc hại (.dll trên Windows, .so trên Linux)
Ở phần này, chúng ta sẽ tìm hiểu cách mã độc chuyển hướng URL bằng xử lý lỗi 404 trên Windows Server triển khai Virtual Hosting bằng Apache sử dụng XAMPP và PHP.
Với các server triển khai web hosting bằng Apache, ngoài tệp cấu hình chính mà chỉ quản trị được phép can thiệp là httpd.conf
, thì mỗi site có thể tự tạo cho mình một tệp .htaccess
để cấu hình riêng cho chính site đó mà không yêu cầu quyền quản trị.
Đi qua một chút về phạm vi của các tệp config trên Apache Server:
-
httpd.conf
là tệp cấu hình chính cho Apache – phạm vi Global..htaccess
là tệp cấu hình mỗi thư mục cho Apache, với web hosting server, tệp này cấu hình cho mỗi site.
Một số htaccess directives phổ biến được sử dụng trong XAMPP là:
-
- RewriteEngine On – cho phép sử dụng URL rewriting engine.
- RewriteCond – chỉ định một điều kiện phải được đáp ứng để áp dụng các following rule.
- RewriteRule – xác định quy tắc để ánh xạ URL đến tới URL đích mới.
- Options – đặt nhiều tùy chọn khác nhau cho máy chủ, chẳng hạn như bật hoặc tắt một số tính năng nhất định.
- Order – chỉ định thứ tự các lệnh sẽ được xử lý.
- Allow/Deny – chỉ định client nào có thể truy cập các tài nguyên nhất định.
- ErrorDocument – chỉ định một trang lỗi tùy chỉnh để hiển thị khi xảy ra lỗi nhất định.
Một số cách chuyển hướng cơ bản bằng cách chỉnh sửa tệp .htaccess
như:
-
- Chuyển hướng 301, 302: chuyển hướng toàn bộ trang web
- Chuyển hướng một URL duy nhất
- Chuyển hướng xử lý lỗi
Hacker thường sử dụng các chuyển hướng xử lý lỗi, vì các chuyển hướng này không gây ảnh hưởng quá nhiều đến hoạt động bình thường của trang web nhưng lại đem lại hiệu quả SEO. Một chuyển hướng xử lý thông báo lỗi 404 được hacker thêm vào tệp .htaccess
được mô tả ở hình dưới.
Khi có lỗi 404 xảy ra, trang web sẽ không trỏ tới các trang xử lý thông thường, thay vào đó chúng sử dụng file mà hacker chèn vào để xử lý các lỗi này.
Mã code file redirect_handle.php
thực hiện xử lý lỗi 404:
Mã code khá đơn giản, nhiệm vụ thực hiện POST và gửi yêu cầu các thông tin (IP, file, domain) đến URL được hacker chèn vào và hiển thị kết quả trả về.
Hiện tại link trỏ đến file 404.php
trên đã không còn hoạt động nên mình không download được file này về nhưng nội dung của những file trên thường là thực hiện tạo random các link chứa các từ khóa về các trang web độc hại, chỉnh sửa Referer là các công cụ tìm kiếm phổ biến như: google, coccoc, bing, baidu, … và thực hiện nhiệm vụ redirect. (Mã nguồn của các file trên mình để tại đây.)
Với cách này, trang web sẽ vẫn hoạt động như bình thường, tuy nhiên khi một lỗi 404 xảy ra, nó sẽ tự động redirect đến các trang độc hại đã được chèn trước đó.
Trên các công cụ tìm kiếm, các website sẽ bị chèn thêm các đường link trỏ đến các trang “kinh doanh tài chính” này, có thể thấy rất nhiều trang web đang bị tấn công chèn mã độc redirect này.
Phát hiện và xử lý
Với cách tấn công chuyển hướng xử lý lỗi này phương pháp phát hiện rất đơn giản, chỉ cần kiểm tra cấu hình xử lý lỗi trong các file cấu hình, đảm bảo chúng không trỏ đến các file xử lý lỗi lạ. Trường hợp bị chèn các dòng cấu hình độc hại này, hãy khôi phục về trạng thái cấu hình ban đầu, hoặc xóa/comment những dòng cấu hình này.
Tuy nhiên, đây chỉ là cách thức xử lý phần ngọn, để khắc phục triệt để vẫn phải tìm được đường vào của hacker và thực hiện vá các lỗi trên hệ thống.
2. Cách thức tấn công những website ASP .net từ module Native module IIS
IIS Native module
Native module IIS là một DLL sử dụng API IIS C++. Các module gốc nằm trong thư mục %windir%\system32\inetsrv\ trên Server và có thể được config cho một số hoặc cho tất cả các ứng dụng trên Server. Các module này có thể được cài đặt bằng command line AppCmd.exe, thông qua GUI IIS Manager hoặc bằng cách chỉnh sửa file cấu hình %windir%\system32\inetsrv\config\ApplicationHost.config.
Các module này sẽ được load bởi IIS Worker Process (w3wp.exe), tiến trình thực hiện xử lý các request trên IIS server. Để IIS thực hiện tải các DLL này, các DLL này sẽ phải export một hàm RegisterModule – là hàm chịu trách nhiệm xử lý các chức năng cốt lõi. Các module IIS sẽ triển khai một class kế thừa từ module class CHttp hoặc từ module class Cglobal, và sẽ ghi đè một số phương thức xử lý sự kiện của chúng, trong danh sách sau.


Thông qua các hàm này mà DLL có thể xử lý các request HTTP tuần tự trong pipeline như hình.

3. Native module backdoor
Mã độc sẽ thực hiện ghi đè các hàm này (Hình 1,2) để thực hiện “chặn” luồng xử lý khi có một request gửi đến, chèn các thực thi độc hại để thay đổi xử lý của luồng ban đầu. Các hàm thường bị mã độc ghi đè gồm: OnBeginRequest, OnLogRequest, OnSendResponse, OnPostBeginRequest, một số hàm khác ít bị ghi đè hơn là OnAcquireRequestState, OnSendResponse (các hàm này liên quan đến trường X-Forwarded-For, mã độc có thể chèn các thực thi độc hại nhằm ẩn IP attack) và một số hàm khác. Nhiều các mã độc tấn công theo dạng này sẽ ghi đè hàm OnBeginRequest/OnSendResponse, vì đây là điểm bắt đầu/kết thúc xử lý của một HTTP request/response, các thực thi độc hại sẽ thực thi ngay khi có request đến/response đi.


Phân tích kỹ thuật
Các dòng mã độc tấn công rediect bằng phương pháp này đang phổ biến trong thời gian gần đây. Mục tiêu vẫn tập trung vào các trang web hosting có lưu lượng truy cập cao, thậm chí còn nhắm vào các trang chính phủ, giáo dục, …
Ở bài phân tích này mình sẽ sử dụng các mẫu mã độc được phát hiện gần đây, mình sẽ sử dụng các mẫu này để trình bày các kỹ thuật liên quan đến tấn công redirect bằng IIS Native module, bài viết không đề cập đến Entry attack của cuộc tấn công này, mà sẽ chỉ tập trung vào phân tích các kỹ thuật của mã độc. Dưới đây là sơ đồ tổng quát của mã độc.

Có thể chia attack-chain làm hai giai đoạn chính:
- Kỹ thuật tấn công Redirect
- Các kỹ thuật Persistence
1. Kỹ thuật tấn công Redirect
Tương tự các mẫu mã độc IIS Native khác, thay vì sử dụng nhiều mode, hacker chỉ tập trung vào mode SEO fraud.

Module độc hại này được build bằng cách ghi đè hàm OnSendResponse các chức năng độc hại. Ngoài ra các strings đều bị mã hóa xor thay vì để plaintext strings như một số mẫu trước đó.

Sau khi thực hiện giải mã các string bằng XOR, có thể thấy một số địa chỉ C&C mà mã độc thực hiện tải xuống các script để thực thi SEO fraud mode.

Các từ khóa “quảng bá kênh tài chính” sẽ được SEO trên các công cụ tìm kiếm như: google, yahoo, bing, coccoc, … Khi người dùng tìm kiếm các từ khóa liên quan đến trang bị tấn công trên các nền tảng này thì những từ khóa độc hại được chèn vào sẽ hiển thị cùng nội dung của trang web.
Các đường dẫn trỏ đến các link độc hại sẽ được tạo theo công thức sau:
Random các từ trong danh sách: app|gov|edu|apk|poc|soft|ios|xiazai|android|vna|down|games|iphone|muv|rna|zop|xsn|qsj|fish|bull|bmw|video|gods.
Các từ này sẽ kết hợp với danh sách các đường dẫn “ảo” trong tag <href> tải xuống từ đường dẫn http[:]//404.pyhycy.com/zz/u.php

Ví dụ: www.<tên miền bị attack>/app/XTacLaG.htm
Các đường dẫn được tạo bằng công thức trên sau đó sẽ thực hiện chuyển hướng trang web theo script được inject vào trang web khi người dùng ấn vào link.

Các script được chèn vào sẽ thực hiện load mã html tải xuống từ đường dẫn http[:]//sl.008php.com/vn.html

Một cửa sổ pop-up điều hướng đến các trang “kinh doanh tài chính” được hiển thị sau khi load mã html chứa các script js thành công.

2. Kỹ thuật Persistence
Các loại mã độc IIS Native module thường có cách thức triển khai các mode khá giống nhau, tuy nhiên cách chúng persistence lại khác nhau.
Để ẩn giấu mã độc thực thi, mã độc đã tiến hành tạo service với tên Audiosrv, theo dõi mẫu này trên Virustotal, thậm chí bị gắn cờ là rất thấp.

Cùng phân tích qua mẫu persistence của mã độc này, mã độc chứa các chuỗi mã hóa base64 (có biến thể)

Mã độc thực hiện tìm kiếm tệp cấu hình ở C:\inetpub\temp\appPools và sao chép vào file C:\Windows\Help\OEM\iis.log, tệp này sau đó được chèn các module IIS Native độc hại và ghi đè lên tệp config cũ.

IIS service sau đó được restart lại để đảm bảo các Native modulde độc hại được load.

Bên cạnh đó, service này cũng được cấu hình để tự động chạy

Ngoài ra một số mẫu mã độc khác gần đây, còn ghi nhận việc sử dụng rootkit để điều hướng và ẩn giấu các Native module độc hại

Một phần mềm có chữ kí số được phát triển bởi CnCrypt, chạy ở mức các drive, dùng để ẩn giấu mã độc khỏi các công cụ rà soát thông thường.

Một số tính năng của công cụ này còn cho phép chuyển hướng tập tin, hacker sử dụng nó để thực hiện chèn Native module mà không cần can thiệp vào tệp cấu hình, kỹ thuật này là DLL hollowing, hacker tận dụng những module sạch, hollow chúng và thay thế bằng module độc hại (Ví dụ ở hình dưới: Module sạch custerr.dll bị thay thế bởi module độc hại wait_rm32.dll, trong quá trình tải lên module custerr.dll, module wait_rm32.dll sẽ được tải lên thay thế cho custerr.dll)

Các tiến trình w3wp.exe bị chèn module độc hại sau khi thực hiện kiểm tra bằng Hollow Hunter sẽ có kết quả như phía dưới.

Việc sử dụng rootkit trên giúp hacker không cần sửa đổi file config trên hệ thống, lợi dụng các native module được load mặc định nhưng vẫn đem lại hiệu quả tương tự và tránh người rà soát phát hiện.
Phát hiện và xử lý
1. Phát hiện
Với các persistence tạo service hay task scheduler, việc phát hiện các module này sẽ dễ dàng hơn so với việc hacker sử dụng rootkit để ẩn giấu. Có thể sử dụng một số công cụ phổ biến như: Autoruns, Process Explorer, … để phát hiện ra các persistence này. Bên cạnh đó, có thể sử dụng một số công cụ khác như Hollow Hunter để kiểm tra các tiến trình có bị chèn các module độc hại hay không.

Với các mã độc sử dụng rootkit để ẩn giấu, một số công cụ như Gmer, PC Hunter, … sẽ có thể phát hiện được các tiến trình, file ẩn này.

Ngoài ra, kiểm tra các tệp cấu hình có bị sửa đổi hay, chèn các cấu hình lạ hay không.
2. Xử lý
Bước đầu để gỡ hoàn toàn các mã độc này, phải xử lý được persistence của mã độc, với các mã độc liên tục can thiệp vào tệp cấu hình việc chỉ xóa file có thể gây ra lỗi dừng dịch vụ trên hệ thống, vì vậy phải ưu tiên gỡ bỏ các persistence của chúng trước.

Với các rootkit trên hệ thống, việc gỡ bỏ đồng nghĩa sẽ can thiệp sâu vào hệ thống ở mức Driver, nếu gỡ bỏ không đúng cách có thể gây ra lỗi hệ điều hành.
Kết luận
Trên đó là một số cách xử lý, nếu bạn còn thắc mắc hãy liên hệ với tôi, tôi có thể chia sẻ giúp bạn cách xử lý lỗi SEO. Bạn bình tĩnh vì lỗi về công nghệ có thể sửa bằng công nghệ 🙂
Để biết thêm chi tiết kỹ thuật về các mối đe dọa IIS này, bạn có thể tham khảo tài liệu gốc “Anatomy of Native IIS Malware” trên trang web của ESET.
https://web-assets.esetstatic.com/wls/en/papers/white-papers/eset_anatomy_native_iis_malware.pdf
Tham khảo mã độc IIS Raid: https://blog.viettelcybersecurity.com/phat-hien-chien-dich-tan-cong-moi-cua-nhom-apt-vao-cac-may-chu-iis-su-dung-ma-doc-iis-raid/