Tiếp tục với series về cách hacker thực hiện Black Hat SEO bằng tấn công redirect, ở Phần 1 chúng ta đã tìm hiểu cách hacker thực hiện redirect thông qua chuyển hướng lỗi 404, ở Phần 2 này mình sẽ chia sẻ cách hacker sử dụng IIS Native Module để thực hiện điều hướng trang web.

 

 

Một số khái niệm liên quan

1. Cách mà Google hoạt động

Trước tiên hãy đi qua 1 chút về cách các công cụ tìm kiếm hoạt động, ở đây là Google. Có 3 bước cơ bản để Google thực hiện quá trình này:

  • Crawling: Google thực hiện tải xuống text, ảnh và video từ tìm kiếm từ trang web đích trên internet bằng các chương trình tự động gọi là crawler.
  • Indexing: Google thực hiện phân tích dữ liệu text, hình ảnh và video đã thực hiện craw trước đó thực hiện lưu các thông tin vào Google index – là một cơ sở dữ liệu khổng lồ.
  • Cung cấp kết quả tìm kiếm: Khi người dùng tìm kiếm trên , Google trả và thông tin liên quan đến kết quả người dùng tìm kiếm.

Thông qua ba bước này, kết quả tìm kiếm sẽ được hiển thị thông qua các từ khóa mà người dùng tìm kiếm trên Google. Chi tiết hơn quá trình này có thể tham khảo tại đây.

Hacker sẽ cố gắng chèn các link chứa các từ khóa cần SEO vào trang web bằng cách chèn các mã JS hoặc chèn HTML chứa các tag <href> vào trang web. Quá trình CrawlingIndexing của Google sẽ thực hiện tải xuống và lập chỉ mục với cả các đường dẫn mà hacker đã thực hiện chèn vào, vì vậy khi thực hiện tìm kiếm các từ khóa liên quan đến trang web này, các từ khóa độc hại liên quan đến “kinh doanh tài chính” sẽ hiển thị chung với nội dung của trang web.

2. 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.

Hình 1. Danh sách Module class methods của CHttpModule class

 

Hình 2. Danh sách Module class methods của CGlobalModule class

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.

Hình 3. HTTP request-processing pipeline trên IIS

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.

Hình 4. Các hàm xử lý bị ghi đè

 

Hình 5. Hàm OnBeginRequest bị ghi đè

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.

Hình 6. Sơ đồ attack-chain 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.

Hình 7. Mã độc khác triển khai nhiều mode

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 đó.

Hình 8. Strings bị mã hóa xor

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.

Hình 9. Strings sau khi giải mã

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

Hình 10. Các đường dẫn ảo tải xuống từ C&C

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.

Hình 11. Mã độc thực hiện chèn script độc hại trong quá trình xử lý Response

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

Hình 12. Mã html tải xuống từ C&C server

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.

Hình 13. Cửa sổ pop-up chuyển hướng trang web.

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.

Hình 14. Mã độc thực hiện persistence trên Virustotal

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ể)

Hình 15. Các chuỗi bị mã hóa

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ũ.

Hình 16. Tệp config bị chèn module độc hại

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

Hình 17. IIS service được restart

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

Hình 18. Service đượ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

Hình 19. Sử dụng phần mềm Rootkit để ẩn các file mã độc

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.

Hình 20. Chữ ký số của Rootkit

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

Hình 21. Tính năng chuyển hướng tệp tin của rootkit

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.

Hình 22. Sử dụng hollow hunter để phát hiện

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.

Hình 23. Các tiến trình w3wp.exe đều bị chèn module độc hại

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.

Hình 24. Sử dụng Gmer để phát hiện các service ẩn

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.

Hình 25. Lỗi dừng dịch vụ liên quan đến việc xử lý sai cách

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.

3. IoCs

SHA256

01a616e25f1ac661a7a9c244fd31736188ceb5fce8c1a5738e807fdbef70fd60

a2d26de6c8745e83e6c77b8dbcc4bbff0ba73d4d0e01bc6c803f7351511a104d

49d2fd58f79d57ed1984bc62fbab69d43f206b93cce6439abca4f8769f95382f

f145cb11c81c6fe16c8df3b38e552c38a6a266e345c675630161d4b7057583d7

3e793bc53e5bd664254d26bcb16bb954ca51219d9ba9ec1975930bd3a6dad947

Filenames and paths

C:\Windows\Help\Windows\custerr.dll

C:\Windows\Help\Windows\custerr_64.dll

C:\Windows\Help\OEM\admin.log

C:\Windows\Help\OEM\user.log

C:\Windows\System32_setup\svchost.exe

IP/Domain

http[:]//404.pyhycy.com

http[:]//sl.008php.com

Kết luận

Trong bài viết này, chúng ta đã phân tích qua một số mẫu mã độc tấn công redirect để thực hiện Black Hat SEO cho các trang web “kinh doanh tài chính” thông qua việc sử dụng các IIS Native module.

Trong phần tiếp theo, mình sẽ tiếp tục chia sẻ cách mà hacker thực hiện tấn công trên nền tảng Linux.

Nếu chưa xem phần I, thì bạn có thể xem lại ở đây.

[Part 1] Hacker thực hiện Black Hat SEO các trang web bất hợp pháp bằng tấn công Redirect như thế nào ? – VNPT Cyber Immunity

Tham khảo:

https://web-assets.esetstatic.com/wls/en/papers/white-papers/eset_anatomy_native_iis_malware.pdf

https://developers.google.com/search/docs/fundamentals/how-search-works

By,

BLUE_TEAM

836 lượt xem