[Series BankHeist_#5] Tấn công chuỗi cung ứng & Insider: khi mã độc đi vào qua thành phần bạn tin tưởng

Vành đai mạnh nhất cũng vô nghĩa nếu kẻ tấn công đi vào bên trong một bản cập nhật đã ký mà chính bạn yêu cầu. Đây là vector cuối series – và là vector bạn không thể tự khắc phục trọn vẹn, vì mắt xích yếu nằm trong code của người khác. 

 

Bối cảnh 

Cơ chế: tấn công qua nhà cung cấp/đối tác hoặc người nội bộ → truy cập hệ thống core banking. Tài liệu chuyên gia VSEC ghi nhận hiện chưa có case tấn công chuỗi cung ứng nhắm ngân hàng tại Việt Nam, nhưng các chiến dịch dưới đây cho thấy rõ cơ chế và mức độ liên quan tới VN. 

 

Phân tích chiến dịch Notepad++ (poisoned update channel) 

Kẻ tấn công không cài mã độc vào source code, mà lợi dụng hạ tầng phân phối bản cập nhật để phát tán “bản update bị chỉnh sửa” cho nạn nhân được chọn (cá nhân, tổ chức tài chính, cơ quan chính phủ liên quan VN, El Salvador, Australia, Philippines). 

Chuỗi #1 (7–8/2025): GUP.exe (updater hợp lệ) tải update.exe từ C2 → NSIS installer thu thập thông tin (whoami, tasklist) → thả ProShow.exe hợp lệ kèm file shellcode → khai thác lỗ hổng cũ trong ProShow → Metasploit downloader → Cobalt Strike Beacon (cdncheck.it[.]com). 

Chuỗi #2 (9/2025): Chuyển sang Lua interpreter, thả file Lua hợp lệ + script biên dịch alien.ini → đặt shellcode vào bộ nhớ qua API EnumWindowStationsW → Cobalt Strike. C2 xoay liên tục (safe-dns.it[.]com, self-dns.it[.]com). 

Chuỗi #3 (10/2025): Chuyển sang DLL sideloading – BluetoothService.exe (hợp lệ) + log.dll (độc) + shellcode mã hóa → payload cuối là backdoor tùy biến Chrysalis. 

 

Phân tích — CVE-2025-11953 (React Native CLI / Metro dev server) 

Lỗ hổng thực thi mã từ xa nghiêm trọng (“Metro4Shell”) trong gói npm @react-native-community/cli`: 

Khai thác RCE: POST tới /open-url với payload `cmd /c powershell -EncodedCommand <base64>` – không cần xác thực, làm được bằng curl. 

Vô hiệu hóa Defender: thêm Defender Exclusion cho thư mục hiện tại và %TEMP% bằng Add-MpPreference -ExclusionPath`. 

Tải payload qua TCP thô: kết nối C2 (8.218.43.248:60124), nhận binary, ghi .exe vào %TEMP%. 

Thực thi malware: binary UPX-packed viết bằng Rust, tích hợp anti-analysis. 

 

Cách tiếp cận của VSEC 

Với ngân hàng, đây là vector khó quản trị nhất vì điểm vào là một nhà cung cấp, một thư viện, hoặc người nội bộ đã được cấp niềm tin. Phòng thủ chuyển từ “ngăn kẻ tấn công ngoài cửa” sang giả định thành phần tin cậy có thể trở mặt: SBOM, toàn vẹn bản cập nhật, phân vùng mạng để một host bị nhiễm không chạm tới core banking, phát hiện hành vi living-off-the-land. Là tổ chức đầu tiên tại Việt Nam đạt CREST cho kiểm thử xâm nhập (penetration testing), VSEC kiểm thử bán kính ảnh hưởng của một thành phần bị chiếm. 

 

Nếu bạn đã lập bản đồ vành đai nhưng chưa lập bản đồ chuỗi cung ứng phần mềm, đó là bài đánh giá tiếp theo. → Talk to our Pentest team 

Nguồn tham khảo: 

– Cảnh báo chiến dịch supply chain nhắm kênh cập nhật Notepad++ (VSEC) 

– CVE-2025-11953 – React Native CLI / Metro dev server (Metro4Shell)