Gói Python và thư viện PHP bị xâm nhập để lấy cắp khóa AWS

04/06/2014
37
446 bài viết
Gói Python và thư viện PHP bị xâm nhập để lấy cắp khóa AWS
Hai gói Python và PHP nhiễm trojan vừa được phát hiện trong cuộc tấn công chuỗi cung ứng phần mềm nhắm vào hệ sinh thái nguồn mở.

Một gói là "ctx", mô-đun Python có sẵn trong kho lưu trữ PyPi. Gói khác liên quan đến "phpass", một gói PHP đã được phân nhánh trên GitHub để phân phối bản cập nhật giả mạo.

php.jpg

Yee Ching, một trong những người xử lý sự cố, cho biết: "Trong cả hai trường hợp, kẻ tấn công dường như đã tiếp quản các gói chưa được cập nhật trong một thời gian".

Cần lưu ý rằng 'ctx' được xuất bản lần cuối lên PyPi vào ngày 19 tháng 12 năm 2014. Mặt khác, 'phpass' đã không nhận được bản cập nhật kể từ khi được tải lên Packagist vào ngày 31 tháng 8 năm 2012.

Gói Python độc hại, được đẩy lên PyPi vào ngày 21 tháng 5 năm 2022 đã bị xóa khỏi kho lưu trữ, nhưng thư viện PHP vẫn có sẵn trên GitHub.

Trong cả hai trường hợp, các sửa đổi được thiết kế để lọc thông tin đăng nhập AWS thành một URL Heroku có tên là 'antit-theft web.herokuapp [.]com'. Yee Ching cho biết thêm: "Có vẻ như thủ phạm đang cố gắng lấy tất cả các biến môi trường (environment variables), mã hóa Base64 và chuyển tiếp dữ liệu đến một ứng dụng web dưới sự kiểm soát của thủ phạm".

Người ta nghi ngờ rằng kẻ tấn công đã truy cập trái phép vào tài khoản của người bảo trì để xuất bản phiên bản 'ctx' mới. Điều tra sâu hơn tiết lộ rằng kẻ xấu đã đăng ký miền hết hạn được sử dụng bởi người bảo trì ban đầu vào ngày 14 tháng 5 năm 2022.

"Với quyền kiểm soát tên miền ban đầu, việc tạo một email tương ứng để nhận email đặt lại mật khẩu sẽ trở nên đơn giản. Sau khi có quyền truy cập vào tài khoản, thủ phạm có thể xóa gói cũ và tải lên các phiên bản mới có backdoor."

ctx1.jpg

Thật trùng hợp, vào ngày 10 tháng 5 năm 2022, chuyên gia Lance Vick tiết lộ cách có thể mua các miền email của người bảo trì NPM đã hết hiệu lực và sau đó sử dụng chúng để tạo lại email của người bảo trì và giành quyền kiểm soát các gói.

Hơn nữa, một phân tích siêu dữ liệu về 1,63 triệu gói JavaScript NPM được thực hiện bởi các học giả từ Microsoft và Đại học Bang North Carolina vào năm ngoái đã phát hiện ra 2.818 địa chỉ email của người bảo trì liên kết với các miền đã hết hạn, cho phép kẻ tấn công chiếm đoạt 8.494 gói bằng cách chiếm đoạt tài khoản NPM một cách hiệu quả.

Các nhà nghiên cứu cho biết: "Nhìn chung, bất kỳ tên miền nào cũng có thể được mua từ một công ty đăng ký tên miền và cho phép người mua kết nối với dịch vụ lưu trữ email để có được địa chỉ email cá nhân. Kẻ tấn công có thể chiếm quyền điều khiển miền của người dùng để chiếm đoạt tài khoản được liên kết với địa chỉ email đó."

ctx2.jpg

Nếu tên miền của người bảo trì đã hết hạn, hacker có thể có được miền và thay đổi bản ghi trao đổi thư DNS (MX) để chiếm đoạt địa chỉ email của người bảo trì.

"Có vẻ như việc chiếm đoạt phpass đã xảy ra do chủ sở hữu của nguồn gói - 'hautelook' đã xóa tài khoản của mình và sau đó kẻ tấn công đã sử dụng tên người dùng này", nhà nghiên cứu Somdev Sangwan cho biết trong một loạt các tweet, nêu chi tiết về những gì được gọi là cuộc tấn công chiếm đoạt kho lưu trữ.

Các kho công khai mã nguồn mở như Maven, NPM, Packages, PyPi và RubyGems là một phần quan trọng của chuỗi cung ứng phần mềm mà nhiều tổ chức dựa vào để phát triển ứng dụng.

Mặt khác, điều này cũng khiến chúng trở thành mục tiêu hấp dẫn đối với nhiều kẻ xấu đang tìm cách cung cấp phần mềm độc hại.

"Các nhà phát triển đang tin tưởng một cách mù quáng vào các kho lưu trữ và cài đặt các gói từ các nguồn này, cho rằng chúng an toàn", công ty DevSecOps, JFrog cho biết vào năm ngoái, đồng thời cho biết thêm về cách các tác nhân đe dọa đang sử dụng các kho lưu trữ như một vectơ phân phối phần mềm độc hại và khởi động các cuộc tấn công.

 
Chỉnh sửa lần cuối bởi người điều hành:
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Thẻ
php; pypl- 'ctx'
Bên trên