← minhcc.me
🦠
Malware RCA
Root Cause Analysis — Fileless MSBuild Token Stealer
Sự cố nhiễm token stealer · Phân tích bởi Lacrimosa 🍅 · 2026-08-28 → cập nhật 03-09
Đã gỡ sạch 100% · Máy hiện tại SẠCH

01 Tóm tắt

Máy Windows bị nhiễm một info-stealer (trộm token/cookie) ngụy trang thành game người lớn Ren'Py "Ride Me Taxi Driver v2.16". Malware dùng kỹ thuật fileless MSBuild để né antivirus, đánh cắp Discord token + cookie trình duyệt, rồi gửi về server C2.

Hacker dùng token Discord bị đánh cắp để spam link lừa đảo cho bạn bè.

Kết quả: Đã gỡ sạch hoàn toàn. Không còn tàn dư. Đã đổi mật khẩu, Log Out All Devices, bật MFA, quét Malwarebytes.

02 Nhận diện malware

Hạng mụcGiá trị
Tên đặtFileless MSBuild Token Stealer (disguised as Ren'Py game)
File mẫu độcRide_Me_Taxi_Driver_v2.16_WorkNite_G_Archive_win_442437_2---*.zip
Kích thước~28.9 MB
SHA25684513b9d935cfaf4f6cc213cfdeac434596b08372270e1fe63ad3eab691c0cc8
DropperSetup.exe (104,448 B · PE32+ x64 · Mingw-w64)
Payload thậtCastleCore.csproj (13.2 MB · mã hoá · giả danh Castle.Core 8.0.0)
Anti-analysissys_config/*.py (bộ anti-VM kiểu "Sysbox")
Domain nghi C2g72ejs.xyz (cloud-file-lgl2 · cloud-file-8dgp)

03 Lịch sử nhiễm

  1. Tải file — ZIP game giả mạo từ nguồn mirror (f95zone.to.it) / host PixelDrain (pixeldrain.com/u/QadjdUP4).
  2. Chạy Setup.exe — dropper thả bộ persistence xuống %AppData%\Local\Microsoft\Windows\Caches\CastleCore\.
  3. Tạo Scheduled Task ẩn \ShellExperience (Hidden=true, chạy lúc logon) → cmd.exe /c "...\indexer_08d1.cmd".
  4. indexer_08d1.cmd → conhost --headless → MSBuild.exe build CastleCore.csproj IN-MEMORY (fileless).
  5. Stealer trộm Discord token + cookie trình duyệt → exfil mã hoá về C2.
  6. Hacker dùng token → spam link lừa đảo cho bạn bè qua Discord.
Lưu ý: Bản game Unity gốc (Ride_Me_Taxi_Driver_v2.16.zip, 1.6GB) là SẠCH. Bản Ren'Py (~28.9MB) mới là bản bị chèn malware.

04 Phân tích kỹ thuật

4.1 Chuỗi lây nhiễm

Setup.exe (dropper) └─> thả ...\Caches\CastleCore\ + tạo Scheduled Task ẩn \ShellExperience └─> indexer_08d1.cmd └─> conhost.exe --headless └─> MSBuild.exe build CastleCore.csproj IN-MEMORY └─> STEALER (Discord token + browser cookies) └─> exfil mã hoá về C2 (g72ejs.xyz)

4.2 Lớp chống phân tích (anti-VM) — sys_config/*.py

Đây KHÔNG phải payload chính, mà là bộ chống sandbox/VM (giả mạo gói Python của Ren'Py):

→ Mục đích: nếu thấy đang chạy trong sandbox/máy ảo phân tích thì DỪNG, không thả payload thật — né AV sandbox và nhà nghiên cứu.

4.3 File persistence trên máy

4.4 C2 / webhook — bị mã hoá

Các file .dat/.cache/.log toàn byte nhị phân mã hoá → strings/hexdump KHÔNG ra URL. Endpoint C2 nằm bên trong blob 13MB đã mã hoá → phân tích tĩnh không trích được. Domain nghi C2: g72ejs.xyz.

4.5 Kỹ thuật — MITRE ATT&CK

IDKỹ thuật
T1053.005Scheduled Task (persistence)
T1218.004MsBuild.exe — Signed Binary Proxy Execution (fileless)
T1564.004Hidden Window / hidden task
T1027Obfuscated files & encrypted payload
T1555.003Credentials from web browsers (cookies)
T1528Steal application access token (Discord)
T1041Exfiltration Over C2 Channel

05 Giải quyết

Xử lý theo thứ tự — diệt persistence trước, thu hồi tài khoản sau, rồi xác minh sạch. Mỗi bước đều có lý do cụ thể.

Bước 1 — Diệt cơ chế tự khởi động (persistence)

Đây là thứ quan trọng nhất: nếu không gỡ persistence, malware sẽ tự chạy lại mỗi lần khởi động, xoá payload trước thì vô nghĩa.

  1. Mở PowerShell (Run as Administrator).
  2. Xoá Scheduled Task ẩn:
    schtasks /delete /tn "ShellExperience" /f

    → Nếu báo "ERROR: The system cannot find the file specified" nghĩa là task đã không tồn tại (đã bị gỡ hoặc chưa từng tạo) — vẫn an toàn.

  3. Kiểm tra không còn task nào khác trỏ vào thư mục lạ:
    schtasks /query /fo LIST /v | findstr /i "CastleCore"

Bước 2 — Xoá toàn bộ file dropper

Xoá thư mục chứa payload. Nếu không xoá được (file đang bị khoá), khởi động lại máy rồi xoá.

Remove-Item -Recurse -Force "$env:LOCALAPPDATA\Microsoft\Windows\Caches\CastleCore"

Thư mục này không phải thư mục hệ thống của Windows — nó được malware cố tình đặt tên giống thư mục hệ thống để né AV. Xoá an toàn.

Bước 3 — Thu hồi tài khoản bị đánh cắp

Payload trộm token, không phải mật khẩu. Vì vậy đổi mật khẩu thôi là CHƯA ĐỦ — hacker vẫn dùng token cũ được. Phải huỷ mọi phiên đăng nhập.

Bước 4 — Quét & làm sạch sâu

Bước 5 — Xác minh tàn dư (29/08)

Dùng chính các chỉ báo (IOC) của malware để kiểm tra ngược lại. Kết quả rỗng = sạch:

Kiểm traLệnhKết quả
Scheduled Taskschtasks /query /tn "ShellExperience"Rỗng ✅
Thư mục dropperTest-Path "$env:LOCALAPPDATA\...\CastleCore"False ✅
MSBuild đang chạyGet-Process MSBuild -ErrorAction SilentlyContinueRỗng ✅
Process / mạng / service / registry startupquét thủ công + Security_scanBình thường ✅
Kết luận: Sau 5 bước, máy không còn persistence, không còn payload, tài khoản đã thu hồi, và mọi chỉ báo IOC đều âm tính → đã sạch hoàn toàn.

06 Bài học & khuyến nghị

07 Cập nhật 03/09/2026 — Tài khoản Microsoft bị chiếm

Đã khôi phục & máy sạch 100% (KVRT + Defender Offline)

7.1 Diễn biến

Ngày 02/09 phát hiện tài khoản Microsoft bị chiếm quyền: hacker đổi email khôi phục (security info) để giữ quyền. Mật khẩu đã đổi từ 31/08 → chứng tỏ attack không cần mật khẩu, chỉ cần session cookie/token — đúng cơ chế stealer.

7.2 Vector xâm nhập mới

7.3 Kỹ thuật bổ sung (MITRE)

IDKỹ thuật
T1555.004Credentials from Password Stores (nhắm DPAPI Master Key)
T1539Steal Web Session Cookie (cookie Edge giải mã bằng DPAPI key)
T1546.011Event Triggered Execution — Application Shimming (shim DB tự hồi sinh)

Giữ nguyên các kỹ thuật cũ: T1218.004 (MSBuild fileless), T1053.005 (Scheduled Task), T1027 (mã hoá), T1041 (exfil C2).

7.4a Persistence SHIM (phát hiện 03/09, mảnh ghép cuối)

Malware cài shim database giả mạo qua sdbinst.exe để tự chèn mã độc vào tiến trình hệ thống mỗi lần khởi động — đây là cơ chế "tự sống lại" sau khi xoá payload:

7.4 IOC mới (đã diệt sạch)

FileMD5
...\INetCache\CastleCore\CastleCore.Internal.targetsD1227379D8380C97B56C28029126F491
...\CastleCore\indexer_08d1.cmd3F79BA177F2AA328D94ACCF2C9876DE5
...\MicrosoftDataEdm\MicrosoftDataEdm.Compile.targets6D5B46A6F30F5726ACE891687FB3A612
...\Temp\xu1nhwKWph6TnLKS\xu1nhwk8xf0hEt2b.msi5B1D9406327E9C573F43A9BF298E406E
...\Roaming\discord\Cache\Cache_Data\f_003568466D66D922A011963AA5584FC05E6A59

Thư mục giả mạo: MicrosoftDataEdm, CastleCore (đặt trong INetCache, WebCache, Microsoft\Protect).

Tên AV: Windows Defender Trojan:Script/Multiverze!rfn · Kaspersky KVRT HEUR:Trojan.Multi.Agent.gen / HEUR:Trojan.Script.Generic.

7.5 Khắc phục (đã hoàn tất)

  1. Gỡ extension Urban VPN Proxy.
  2. Defender + KVRT diệt sạch dropper .msi, payload .cmd/.targets (Test-Path = False hết).
  3. Kaspersky Virus Removal Tool (KVRT) + Defender Offline Scan → sạch, không rootkit.
  4. Khôi phục account Microsoft: xoá email khôi phục lạ, khôi phục security info.
  5. Sign out everywhere + đổi mật khẩu (lần cuối, trên máy đã sạch).
  6. Bật 2FA (bắt xác minh mỗi lần đăng nhập).

7.6 Bài học bổ sung

08 Kiểm kê forensic — quét gì, ở đâu, vì sao

Đây là nhật ký kiểm tra toàn bộ bề mặt tấn công của máy. Mỗi hạng mục đều trả lời 3 câu: quét cái gì (what), ở đâu (where), và vì sao phải quét chỗ đó (why). Mục đích: chứng minh máy sạch toàn diện, không chỉ sạch phần "nhìn thấy được".

Nguyên tắc: Malware hiện đại không ẩn ở 1 chỗ. Một con stealer/persistence thường rải dấu vết ở nhiều tầng — process, service, task, registry, shim, network. Vì vậy phải quét đủ các tầng thì mới kết luận được, bỏ 1 tầng là bỏ lọt 1 cửa hậu.

Tổng quan các khu vực đã quét

#Khu vựcVị trí / nguồn dữ liệuKết quả
1Process đang chạyDanh sách tiến trình + chữ ký số✅ Sạch
2ServicesToàn bộ service + đường dẫn + start mode✅ Sạch
3Scheduled TasksToàn bộ task + action thực thi✅ Sạch
4Autorun (Run keys)HKLM + HKCU + Wow6432Node + Policies✅ Sạch
5WMI AutostartEventConsumer + Binding + FilterToConsumer✅ Sạch
6Shim DatabaseAppPatch + AppCompatFlags + InstalledSDB✅ Đã gỡ
7IFEO + LayersHKLM\...\Image File Execution Options✅ Sạch
8NetworkKết nối đang mở + remote endpoint✅ Sạch
9Hosts / DNSC:\Windows\System32\drivers\etc\hosts✅ Sạch
10Temp / AppData (24h)File mới tạo trong Temp + AppData✅ Sạch
11Edge extensionsDanh sách extension đã cài✅ Sạch (gỡ Urban VPN)
12Miner (đào coin)CPU/GPU + mining pool port✅ Không có

Chi tiết từng khu vực

1 · Process đang chạy

Quét gì: mọi tiến trình đang chạy + chữ ký số (Valid/Unknown/NotSigned) + đường dẫn file thực thi.
Ở đâu: toàn bộ process list (Get-Process + Win32_Process).
Vì sao: stealer/miner phải chạy mới ăn cắp được. Process không chữ ký hoặc chạy từ thư mục lạ (Temp/AppData) là dấu hiệu số 1.
Kết quả: toàn bộ Valid đúng hãng (Microsoft, ASUS, Gigabyte, NVIDIA, Discord, VMware, Samsung...). Các mục NotSigned chỉ là app Microsoft Store (MSIX ký kiểu khác) + Maono (test cert, đồ chính chủ). Không process lạ.

2 · Services

Quét gì: toàn bộ service + đường dẫn binary + start mode (Auto/Manual/Disabled).
Ở đâu: danh sách service (registry HKLM\SYSTEM\CurrentControlSet\Services).
Vì sao: malware hay cài service ẩn tự khởi động để persistence, đặc biệt service trỏ tới file lạ hoặc file không có chữ ký.
Kết quả: toàn đồ chính chủ (Defender, NVIDIA, VMware, Docker, WSL, Radmin/SoftEther VPN, Maono, nProtect GameGuard...). 2 service "không path" đều vô hại: com.docker.service (Docker) và npggsvc (GameGuard). Không service lạ.

3 · Scheduled Tasks

Quét gì: toàn bộ scheduled task + action thực thi (chạy file gì, kèm đối số gì).
Ở đâu: Task Scheduler (C:\Windows\System32\Tasks).
Vì sao: đây từng là vector persistence của đợt 1 (\ShellExperience). Phải chắc không còn task nào trỏ vào file lạ.
Kết quả: toàn Microsoft + hãng (ASUS, NVIDIA, Samsung, Zoom, Ubisoft, Office). Có task SdbinstMergeDbTask (chạy sdbinst.exe -mm) — hợp pháp của Windows (tự merge shim DB định kỳ), không phải malware. Sạch.

4 · Autorun (Run keys)

Quét gì: mọi entry tự chạy lúc đăng nhập.
Ở đâu: HKLM\Software\Microsoft\Windows\CurrentVersion\Run + RunOnce + HKCU + nhánh Wow6432Node + Policies\Explorer\Run.
Vì sao: Run key là chỗ persistence cổ điển nhất, malware hay đặt file tự chạy ở đây.
Kết quả: chỉ toàn đồ anh cài (UniKey, Radmin, Discord, Realtek, Java updater...). Không entry lạ.

5 · WMI Autostart

Quét gì: WMI event subscription tự kích hoạt code.
Ở đâu: __EventConsumer + __EventFilter + __FilterToConsumerBinding (kỹ thuật T1546.003).
Vì sao: persistence qua WMI rất khó bị AV bắt vì không để lại file — phải quét riêng bằng WMI query.
Kết quả: trống — không có subscription lạ. ✅

6 · Shim Database (T1546.011) — mảnh ghép cuối

Quét gì: shim database cài qua sdbinst.exe.
Ở đâu: C:\Windows\AppPatch\ + HKLM\...\InstalledSDB + AppCompatFlags\{GUID}.sdb + danh sách installed programs.
Vì sao: đây là nguyên nhân tái nhiễm — shim giả chèn stealer vào tiến trình hệ thống mỗi lần boot, nằm ngoài Scheduled Task/Startup nên các lượt quét trước bỏ lọt.
Kết quả: phát hiện shim giả GUID {22221111-1111-1111-1111-111111111111} trong thư mục giả CustomSDB. Đã gỡ hoàn toàn (xem mục 7.4a): Test-Path = False, InstalledSDB rỗng, registry flag đã xoá. ✅

7 · IFEO + AppCompatFlags\Layers

Quét gì: Image File Execution Options (IFEO) — chỗ hacker hay cài "Debugger" để chiếm process — và AppCompatFlags\Layers.
Ở đâu: HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options.
Vì sao: IFEO hijack là kỹ thuật chiếm quyền process hợp pháp (khi chạy process X thì nạp file Y).
Kết quả: IFEO không có giá trị Debugger nào. Layers chỉ có bf6.exe ~ RUNASADMIN (anh tự set game Battlefield 6 chạy quyền admin) + drvpatch.sdb = 0x0 (Microsoft chính chủ). ✅

8 · Network connections

Quét gì: mọi kết nối mạng đang mở + địa chỉ IP/domain từ xa.
Ở đâu: Get-NetTCPConnection (established).
Vì sao: stealer phải gửi dữ liệu về C2; miner phải nối mining pool. Kết nối tới IP/domain lạ là bằng chứng còn hoạt động.
Kết quả: chỉ endpoint chính chủ (Meta, GitHub Pages 185.199.x, Cloudflare, Fastly, Akamai, Microsoft/Azure, Steam 27020). Không kết nối C2 lạ.

9 · Hosts / DNS

Quét gì: file hosts có bị sửa để redirect domain không.
Ở đâu: C:\Windows\System32\drivers\etc\hosts.
Vì sao: malware hay sửa hosts để chặn AV hoặc redirect ngân hàng/tài khoản về site giả.
Kết quả: hosts nguyên bản, không bị sửa. ✅

10 · Temp / AppData (file mới 24h)

Quét gì: file mới tạo gần đây trong thư mục tạm.
Ở đâu: %TEMP% + %AppData% + %LocalAppData%.
Vì sao: dropper/stealer hay thả file tạm rồi tự xoá — file mới trong Temp là dấu vết.
Kết quả: chỉ còn file của KVRT (bản thân công cụ diệt virus, 2.7MB) — không còn dropper .msi hay .cmd nào. ✅

11 · Edge extensions

Quét gì: toàn bộ extension trình duyệt đã cài.
Ở đâu: Edge → edge://extensions.
Vì sao: extension độc là vector xâm nhập ban đầu — nó đọc được mọi cookie/trang web anh mở.
Kết quả: đã gỡ Urban VPN Proxy (nimlmejbmnecnaghgmbahmbaddhjbecg). Còn 7 extension chính chủ (uBlock Origin, Google Docs Offline, J2TEAM Security, Malwarebytes Browser Guard, Steam Inventory Helper, CS2 Case, Edge built-in). ✅

12 · Miner (đào coin)

Quét gì: process tên miner + process ngốn CPU/GPU + kết nối mining pool.
Ở đâu: top CPU, Get-CimInstance (GPU), port stratum (3333/4444/5555/14444...).
Vì sao: lo ngại máy bị lén cài crypto miner (XMRig...).
Kết quả: không có process miner, không kết nối pool, top CPU toàn đồ quen (Defender MsMpEng, Discord, Edge, Steam, HWINFO). Con malware này là stealer, không phải miner. ✅

Kết luận kiểm kê: 12/12 khu vực đều sạch. Máy đã được kiểm tra đủ các tầng (process → service → task → autorun → WMI → shim → IFEO → network → hosts → temp → extension → miner) — không còn bề mặt nào bị bỏ sót.

09 Phụ lục — command điều tra chi tiết & vì sao

Đây là nhật ký lệnh thực tế đã dùng để lần ra payload fileless CastleCore và shim database giả. Mỗi lệnh ghi rõ nó làm gì và vì sao chọn nó — để thấy malware ẩn thế nào thì phải soi đúng cách như vậy.

A · Vì sao payload fileless "tàng hình"

Malware không đặt file ở Desktop/Documents dễ thấy, mà nhét vào thư mục cache ẩn của Windows (INetCache, WebCache) và thư mục Microsoft\Protect (nơi chứa DPAPI key). Mấy thư mục này:

→ Vì vậy bắt buộc phải dùng cờ -Force + lọc theo tên/hash, không thể mở Explorer bấm tay.

B · Lệnh lần ra CastleCore

1. Liệt kê file ẩn trong thư mục cache (bắt buộc -Force)

Get-ChildItem -Path "$env:LOCALAPPDATA\Microsoft\Windows\INetCache","$env:LOCALAPPDATA\Microsoft\Windows\WebCache" -Recurse -Force -ErrorAction SilentlyContinue | Where-Object { $_.Name -match 'CastleCore|MicrosoftDataEdm|indexer|\.targets$|\.cmd$' }

Diễn giải: -Force là mấu chốt — nó bắt Windows liệt kê cả file ẩn + hệ thống. Thiếu cờ này thì toàn bộ payload nằm trong thư mục ẩn bị bỏ qua, mắt thường thấy "sạch" nhưng malware vẫn nằm đó. -Recurse quét đệ quy mọi tầng con, Where-Object lọc theo tên decoy (CastleCore, MicrosoftDataEdm) và đuôi file nguy hiểm (.targets, .cmd).

Phát hiện: CastleCore.Internal.targets, indexer_08d1.cmd, MicrosoftDataEdm.Compile.targets.

2. Tìm payload trong DPAPI (Microsoft\Protect)

Get-ChildItem "$env:APPDATA\Roaming\Microsoft\Protect" -Force -Recurse | Where-Object { $_.Name -match 'targets|\.cmd|\.msi|CastleCore|MicrosoftDataEdm' }

Diễn giải: Microsoft\Protect là nơi Windows cất DPAPI Master Key — chìa khoá giải mã cookie trình duyệt. Stealer nhắm đúng chỗ này để đọc DPAPI key + lấy cookie Edge. Thư mục này cũng bị ẩn nên vẫn phải -Force.

Phát hiện: file MicrosoftDataEdm.Compile.targets bị nhét ngay trong thư mục chứa master key → bằng chứng ý đồ "ăn cắp DPAPI + cookie".

3. Quét toàn ổ đĩa theo tên decoy (khi chưa biết vị trí chính xác)

Get-ChildItem -Path C:\ -Recurse -Force -Include *.targets,*.cmd,*.msi,*.sdb -ErrorAction SilentlyContinue | Where-Object { $_.FullName -match 'CastleCore|MicrosoftDataEdm|CustomSDB' }

Diễn giải: khi chưa rõ malware trốn đâu, quét toàn ổ C theo đuôi file nguy hiểm (-Include) rồi lọc theo tên decoy. -Force vẫn cần để không lọt file ẩn. Đây là lệnh "rải lưới" khi chưa có vị trí cụ thể.

4. Xác minh file bằng hash (phân biệt file độc với file lành)

Get-FileHash "C:\Users\zomio\AppData\Local\Microsoft\Windows\INetCache\CastleCore\CastleCore.Internal.targets" -Algorithm MD5

Diễn giải: hash cho phép đối chiếu với IOC (danh sách hash đã biết của malware). File lành sẽ có hash khác; file khớp hash độc thì chắc chắn là payload. Đây là cách phân biệt "file lạ" với "file Windows thật" chính xác, không đoán mò.

Kết quả: MD5 D1227379D8380C97B56C28029126F491 — khớp IOC, xác nhận độc.

C · Lệnh lần ra shim database giả (T1546.011)

1. Đọc danh sách shim đã cài (InstalledSDB)

reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\InstalledSDB"

Diễn giải: mỗi shim DB cài bằng sdbinst.exe đều ghi 1 entry vào key InstalledSDB. Đây là sổ đăng ký chính thức của Windows cho shim — soi đây là biết máy đang chạy shim nào.

Phát hiện: entry shim lạ GUID {22221111-1111-1111-1111-111111111111} → tên giả "Compatibility Fix Database" nhưng Publisher/InstallDate trống.

2. Đọc flag ở nhánh AppCompatFlags gốc

reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags"

Diễn giải: ngoài key con InstalledSDB, shim còn để lại flag nhị phân (kiểu {GUID}.sdb = 0x7) ngay trong nhánh gốc AppCompatFlags. Đây là nơi hiếm ai quét — nên shim có thể tồn tại dù đã gỡ ở nơi khác.

Phát hiện: value {22221111-...}.sdb = 0x7 — cờ còn sót, chứng tỏ shim đã từng được kích hoạt. (Cạnh đó drvpatch.sdb = 0x0 là đồ Microsoft chính chủ, giữ nguyên.)

3. Soi thư mục AppPatch xem thư mục giả

Get-ChildItem C:\Windows\AppPatch -Directory

Diễn giải: shim thật của Windows nằm ở AppPatch\Custom và AppPatch\Custom64. Nếu thấy thư mục lạ như CustomSDB (sai tên chuẩn) thì đó là nơi malware đặt shim giả.

Phát hiện: thư mục CustomSDB (KHÔNG phải Custom/Custom64) chứa file {22221111-...}.sdb.

4. Kiểm tra "installed programs" cho shim giả

Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*" | Where-Object { $_.DisplayName -match 'Compatibility Fix' }

Diễn giải: sdbinst cài shim như một "chương trình" nên có thể xuất hiện trong danh sách Uninstall. Mục giả sẽ có DisplayName nghe hợp lệ nhưng Publisher/InstallDate trống.

Phát hiện: entry "Microsoft Windows Application Compatibility Fix Database" với Publisher trống → dấu hiệu shim lậu.

5. Gỡ shim giả (remediation)

sdbinst.exe -u "C:\Windows\AppPatch\CustomSDB\{22221111-1111-1111-1111-111111111111}.sdb"
Remove-Item -Recurse -Force "C:\Windows\AppPatch\CustomSDB"
Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags" -Name "{22221111-1111-1111-1111-111111111111}.sdb"

Diễn giải: sdbinst -u là lệnh gỡ (uninstall) shim chính thức — dùng đúng công cụ của Windows để tháo, không tự tay xoá file (tránh để lại registry rác). Sau đó mới xoá thư mục giả và xoá flag còn sót.

Xác minh sau gỡ: Test-Path CustomSDB = False, reg query InstalledSDB rỗng, reg query AppCompatFlags không còn flag 22221111. ✅

Ý chính: payload fileless ẩn trong thư mục cache (cần -Force) và shim ẩn trong registry AppCompatFlags — hai nơi mà quét "thường" không đụng tới. Chính vì vậy mới phải dùng đúng lệnh, đúng cờ để lần ra.

10 Nguồn

Reported by: MinhCC · Phân tích bởi Lacrimosa (AI assistant) 🍅

Ngày sự cố: 2026-08-28 · Cập nhật: 2026-09-03