Nguyên lý hệ điều hành
In-memory execution
Process Injection.
API hooking - detours, minihook,
- Api hooking là kĩ thuật chặn và thay đổi hành vi của 1 hàm API. Thường được sử dụng trong debug, reverse, cheat game. API hooking bao gồm thay thế phiên bản gốc bằng phiên bản được điều chỉnh thực hiện 1 số hành vi bổ sung trước hoặc sau khi thực hiện hàm gốc.
Các kĩ thuật truyền thống sẽ tạo ra 1 trampoline. 1 trampoline là 1 shellcode dùng để thay đổi đường đi code bằng cách nhảy vào 1 địa chỉ khác trong không gian địa chỉ của 1 process. Shellcode của 1 trampoline được chèn vào đầu hàm làm cho hàm bị hook, khi hàm bị hook, shellcode kích hoạt.
Inline hooking là một phương pháp khi hook rồi sẽ trả quyền điều khiển lại về cho hàm gốc. Phức tạp trong việc triển khai nhưng khá ok.
Các kĩ thuật được sử dụng liên quan đến API Hooking.
Lấy thông tin đăng nhập Windows: hook và put_value và get_value trong credprovdatamodel.dll
Payload obfucation:
Kĩ thuật này dùng để giâú payload, làm rối luồng thực thi.
Ví dụ để giấu shellcode, có thể áp dụng kĩ thuật ipv4/ipv6_Obfucated, UUIDFuction, MacFucation.
dùng consteval, constexpr để giấu chuỗi trước khi thực thi
Nhận xét