Chiến dịch lừa đảo: Khi malware giả dạng công việc freelance cho lập trình viên


Bối cảnh
Trong thời gian gần đây, các chiến dịch tấn công lừa đảo (social engineering) nhắm đến cộng đồng lập trình viên, đặc biệt là nhóm freelancer, đang gia tăng đáng kể. Một hình thức mới được ghi nhận: hacker giả danh khách thuê, tiếp cận các lập trình viên thông qua mạng xã hội hoặc nền tảng việc làm, đề nghị “sửa lỗi code với thù lao cao bất thường”. Đi kèm là một file ZIP có mật khẩu bảo vệ, bên trong chứa đoạn mã JavaScript độc hại.
Chiêu thức này không mới trong cộng đồng nghiên cứu mã độc, nhưng nay đang hướng mục tiêu rõ ràng vào nhóm kỹ thuật, những người có xu hướng tin vào yêu cầu kỹ thuật hợp lý, dễ bị đánh lừa bởi các tập tin “nhìn như thật”.
Kịch bản khai thác
Kẻ tấn công tiếp cận nạn nhân qua các kênh cá nhân (chat, email, mạng xã hội), tự xưng là khách hàng cần sửa lỗi một đoạn code, đi cùng với đó là một mức thù lao cao bất thường: “Anh ơi em có đoạn code chạy không được, fix giùm em với, trả 15 triệu”.
Khi người dùng tải và giải nén, họ phát hiện có tập tin app.js
kèm nhiều file JS phụ như helper/css.js
.
Hình 1. Các file phụ đáng ngờ xuất hiện sau khi giải nén
Bề ngoài, các tập tin mang đặc điểm bình thường trong các dự án web. Tuy nhiên, khi mở ra phân tích, có thể thấy:
Hàm
eval()
thực thi mã từ một tập tin.txt
khả nghi.Mã sử dụng kỹ thuật obfuscation (làm rối): tên hàm khó hiểu, biến đặt tên vô nghĩa, gây khó khăn cho việc đọc mã trực tiếp.
Không có bất kỳ chức năng sửa lỗi, xử lý dữ liệu hay business logic thực sự – đây không phải là một job thật.
Hình 2. Hàm eval() thực thi mã từ một tập tin .txt khả nghi
Sau khi phân tích chuỗi lệnh được thực thi, người phân tích phát hiện phần mã độc đang gọi đến 7za.exe
để giải nén 2 tập tin ZIP khác có mật khẩu, để lấy ra app.exe
và node.dll
. Đây chính là payload chính được cài xuống máy nạn nhân.
Hình 3. Hai payload độc hại được giải nén trong máy nạn nhân
Phân tích kỹ thuật
Cuộc tấn công dựa vào một chuỗi hành động được viết bằng JavaScript, với điểm bắt đầu là một hàm khởi động (entry point). Từ đó, mã độc lần lượt thực hiện các thao tác như đọc dữ liệu (chứa thông tin về các file cần xử lý), sau đó giải nén các tập tin ZIP được nhúng kèm trong hệ thống tập tin dự án.
Một kỹ thuật phổ biến được sử dụng là làm rối mã nguồn (obfuscation), khiến nạn nhân không dễ dàng phát hiện hành vi nguy hiểm ngay lập tức. Quá trình giải nén được ẩn đằng sau các hàm và biến khó hiểu, và mật khẩu để giải nén cũng được mã hóa hoặc cài cứng trong mã nguồn – chỉ lộ ra trong quá trình thực thi.
Sau khi được giải nén, app.exe
thực thi hành vi:
Tìm và trích xuất dữ liệu trình duyệt: Chrome, Edge, Brave, Opera.
Gửi dữ liệu về máy chủ từ xa tại Nga.
Chạy hoàn toàn trong môi trường NodeJS, không yêu cầu quyền quản trị, nên bypass được nhiều hệ thống cảnh báo hoặc UAC.
Đây là biến thể của infostealer, kết hợp kỹ thuật “multi-stage payload delivery” – tải và giải nén mã độc theo từng lớp, nhằm né tránh detection.
Khuyến nghị
Phía FPT Threat Intelligence khuyến nghị tổ chức và cá nhân một số cách để phòng chống chiến dịch tấn công đặc biệt nguy hiểm này:
Đối với lập trình viên và freelancer:
Không tải và chạy các tập tin ZIP từ người lạ, đặc biệt nếu chứa
.exe
,.dll
,.ps1
,.bat
hoặc script.Không bao giờ chạy file có mật khẩu ZIP trừ khi biết rõ nguồn gốc và mục đích. Hãy phân tích tĩnh bằng Notepad++, VSCode, hoặc công cụ như CyberChef.
Dùng sandbox như Any.Run hoặc máy ảo để kiểm tra hành vi khi nghi ngờ.
Sử dụng VirusTotal, MalwareBazaar để quét tập tin hoặc so sánh mã độc.
Kết hợp phần mềm chống mã độc như Windows Defender, Malwarebytes, hoặc giải pháp chuyên dụng cho dev như CrowdStrike Falcon Free.
Đối với tổ chức hoặc nhóm cộng đồng:
Tuyên truyền chủ động về chiến dịch phishing dạng “job lạ” trong các group kỹ thuật.
Cập nhật chính sách bảo mật endpoint và cảnh báo người dùng về social engineering hướng kỹ thuật.
Theo dõi bất thường từ các endpoint thông qua log và alert nếu thấy hành vi giải nén file
.zip
kèm chạy.exe
không rõ nguồn.
Tham khảo
Subscribe to my newsletter
Read articles from Tran Hoang Phong directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Tran Hoang Phong
Tran Hoang Phong
Just a SOC Analyst ^^