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 keyCần admin?Kích hoạt khi
HKCU\Software\Microsoft\Windows\CurrentVersion\RunKhôngNgười dùng hiện tại đăng nhập
HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnceKhôngLần đăng nhập tiếp theo, rồi tự xoá
HKLM\Software\Microsoft\Windows\CurrentVersion\RunBất kỳ người dùng nào đăng nhập
HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnceExLầ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ậtCần admin?Độ ẩnMức độ phát hiện điển hình
Startup folder / HKCU RunKhôngCaoThấp ở nhiều tổ chức
Scheduled Tasks (T1053)Đôi khiTrung bìnhTrung bình
Windows Services (T1543.003)Trung bìnhCao
WMI Event Subscription (T1546.003)Rất caoThấ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\RunRunOnce.
  • 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.exe spawn 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.