Tấn Công Tinh Vi Sử Dụng Custom Active Directory Extensions Để Tạo Backdoor

Trong bối cảnh các mối đe dọa an ninh mạng ngày càng gia tăng, một kỹ thuật tấn công mới liên quan đến Custom Client-Side Extensions (CSEs) trong Active Directory (AD) đã được phát hiện, gây ra mối lo ngại lớn cho các tổ chức sử dụng hệ thống Windows. Kỹ thuật này cho phép tin tặc tạo ra các backdoor ẩn với đặc quyền cao, khó bị phát hiện bởi các công cụ bảo mật thông thường. Bài viết này sẽ giải thích chi tiết về cách hoạt động của cuộc tấn công này, mức độ nguy hiểm, và cách các tổ chức có thể bảo vệ mình trước mối đe dọa này.
Active Directory và Group Policy Objects (GPOs) là gì?
Trước tiên, hãy cùng tìm hiểu về Active Directory (AD) và Group Policy Objects (GPOs) để hiểu rõ bối cảnh của cuộc tấn công.
Active Directory (AD): Đây là dịch vụ thư mục của Microsoft, được sử dụng để quản lý tập trung các tài nguyên mạng, bao gồm người dùng, máy tính và chính sách trong một tổ chức. AD cho phép quản trị viên kiểm soát các tài khoản người dùng, máy tính và dịch vụ trên toàn mạng miền (domain).
Group Policy Objects (GPOs): GPOs là các bộ chính sách được áp dụng trong AD để cấu hình hệ điều hành, ứng dụng và cài đặt người dùng trên các máy tính trong mạng. GPOs được xử lý bởi các Client-Side Extensions (CSEs) – những thư viện liên kết động (DLL) chuyên biệt, có nhiệm vụ diễn giải và thực thi các cài đặt GPO trên máy khách.
Mỗi CSE được xác định bởi một Globally Unique Identifier (GUID) và được đăng ký trong Windows Registry tại:
Get-ChildItem "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\GPExtensions" | Select-Object @{Name='GUID';Expression={$_.PSChildName}}, @{Name='Name';Expression={$_.GetValue('')}}
Điều này cho phép quản trị viên kiểm tra các CSE đã được đăng ký trên hệ thống.
Custom CSEs: Công cụ quản trị hay vũ khí của tin tặc?
CSEs thường được sử dụng bởi quản trị viên để mở rộng chức năng của GPOs, chẳng hạn như áp dụng các chính sách tùy chỉnh cho việc quản lý phần mềm hoặc bảo mật. Tuy nhiên, tin tặc đã lợi dụng cơ chế này để tạo ra các Custom CSEs độc hại, biến chúng thành một backdoor tàng hình với đặc quyền SYSTEM – mức quyền cao nhất trên hệ thống Windows.
Cách thức hoạt động của cuộc tấn công
Tin tặc thực hiện cuộc tấn công thông qua các bước sau:
Tạo và triển khai Custom CSE:
Tin tặc phát triển một file DLL độc hại bằng ngôn ngữ lập trình như C++, sử dụng Visual Studio hoặc các công cụ tương tự. File DLL này phải xuất hàm
ProcessGroupPolicy, là hàm mà Group Policy engine của Windows sẽ gọi để xử lý GPO.Ví dụ về đoạn mã trong file DLL:
// dllmain.cpp DWORD CALLBACK ProcessGroupPolicy( DWORD dwFlags, HANDLE hToken, HKEY hKeyRoot, PGROUP_POLICY_OBJECT pDeletedGPOList, PGROUP_POLICY_OBJECT pChangedGPOList, ASYNCCOMPLETIONHANDLE pHandle, BOOL* pbAbort, PFNSTATUSMESSAGECALLBACK pStatusCallback) { LogToFile(TEXT("ProcessGroupPolicy called")); LogExecutionContext(); return ERROR_SUCCESS; }Trong đoạn mã trên, hàm
ProcessGroupPolicycó thể được lập trình để thực thi mã độc, chẳng hạn như ghi log thông tin hệ thống, tạo tài khoản ẩn, hoặc mở kết nối tới máy chủ điều khiển từ xa (C&C).
Đăng ký DLL độc hại:
Sau khi biên dịch, tin tặc đăng ký DLL vào Windows Registry và liên kết nó với một GUID duy nhất. Điều này được thực hiện bằng cách cập nhật registry tại khóa:
HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\GPExtensionsDLL sau đó được liên kết với một GPO cụ thể thông qua các thuộc tính
gPCMachineExtensionNameshoặcgPCUserExtensionNames.
Thực thi định kỳ với đặc quyền SYSTEM:
- Một khi được liên kết với GPO, Custom CSE sẽ tự động chạy mỗi khi chính sách nhóm được làm mới – thường là mỗi 5 phút trên domain controller và mỗi 90 phút trên máy thành viên. Điều này đảm bảo tính liên tục (persistence) của mã độc mà không cần thêm hành động từ tin tặc.
Che giấu và khó phát hiện:
- Vì Custom CSE chạy như một tiến trình SYSTEM và sử dụng cơ chế hợp pháp của Windows, nó rất khó bị phát hiện bởi các phần mềm antivirus hoặc các công cụ bảo mật thông thường. Hơn nữa, tin tặc có thể ngụy trang mã độc bằng cách đặt tên DLL và GUID giống với các thành phần hợp pháp.
Mức độ nguy hiểm của Custom CSEs độc hại
Custom CSEs độc hại mang lại nhiều rủi ro nghiêm trọng:
Đặc quyền cao: Chạy với quyền SYSTEM, tin tặc có thể thực hiện bất kỳ hành động nào, từ cài đặt phần mềm độc hại, đánh cắp dữ liệu, đến tạo tài khoản quản trị ẩn.
Tính tàng hình: Do sử dụng cơ chế GPO hợp pháp, các công cụ bảo mật truyền thống khó phát hiện hoạt động bất thường.
Tính liên tục: Mã độc được thực thi định kỳ, đảm bảo tin tặc duy trì quyền truy cập ngay cả khi hệ thống khởi động lại.
Khả năng lây lan: Một Custom CSE độc hại có thể được áp dụng cho toàn bộ mạng thông qua GPO, ảnh hưởng đến hàng loạt máy tính trong tổ chức.
Theo báo cáo từ GBHackers, các cuộc tấn công sử dụng Custom CSEs ngày càng phổ biến trong các chiến dịch của các nhóm APT (Advanced Persistent Threat), đặc biệt trong các tổ chức lớn với hệ thống AD phức tạp.
Làm thế nào để phát hiện và ngăn chặn?
Để bảo vệ tổ chức khỏi mối đe dọa này, cần triển khai các biện pháp sau:
1. Giám sát liên tục các thay đổi GPO và CSE
Kiểm tra Registry: Sử dụng PowerShell để liệt kê các CSE đã đăng ký:
Get-ChildItem "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\GPExtensions" | Select-Object @{Name='GUID';Expression={$_.PSChildName}}, @{Name='Name';Expression={$_.GetValue('')}}Giám sát sự kiện: Theo dõi các sự kiện liên quan đến GPO trong Event Viewer, đặc biệt là các sự kiện liên quan đến thay đổi chính sách hoặc đăng ký DLL mới.
Công cụ SIEM: Sử dụng các hệ thống SIEM (Security Information and Event Management) để phát hiện các hành vi bất thường, chẳng hạn như đăng ký DLL mới hoặc thay đổi GPO không được phê duyệt.
2. Kiểm soát quyền quản trị
Hạn chế quyền chỉnh sửa GPO chỉ cho một nhóm quản trị viên đáng tin cậy.
Áp dụng principle of least privilege (nguyên tắc đặc quyền tối thiểu) để giảm thiểu rủi ro từ các tài khoản bị xâm phạm.
3. Kiểm tra và vá lỗi
Đảm bảo tất cả các máy tính trong mạng được cập nhật bản vá mới nhất từ Microsoft, đặc biệt là các bản vá liên quan đến AD và Group Policy.
Kiểm tra định kỳ các GPO để phát hiện các thay đổi không mong muốn.
4. Sử dụng công cụ bảo mật nâng cao
Triển khai các giải pháp Endpoint Detection and Response (EDR) để phát hiện các hành vi bất thường, chẳng hạn như thực thi DLL không rõ nguồn gốc.
Sử dụng các công cụ như Microsoft Defender for Identity để giám sát các hoạt động đáng ngờ trong AD.
5. Đào tạo và nâng cao nhận thức
Đào tạo nhân viên IT về các mối đe dọa liên quan đến AD và cách nhận biết các dấu hiệu tấn công.
Thực hiện các bài kiểm tra thâm nhập (penetration testing) định kỳ để đánh giá khả năng phòng thủ của hệ thống AD.
Tham khảo
Custom Active Directory Extensions Create Stealthy Backdoors for Corporate Attacks
Abusing Client-Side Extensions (CSE): A Backdoor into Your AD Environment






