Computer >> Máy Tính >  >> Hệ thống >> Linux

Cách chạy Nmap mà không cần Root hoặc Sudo

Cách chạy Nmap mà không cần Root hoặc Sudo

Nmap, viết tắt của Network Mapper, là một trong những công cụ quét mạng và portmapper được sử dụng nhiều nhất. Mặc dù có thể chạy một số chức năng cơ bản của Nmap với tư cách là người dùng không có đặc quyền / bình thường, nhưng việc sử dụng hầu hết các tính năng nâng cao của nó yêu cầu đặc quyền root hoặc sudo.

Ví dụ:một số tính năng quét cổng nâng cao như NULL, Stealth SYN Scan và nhiều tính năng khác chỉ có thể hoạt động với đặc quyền root vì Nmap cần truy cập dữ liệu gói thô để cung cấp cho bạn kết quả phù hợp / có thể sử dụng được.

Bất cứ khi nào bạn cố gắng chạy các tính năng nâng cao như vậy mà không có đặc quyền sudo, công cụ sẽ nhắc bạn với thông báo "yêu cầu đặc quyền root".

Cách chạy Nmap mà không cần Root hoặc Sudo

Thật không may, việc sử dụng sudo để chạy Nmap có thể là một vấn đề, đặc biệt nếu bạn không thuộc nhóm sudo.

May mắn thay, bạn có thể sử dụng các khả năng để chạy Nmap mà không cần quyền root hoặc sudo.

Khả năng là gì?

Khả năng của Linux là các thuộc tính của nhân Linux cho phép các chương trình và quy trình sử dụng các đặc quyền dành riêng cho người dùng gốc.

Về bản chất, các khả năng của Linux chia sẻ quyền hạn hoặc đặc quyền của người dùng gốc, giúp các quy trình không có đặc quyền có thể chạy như những quy trình đặc quyền, có nghĩa là chúng không trải qua kiểm tra quyền.

Có rất nhiều khả năng của Linux. Bạn có thể tìm hiểu thêm về các khả năng của Linux trong các trang hướng dẫn.

Bản chất của hướng dẫn này là chỉ cho bạn cách sử dụng ba khả năng:CAP_NET_RAW, CAP_NET_ADMIN và CAP_NET_BIND_SERVICE để cấp cho Nmap các đặc quyền mà nó cần để chạy mà không cần kiểm tra quyền của người dùng root.

Lưu ý: hãy thận trọng khi thiết lập các khả năng nâng cao, vì người dùng độc hại có thể khai thác Nmap’s Scripting Engine để có quyền truy cập vào các đặc quyền sudo đầy đủ và sử dụng các tập lệnh để khai thác các lỗ hổng trên máy chủ cục bộ. Do đó, hãy sử dụng các cài đặt này một cách cẩn thận hoặc hạn chế quyền truy cập của Nmap vào các nhóm cụ thể.

Sau đây là các khả năng của Linux mà chúng tôi cấp cho Nmap để loại bỏ nhu cầu về quyền sudo và quyền root.

  • CAP_NET_RAW: thiết lập khả năng này cho phép một quy trình truy cập và sử dụng dữ liệu gói thô và ổ cắm.
  • CAP_NET_ADMIN: khả năng này cung cấp cho quá trình khả năng thực hiện các hoạt động mạng khác nhau như quản trị tường lửa IP, cấu hình giao diện, đặt loại dịch vụ của TOS, thay đổi bảng định tuyến, v.v.
  • CAP_NET_BIND_SERVICE: Khả năng này liên kết một ổ cắm với các cổng đặc quyền của miền Internet.

Các khả năng của Linux được chỉ định theo các tập hợp tương ứng là “hiệu quả”, “có thể kế thừa”, “được phép” và “môi trường xung quanh” cho các luồng và tệp. Để cung cấp cho Nmap các khả năng nó cần để chạy mà không có đặc quyền root hoặc sudo, chúng tôi đang sử dụng eip , do đó cho phép Nmap sử dụng các khả năng này bất kể người dùng nào chạy nó.

Bước 1:Cài đặt libcap

Để thiết lập các khả năng của Linux, bạn cần cài đặt gói libcap. Gói này cho phép bạn sử dụng lệnh setcap. Sử dụng lệnh:

sudo apt-get install libcap2-bin
Cách chạy Nmap mà không cần Root hoặc Sudo

Bây giờ chúng ta đã cài đặt libcap, chúng ta có thể sử dụng setcap lệnh sửa đổi các khả năng của Linux.

Bước 2:Đặt khả năng Nmap

Để đặt các khả năng của Nmap sẽ cho phép nó chạy mà không có đặc quyền của người dùng root, hãy thực thi lệnh:

sudo setcap cap_net_raw,cap_net_admin,cap_net_bind_service+eip $(which nmap)

Sau khi đặt các khả năng, bạn có thể xác minh chúng đã được áp dụng bằng cách sử dụng getcap lệnh.

getcap $(which nmap)
Cách chạy Nmap mà không cần Root hoặc Sudo

Lưu ý: bắt buộc phải chỉ định đường dẫn đầy đủ đến thư mục cài đặt Nmap của bạn.

Bước 3:Chạy Nmap với cờ đặc quyền

Bây giờ chúng ta đã thiết lập ba khả năng này, chúng ta có thể chạy Nmap mà không có đặc quyền sudo bằng cách sử dụng cờ đặc quyền để cho Nmap biết rằng nó có những khả năng này. Để làm điều đó, hãy thực thi:

nmap --privileged -sS 192.168.0.112
Cách chạy Nmap mà không cần Root hoặc Sudo

Lưu ý :Bạn phải sử dụng --privileged , nếu không Nmap sẽ không biết rằng nó có những đặc quyền này.

Nếu bạn muốn tiết kiệm thời gian nhập nmap --privileged gắn cờ mọi lúc, bạn có thể đặt vĩnh viễn biến môi trường NMAP_PRIVILEGED bằng cách thêm dòng xuất vào:

  • ~ / .xsessionrc: điều này hoạt động với hầu hết các môi trường máy tính để bàn / đồ họa và có thể kế thừa bởi shell và terminal.
  • ~ / .profile: điều này hoạt động cho các trình bao yêu cầu đăng nhập
  • ~ / .bashrc: hoạt động cho bash
  • ~ / .gnomerc: chỉ hoạt động cho GNOME

Kết thúc

Hầu hết các phương pháp quét cổng Nmap và phát hiện máy chủ đều yêu cầu quyền root hoặc sudo. Như đã thảo luận trong hướng dẫn, bạn có thể ghi đè chức năng này và chạy Nmap mà không cần root hoặc trong nhóm sudoers. Hãy xem một số trình quét cổng Linux tốt nhất mà bạn có thể sử dụng.