Trao đổi với tôi

http://www.buidao.com

4/7/10

[Rootkit] [Hooking] Hiding DLL

Bài viết gốc:
CloakDll - by Darawk
Featured @ www.RealmGX.com & www.Darawk.com

Phân tích Code: benina 2010


Các bài trước chúng ta đã nghiên cứu qua về các cách inject code dll vào vùng không gian địa chỉ của một process nào đó. Các Dll này rất dễ dò tìm ra bằng các tool browse các processes như procexp.exe trong bộ công cụ SysinternalsSuite chẳng hạn. Bài viết này chúng ta sẽ nghiên cứu cách dấu (hide) dll đã inject để tránh bị dòm ngó.

Tôi mô tả sơ qua pp hiding DLL như sau:

Mục đích của chương trình CloakDll là cho phép user dấu (hide) bất kỳ một module nào (như dll inject chẳng hạn) mà nó được ứng dụng loaded vào vùng nhớ để sử dụng. CloakDll làm việc bằng cách truy xuất các danh sách modules list được chứa trong PEB, và sau đó unlink (tháo rời liên kết) module yêu cầu, nó sẽ hide thành phần module ra khỏi danh sách trong 4 list loại doubly-linked mà nó là một mắt xích trong đó. Sau đó nó sẽ xóa sạch cấu trúc module đã tháo rởi ra và xóa path/file name of module trong memory. Do đó ngay cả khi vùng nhớ mà dữ liệu module cư trú bị scanned thì vẫn không tìm được chứng cứ nào về module đã tồn tại trong process. Hiện tại, chỉ có một điểm yếu của pp này mà Darawk đã tìm ra. Chúng ta sẽ không nghiên cứu chủ đề detect hided dll. Chủ đề này sẽ dành cho loạt tuts sau.

http://www.mediafire.com/?qjrdmloljmz