Tin An Ninh Mạng

Thư viện NPM ‘coa’ bị tấn công để đánh cắp mật khẩu người dùng

hacker 15
Thư viện Command-Option-Argument (coa) đã bị tin tặc tấn công để chèn mã độc nhằm mục đích đánh cắp mật khẩu người dùng.

{

}

npm-supply-chain-attack.jpg


Theo thống kê, thư viện coa có khoảng 9 triệu lượt tải hàng tuần, và được sử dụng bởi gần 5 triệu kho mã nguồn mở trên Github.

Ngay sau khi cuộc tấn công vào thư viện này được phát hiện, một thành phần npm phổ biến khác là “rc”, với 14 triệu lượt tải mỗi tuần, cũng bị xâm nhập.

Sự việc bắt đầu khi các nhà phát triển từ khắp nơi trên thế giới nhận được một bản phát hành mới của thư viện coa. Dự án này đã không được cập nhật trong nhiều năm bất ngờ xuất hiện trong kho chứa npm.

coa là một trình phân tích cú pháp với giao diện dòng lệnh cho các dự án Node.js. Phiên bản ổn định cuối cùng 2.0.2 cho dự án đã được phát hành vào tháng 12 năm 2018.

Tuy nhiên, một số phiên bản đáng ngờ 2.0.3, 2.0.4, 2.1.1, 2.1.3 và 3.1.3 đã bắt đầu xuất hiện trên npm trong những ngày gần đây, làm ảnh hưởng lớn đến các gói React phụ thuộc vào ‘coa‘.

compromised-releases-npm.jpg

Nhà phát triển React, Roberto Wesley Overdijk cho biết: “Tôi không biết tại sao hoặc điều gì đã xảy ra nhưng 10 phút trước, đã có một bản phát hành của coa xuất hiện (mặc dù phiên bản ổn định cuối cùng trên GitHub là vào năm 2018).

Nhiều người dùng Github và các nhà phát triển cũng báo cáo có vấn đề khi sử dụng phiên bản coa 2.1.3 để dựng phần mềm.

Screenshot 2021-11-05 172830.png


Ngay sau đó, xuất hiện nhiều báo cáo về một thư viện npm phổ biến khác, ‘rc’ cũng đã bị tấn công, với các phiên bản độc hại 1.2.9, 1.3.9 và 2.3.9 xuất hiện trên npm.

Sau khi phân tích các mã độc hại liên quan đến thư viện coa, các nhà nghiên cứu thấy có sự tương đồng với mã được tìm thấy trong các phiên bản ua-parser-js bị sửa đổi. Điều này cho thấy, có thể có mối liên kết giữa các tác nhân đe dọa đằng sau cả hai cuộc tấn công này.

Các phiên bản 2.0.3, 2.1.3 và một số phiên bản khác chứa các tập lệnh preinstall đáng ngờ, được hiển thị bên dưới:

Mã:
"preinstall": "start /B node compile.js & node compile.js"

pre-install.png

Ở phiên bản coa 2.0.4 mã độc hại được lưu trong tệp compile.js đã được chèn vào tập lệnh preinstall. Tệp compile.js bao gồm các đoạn mã JavaScript sử dụng kỹ thuật làm rối mã.

compile-js.png

Tệp JavaScript này sẽ khởi chạy tệp batch có tên “compile.bat” tồn tại trong kho lưu trữ npm “coa”.

Tệp batch này tiếp tục được làm rối mã theo phương pháp mở rộng biến (variable expansion) với mục đích cài đặt ransomware và trình đánh cắp thông tin trên các máy bị nhiễm.

compile-bat.png

Tệp Batch này tải xuống và chạy “sdd.dll” từ tên miền pastorcryptograph[.]at, không giống với “sdd.dll” của các phiên bản ua-parser-js bị chèn mã độc.

Xuất hiện thêm một tệp “sdd.dll” khác tồn tại trong thư viện npm độc hai “rc”. Tuy nhiên, tất cả các DLL này đều triển khai cùng một loại phần mềm độc hại.

batch-deobfusc.png

Dựa trên phân tích và thông tin thu thập được, phần mềm độc hại có thể là Trojan đánh cắp mật khẩu Danabot dành cho Windows.

Khi được tải qua regsvr32.exe, mã độc sẽ khởi chạy lại bằng cách sử dụng rundll32.exe với các đối số để thực hiện các hành vi độc hại khác nhau.

danabot-launching.jpg

Khi được chạy, Danabot sẽ thực hiện các hoạt động độc hại được liệt kê dưới đây:

  • Đánh cắp mật khẩu từ các trình duyệt web, bao gồm Chrome, Firefox, Opera, Internet Explorer và Safari
  • Đánh cắp mật khẩu từ các ứng dụng như VNC, ứng dụng sòng bạc trực tuyến, ứng dụng khách FTP và tài khoản thư
  • Ăn cắp thông tin thẻ tín dụng
  • Chụp ảnh màn hình
  • Ghi lại thao tác bàn phím

Tất cả dữ liệu bị đánh cắp này sau đó sẽ được gửi lại cho kẻ tấn công nhằm xâm phạm các tài khoản khác của nạn nhân.

Do tác động lan rộng của cuộc tấn công chuỗi cung ứng nhắm vào thư viện “coa” và “rc”, người dùng nên kiểm tra các dự án để tìm phần mềm độc hại. Nếu các tệp compile.js, compile.bat, sdd.dll được tìm thấy trên hệ thống, hãy xóa chúng ngay lập tức, đồng thời thực hiện các biện pháp bảo mật cho tài khoản như thay đổi mật khẩu tài khoản, thiết lập xác minh hai bước…

Hiện tại, hai thư viện độc hại coa rc đã bị xóa khỏi kho lưu trữ npm. Người dùng và các nhà phát triển hãy chắc chắn đang sử dụng phiên bản an toàn của thư viện coa (2.0.2) và rc (1.2.8).

Đăng ký liền tay Nhận Ngay Bài Mới

Subscribe ngay

Cám ơn bạn đã đăng ký !

Lỗi đăng ký !

Add Comment

Click here to post a comment

Đăng ký liền tay
Nhận Ngay Bài Mới

Subscribe ngay

Cám ơn bạn đã đăng ký !

Lỗi đăng ký !