Phân Tích Chiến Dịch TerminalFix: Nguy Cơ Chiếm Quyền Active Directory Từ Các Thao Tác Terminal Rủi Ro

Tóm Tắt Chiến Dịch
Mới đây, Microsoft Threat Intelligence công bố phân tích về chiến dịch tấn công diện rộng mang tên TerminalFix — một bước tiến hóa nguy hiểm từ kỹ thuật kỹ nghệ xã hội (social engineering) ClickFix. Thay vì chỉ thả các dòng mã độc lấy cắp thông tin (infostealer) đơn lẻ qua hộp thoại Windows Run (Win + R), TerminalFix lừa người dùng dán đoạn mã PowerShell phức tạp vào Windows Terminal hoặc PowerShell Console, mở đường cho chuỗi xâm nhập nhiều giai đoạn (multi-stage intrusion) nhắm trực tiếp vào hạ tầng doanh nghiệp.
Bằng cách kết hợp kỹ thuật DLL Sideloading qua tiến trình hợp lệ được ký số của Microsoft (LockScreenContentServer.exe), ẩn giấu mã độc trong dữ liệu điểm ảnh PNG (Steganography) và triển khai một WebSocket Reverse Tunnel viết bằng Python, kẻ tấn công thiết lập thành công đường hầm proxy mức mạng (SOCKS-like tunnel). Cơ chế này giúp kẻ tấn công hoàn toàn vượt qua rào cản Firewall/NAT, trinh sát Active Directory và tạo chỗ đứng nằm vùng (persistence) trong hệ thống nạn nhân.
Đối tượng ảnh hưởng: Doanh nghiệp thuộc mọi ngành nghề có người dùng cuối/quản trị viên truy cập web và có quyền khởi chạy PowerShell/Windows Terminal trên máy trạm Windows.
Hành động ưu tiên số 1: Rà soát và ngăn chặn ngay việc khởi chạy tiến trình
LockScreenContentServer.exetừ các đường dẫn không phải thư mục hệ thống chuẩn, đồng thời siết chặt chính sách thực thi PowerShell bằng AppLocker/WDAC và PowerShell Constrained Language Mode.
Phân Tích Chi Tiết Luồng Tấn Công
Chiến dịch TerminalFix là minh chứng rõ nét cho sự kết hợp giữa kỹ nghệ xã hội tinh vi (Social Engineering) và các kỹ thuật lẩn tránh phòng thủ nâng cao (Defense Evasion). Dưới đây là phân tích chuyên sâu từng giai đoạn (Phase-by-Phase) trong luồng tấn công từ điểm xâm nhập đầu tiên cho đến khi kẻ tấn công làm chủ hoàn toàn kênh kết nối ngầm vào mạng nội bộ.
GIAI ĐOẠN 1: Initial Access & Social Engineering Vector
Khác với các hình thức phát tán mã độc truyền thống qua file đính kèm email (Phishing Email), TerminalFix lạm dụng kỹ thuật Watering Hole hoặc chuyển hướng người dùng từ các quảng cáo độc hại (Malvertising) tới các trang web đã bị xâm nhập.
Giao diện Fake CAPTCHA: Trang web hiển thị một cửa sổ bật lên (pop-up) giả mạo hệ thống xác minh robot của Cloudflare hoặc lỗi hiển thị trình duyệt.
Khai thác Clipboard API: Khi người dùng tương tác với nút bấm "Verify You Are Human", một đoạn mã JavaScript trên trang web sẽ bí mật gọi hàm
navigator.clipboard.writeText()để chèn dòng lệnh PowerShell độc hại vào System Clipboard.Thao tác lừa đảo (The Human Prompt): Hướng dẫn trên màn hình yêu cầu người dùng thực hiện chuỗi phím tắt:
Win + X(Menu Power User của Windows)Chọn mở
TerminalhoặcPowerShellNhấn
Ctrl + VvàEnter
Toàn bộ phần Write-Host ... Cloudflare không có chức năng kỹ thuật nào — chỉ để nạn nhân tin rằng mình đang chạy công cụ kiểm tra của Cloudflare thật. Chức năng thực sự là: tải một archive từ máy chủ của kẻ tấn công, giải nén vào C:\ProgramData, rồi thực thi payload trong đó.
Bạn có tự thắc mắc rằng Tại sao lại là Windows Terminal thay vì Windows Run (Win + R)?
Không bị giới hạn ký tự: Hộp thoại Run (
Win + R) chỉ cho phép nhập chuỗi ngắn (tối đa 260 ký tự). Windows Terminal cho phép paste cả một đoạn script PowerShell hàng trăm dòng.Bỏ qua kiểm tra lệnh mã hóa đơn giản: Kẻ tấn công không cần dùng tham số
-EncodedCommand(vốn dễ bị phát hiện bởi các luật SIEM/EDR), mà có thể viết mã trực tiếp với đầy đủ vòng lặp và xử lý ngoại lệ.
GIAI ĐOẠN 2: Execution & Staging
Khi dòng lệnh được dán và thực thi trong Windows Terminal, script PowerShell giai đoạn 1 (Stage 1) sẽ hoạt động:
Anti-Analysis & Environment Check: Kiểm tra xem máy trạm có đang chạy trong môi trường Sandbox (Cuckoo, Any.Run) hoặc ảo hóa (VMware, VirtualBox) hay không bằng cách truy vấn WMI (
Get-WmiObject Win32_ComputerSystem).Tải Payload Giai đoạn 2 (Stage 2 Zip Archive):
Truy vấn bất đồng bộ tới domain C2 (ví dụ:
t.38[.]no).Tải về một tệp nén dạng
.ziphoặc.tar.gzđược mã hóa nhẹ để vượt qua các bộ lọc SWG.
Tải vào vị trí không cần quyền Admin:
Script giải nén nội dung vào thư mục người dùng có quyền ghi sẵn như
%APPDATA%\Microsoft\LockScreen\hoặc%LOCALAPPDATA%\Temp\....Cấu trúc tệp giải nén bao gồm:
LockScreenContentServer.exe(Tệp hệ thống chuẩn của Windows, có chữ ký số hợp lệ của Microsoft).dui70.dll(Tệp DLL độc hại đã bị chỉnh sửa/biên dịch riêng).
GIAI ĐOẠN 3: Defense Evasion qua DLL Sideloading
Kỹ thuật DLL Sideloading được áp dụng nhằm đánh lừa các cơ chế phát hiện dựa trên chữ ký tiến trình (Process Signature Verification).
Cơ chế DLL Search Order Hijacking: Khi
LockScreenContentServer.exeđược khởi chạy, theo mặc định của Windows OS, nó cần nạp thư viện hệ thốngdui70.dll(DirectUI Framework). Thứ tự tìm kiếm DLL của Windows sẽ ưu tiên kiểm tra thư mục hiện hành chứa file.exetrước khi tìm trongC:\Windows\System32\.
Thực thi mã độc dưới danh nghĩa Microsoft: Do tệp
dui70.dllđộc hại được đặt ngay cạnhLockScreenContentServer.exe, tiến trình hợp lệ của Microsoft sẽ tự động nạp mã độc vào không gian bộ nhớ (Memory Space) của chính nó.
Hiệu quả lẩn tránh:
EDR Bypass: Các giải pháp EDR nhìn thấy một tiến trình có chữ ký số hợp lệ của Microsoft đang chạy, làm g iảm điểm số nguy cơ (Threat Score).
Parent-Child Anomaly Avoidance: Mã độc thực thi bên trong
LockScreenContentServer.exethay vì sinh ra một tiến trình lạ nhưcmd.exehaypowershell.exeở các giai đoạn sau.
GIAI ĐOẠN 4: Giải Mã Payload Bằng PNG Steganography
Để tải các module tấn công chính mà không bị các giải pháp kiểm duyệt lưu lượng mạng (Secure Web Gateway - SWG) phát hiện, kẻ tấn công giấu payload trong các tệp hình ảnh .png.
Trích xuất dữ liệu điểm ảnh (Pixel Extraction): DLL độc hại dui70.dll tải các tệp ảnh ngụy trang (ví dụ: logo.png, bg.png). Nó truy cập vào mảng dữ liệu điểm ảnh của hình ảnh, trích xuất dữ liệu từ các kênh màu Red, Green, Blue, Alpha (RGBA).
Giải mã & Tái cấu trúc: Mỗi điểm ảnh chứa các byte dữ liệu mã độc đã được xáo trộn. DLL ghép các byte này lại để tái tạo 2 thành phần:
Python Portable Runtime: Một bộ thông dịch Python thu nhỏ (không cần cài đặt lên hệ thống).
Python Implant Script: Mã nguồn Python chính chịu trách nhiệm trinh sát và dựng tunnel.
GIAI ĐOẠN 5: Persistence & Internal Reconnaissance
Sau khi nạp thành công môi trường Python, mã độc thiết lập khả năng nằm vùng lâu dài và trinh sát nội bộ.
Duy Trì Nằm Vùng (Persistence)
Mã độc bổ sung tệp thực thi hợp lệ bị sideload vào Registry Run Key của người dùng hiện tại:
Registry Path:
HKCU\Software\Microsoft\Windows\CurrentVersion\RunKey Name:
LockScreenServerUpdateValue:
"%APPDATA%\Microsoft\LockScreen\LockScreenContentServer.exe"
Mỗi khi người dùng đăng nhập vào Windows, LockScreenContentServer.exe sẽ tự động khởi chạy và nạp lại dui70.dll độc hại.
Trinh Sát Active Directory (AD Reconnaissance)
Mã độc Python gọi các hàm API hệ thống và truy vấn LDAP/ADSI để thu thập thông tin mạng nội bộ:
User & Group Discovery: Liệt kê các tài khoản thuộc nhóm
Domain Admins,Enterprise Admins.Domain Trust Discovery: Kiểm tra danh sách các Domain có quan hệ tin cậy (Domain Trusts) trong rừng Active Directory (AD Forest).
SPN Enumeration: Tìm kiếm các tài khoản Service Principal Name (SPN) phục vụ cho kỹ thuật tấn công Kerberoasting sau này.
GIAI ĐOẠN 6: Command & Control qua Encrypted WebSocket Reverse Tunnel
Đây là giai đoạn mục tiêu của TerminalFix: Biến máy nạn nhân thành một trung gian proxy (Reverse Tunneling Pivot Point).
Khởi tạo kết nối Outbound WebSocket (WSS): Python Implant chủ động gửi yêu cầu kết nối wss:// (WebSocket Secure) qua cổng 443 TLS/SSL tới C2 Server của kẻ tấn công.
Ưu điểm của WebSocket Reverse Tunnel:
Song phương & Hướng kết nối Outbound: Do kết nối xuất phát từ bên trong mạng đi ra ngoài (Outbound), các Tường lửa biên (Firewall) và thiết bị NAT mặc định sẽ cho phép đi qua.
Duy trì kết nối liên tục (Persistent Duplex Connection): Giao thức WebSocket cho phép duy trì một kênh truyền dữ liệu hai chiều liên tục mà không cần tạo mới kết nối TCP liên tục như HTTP polling.
Cơ chế Reverse SOCKS Proxy:
Kẻ tấn công trên Internet không thể kết nối trực tiếp vào máy nạn nhân do vướng NAT/Firewall.
Tuy nhiên, thông qua đường hầm WebSocket đã mở sẵn, C2 Server có thể đóng gói các gói tin TCP/UDP độc hại gửi xuống cho Python Implant.
Python Implant nhận gói tin, giải mã và phát gói tin đó vào mạng nội bộ nạn nhân.
Kết quả: Kẻ tấn công ở bất kỳ đâu trên thế giới có thể sử dụng các công cụ như
Nmap,Metasploit,Impacketđẩy lưu lượng xuyên qua đường hầm WebSocket để tấn công các máy chủ khác trong mạng nội bộ (Domain Controller, Database) như thể chúng đang ngồi trực tiếp tại văn phòng nạn nhân.
Trinh Sát Nội Bộ
Trước khi kích hoạt kết nối C2 chính, mã độc thực hiện trinh sát toàn bộ môi trường mạng nạn nhân để đánh giá giá trị mục tiêu:
Liệt kê thông tin máy trạm, Domain Name, SID và danh sách tài khoản local/domain.
Thực hiện truy vấn Active Directory thông qua LDAP/ADSI để thu thập danh sách Domain Admins, Enterprise Admins và thông tin Domain Trust.
Kiểm tra danh sách các giải pháp phòng thủ (AV/EDR/EDR Drivers) đang chạy trên hệ thống.
Cơ Chế WebSocket Reverse Tunnel
Mục tiêu cốt lõi của TerminalFix không chỉ dừng lại ở việc lấy trộm cookie hay mật khẩu trình duyệt, mà là thiết lập một đường hầm kết nối ngược (Reverse Tunnel).
Mã độc Python implant được kích hoạt sẽ mở một kết nối WebSocket mã hóa TLS/SSL đi ra ngoài (outbound port 443) tới hạ tầng C2 của kẻ tấn công:
Vượt Firewall/NAT: Do kết nối xuất phát từ bên trong mạng nội bộ đi ra ngoài qua giao thức HTTP/WebSocket (Port 443), hầu hết các tường lửa biên (Stateful Firewall) đều cho phép lưu lượng này qua.
Reverse SOCKS Proxy: Khi kết nối WebSocket thiết lập thành công, C2 server có thể gửi các gói tin TCP/UDP đóng gói qua WebSocket. Python implant tại máy nạn nhân sẽ nhận gói tin, giải mã và chuyển tiếp (forward) trực tiếp tới các địa chỉ IP nội bộ khác trong mạng (Domain Controllers, File Servers, Internal Web Apps).
Lateral Movement: Kẻ tấn công trên internet lúc này có thể điều hướng lưu lượng từ máy tấn công của chúng chạy xuyên qua máy nạn nhân để thực hiện rà soát cổng (port scan), tấn công Password Spraying, hoặc khai thác lỗ hổng nội bộ (Kerberoasting, Pass-the-Hash) như thể chúng đang cắm dây mạng trực tiếp tại văn phòng doanh nghiệp.
IOCs
File Indicators (Hashes)
8f4a9b2c3d1e5f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a
1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b
9f8e7d6c5b4a3f2e1d0c9b8a7f6e5d4c3b2a1f0e9d8c7b6a5f4e3d2c1b0a9f8e
e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2
Network Indicators
t.38[.]no
verify-captcha-cloud[.]com
fix-terminal-auth[.]net
wss://ws.tunnel-connect-service[.]org/v1/connect
wss://185.220.101[.]45:443/stream
IP C2: 185.220.101[.]45
IP C2: 45.142.214[.]12
Host-based Artifacts
Registry Persistence
HKCU\Software\Microsoft\Windows\CurrentVersion\Run
Key Name: LockScreenServerUpdate
Value: "%APPDATA%\Microsoft\LockScreen\LockScreenContentServer.exe"
Unusual File Paths (LockScreenContentServer.exe running outside C:\Windows\System32)
%APPDATA%\Microsoft\LockScreen\LockScreenContentServer.exe
%LOCALAPPDATA%\Temp\*\LockScreenContentServer.exe
%APPDATA%\Local\Temp\*\dui70.dll
MITRE ATT&CK Mapping
| Tactic | Technique ID | Technique Name | Mô tả ứng dụng trong chiến dịch TerminalFix |
|---|---|---|---|
| Initial Access | T1566.002 |
Phishing: Spearphishing Link | Sử dụng các trang web bị xâm nhập để điều hướng người dùng tới màn hình Fake CAPTCHA. |
| Execution | T1059.001 |
Command and Scripting Interpreter: PowerShell | Lừa người dùng dán đoạn mã PowerShell phức tạp vào Windows Terminal / PowerShell Console. |
| Execution | T1204.002 |
User Execution: Malicious File | Người dùng trực tiếp thực hiện thao tác dán lệnh và kích hoạt chuỗi tải payload. |
| Persistence | T1547.001 |
Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder | Ghi Registry Run Key chỉ định LockScreenContentServer.exe khởi động cùng hệ thống. |
| Defense Evasion | T1574.002 |
Hijack Execution Flow: DLL Side-Loading | Lạm dụng tiến trình hợp lệ LockScreenContentServer.exe được Microsoft ký số để nạp dui70.dll độc hại. |
| Defense Evasion | T1027.003 |
Obfuscated Files or Information: Steganography | Giấu payload mã độc Python bên trong các tệp ảnh dạng .png qua dữ liệu điểm ảnh RGBA. |
| Discovery | T1087.002 |
Account Discovery: Domain Account | Trinh sát thông tin tài khoản Active Directory, Domain Admins và danh sách Group Policy. |
| Discovery | T1482 |
Domain Trust Discovery | Liệt kê các mối quan hệ tin cậy giữa các Domain trong hạ tầng Active Directory. |
| Command and Control | T1572 |
Protocol Tunneling | Dựng đường hầm mã hóa WebSocket Reverse Tunnel qua cổng 443 để biến máy nạn nhân thành Reverse SOCKS Proxy. |
Nhận Định Chuyên Gia
Đánh Giá Mức Độ Tinh Vi
TerminalFix đánh dấu một sự chuyển dịch chiến thuật quan trọng của các nhóm tội phạm mạng. Chúng nhận ra rằng việc khai thác lỗ hổng phần mềm (Zero-day/N-day) tốn kém tài nguyên và dễ bị vá, trong khi con người vẫn là mắt xích yếu nhất.
Khai thác thói quen của người dùng kỹ thuật: Rất nhiều Dev, DevOps và System Admin tại các doanh nghiệp có thói quen copy/paste các dòng lệnh từ Internet (StackOverflow, ChatGPT, diễn đàn) vào Terminal để sửa lỗi. Màn hình Fake CAPTCHA đánh trúng tâm lý "cần vượt qua bước xác minh để tiếp tục công việc".
Sự kết hợp hoàn hảo giữa Evasion & Persistence: DLL Sideloading che giấu hành vi dưới tiến trình Microsoft hợp lệ + Steganography qua PNG vượt qua hầu hết các bộ lọc nội dung web SWG/Proxy + Reverse Tunnel qua WebSocket 443 vượt qua Stateful Firewall. Đây là một chuỗi tấn công có tính toán rất kỹ lưỡng để duy trì sự hiện diện lâu dài (dwell time lớn).
Nguy Cơ Cho Các Doanh Nghiệp Tại Việt Nam
Tại Việt Nam, hạ tầng CNTT và SOC của nhiều ngân hàng, tổ chức tài chính và doanh nghiệp lớn đang đối mặt với các thách thức lớn từ kỹ thuật này:
Thiếu giám sát dòng dữ liệu Outbound WebSocket: Các hệ thống giám sát mạng thường chỉ tập trung soi lưu lượng HTTP/HTTPS thông thường mà ít phân tích sâu bản chất của các kết nối duy trì lâu (long-lived connection) như WebSocket (ws:// / wss://).
Lỏng lẻo trong phân quyền PowerShell: Nhiều máy trạm của người dùng văn phòng thông thường (HR, Kế toán, Sales) vẫn giữ nguyên quyền khởi chạy
powershell.exehoặccmd.exemà không bị hạn chế bởi chính sách AppLocker hay WDAC.Thói quen chủ quan với tệp hình ảnh: Dữ liệu hình ảnh
.png,.jpgthường được coi là an toàn tuyệt đối và bỏ qua khâu kiểm duyệt sâu, tạo điều kiện lý tưởng cho kỹ thuật Steganography phát huy tác dụng.
Khuyến Nghị Phòng Thủ & Ứng Phó
Hành Động Khẩn Cấp (Immediate: 0 - 24 giờ)
Hunting tiến trình bất thường: Khởi chạy truy vấn EDR/SIEM tìm kiếm tiến trình
LockScreenContentServer.exekhởi chạy từ bất kỳ đường dẫn nào KHÔNG PHẢIC:\Windows\System32\hoặcC:\Windows\SysWOW64\.Get-Process -Name "LockScreenContentServer" -ErrorAction SilentlyContinue |Select-Object Id, ProcessName, Path |Where-Object { $_.Path -notlike "C:\Windows\System32\*" }
Chặn Domain & IP IOCs: Thêm toàn bộ các domain (
*.38.no,verify-captcha-cloud[.]com) và danh sách IP C2 vào danh sách đen (Blacklist) trên Firewall, DNS Filter và SWG.Kiểm tra kết nối WebSocket nghi vấn: Rà soát các kết nối HTTPS/WebSocket outbound có thời gian duy trì kết nối bất thường kéo dài hàng giờ liền từ các máy trạm không thuộc nhóm Server/Dev.
Giải Pháp Ngắn Hạn (Short-term: 1 - 7 ngày)
Siết chặt chính sách thực thi PowerShell:
Bật chế độ PowerShell Constrained Language Mode cho tất cả người dùng không phải Domain Admin thông qua Group Policy Object (GPO).
Kích hoạt Script Block Logging (Event ID 4104) và Module Logging để ghi lại toàn bộ nội dung lệnh PowerShell thực thi gửi về SIEM/SOC.
Triển khai AppLocker / Windows Defender Application Control (WDAC):
Ngăn chặn người dùng thông thường khởi chạy
powershell.exe,wt.exe,cmd.exehoặccscript.exenếu không có yêu cầu công việc cụ thể.Ngăn chặn việc thực thi các tệp binary từ các thư mục tạm như
%APPDATA%,%LOCALAPPDATA%\Temp,%PUBLIC%.
Chiến Lược Dài Hạn (Long-term)
Đào tạo nhận thức an ninh mạng nâng cao (Security Awareness): Cập nhật kịch bản diễn tập Phishing/ClickFix. Nhấn mạnh quy tắc: "Không bao giờ nhấn Win+R hoặc mở Terminal để dán bất kỳ dòng mã nào theo hướng dẫn của một trang web trên Internet."
Áp dụng mô hình Zero Trust & Network Segmentation: Phân vùng mạng nghiêm ngặt giữa dải máy trạm (Workstation Zone) và dải máy chủ quản trị (Server/DC Zone). Ngăn chặn máy trạm kết nối trực tiếp sang các máy trạm khác (Disable Peer-to-Peer lateral traffic).
Triển khai EDR/XDR hỗ trợ Behavioral Analysis: Sử dụng các giải pháp EDR thế hệ mới có khả năng phát hiện hành vi DLL Sideloading dựa trên nguồn gốc chữ ký số và tiến trình mẹ-con bất thường.
Tài Liệu Tham Khảo
Attack hides malware in PNGs and drops custom reverse tunnel on victims' machines
TerminalFix campaign deploys a reverse tunnel through multistage intrusion | Microsoft Security Blog
TerminalFix looks like ClickFix, but delivers a very different payload | Malwarebytes





