ГлавнаяОперационные системыLinuxКак запустить Nmap без рута или Sudo

Как запустить Nmap без рута или Sudo

Nmap, сокращение от Network Mapper, является одним из наиболее часто используемых портов и инструменты сетевого сканирования . Хотя некоторые основные функции Nmap можно запускать от имени непривилегированного/обычного пользователя, для использования большинства расширенных функций требуются права root или sudo.

Например, некоторые расширенные функции сканирования портов, такие как NULL, Stealth SYN Scan и многие другие, могут работать только с правами root, поскольку Nmap необходим доступ к необработанным пакетным данным, чтобы дать вам адекватные/полезные результаты.

Каждый раз, когда вы пытаетесь запустить такие расширенные функции без привилегий sudo, инструмент выводит сообщение «требуются права root».

Nmap требует root

К сожалению, использование sudo для запуска Nmap может быть проблематичным, особенно если вы не состоите в группе sudo.

К счастью, вы можете использовать возможности для запуска Nmap без привилегий root или sudo.

Также читайте: Как использовать Chroot в Linux и исправить сломанную систему

Что такое возможности?

Возможности Linux — это атрибуты ядра Linux, которые позволяют программам и процессам использовать привилегии, в противном случае зарезервированные для пользователя root.

По сути, возможности Linux разделяют полномочия или привилегии пользователя root, что позволяет непривилегированным процессам запускаться как привилегированные, что означает, что они не проходят проверку разрешений.

Существует множество возможностей Linux. Вы можете Узнайте больше о возможностях Linux на страницах руководства.

Суть этого руководства — показать вам, как использовать три возможности: CAP_NET_RAW,

Что такое возможности?

RVICE, чтобы предоставить Nmap привилегии, необходимые для запуска без проверки прав пользователя root.

Примечание. Будьте осторожны при настройке расширенных возможностей, так как злонамеренный пользователь может использовать механизм сценариев Nmap, чтобы получить доступ ко всем привилегиям sudo и использовать сценарии для использования уязвимостей локального хоста. Поэтому используйте эти настройки осторожно или ограничьте доступ Nmap к определенным группам.

Ниже приведены возможности Linux, которые мы предоставляем Nmap, чтобы устранить необходимость в разрешениях sudo и root.

  • CAP_NET_RAW: установка этой возможности позволяет процессу получать доступ и использовать необработанные пакетные данные и сокеты.
  • CAP_NET_ADMIN: эта возможность дает процессу возможность выполнять различные сетевые действия, такие как администрирование IP-брандмауэра, настройка интерфейса, установка типа службы TOS, изменение таблиц маршрутизации и т. д.
  • CAP_NET_BIND_SERVICE: Эта возможность привязывает сокет к привилегированным портам домена Интернета.

Возможности Linux назначаются в наборах «эффективные», «наследуемые», «разрешенные» и «окружающие» для потоков и файлов соответственно. Чтобы предоставить Nmap возможности, необходимые для работы без привилегий root или sudo, мы используем eip, что позволяет Nmap использовать эти возможности независимо от того, какой пользователь его запускает.

Шаг 1. Установите libcap

Чтобы настроить возможности Linux, вам необходимо установить пакет libcap. Этот пакет позволяет вам использовать команду setcap. Используйте команду:

sudo apt-get install libcap2-bin
Установить Либкап

Теперь, когда у нас установлена ​​libcap, мы можем использовать команду setcapдля изменения возможностей Linux.

Шаг 2. Установите возможности Nmap

Чтобы настроить возможности Nmap, которые позволят ему работать без привилегий пользователя root, выполните команду:

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

После того как вы установили возможности, вы можете убедиться, что они применены, с помощью команды getcap.

getcap $(which nmap)
Nmap Получить возможности

Примечание: обязательно укажите полный путь к папке установки Nmap.

Шаг 3. Запустите Nmap с флагом привилегий

Теперь, когда у нас установлены эти три возможности, мы можем запускать Nmap без привилегий sudo, используя флаг привилегий, чтобы сообщить Nmap, что у него есть эти возможности. Для этого выполните:

nmap --privileged -sS 192.168.0.112
Nmap без рута

Примечание. Вам необходимо использовать опцию --privileged, иначе Nmap не узнает, что у него есть эти привилегии.

Если вы хотите сэкономить время, необходимое для каждого ввода флага nmap --privileged, вы можете навсегда установить переменную среды NMAP_PRIVILEGED, добавив строку экспорта в:

  • ~/.xsessionrc: работает с большинством настольных/графических сред и наследуется оболочками и терминалами.
  • ~/.profile: это работает для оболочек, требующих входа в систему.
  • ~/.bashrc: работает для bash
  • ~/.gnomerc: работает только для GNOME

Подведение итогов

Большинство мет

Шаг 1. Установите libcap

жения хостов Nmap требуют привилегий root или sudo. Как обсуждалось в руководстве, вы можете переопределить эту функцию и запускать Nmap, не будучи пользователем root или не входя в группу sudoers. Ознакомьтесь с некоторыми из лучшие сканеры портов Linux , которые вы можете использовать.

Шаг 2. Установите возможности Nmap

Шаг 3. Запустите Nmap с флагом привилегий

Подведение итогов

ПОХОЖИЕ СТАТЬИ

Популярные записи