-
18/08/2021
-
45
-
73 bài viết
Một số kỹ thuật persistent của mã độc windows
Xin chào mọi người, chắc hẳn chúng ta đã biết mục đích cuối cùng của mã độc chủ yếu vẫn là tài chính và mã độc hiện nay thường được triển khai dưới dạng loader hoặc downloader… Bởi vậy trước khi đạt được mục đích cuối cùng ấy, “mô đun” mã độc ban đầu luôn cần sử dụng một trong những kỹ thuật quan trọng của chúng đó là “persistent” để sau khi tấn công, xâm nhập vào hệ thống mà không bị phát hiện, loại bỏ. Trong bài viết này, chúng ta sẽ cùng tìm hiểu để nâng cao an ninh hệ thống nhé.
Trước tiên thì như tên gọi “Persistent Techniques” sẽ là các kỹ thuật giúp mã độc tạo được sự tồn tại và duy trì hoạt động trong hệ thống mục tiêu. Một số kỹ thuật phổ biến có thể kể tới đó là:
1. Registry Keys
Run và RunOnce Keys: Mã độc có thể tạo mục trong registry để tự khởi động cùng với hệ điều hành.
Services: Mã độc có thể tạo các service giả mạo hoặc thay đổi thông tin registry của các service hiện tại.
Class Extension: Mã độc có thể thay đổi thông tin để mặc định sẽ được chạy khi người dùng mở tệp.
Dưới đây là một số key mã độc hay sử dụng, chúng ta cần lưu ý khi rà soát hệ thống:
2. Startup Programs
C:\Users\Username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
Đường dẫn này thường được sử dụng để lưu trữ các tập tin chương trình và phần mềm tự động khởi động khi chúng ta đăng nhập vào hệ thống. Vì vậy, mã độc cũng có thể thêm chúng vào đây để được thực thi mỗi khi máy tính khởi động.
3. Scheduled Tasks
Mã độc có thể tạo nhiệm vụ được lập lịch để chạy định kỳ hoặc khởi động cùng hệ thống và thực hiện các hoạt động độc hại.
4. Windows Service
Mã độc có thể cài đặt hoặc thay đổi một dịch vụ hệ thống sau đó tiếp tục chạy các hoạt động độc hại.
5. AppInit_DLLs
AppInit_DLLs là một khóa Registry trong Windows cho phép tiến trình DLL injection bằng cách tiêm các thư viện động (DLL) vào tiến trình của hệ điều hành.
Mã độc sẽ tạo hoặc sửa đổi giá trị của khóa Registry "AppInit_DLLs" để chứa đường dẫn tới DLL độc hại. Ví dụ: "C:\Path\to\malware.dll".
6.Office Application Startup
Mã độc có thể sử dụng các kỹ thuật như macro để thực thi mã độc khi ứng dụng văn phòng (như Microsoft Word hoặc Excel) khởi động và thực hiện hành vi độc hại.
7.Injection
Mã độc có thể tiêm các thư viện động (DLL) hoặc mã thực thi độc hại vào tiến trình hệ thống hoặc ứng dụng, cho phép mã độc được thực thi dưới các tiến trình hệ thống hoặc ứng dụng.
8. WMI
Mã độc có thể tạo các sự kiện WMI (Windows Management Instrumentation) hoặc cài đặt các bộ quy tắc WMI để thực thi mã độc theo lập lịch hoặc khi xảy ra một sự kiện cụ thể. Ví dụ: mã độc có thể chạy script và tự động tìm kiếm các shortcut của trình duyệt và chèn thêm URL độc hại.
9. Fileless Malware
Mã độc fileless không tạo ra các tệp tin trên hệ thống, loại mã độc này thường tồn tại dưới dạng các script hoặc chạy trong bộ nhớ.
10. API Hooking
Mã độc có thể thay thế hoặc chèn mã vào các hàm API quan trọng trong hệ thống. Khi các hàm này được gọi, mã độc sẽ được thực thi trước hoặc sau khi hàm gốc được gọi, cho phép nó kiểm soát và thay đổi luồng thực thi của chương trình nhằm tránh bị phát hiện.
11. COM Hijacking
Với kỹ thuật này mã độc sẽ tận dụng các đối tượng COM (Component Object Model) đã được đăng ký để thực thi mã độc một cách ẩn danh và liên kết với các ứng dụng hoặc tiến trình hệ thống.
12. DLL Side-loading
DLL Side-loading là một kỹ thuật tấn công mà mã độc tận dụng tiến trình tải DLL (Dynamic Link Library) trong các ứng dụng để thực thi mã độc một cách ẩn danh và khó bị phát hiện.
Bởi vì khi ứng dụng cần sử dụng một DLL, tiến trình tìm kiếm và tải DLL sẽ diễn ra theo một số quy tắc nhất định. Một trong những quy tắc quan trọng là ưu tiên tải DLL từ cùng thư mục chứa tệp thực thi (executable file). Khi này tệp DLL mã độc giả mạo sẽ được thực thi dưới tiến trình hệ thống hoặc ứng dụng.
\
Trên đây là các kỹ thuật persistent phổ biến, trong khuôn khổ bài viết tôi chưa thể đề cập đầy đủ tất cả các kỹ thuật cũng như thông tin chi tiết về từng kỹ thuật, bài viết mang tính chất tham khảo, mã độc có thể sử dụng một hoặc nhiều kỹ thuật persistent nêu trên hoặc kết hợp với nhiều kỹ thuật khác để đạt được khả năng tồn tại và hoạt động lâu dài trong hệ thống. Do đó, chúng ta cần thường xuyên rà soát và nâng cao các biện pháp bảo mật để phát hiện và ngăn chặn sự xâm nhập của mã độc, đảm bảo an ninh an toàn cho hệ thống.
Cảm ơn mọi người đã theo dõi bài viết, xin chào và hẹn gặp lại!
Trước tiên thì như tên gọi “Persistent Techniques” sẽ là các kỹ thuật giúp mã độc tạo được sự tồn tại và duy trì hoạt động trong hệ thống mục tiêu. Một số kỹ thuật phổ biến có thể kể tới đó là:
Registry Keys
Startup Programs
Scheduled Tasks
Windows Service
AppInit_DLLs
Office Application Startup
Injection
WMI
Fileless Malware
Hooking
COM Hijacking
DLL Side-loading
1. Registry Keys
Run và RunOnce Keys: Mã độc có thể tạo mục trong registry để tự khởi động cùng với hệ điều hành.
Services: Mã độc có thể tạo các service giả mạo hoặc thay đổi thông tin registry của các service hiện tại.
Class Extension: Mã độc có thể thay đổi thông tin để mặc định sẽ được chạy khi người dùng mở tệp.
Dưới đây là một số key mã độc hay sử dụng, chúng ta cần lưu ý khi rà soát hệ thống:
Lưu ý: mã độc có thể đặt tên key bắt đầu bằng ký tự “*” để khởi động ngay cả trong chế độ safemode.HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
HKEY_CLASSES_ROOT<Extension>
HKEY_CLASSES_ROOT<FileType>\shell\open\command
2. Startup Programs
C:\Users\Username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
Đường dẫn này thường được sử dụng để lưu trữ các tập tin chương trình và phần mềm tự động khởi động khi chúng ta đăng nhập vào hệ thống. Vì vậy, mã độc cũng có thể thêm chúng vào đây để được thực thi mỗi khi máy tính khởi động.
3. Scheduled Tasks
Mã độc có thể tạo nhiệm vụ được lập lịch để chạy định kỳ hoặc khởi động cùng hệ thống và thực hiện các hoạt động độc hại.
4. Windows Service
Mã độc có thể cài đặt hoặc thay đổi một dịch vụ hệ thống sau đó tiếp tục chạy các hoạt động độc hại.
5. AppInit_DLLs
AppInit_DLLs là một khóa Registry trong Windows cho phép tiến trình DLL injection bằng cách tiêm các thư viện động (DLL) vào tiến trình của hệ điều hành.
Mã độc sẽ tạo hoặc sửa đổi giá trị của khóa Registry "AppInit_DLLs" để chứa đường dẫn tới DLL độc hại. Ví dụ: "C:\Path\to\malware.dll".
6.Office Application Startup
Mã độc có thể sử dụng các kỹ thuật như macro để thực thi mã độc khi ứng dụng văn phòng (như Microsoft Word hoặc Excel) khởi động và thực hiện hành vi độc hại.
7.Injection
Mã độc có thể tiêm các thư viện động (DLL) hoặc mã thực thi độc hại vào tiến trình hệ thống hoặc ứng dụng, cho phép mã độc được thực thi dưới các tiến trình hệ thống hoặc ứng dụng.
8. WMI
Mã độc có thể tạo các sự kiện WMI (Windows Management Instrumentation) hoặc cài đặt các bộ quy tắc WMI để thực thi mã độc theo lập lịch hoặc khi xảy ra một sự kiện cụ thể. Ví dụ: mã độc có thể chạy script và tự động tìm kiếm các shortcut của trình duyệt và chèn thêm URL độc hại.
9. Fileless Malware
Mã độc fileless không tạo ra các tệp tin trên hệ thống, loại mã độc này thường tồn tại dưới dạng các script hoặc chạy trong bộ nhớ.
10. API Hooking
Mã độc có thể thay thế hoặc chèn mã vào các hàm API quan trọng trong hệ thống. Khi các hàm này được gọi, mã độc sẽ được thực thi trước hoặc sau khi hàm gốc được gọi, cho phép nó kiểm soát và thay đổi luồng thực thi của chương trình nhằm tránh bị phát hiện.
11. COM Hijacking
Với kỹ thuật này mã độc sẽ tận dụng các đối tượng COM (Component Object Model) đã được đăng ký để thực thi mã độc một cách ẩn danh và liên kết với các ứng dụng hoặc tiến trình hệ thống.
12. DLL Side-loading
DLL Side-loading là một kỹ thuật tấn công mà mã độc tận dụng tiến trình tải DLL (Dynamic Link Library) trong các ứng dụng để thực thi mã độc một cách ẩn danh và khó bị phát hiện.
Bởi vì khi ứng dụng cần sử dụng một DLL, tiến trình tìm kiếm và tải DLL sẽ diễn ra theo một số quy tắc nhất định. Một trong những quy tắc quan trọng là ưu tiên tải DLL từ cùng thư mục chứa tệp thực thi (executable file). Khi này tệp DLL mã độc giả mạo sẽ được thực thi dưới tiến trình hệ thống hoặc ứng dụng.
Trên đây là các kỹ thuật persistent phổ biến, trong khuôn khổ bài viết tôi chưa thể đề cập đầy đủ tất cả các kỹ thuật cũng như thông tin chi tiết về từng kỹ thuật, bài viết mang tính chất tham khảo, mã độc có thể sử dụng một hoặc nhiều kỹ thuật persistent nêu trên hoặc kết hợp với nhiều kỹ thuật khác để đạt được khả năng tồn tại và hoạt động lâu dài trong hệ thống. Do đó, chúng ta cần thường xuyên rà soát và nâng cao các biện pháp bảo mật để phát hiện và ngăn chặn sự xâm nhập của mã độc, đảm bảo an ninh an toàn cho hệ thống.
Cảm ơn mọi người đã theo dõi bài viết, xin chào và hẹn gặp lại!
tgnd
Chỉnh sửa lần cuối: