Làm thế nào để khám phá các quy trình Linux ẩn với Unhide



Hãy Thử Công Cụ CủA Chúng Tôi Để LoạI Bỏ Các VấN Đề

Mặc dù GNU / Linux là một hệ điều hành cực kỳ an toàn, nhưng nhiều người bị thu hút vào cảm giác an toàn sai lầm. Họ có quan niệm sai lầm rằng không bao giờ có thể xảy ra điều gì bởi vì họ đang làm việc trong một môi trường an toàn. Đúng là có rất ít phần mềm độc hại tồn tại trong môi trường Linux, nhưng vẫn rất có khả năng bản cài đặt Linux cuối cùng có thể bị xâm phạm. Nếu không có gì khác, thì việc xem xét khả năng bị rootkit và các cuộc tấn công tương tự khác là một phần quan trọng của quản trị hệ thống. Rootkit đề cập đến một bộ công cụ mà người dùng bên thứ ba sau khi họ có quyền truy cập vào hệ thống máy tính mà họ không có quyền truy cập. Bộ công cụ này sau đó có thể được sử dụng để sửa đổi các tệp mà người dùng hợp pháp không biết. Gói bỏ ẩn cung cấp công nghệ cần thiết để nhanh chóng tìm ra phần mềm bị xâm phạm như vậy.



Unhide có trong kho của hầu hết các bản phân phối Linux chính. Việc sử dụng lệnh trình quản lý gói như sudo apt-get install unhide là đủ để buộc nó phải cài đặt trên các phiên bản Debian và Ubuntu. Máy chủ có quyền truy cập GUI có thể sử dụng Trình quản lý gói Synaptic. Các bản phân phối Fedora và Arch có các phiên bản bỏ ẩn được tạo sẵn cho các hệ thống quản lý gói của riêng họ. Sau khi bỏ ẩn được cài đặt, quản trị viên hệ thống có thể sử dụng nó theo nhiều cách khác nhau.



Phương pháp 1: ID quy trình Bruteforcing

Kỹ thuật cơ bản nhất liên quan đến việc bắt buộc từng ID quy trình để đảm bảo rằng không có ID nào trong số chúng bị ẩn khỏi người dùng. Trừ khi bạn có quyền truy cập root, hãy nhập sudo unhide brute -d tại dấu nhắc CLI. Tùy chọn d tăng gấp đôi thử nghiệm để cắt giảm số lần dương tính giả được báo cáo.



Đầu ra là cực kỳ cơ bản. Sau thông báo về bản quyền, unhide sẽ giải thích các kiểm tra mà nó thực hiện. Sẽ có một dòng ghi rõ:

[*] Bắt đầu quét bằng bạo lực chống lại PIDS với fork ()

và một tuyên bố khác:



[*] Bắt đầu quét bằng cách sử dụng bạo lực chống lại PIDS với các chức năng pthread

Nếu không có bất kỳ đầu ra nào khác, thì không có lý do gì để lo lắng. Nếu chương trình con brute của chương trình tìm thấy bất cứ điều gì, thì nó sẽ báo cáo một cái gì đó như:

Đã tìm thấy HIDDEN PID: 0000

Bốn số không sẽ được thay thế bằng một số hợp lệ. Nếu nó chỉ đơn thuần đọc rằng đó là một quá trình tạm thời, thì đây có thể là một kết quả dương tính giả. Hãy chạy thử nghiệm nhiều lần cho đến khi nó cung cấp kết quả rõ ràng. Nếu có thêm thông tin, thì có thể cần phải kiểm tra tiếp. Nếu bạn cần nhật ký, bạn có thể sử dụng công tắc -f để tạo tệp nhật ký trong thư mục hiện tại. Các phiên bản mới hơn của chương trình gọi tệp này là unhide-linux.log và nó có tính năng xuất văn bản thuần túy.

Phương pháp 2: So sánh / proc và / bin / ps

Thay vào đó, bạn có thể trực tiếp bỏ ẩn để so sánh danh sách quy trình / bin / ps và / proc để đảm bảo rằng hai danh sách riêng biệt này trong cây tệp Unix khớp nhau. Nếu có điều gì đó không ổn thì chương trình sẽ báo PID bất thường. Các quy tắc Unix quy định rằng các tiến trình đang chạy phải trình bày số ID trong hai danh sách này. Gõ sudo unhide proc -v để bắt đầu kiểm tra. Tacking on v sẽ đặt chương trình ở chế độ tiết.

