Home / Sharenewshort / NTSleuth: Chuẩn hóa và lưu trữ các syscall stub của Windows theo từng phiên bản và kiến trúc

NTSleuth: Chuẩn hóa và lưu trữ các syscall stub của Windows theo từng phiên bản và kiến trúc

Tóm tắt ngắn (TL;DR)

NTSleuth là một nỗ lực tập trung vào trích xuất, chuẩn hóa và lưu trữ các syscall stub của Windows theo từng phiên bản và kiến trúc. Với tư cách là red teamer hoặc nhà phát triển công cụ tấn công, giá trị của NTSleuth nằm ở việc cung cấp ID syscall và stub khớp với từng build Windows — giúp kỹ thuật gọi syscall trực tiếp/gián tiếp hoạt động ổn định hơn và giảm nguy cơ crash hoặc bị phát hiện.


Tại sao NTSleuth quan trọng với Red Team

  • ID và layout của syscall trên Windows thay đổi giữa các build và kiến trúc; sử dụng stub/ID sai có thể làm vỡ exploit hoặc gây crash.
  • NTSleuth thu thập định nghĩa syscall và stub nhị phân để giúp ánh xạ chính xác giữa build mục tiêu và implement syscall.
  • Dữ liệu này giảm thiểu thử-nhiều-sai khi tạo loader trực tiếp hoặc loader gián tiếp cho syscall, tăng tính tin cậy cho các kỹ thuật ẩn mình.

NTSleuth cung cấp gì (tính năng & dataset)

  • Cơ sở dữ liệu syscall theo phiên bản: ID syscall được index theo build Windows và kiến trúc.
  • Stub đã trích xuất: bytes thô hoặc assembler của stub lấy từ ntdll/dll thực tế.
  • Tìm kiếm & lọc: tra cứu nhanh theo tên syscall, build hoặc kiến trúc.
  • Xuất/nhập: hỗ trợ định dạng máy‑đọc để tích hợp vào tooling hoặc CI của red team.

Hệ quả kỹ thuật cho tooling tấn công

  1. Độ ổn định khi gọi syscall trực tiếp — dataset theo build giúp bạn chọn đúng ID và stub bytes cho build mục tiêu, giảm crash khi gọi syscall/sysenter.

  2. Loader syscall gián tiếp — khi stub trong bộ nhớ bị hook/patch bởi EDR, cần stub sạch tương ứng từ đĩa hoặc module khác; NTSleuth giúp tự động hóa ánh xạ tên ⇄ ID ⇄ bytes.

  3. Tự động hoá & CI — tích hợp export của NTSleuth vào pipeline kiểm thử để xác thực payload syscall trên ma trận build Windows.

  4. Nhận thức bề mặt phát hiện — corpus stub giúp defender dễ dàng so sánh bytes thực thi với stub mong đợi để phát hiện hành vi bất thường.


Playbook thực tế cho Red Team (cách dùng NTSleuth)

  1. Xác định build mục tiêu — lấy thông tin OS version/patch và kiến trúc. So khớp với entry trong dataset.
  2. Tra cứu syscall — tìm theo tên và xác nhận ID + stub bytes cho build đó.
  3. Chọn kiểu loader
  • Nếu ntdll mục tiêu còn nguyên: dùng direct syscall với ID khớp.
  • Nếu bị hook: trích stub sạch từ ntdll trên đĩa tương ứng và dùng indirect invocation.
  1. Test trong sandbox — chạy VM cùng build và kiểm tra chuỗi syscall để tránh crash khi tấn công thật.
  2. Chuẩn bị fallback — đóng gói nhiều stub cho các build khả dĩ và chọn runtime.

Hạn chế & lưu ý vận hành

  • Không phải là giải pháp toàn năng: syscall ID/stub chỉ là một phần; calling convention, layout struct, quyền hạn và trạng thái hệ thống vẫn quan trọng.
  • Cập nhật dataset: Windows update có thể thêm/đổi syscall — cần làm mới dữ liệu thường xuyên.
  • Sử dụng có đạo đức: nghiên cứu này có ứng dụng cho phòng thủ và tấn công; chỉ sử dụng trong engagements được ủy quyền.

Ví dụ trích dataset (bảng HTML)

Trường Ví dụ
Windows Build 10.0.19045.3324
Kiến trúc x64
Tên Syscall NtOpenProcess
Syscall ID 0x26B
Stub Bytes 48 31 C0 4C 8B D1 B8 26 03 00 00 …

Kiến nghị tích hợp (tools & workflow)

  • Thư viện runtime: phát triển lib nhỏ nhận diện build tại runtime và chọn stub bytes tương ứng.
  • Fallbacks: nhúng 2–3 stub khả dĩ trong implant để tăng tỷ lệ thành công qua các mức update.
  • CI tests: dùng snapshot VM để validate primitives trên ma trận build trước khi triển khai.

Ghi nhận & biện pháp phòng thủ (dành cho defender)

  • So sánh bytes syscall runtime với stub trên đĩa; mismatch hoặc sequence bất thường là chỉ số mạnh mẽ của tampering.
  • Giám sát các process ghi trang thực thi chứa chuỗi bytes trùng với stub từ build khác hoặc stub trích xuất động.

Đánh giá cuối cùng

NTSleuth lấp một khoảng thực tế cho người làm syscall-level: giảm công việc thử-sai, hỗ trợ tự động hóa và nâng cao độ ổn định cho kỹ thuật direct/indirect syscall. Với red team, đây là tài nguyên hữu ích để đưa vào workflow khớp-build; với defender, đây là nguồn để cải thiện phát hiện và hiểu rằng cuộc đua tránh phát hiện ở mức syscall vẫn tiếp diễn.

Source link: NTSleuth

Leave a Reply

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *