GemStuffer lạm dụng hơn 150 RubyGems để trích xuất dữ liệu cổng thông tin Hội đồng Anh đã thu thập được

Các nhà nghiên cứu an ninh mạng đang chú ý đến một chiến dịch mới có tên GemStuffer, nhắm mục tiêu vào kho lưu trữ RubyGems với hơn 150 gói gem sử dụng registry này như một kênh trích xuất dữ liệu thay vì phát tán mã độc. Theo Socket, các gói này không được thiết kế để xâm nhập nhà phát triển trên diện rộng, các payload có tính lặp lại và tự chứa một cách bất thường.
Chiến dịch GemStuffer lạm dụng RubyGems
Hơn 150 gói gem được phát hiện lạm dụng RubyGems để lưu trữ dữ liệu thu thập được.

Các nhà nghiên cứu an ninh mạng đang kêu gọi sự chú ý đến một chiến dịch mới có tên là GemStuffer, đã nhắm mục tiêu vào kho lưu trữ RubyGems với hơn 150 gem sử dụng registry này làm kênh trích xuất dữ liệu (data exfiltration) thay vì để phân phối mã độc.

"Các gói này dường như không được thiết kế để xâm nhập nhà phát triển trên quy mô lớn," Socket cho biết. "Nhiều gói có ít hoặc không có hoạt động tải xuống, và các payload lặp đi lặp lại, gây nhiễu và có tính chất tự đóng gói bất thường."
"Thay vào đó, các script này truy xuất các trang từ các cổng dịch vụ dân chủ của chính quyền địa phương Vương quốc Anh, đóng gói các phản hồi thu thập được vào các kho lưu trữ .gem hợp lệ và xuất bản các gem đó ngược lại RubyGems bằng cách sử dụng các API keys được mã hóa cứng."

Sự phát triển này diễn ra khi RubyGems tạm thời vô hiệu hóa đăng ký tài khoản mới sau những gì được mô tả là một cuộc tấn công độc hại lớn. Mặc dù chưa rõ liệu hai nhóm hoạt động này có liên quan đến nhau hay không, công ty bảo mật ứng dụng cho biết GemStuffer phù hợp với "cùng một mô hình lạm dụng", bao gồm việc sử dụng các gói mới tạo với tên rác để lưu trữ dữ liệu đã thu thập (scraped data).

Phương thức hoạt động của GemStuffer

Nhìn chung, chiến dịch lạm dụng RubyGems như một nơi để dàn dựng nội dung hội đồng đã thu thập được. Nó thực hiện điều này bằng cách truy xuất các URL cổng thông tin hội đồng Vương quốc Anh được mã hóa cứng, đóng gói các phản hồi HTTP thành các kho lưu trữ .gem hợp lệ và xuất bản các kho lưu trữ đó lên RubyGems bằng cách sử dụng thông tin xác thực registry được nhúng sẵn.

Trong một số trường hợp, payload được nhúng trong gem sẽ tạo môi trường thông tin xác thực RubyGems tạm thời dưới thư mục "/tmp", ghi đè biến môi trường HOME, xây dựng gem cục bộ và đẩy nó lên RubyGems bằng gem command-line interface (CLI), thay vì phụ thuộc vào thông tin xác thực RubyGems hiện có trên máy mục tiêu.

Các biến thể khác của gem độc hại đã được tìm thấy là tránh thành phần CLI để tải trực tiếp kho lưu trữ lên RubyGems API thông qua một yêu cầu HTTP POST. Sau khi các gem mới được xuất bản, tất cả những gì kẻ tấn công cần làm là chạy lệnh "gem fetch" với tên gem và phiên bản để truy cập dữ liệu đã thu thập.

Phân tích mã độc GemStuffer
Mô tả payload được sử dụng để đóng gói và đẩy dữ liệu lên RubyGems.

Chiến dịch thu thập dữ liệu mới lạ này đã được phát hiện nhắm vào các cổng ModernGov công cộng được sử dụng bởi Lambeth, Wandsworth và Southwark, với mục đích thu thập lịch họp của các ủy ban, danh sách các mục chương trình nghị sự, các tài liệu PDF được liên kết, thông tin liên lạc của viên chức và nội dung nguồn cấp RSS. Hiện vẫn chưa rõ mục tiêu cuối cùng là gì, vì thông tin này dường như vẫn có thể truy cập công khai.

Socket đánh giá rằng việc thu thập hàng loạt và lưu trữ dữ liệu có hệ thống này làm dấy lên khả năng kẻ tấn công có thể đang tận dụng "quyền truy cập cổng thông tin hội đồng như một bước đệm để chứng minh khả năng chống lại cơ sở hạ tầng chính phủ."

"Nó có thể là thư rác registry, một sâu máy tính (worm) dạng proof-of-concept, một trình thu thập dữ liệu tự động lạm dụng RubyGems làm lớp lưu trữ, hoặc một thử nghiệm có chủ ý về việc lạm dụng registry gói," Socket cho biết. "Nhưng các cơ chế này là có chủ ý: tạo gem lặp đi lặp lại, tăng phiên bản, thông tin xác thực RubyGems được mã hóa cứng, đẩy trực tiếp lên registry và dữ liệu thu thập được nhúng bên trong các kho lưu trữ gói."