Đây là bài mình viết để dùng làm tài liệu tra cứu lại cho chính mình sau này — tổng hợp các Event ID quan trọng nhất khi làm SOC/threat hunting trên Windows, chia theo nhóm, kèm lý do vì sao mỗi event đáng chú ý và nó thường xuất hiện trong pattern tấn công nào. Gồm cả Windows Security Event Log (log gốc của Windows) lẫn Sysmon (tool miễn phí của Microsoft Sysinternals, gần như là tiêu chuẩn bắt buộc cho mọi SOC vì log chi tiết hơn hẳn log mặc định — đây cũng chính là tool mình đã setup trong series Wazuh 101).
NOTEMuốn thấy đầy đủ các event quan trọng (đặc biệt 4688, 4663, 4104) thì phải tự bật Audit Policy tương ứng trước — mặc định Windows không log hết những event này. Đây là bước setup bắt buộc trước khi mong chờ SIEM nhận được dữ liệu.
Logon / Logoff (4624, 4625, 4634, 4647, 4648, 4672)
Nhóm event được nhìn vào đầu tiên trong gần như mọi cuộc điều tra — vì mọi hành vi của attacker đều bắt đầu bằng việc đăng nhập vào đâu đó.
| Event ID | Ý nghĩa |
|---|---|
| 4624 | Đăng nhập thành công |
| 4625 | Đăng nhập thất bại |
| 4634 | Đăng xuất |
| 4647 | Người dùng chủ động logoff |
| 4648 | Đăng nhập bằng credential tường minh (explicit credentials) — ví dụ runas |
| 4672 | Tài khoản có quyền đặc biệt (admin) vừa đăng nhập |
Điều quan trọng nhất của 4624 là trường Logon Type — cho biết đăng nhập diễn ra như thế nào, quyết định mức độ đáng ngờ:
| Logon Type | Ý nghĩa | Ghi chú |
|---|---|---|
| 2 | Interactive | Đăng nhập trực tiếp tại máy (bàn phím vật lý) |
| 3 | Network | Truy cập qua mạng (ví dụ mở share SMB) — rất phổ biến trong lateral movement |
| 4 | Batch | Scheduled task chạy |
| 5 | Service | Service khởi động bằng một account cụ thể |
| 7 | Unlock | Mở khóa màn hình |
| 8 | NetworkCleartext | Đăng nhập mạng nhưng password truyền dạng rõ (đáng ngờ nếu không phải basic auth hợp lệ) |
| 9 | NewCredentials | Dùng runas /netonly |
| 10 | RemoteInteractive | RDP — cực kỳ quan trọng để theo dõi, vì RDP là vector lateral movement hàng đầu |
| 11 | CachedInteractive | Đăng nhập bằng credential cache (không liên lạc được DC) |
Pattern đáng ngờ kinh điển: nhiều 4625 liên tiếp cùng 1 nguồn trong thời gian ngắn (brute-force), theo sau bởi một 4624 thành công (đăng nhập trót lọt sau khi dò đúng mật khẩu) — một trong những correlation rule cơ bản nhất mọi SIEM nên có sẵn.
4648 đáng chú ý vì nó log việc dùng credential khác với account đang đăng nhập hiện tại — attacker đã có một bộ credential khác (đánh cắp được) và đang thử dùng nó, thường thấy ngay trước một bước lateral movement.
Account Management (4720, 4722, 4724, 4728/4732/4756, 4738)
Nhóm event theo dõi thay đổi tài khoản/nhóm — persistence hoặc privilege escalation thường để lại dấu vết ở đây.
| Event ID | Ý nghĩa |
|---|---|
| 4720 | Tài khoản user mới được tạo |
| 4722 | Tài khoản được enable |
| 4724 | Có người cố reset mật khẩu của tài khoản khác |
| 4728 | Thêm thành viên vào nhóm global |
| 4732 | Thêm thành viên vào nhóm local (ví dụ Local Administrators) |
| 4756 | Thêm thành viên vào nhóm universal |
| 4738 | Thuộc tính tài khoản bị thay đổi |
Pattern đáng ngờ: 4720 (tạo account mới) theo ngay sau bởi 4732 thêm account đó vào nhóm Administrators — dấu hiệu kinh điển của việc attacker tự tạo backdoor account để duy trì quyền truy cập, kể cả khi credential ban đầu bị phát hiện và thu hồi.
Kerberos (4768, 4769, 4770, 4771)
Nhóm event cực kỳ quan trọng trong môi trường Active Directory — gắn liền với nhiều kỹ thuật tấn công AD nổi tiếng.
| Event ID | Ý nghĩa | Liên quan tới |
|---|---|---|
| 4768 | Yêu cầu cấp TGT (Ticket Granting Ticket) | Bước đầu của mọi xác thực Kerberos |
| 4769 | Yêu cầu cấp Service Ticket (TGS) | Kerberoasting — attacker request hàng loạt TGS cho các service account để crack offline |
| 4770 | Service ticket được renew | |
| 4771 | Pre-authentication thất bại | Có thể là dấu hiệu brute-force, hoặc AS-REP Roasting nếu tài khoản tắt pre-auth |
Pattern đáng ngờ: một tài khoản gửi rất nhiều 4769 trong thời gian ngắn, với encryption type yếu (RC4 thay vì AES) — dấu hiệu kinh điển của Kerberoasting. Tương tự, 4624 với Logon Type 9 bất thường kết hợp ticket lifetime dài bất thường có thể liên quan tới Golden Ticket (giả mạo TGT bằng cách đánh cắp hash của tài khoản krbtgt).
Process Creation (4688, 4689)
| Event ID | Ý nghĩa |
|---|---|
| 4688 | Một process mới được tạo |
| 4689 | Một process kết thúc |
4688 là một trong những event giá trị nhất — nhưng mặc định Windows không log command-line argument đi kèm, phải bật riêng qua Group Policy (Include command line in process creation events). Thiếu bước này, SOC chỉ biết “có process X chạy” mà không biết nó chạy với tham số gì — gần như vô dụng để phát hiện living-off-the-land (ví dụ biết powershell.exe chạy là chưa đủ, cần thấy được -enc <base64> đi kèm mới biết đang chạy script bị obfuscate).
Vì giới hạn này của log Windows gốc, phần lớn SOC chuyển sang dùng Sysmon Event ID 1 (nói ở phần dưới) để thay thế hoàn toàn cho 4688, vì Sysmon log đầy đủ hơn nhiều (hash file, publisher, parent process…) ngay từ đầu không cần cấu hình thêm.
Object & Share Access (4663, 5140, 5145)
| Event ID | Ý nghĩa |
|---|---|
| 4663 | Có hành động cụ thể lên một object (đọc/ghi/xóa file, registry…) được audit |
| 5140 | Một network share được truy cập |
| 5145 | Kiểm tra quyền truy cập chi tiết tới file trên network share |
Nhóm này hay dùng để phát hiện lateral movement qua SMB (ví dụ attacker copy tool qua ADMIN$ hoặc C$ share) hoặc truy cập trái phép vào thư mục nhạy cảm.
Audit Policy & Log Tampering (4719, 1102)
Đây là nhóm event phải alert ngay lập tức, độ ưu tiên cao nhất — vì chúng không phải dấu hiệu attacker đang làm gì đó, mà là dấu hiệu attacker đang xóa dấu vết:
- 4719 — chính sách audit bị thay đổi (ví dụ tắt logging một loại event nào đó trước khi hành động)
- 1102 — Audit log đã bị xóa sạch. Đây gần như luôn luôn là red flag nghiêm trọng — admin hợp lệ gần như không bao giờ có lý do chính đáng để xóa toàn bộ security log, trong khi đây là bước dọn dẹp kinh điển cuối cùng của attacker sau khi hoàn thành mục tiêu.
Service Installation (7045, 4697)
| Event ID | Ý nghĩa |
|---|---|
| 7045 | Service mới được cài (System log) |
| 4697 | Service mới được cài (Security log, cần bật audit riêng) |
Tạo Windows Service là kỹ thuật persistence rất phổ biến (service tự khởi động cùng hệ thống) và cũng là cách PsExec hoạt động khi di chuyển ngang — nên 7045 xuất hiện bất thường (tên service lạ, binary path trỏ tới thư mục tạm như %TEMP%) là một trong những tín hiệu lateral movement/persistence đáng tin cậy nhất.
PowerShell Logging (4103, 4104)
| Event ID | Ý nghĩa |
|---|---|
| 4103 | Module logging — ghi lại lệnh PowerShell được thực thi (pipeline execution) |
| 4104 | Script Block Logging — ghi lại toàn bộ nội dung script, kể cả sau khi đã deobfuscate |
4104 cực kỳ giá trị vì PowerShell thường bị attacker obfuscate (encode base64, nối chuỗi rời rạc…) để né tránh phát hiện bằng pattern-matching đơn giản — nhưng Script Block Logging bắt được nội dung sau khi PowerShell tự giải mã để thực thi, nên dù obfuscate kiểu gì, log vẫn thấy được script thật. Đây là lý do bật Script Block Logging được xem là một trong những cấu hình “phải có” quan trọng nhất cho SOC trên môi trường Windows hiện đại.
Sysmon Event IDs
Sysmon không phải một phần của Windows mặc định nhưng gần như là tiêu chuẩn bắt buộc của mọi SOC nghiêm túc — vì nó lấp đầy toàn bộ khoảng trống mà Windows Security Log để lại.
| Event ID | Ý nghĩa | Vì sao quan trọng |
|---|---|---|
| 1 | Process Create | Thay thế 4688, kèm sẵn hash file, command line, parent process — không cần config thêm |
| 3 | Network Connect | Theo dõi kết nối mạng ra ngoài — nền tảng để phát hiện C2 beaconing |
| 5 | Process Terminate | |
| 6 | Driver Load | Phát hiện driver độc hại/rootkit được nạp |
| 7 | Image Load | DLL được load vào process — dấu hiệu DLL injection/sideloading |
| 8 | CreateRemoteThread | Một process tạo thread trong process khác — kỹ thuật injection kinh điển |
| 10 | Process Access | Một process mở quyền truy cập tới process khác — nếu đích là lsass.exe, gần như chắc chắn đang dump credential |
| 11 | File Create | |
| 12/13/14 | Registry Event (create/modify/rename) | Theo dõi các key persistence (Run, Services…) |
| 15 | FileCreateStreamHash | Phát hiện Alternate Data Stream (ADS) — kỹ thuật giấu file |
| 22 | DNS Query | Phát hiện DNS tunneling, truy vấn domain độc hại |
| 23 | File Delete |
Hai event đáng nhớ nhất trong nhóm này với vai trò threat hunting: Event ID 10 nhắm vào lsass.exe (credential dumping, kiểu Mimikatz) và Event ID 8 (process injection) — cả hai đều là kỹ thuật cực kỳ phổ biến ở hầu hết các nhóm APT mình từng viết trong series “Đã Seen”.
Bảng tóm tắt nhanh — ưu tiên theo dõi
Nếu chỉ được chọn một vài event để setup alert đầu tiên khi mới dựng SOC, đây là danh sách mình sẽ ưu tiên:
- 1102 — audit log bị xóa (luôn luôn khẩn cấp)
- 4625 hàng loạt rồi 4624 thành công — brute-force trót lọt
- 4688 / Sysmon 1 với command line chứa pattern đáng ngờ (
-enc,IEX,DownloadString…) - Sysmon 10 nhắm
lsass.exe— credential dumping - 4769 số lượng lớn, encryption type yếu — Kerberoasting
- 7045 với binary path lạ — persistence/lateral movement
- 4104 — nội dung PowerShell script sau khi deobfuscate
Bài này mình sẽ cập nhật dần mỗi khi gặp thêm Event ID đáng chú ý trong quá trình làm lab/CTF — coi như một cheat-sheet sống cho riêng mình.