Phương thức này sẽ trả về lời nhắc nêu rõ:

[*] Tìm kiếm các quy trình ẩn thông qua quét chỉ số / proc

Nếu có bất kỳ điều gì bất thường xảy ra, nó sẽ xuất hiện sau dòng văn bản này.

Phương pháp 3: Kết hợp Kỹ thuật Proc và Procfs

Nếu cần, bạn thực sự có thể so sánh danh sách cây tệp / bin / ps và / proc Unix đồng thời so sánh tất cả thông tin từ danh sách / bin / ps với các mục procfs ảo. Điều này kiểm tra cả quy tắc cây tệp Unix cũng như dữ liệu procfs. Nhập sudo unhide procall -v để thực hiện kiểm tra này, có thể mất khá nhiều thời gian vì nó phải quét tất cả các thống kê / proc cũng như thực hiện một số kiểm tra khác. Đó là một cách tuyệt vời để đảm bảo rằng mọi thứ trên máy chủ là đồng dạng.

2016-11-02_222832

Phương pháp 4: So sánh kết quả procfs với / bin / ps

Các thử nghiệm trước quá liên quan đến hầu hết các ứng dụng, nhưng bạn có thể chạy kiểm tra hệ thống tệp proc một cách độc lập cho một số khả năng xử lý. Nhập sudo unhide procfs -m, sẽ thực hiện các kiểm tra này cộng với một số kiểm tra khác được cung cấp bằng cách bổ sung -m.

Đây vẫn là một thử nghiệm khá liên quan và có thể mất một chút thời gian. Nó trả về ba dòng đầu ra riêng biệt:

2016-11-02_223011

Hãy nhớ rằng bạn có thể tạo nhật ký đầy đủ với bất kỳ bài kiểm tra nào trong số này bằng cách thêm -f vào lệnh.

Phương pháp 5: Chạy Quét nhanh

Nếu bạn chỉ cần chạy quét nhanh mà không cần quan tâm đến việc kiểm tra chuyên sâu, thì chỉ cần gõ sudo unhide quick, sẽ chạy nhanh như tên cho thấy. Kỹ thuật này quét danh sách proc cũng như hệ thống tệp proc. Nó cũng chạy một kiểm tra liên quan đến việc so sánh thông tin được thu thập từ / bin / ps với thông tin được cung cấp bởi các cuộc gọi đến tài nguyên hệ thống. Điều này cung cấp một dòng đầu ra, nhưng không may làm tăng nguy cơ dương tính giả. Sẽ rất hữu ích nếu bạn kiểm tra lại sau khi đã xem xét các kết quả trước đó.

Đầu ra như sau:

[*] Tìm kiếm các quy trình ẩn thông qua so sánh kết quả của các lệnh gọi hệ thống, proc, dir và ps

Bạn có thể thấy một số quy trình tạm thời xuất hiện sau khi chạy quá trình quét này.

Phương pháp 6: Chạy quét ngược

Một kỹ thuật tuyệt vời để phát hiện ra rootkit liên quan đến việc xác minh tất cả các luồng ps. Nếu bạn chạy lệnh ps tại dấu nhắc CLI, thì bạn có thể thấy danh sách lệnh chạy từ một thiết bị đầu cuối. Quét ngược xác minh rằng từng luồng xử lý mà hình ảnh ps thể hiện các lệnh gọi hệ thống hợp lệ và có thể được tra cứu trong danh sách procfs. Đây là một cách tuyệt vời để đảm bảo rằng rootkit không giết chết thứ gì đó. Đơn giản chỉ cần gõ ngược sudo unhide để chạy kiểm tra này. Nó sẽ chạy cực kỳ nhanh chóng. Khi nó chạy, chương trình sẽ thông báo cho bạn rằng nó đang tìm kiếm các quy trình giả mạo.

Phương pháp 7: So sánh / bin / ps với lệnh gọi hệ thống

Cuối cùng, kiểm tra toàn diện nhất bao gồm việc so sánh tất cả thông tin từ danh sách / bin / ps với thông tin lấy từ các lệnh gọi hệ thống hợp lệ. Nhập sudo unhide sys để bắt đầu kiểm tra này. Nó có nhiều khả năng sẽ mất nhiều thời gian để chạy hơn những cái khác. Vì nó cung cấp rất nhiều dòng kết quả khác nhau, bạn có thể muốn sử dụng lệnh -f log-to-file để dễ dàng nhìn lại mọi thứ mà nó tìm thấy.

4 phút đọc