-
09/04/2020
-
128
-
1.640 bài viết
Microsoft cảnh báo repo Next.js giả mạo phát tán mã độc in-memory
Microsoft vừa cảnh báo về một chiến dịch tấn công có tổ chức nhắm trực tiếp vào cộng đồng lập trình viên. Thay vì phát tán mã độc theo cách truyền thống, kẻ tấn công dựng các repository giả mạo dự án Next.js dưới vỏ bọc “bài test tuyển dụng”. Khi ứng viên tải về và chạy thử, mã độc được kích hoạt âm thầm trong bộ nhớ.
Theo nhóm Microsoft Defender Security Research, chiến dịch này lợi dụng chính quy trình làm việc quen thuộc của developer. Chỉ một thao tác mở project, chạy môi trường phát triển hoặc khởi động backend cũng có thể trở thành điểm kích hoạt thực thi mã từ xa.
Các repository giả được đăng tải trên nền tảng uy tín như Bitbucket với những cái tên nghe giống dự án khởi nghiệp. Phân tích cho thấy có ba cách kích hoạt khác nhau nhưng cùng dẫn đến một kết quả là thực thi JavaScript do kẻ tấn công kiểm soát trực tiếp trong RAM.
Thứ nhất, thông qua cấu hình task trong Visual Studio Code. Khi lập trình viên mở và tin tưởng workspace, tác vụ được cấu hình tự động sẽ tải mã từ một domain trên Vercel rồi thực thi ngay lập tức.
Thứ hai, trong quá trình chạy lệnh phát triển như npm run dev. Mã độc được nhúng vào thư viện JavaScript đã bị chỉnh sửa. Khi ứng dụng khởi động, đoạn mã này âm thầm gọi tới máy chủ điều khiển, tải loader và thực thi hoàn toàn trong bộ nhớ Node.js.
Thứ ba, khi backend server được khởi chạy. Một module đã bị cài cắm sẽ thu thập biến môi trường của hệ thống và gửi ra ngoài. Máy chủ điều khiển phản hồi bằng mã JavaScript mới, tiếp tục được thực thi trong tiến trình hiện tại mà không ghi xuống ổ đĩa.
Dù bắt đầu theo cách nào, các nhánh đều hội tụ về cùng một payload giai đoạn một. Mã này thu thập thông tin hệ thống, đăng ký một mã định danh instanceId với máy chủ điều khiển và định kỳ gửi yêu cầu để nhận lệnh mới. Sau khi có chỗ đứng ban đầu, controller giai đoạn hai được triển khai. Thành phần này duy trì kết nối, quản lý tiến trình con và cho phép thực thi mã theo yêu cầu. Toàn bộ hoạt động vẫn diễn ra trong bộ nhớ nhằm giảm tối đa dấu vết pháp y.
Tổng quan về chuỗi tấn công
Microsoft không quy kết chính thức cho nhóm nào, nhưng kỹ thuật sử dụng VS Code task và hạ tầng Vercel từng xuất hiện trong chiến dịch Contagious Interview, được cho là liên quan đến các nhóm tin tặc Triều Tiên. Mục tiêu nhắm vào máy của developer vì đây là nơi lưu trữ mã nguồn, khóa bí mật và thông tin xác thực có giá trị cao.
Sử dụng GitHub gists trong tasks.json của VS Code thay vì URL Vercel
Báo cáo từ Abstract Security cho thấy nhóm tấn công không còn phụ thuộc vào một hạ tầng duy nhất mà đang chủ động phân tán điểm phát tán mã độc. Bên cạnh Vercel, chúng chuyển sang lưu trữ script trên GitHub Gist, thậm chí sử dụng dịch vụ rút gọn liên kết để che giấu đích đến thực sự. Song song đó, một gói npm độc hại mang tên “eslint-validator” được phát hiện có khả năng tải payload từ Google Drive. Payload này là biến thể của BeaverTail, dòng mã độc JavaScript từng nhiều lần nhắm vào lập trình viên.
Chuỗi lây nhiễm cũng được mở rộng theo hướng tinh vi hơn. Trên Windows, một task trong Visual Studio Code có thể kích hoạt file batch tải Node.js nếu hệ thống chưa cài đặt, sau đó dùng certutil giải mã đoạn dữ liệu bị che giấu và triển khai mã độc Python đã được bảo vệ bằng PyArmor. Theo Red Asgard, một số biến thể còn truy vấn blockchain Polygon để lấy mã JavaScript lưu trong hợp đồng NFT, qua đó tăng khả năng duy trì hạ tầng điều khiển. Điểm kết thúc của chuỗi này là một infostealer chuyên thu thập dữ liệu từ trình duyệt, ví tiền điện tử và trình quản lý mật khẩu, hoàn tất vòng khai thác từ lừa tuyển dụng đến đánh cắp thông tin nhạy cảm.
GitLab cho biết đã cấm 131 tài khoản liên quan đến việc phát tán project độc hại, có liên hệ với chiến dịch Contagious Interview và mô hình IT worker gian lận Wagemole. Phần lớn tài khoản sử dụng Gmail và truy cập từ VPN dân dụng hoặc VPS chuyên dụng.
Chuỗi lây nhiễm cũng được mở rộng theo hướng tinh vi hơn. Trên Windows, một task trong Visual Studio Code có thể kích hoạt file batch tải Node.js nếu hệ thống chưa cài đặt, sau đó dùng certutil giải mã đoạn dữ liệu bị che giấu và triển khai mã độc Python đã được bảo vệ bằng PyArmor. Theo Red Asgard, một số biến thể còn truy vấn blockchain Polygon để lấy mã JavaScript lưu trong hợp đồng NFT, qua đó tăng khả năng duy trì hạ tầng điều khiển. Điểm kết thúc của chuỗi này là một infostealer chuyên thu thập dữ liệu từ trình duyệt, ví tiền điện tử và trình quản lý mật khẩu, hoàn tất vòng khai thác từ lừa tuyển dụng đến đánh cắp thông tin nhạy cảm.
GitLab cho biết đã cấm 131 tài khoản liên quan đến việc phát tán project độc hại, có liên hệ với chiến dịch Contagious Interview và mô hình IT worker gian lận Wagemole. Phần lớn tài khoản sử dụng Gmail và truy cập từ VPN dân dụng hoặc VPS chuyên dụng.
Sơ đồ tổ chức được đánh giá của nhóm nhân viên CNTT Triều Tiên
Trong hơn 80% trường hợp, tin tặc sử dụng ít nhất sáu dịch vụ hợp pháp để lưu trữ payload, bao gồm JSON Keeper, Mocki, npoint.io, Render, Railway.app và đặc biệt là Vercel – nền tảng bị lạm dụng nhiều nhất trong năm 2025.
GitLab còn phát hiện một project riêng tư gần như chắc chắn do một công dân Triều Tiên kiểm soát, quản lý một “cell” IT worker với hồ sơ tài chính chi tiết. Dữ liệu cho thấy nhóm này thu về hơn 1,64 triệu USD từ quý I/2022 đến quý III/2025, vận hành như một doanh nghiệp có cấu trúc, KPI và giám sát phân cấp rõ ràng.
Trong khi đó, Okta nhận định phần lớn các buổi phỏng vấn với IT worker không tiến tới vòng hai, nhưng những cá nhân thành công nhất lại cực kỳ năng suất, tham gia hàng trăm cuộc phỏng vấn và dần tinh chỉnh vỏ bọc của mình.
Nhìn rộng hơn, chiến dịch này cho thấy ranh giới giữa quy trình phát triển và bề mặt tấn công đang ngày càng mờ đi. Khi một repository “bài test” có thể biến thành điểm đặt chân cho thực thi mã từ xa, bảo mật không thể chỉ đặt ở tầng hạ tầng hay tường lửa. Nó phải bắt đầu ngay trong từng thao tác quen thuộc của lập trình viên, từ lúc mở một project lạ cho đến khi chạy dòng lệnh đầu tiên.
GitLab còn phát hiện một project riêng tư gần như chắc chắn do một công dân Triều Tiên kiểm soát, quản lý một “cell” IT worker với hồ sơ tài chính chi tiết. Dữ liệu cho thấy nhóm này thu về hơn 1,64 triệu USD từ quý I/2022 đến quý III/2025, vận hành như một doanh nghiệp có cấu trúc, KPI và giám sát phân cấp rõ ràng.
Trong khi đó, Okta nhận định phần lớn các buổi phỏng vấn với IT worker không tiến tới vòng hai, nhưng những cá nhân thành công nhất lại cực kỳ năng suất, tham gia hàng trăm cuộc phỏng vấn và dần tinh chỉnh vỏ bọc của mình.
Nhìn rộng hơn, chiến dịch này cho thấy ranh giới giữa quy trình phát triển và bề mặt tấn công đang ngày càng mờ đi. Khi một repository “bài test” có thể biến thành điểm đặt chân cho thực thi mã từ xa, bảo mật không thể chỉ đặt ở tầng hạ tầng hay tường lửa. Nó phải bắt đầu ngay trong từng thao tác quen thuộc của lập trình viên, từ lúc mở một project lạ cho đến khi chạy dòng lệnh đầu tiên.
Theo The Hacker News
Chỉnh sửa lần cuối: