Mối Đe Dọa Mạng Nghiêm Trọng: Discord Webhooks C2 Bí Mật

Mối Đe Dọa Mạng Nghiêm Trọng: Discord Webhooks C2 Bí Mật

Các tác nhân độc hại ngày càng lạm dụng Discord webhooks làm kênh lệnh và kiểm soát (C2) bí mật trong các gói mã nguồn mở. Điều này tạo điều kiện cho việc âm thầm đánh cắp bí mật, dữ liệu đo từ xa của host và dữ liệu môi trường phát triển mà không cần thiết lập hạ tầng riêng biệt. Đây là một **mối đe dọa mạng** đáng chú ý, ảnh hưởng đến chuỗi cung ứng phần mềm.

Nội dung
Lạm Dụng Discord Webhooks làm Kênh C2 Bí Mật

Cơ Chế Kỹ Thuật của Discord Webhooks
Các Trường Hợp Lạm Dụng Thực Tế và Mối Đe Dọa Mạng

Khai thác trên npm
Khai thác trên PyPI
Khai thác trên RubyGems
Lợi Thế Kinh Tế cho Kẻ Tấn Công
Xu Hướng Rộng Hơn: Commodity C2 as a Service
Các Biện Pháp Giảm Thiểu và Phòng Chống Mối Đe Dọa Mạng

Kiểm Soát Lưu Lượng và Xác Thực
Quản Lý Phụ Thuộc và Mã Nguồn
Bảo Mật Thông Tin Phát Triển và CI/CD
Phát Hiện và Ngăn Chặn Chủ Động

Lạm Dụng Discord Webhooks làm Kênh C2 Bí Mật

Nhóm Nghiên cứu Mối đe dọa của Socket đã ghi nhận các hành vi lạm dụng đang diễn ra trên các kho lưu trữ npm, PyPI và RubyGems. Trong các trường hợp này, các URL webhook của Discord được mã hóa cứng hoạt động như các kênh ghi dữ liệu để chuyển thông tin qua HTTPS đến các kênh do kẻ tấn công kiểm soát.

Vì các bài đăng webhook giống như lưu lượng JSON thông thường đến một miền được cho phép rộng rãi, các hoạt động này thường bỏ qua việc lọc từ xa và các kiểm soát dựa trên chữ ký.

Cơ Chế Kỹ Thuật của Discord Webhooks

Discord webhooks là các điểm cuối HTTPS chỉ yêu cầu sở hữu một URL chứa IDsecret token để đăng tin nhắn lên một kênh.

Các điểm cuối đang hoạt động thường trả về mã trạng thái 204 No Content khi thành công hoặc 200 OK với ?wait=true. Trong khi đó, các mã 401, 404429 lần lượt chỉ ra token không hợp lệ, bị xóa hoặc bị giới hạn tốc độ.

Một điểm quan trọng là URL webhook chỉ có khả năng ghi (write-only). Điều này có nghĩa là những người bảo vệ không thể đọc lịch sử kênh trước đó chỉ từ URL. Điều này khiến việc gỡ bỏ và điều tra hồi cứu trở nên khó khăn hơn, đồng thời giảm chi phí và rào cản cho kẻ tấn công.

Các Trường Hợp Lạm Dụng Thực Tế và Mối Đe Dọa Mạng

Các trường hợp lạm dụng webhook đã được quan sát thấy trên nhiều hệ sinh thái mã nguồn mở, cho thấy một xu hướng chung trong các **tấn công mạng** chuỗi cung ứng.

Khai thác trên npm

  • Gói mysql-dumpdiscord nhắm mục tiêu vào các cấu hình nhạy cảm như config.json, .env, ayarlar.jsayarlar.json (tiếng Thổ Nhĩ Kỳ có nghĩa là “cài đặt”). Gói này đọc và chia nhỏ nội dung tệp trước khi gửi chúng đến một webhook Discord được mã hóa cứng.

  • Gói nodejs.discord đơn giản hơn, triển khai một lớp wrapper mỏng xung quanh discord.js để chuyển tiếp các chuỗi tùy ý đến một URL webhook được nhúng. Mặc dù đôi khi được sử dụng cho mục đích ghi nhật ký, mẫu này có thể dễ dàng trở thành một kênh thu thập dữ liệu nếu được gọi trong các tập lệnh cài đặt hoặc trong quá trình chạy.

Khai thác trên PyPI

Gói malinssx ghi đè lệnh cài đặt của setuptools để âm thầm kích hoạt một yêu cầu POST đến một webhook Discord trong quá trình pip install. Yêu cầu này gửi một tin nhắn thông báo bằng tiếng Việt.

Các gói tương tự (malicus, maliinn) đã được xuất bản bởi cùng một tác nhân với tên sdadasda232323, tái sử dụng cùng một webhook. Đây là một dấu hiệu cho thấy việc gieo mã độc tự động hoặc lặp đi lặp lại trên nhiều tên để tránh bị gỡ bỏ một gói.

Khai thác trên RubyGems

Gói sqlcommenter_rails tiến xa hơn bằng cách thu thập các tín hiệu cấp host, bao gồm:

  • Nội dung của /etc/passwd
  • Các DNS resolver từ /etc/resolv.conf
  • Tên người dùng (username)
  • Tên máy chủ (hostname)
  • Thư mục làm việc và thư mục gốc
  • Metadata của gói
  • Địa chỉ IP công cộng qua api.ipify.org

Sau khi thu thập, gói này sẽ serialize và chuyển toàn bộ payload đến một webhook Discord được mã hóa cứng. Các lỗi được ẩn đi, ưu tiên việc lỗi âm thầm hơn là các ngoại lệ ồn ào. Theo báo cáo, hơn 60 gói RubyGems độc hại đã sử dụng phương pháp tương tự.

Lợi Thế Kinh Tế cho Kẻ Tấn Công

Discord webhook C2 làm thay đổi kinh tế của việc lạm dụng chuỗi cung ứng. Nó miễn phí, nhanh chóng, hòa trộn vào lưu lượng truy cập thông thường qua TLS đến một miền phổ biến và không yêu cầu quy trình xác thực nào ngoài việc sở hữu URL.

Khi được kết hợp với các hook thời gian cài đặt, script postinstall hoặc các ghi đè cài đặt của Ruby/Python, các gói này có thể đánh cắp bí mật từ máy tính của nhà phát triển và trình chạy CI rất lâu trước khi các kiểm soát thời gian chạy ứng dụng hoặc phát hiện EDR được kích hoạt. Đây là một điểm yếu nghiêm trọng trong bảo mật.

Xu Hướng Rộng Hơn: Commodity C2 as a Service

Các mẫu tấn công tương tự cũng được quan sát thấy với webhooks của Telegram, Slack và GitHub. Điều này nhấn mạnh một sự chuyển dịch rộng rãi hơn sang “C2 thương mại dưới dạng dịch vụ” (commodity C2 as a service), làm giảm giá trị của các IOC tĩnh truyền thống. Điều này khiến cho việc **phát hiện xâm nhập** dựa trên chữ ký trở nên khó khăn hơn.

Các Biện Pháp Giảm Thiểu và Phòng Chống Mối Đe Dọa Mạng

Các biện pháp giảm thiểu nên tập trung vào kiểm soát hành vi và kiểm soát egress (lưu lượng đi ra). Để đối phó với **mối đe dọa mạng** này, cần có một chiến lược phòng thủ toàn diện.

Kiểm Soát Lưu Lượng và Xác Thực

  • Coi các điểm cuối webhook là các vector tiềm năng cho việc đánh cắp dữ liệu.
  • Thực thi danh sách cho phép (allow-lists) với lọc DNS và TLS SNI khi khả thi.

Quản Lý Phụ Thuộc và Mã Nguồn

  • Ghim các phụ thuộc bằng lockfiles để đảm bảo tính nhất quán và bảo mật.
  • Yêu cầu các chứng thực nguồn gốc/SLSA.
  • Kiểm soát các bản cập nhật phụ thuộc thông qua quét PR để gắn cờ các URL webhook được mã hóa cứng, các cuộc gọi mạng đi ra và các hành vi thực thi trong thời gian cài đặt. Đây là một bước quan trọng trong việc ngăn chặn các **tấn công mạng** chuỗi cung ứng.

Bảo Mật Thông Tin Phát Triển và CI/CD

  • Quét để tìm kiếm truy cập bí mật trong các bản vá gói (package diffs).
  • Xoay vòng thông tin xác thực của nhà phát triển với các phạm vi đặc quyền tối thiểu (least-privilege scopes).
  • Trong CI (Continuous Integration), từ chối truy cập internet đi ra mặc định cho các bước build và test, chỉ cấp các ngoại lệ có phạm vi hẹp.

Phát Hiện và Ngăn Chặn Chủ Động

  • Trang bị quy trình làm việc của nhà phát triển với công cụ đánh giá danh tiếng gói và phát hiện phần mềm độc hại.
  • Các công cụ này cần có khả năng chặn các mẫu đánh cắp dữ liệu dựa trên webhook trước khi chúng ảnh hưởng đến hệ thống. Điều này nâng cao khả năng **phát hiện xâm nhập** sớm.