Một cuộc tấn công chuỗi cung ứng mới đã nhắm vào nhiều gói npm được duy trì bởi tài khoản crowdstrike-publisher, đánh dấu sự tiếp nối đáng lo ngại của cái gọi là “tấn công Shai-Halud”. Đây là một mối đe dọa mạng nghiêm trọng đòi hỏi sự chú ý tức thì từ các nhà phát triển.
Các nhà phát triển và tổ chức sử dụng những gói này cần hành động ngay lập tức để bảo vệ thông tin xác thực và ngăn chặn việc thực thi mã trái phép. Cuộc tấn công này cho thấy sự tinh vi của các chiến thuật tấn công chuỗi cung ứng hiện nay.
Chi tiết kỹ thuật cuộc tấn công chuỗi cung ứng
Cuộc tấn công Shai-Halud lần đầu tiên được biết đến khi nó xâm nhập vào gói tinycolor và hơn 40 thư viện npm khác. Trong mỗi trường hợp, các tác nhân đe dọa đã chèn một script độc hại có tên bundle.js, script này thực hiện các tác vụ bí mật ngay sau khi được cài đặt.
Sự cố gần đây nhất phản ánh các vụ xâm nhập trước đó. Một payload độc hại tải xuống và chạy TruffleHog, một công cụ hợp pháp được thiết kế để quét tìm bí mật. Sau đó, nó sử dụng TruffleHog để rà soát hệ thống máy chủ tìm kiếm các token, khóa API và thông tin xác thực đám mây.
Sau khi thu thập được các thông tin xác thực hợp lệ của nhà phát triển và hệ thống tích hợp liên tục (CI), mã độc sẽ tạo các workflow GitHub Actions trái phép trong các repository bị ảnh hưởng. Bước này là một phần quan trọng của tấn công chuỗi cung ứng, cho phép kẻ tấn công duy trì quyền truy cập.
Cuối cùng, nó đánh cắp bất kỳ dữ liệu nhạy cảm nào được phát hiện và gửi đến một endpoint webhook được mã hóa cứng. Toàn bộ quá trình này được điều phối thông qua một script duy nhất.
Cơ chế khai thác và hệ thống bị xâm nhập
Kẻ tấn công đã tận dụng các lỗ hổng liên quan đến việc lạm dụng không gian tên (namespace reuse vulnerability) để thực hiện các cuộc tấn công chuỗi cung ứng này. Điều này cho phép chúng chèn mã độc vào các gói phổ biến.
Sau khi mã độc bundle.js được thực thi, nó sẽ âm thầm tải về và kích hoạt TruffleHog. Mục tiêu là thu thập càng nhiều thông tin xác thực càng tốt từ môi trường phát triển.
Việc tạo các GitHub Actions workflow trái phép là một bước quan trọng. Nó có thể được sử dụng để duy trì quyền truy cập, thực hiện các hành động độc hại khác hoặc exfiltrate dữ liệu một cách liên tục. Đây là một dấu hiệu rõ ràng của một hệ thống bị xâm nhập nghiêm trọng.
Các gói npm bị ảnh hưởng
Registry của npm đã nhanh chóng gỡ bỏ các phiên bản bị xâm nhập ngay sau khi hoạt động độc hại được phát hiện. Các gói bị ảnh hưởng đã được xác nhận bao gồm các sản phẩm cốt lõi của CrowdStrike và một số thư viện Ember cùng các tiện ích khác.
Danh sách các gói và phiên bản bị ảnh hưởng đáng chú ý bao gồm:
- @crowdstrike/commitlint: phiên bản 8.1.1 và 8.1.2
- @crowdstrike/falcon-shoelace: phiên bản 0.4.2
- @crowdstrike/foundry-js: phiên bản 0.19.2
- @crowdstrike/glide-core: phiên bản 0.34.2 và 0.34.3
- @crowdstrike/logscale-dashboard: phiên bản 1.205.2
- @crowdstrike/logscale-file-editor: phiên bản 1.205.2
- @crowdstrike/logscale-parser-edit: phiên bản 1.205.1 và 1.205.2
Các thư viện độc hại bổ sung khác bao gồm:
- tailwind-toucan-base: phiên bản 5.0.2
- browser-webdriver-downloader: phiên bản 3.0.8
- Nhiều tiện ích Ember khác
- Các module eslint-config-crowdstrike
- monorepo-next: phiên bản 13.0.2
- remark-preset-lint-crowdstrike: phiên bản 4.0.2
- verror-extra: phiên bản 6.0.1
- yargs-help-output: phiên bản 5.0.3
Mỗi gói này đều chứa cùng một payload bundle.js chịu trách nhiệm cho việc đánh cắp và exfiltrate thông tin xác thực.
Chỉ số nhận dạng thỏa hiệp (IOCs)
Các chỉ số nhận dạng thỏa hiệp (IOCs) sau đây đã được xác định liên quan đến cuộc tấn công chuỗi cung ứng này. Việc giám sát các IOC này là rất quan trọng để phát hiện và ngăn chặn các hoạt động độc hại trong môi trường của bạn.
Hash SHA-256 của script điều phối
46faab8ab153fae6e80e7cca38eab363075bb524edd79e42269217a083628f09Endpoint Exfiltration Webhook
hxxps://webhook[.]site/bb8ca5f6-4175-45d2-b042-fc9ebb8170b7Biện pháp khắc phục và giảm thiểu
Các tổ chức đang sử dụng bất kỳ gói npm bị xâm nhập nào cần gỡ cài đặt chúng ngay lập tức hoặc ghim vào một phiên bản đã biết là an toàn trước đây cho đến khi các bản phát hành đã được vá lỗi được xác nhận. Điều này là một phần thiết yếu của chiến lược bản vá bảo mật.
Một phát ngôn viên của CrowdStrike đã thông báo rằng: “Sau khi phát hiện một số gói Node Package Manager (NPM) độc hại trong public NPM registry, chúng tôi đã nhanh chóng gỡ bỏ chúng và chủ động xoay vòng các khóa của chúng tôi trong các public registry. Các gói này không được sử dụng trong cảm biến Falcon, nền tảng không bị ảnh hưởng và khách hàng vẫn được bảo vệ. Chúng tôi đang làm việc với NPM và tiến hành điều tra kỹ lưỡng.”
Việc kiểm tra tất cả các môi trường, máy của nhà phát triển và các tác nhân CI/CD để tìm dấu hiệu của việc publish npm trái phép hoặc thêm GitHub Actions workflow bất thường là rất quan trọng. Điều này giúp phát hiện các dấu hiệu của một hệ thống bị xâm nhập.
Các nhóm cần xoay vòng các token xác thực npm, thông tin xác thực đám mây và bất kỳ bí mật nào khác có thể đã bị lộ. Việc giám sát nhật ký để tìm các sự kiện publish bất thường hoặc sửa đổi gói sẽ giúp phát hiện thêm hoạt động độc hại. Đây là một bước quan trọng để củng cố an ninh mạng.
CrowdStrike và những người duy trì npm đang hợp tác để thực hiện một phân tích kỹ thuật hoàn chỉnh. Phân tích này sẽ bao gồm các phân tích chi tiết về cơ chế lây lan và các bước khắc phục. Thông tin thêm về lỗ hổng namespace reuse có thể được tìm thấy tại GBHackers on Security.
Đây là một ví dụ điển hình về tầm quan trọng của việc duy trì sự cảnh giác liên tục chống lại các cuộc tấn công chuỗi cung ứng phức tạp.










