- Thả một file vào đúng một thư mục, tồn tại qua mọi lần khởi động lại - không cần quyền admin, không cần qua UAC.
- Startup Folder Abuse (MITRE T1547.001) là kỹ thuật persistence phổ biến nhất trên Windows, được ghi nhận ở hơn 300 dòng malware và 54 nhóm APT.
- Đây là cách hoạt động, cách kẻ tấn công triển khai, và cách defender phát hiện.
TL;DR
Bất cứ thứ gì được đặt vào thư mục Startup của người dùng Windows sẽ tự động chạy khi đăng nhập - với quyền của người dùng đó, không cần qua UAC. Đó là lý do Startup Folder Abuse (MITRE ATT&CK T1547.001) là kỹ thuật persistence phổ biến nhất trên Windows hiện nay: được ghi nhận ở hơn 300 dòng malware và được 54 nhóm APT riêng biệt sử dụng - nhiều hơn bất kỳ kỹ thuật persistence nào khác. Đây là cơ chế chính xác, các đường dẫn kẻ tấn công nhắm tới, và telemetry giúp defender phát hiện.
Chuyện gì đang xảy ra
Một bài đăng gần đây của @hack_ademy mô tả cách một người dùng Windows bị xâm phạm kiểm tra thư mục Startup để tìm chương trình đáng ngờ. Demo nhỏ thôi - nhưng kỹ thuật đằng sau thì khổng lồ, và vẫn đang hoạt động trong năm 2026. Startup Folder Abuse không phải bug, không phải 0-day, không phải cấu hình sai. Đây là tính năng tiện lợi tích hợp sẵn của Windows chưa bao giờ được siết chặt - vì siết lại sẽ làm hỏng các ứng dụng hợp lệ. Kẻ tấn công hiểu rõ điều đó.
Tại sao điều này quan trọng
Ba đặc điểm khiến kỹ thuật này trở thành primitive persistence được kẻ tấn công ưa thích nhất:
- Không cần leo thang đặc quyền. Thư mục Startup per-user và các key
HKCU\...\Runđều có thể ghi bởi người dùng đang đăng nhập. Sau khi payload phishing thành công, malware đã có đủ mọi thứ để tồn tại qua reboot. - Được thiết kế để tin tưởng. Windows không cảnh báo về các item Startup mới. Task Manager hiển thị chúng thản nhiên trong tab Startup, ngay cạnh Slack và OneDrive.
- Hiếm khi được giám sát. Nhiều tổ chức kiểm tra Scheduled Tasks và Services nhưng để thư mục Startup per-user thành điểm mù - chính xác là nơi persistence ẩn náu.
Chi tiết kỹ thuật: payload nằm ở đâu
Hai thư mục đảm nhận vai trò chính:
- Per-user (không cần admin):
C:\Users\<User>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup - System-wide (cần admin, ảnh hưởng mọi người dùng):
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
Bất cứ thứ gì đặt vào đây - .exe, .lnk, .vbs, .js, .bat, .ps1 - đều được thực thi khi người dùng tương ứng đăng nhập lần tiếp theo. Shortcut (.lnk) là lựa chọn phổ biến nhất vì chúng ẩn đường dẫn payload thực sự sau một icon trông có vẻ vô hại.
Các registry run key liên quan (cùng sub-technique) cho kẻ tấn công thêm một nút điều chỉnh:
| Registry key | Cần admin? | Kích hoạt khi |
|---|---|---|
HKCU\Software\Microsoft\Windows\CurrentVersion\Run | Không | Người dùng hiện tại đăng nhập |
HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce | Không | Lần đăng nhập tiếp theo, rồi tự xoá |
HKLM\Software\Microsoft\Windows\CurrentVersion\Run | Có | Bất kỳ người dùng nào đăng nhập |
HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnceEx | Có | Lần đăng nhập tiếp theo, kèm DLL loading |
So sánh với các kỹ thuật persistence khác
| Kỹ thuật | Cần admin? | Độ ẩn | Mức độ phát hiện điển hình |
|---|---|---|---|
| Startup folder / HKCU Run | Không | Cao | Thấp ở nhiều tổ chức |
| Scheduled Tasks (T1053) | Đôi khi | Trung bình | Trung bình |
| Windows Services (T1543.003) | Có | Trung bình | Cao |
| WMI Event Subscription (T1546.003) | Có | Rất cao | Thấp |
Startup folder thắng về tỷ lệ chi phí - ẩn nấp: không tốn đặc quyền, hoạt động trên mọi Windows hiện đại, không tạo artifact service mới, và hòa vào các ứng dụng autostart hợp lệ.
Ai đang thực sự dùng kỹ thuật này
Gần như tất cả. MITRE quy kết T1547.001 cho 54 nhóm threat và hơn 300 dòng malware, bao gồm:
- APT28, APT29, APT32, APT37, APT41 - các nhóm nation-state sao chép payload vào Startup hoặc sửa Run key.
- Lazarus Group - được ghi nhận cụ thể là duy trì persistence bằng cách nạp code độc hại vào thư mục Startup hoặc thêm Run key.
- Malware banking và stealer phổ thông - Emotet, TrickBot, Ryuk, AgentTesla, FormBook.
- Các nhóm ransomware - Ryuk và Conti pre-stage loader trong Startup để encryptor khởi động lại sau khi reimage không hoàn chỉnh.
Cách defender phát hiện
MITRE thẳng thắn về phòng chống: "Loại tấn công này không thể dễ dàng giảm thiểu bằng các biện pháp kiểm soát phòng ngừa vì nó dựa trên việc lạm dụng tính năng hệ thống." Vì vậy, bài toán là phát hiện. Các tín hiệu quan trọng:
- Sysmon Event ID 11 - file được tạo trong bất kỳ đường dẫn Startup nào. Cảnh báo khi có ghi từ các process cha không phải installer (trình duyệt, Outlook,
powershell.exe,wscript.exe,mshta.exe). - Sysmon Event ID 13 - ghi registry value vào
...\CurrentVersion\RunvàRunOnce. - Windows Event ID 4663 - ghi object-access vào thư mục Startup (cần SACL trên thư mục).
- Windows Event ID 4657 - sửa đổi registry value (cần bật Audit Registry).
- Windows Event ID 4688 - tạo process khi binary đã dàn dựng chạy ở lần đăng nhập tiếp theo. Kết hợp với parent-process =
explorer.exespawn binary chưa ký từ%APPDATA%. - PowerShell 4104 - script-block logging cho các pattern
New-ItemProperty HKCU:\...\Run.
Đã có sẵn rule trong Elastic Detection Rules (Startup Folder Persistence via Unsigned Process), Sigma (Suspicious Startup Folder Persistence), và Splunk ESCU. Bật lên ngay.
Giới hạn và cách tự kiểm tra
Bạn có thể kiểm tra thư mục Startup của mình trong một dòng lệnh. Nhấn Win+R, gõ shell:startup, Enter - File Explorer sẽ mở thư mục per-user. Hoặc dùng PowerShell:
Get-ChildItem "$env:APPDATA\Microsoft\Windows\Start Menu\Programs\Startup"
Get-ItemProperty "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run"Bất cứ thứ gì không khớp với phần mềm bạn thực sự cài - đặc biệt là shortcut trỏ vào %APPDATA%, %TEMP%, hoặc các subfolder trong user profile - đều đáng điều tra. Với defender doanh nghiệp: baseline các entry hợp lệ theo từng device class và cảnh báo khi có delta.
Kết
T1547.001 sẽ không biến mất. Kỹ thuật này có trước Windows Vista, rẻ hơn mọi persistence khác, và được hỗ trợ trên mọi bản Windows 10 và 11. Phản ứng đúng là telemetry-first: bật Sysmon, bật FIM trên thư mục Startup, kéo alert binary chưa ký trong Startup về SOC. Hãy coi thư mục Startup như một tripwire - vì với 54 nhóm APT, nó đã là như vậy rồi.
Nguồn: MITRE ATT&CK T1547.001, Nextron Systems, Picus Security, Elastic Detection Rules, @hack_ademy.
