Выполнение Nmap на Ubuntu

Я запускаю скрипт Python, который выполняет nmap на данном наборе параметров. Точка должна автоматизировать это так, я не должен взаимодействовать с cli вообще. Каждый раз, когда я запускаю свой скрипт, мне предлагают с сообщением об ошибке:

 'You requested a scan type which requires root priveleges.\nQUITTING!\n'

Я понимаю, что могу поместить "sudo" перед своей командой, но цель моего сценария не состоит в том, чтобы взаимодействовать с cli вообще. Я дал владение сценария моему пользователю, но все еще имейте ту же ошибку. Существует ли путь, которым я могу выполнить nmap как суперпользователь каждый раз, не имея необходимость давать команду sudo? Вся справка ценится!

3
задан 9 August 2017 в 18:12

2 ответа

Nmap требует корневых полномочий для многих вещей (см. ниже). Из-за этого заманчиво использовать различные схемы (sudo NOPASSWD, setuid, и т.д.), чтобы позволить пользователям выполнять его, не обеспечивая пароль root. Но это чрезвычайно опасно , так как это тривиально для использования Nmap для запуска любой другой команды или оболочки. Например: nmap --script <(echo 'os.execute("/bin/sh")')

, К счастью, Nmap имеет экспериментальная поддержка поддержки Linux . Путем установки Nmap с CAP_NET_RAW, CAP_NET_ADMIN, и CAP_NET_BIND_SERVICE возможности, можно более безопасно позволить непривилегированным пользователям выполнять его. Сам Nmap не может обнаружить, что имеет эти возможности, таким образом, необходимо использовать --privileged опция сообщить ему, чтобы попытаться использовать их независимо от UID. Больше обсуждения доступно в ссылке выше.

<час>

Nmap требует корневых полномочий для всего кроме:

  • сканирование Подключения TCP (-sT)
  • определение имен обратного DNS
  • исследование Хоста ("ping") методы за исключением Подключения TCP (-PS)
  • Версия службы и Обнаружение Версии приложения (-sV)
  • Большинство сценариев Механизма выполнения сценариев Nmap (NSE)
2
ответ дан 1 December 2019 в 16:54

Одно решение состояло бы в том, чтобы добавить, что определенная команда к sudoers файл,

Cmnd_Alias    NMAP = /path/to/nmap, /path/to/script

username      ALL=(ALL:ALL) NOPASSWD: NMAP

Что-то вдоль этой строки позволит Вам написать сценарий Вашего sudo команды, но не должными быть вводить пароль для той команды конкретно. Вы могли принять решение просто сделать это для того сценария / пользовательская комбинация так, чтобы все в сценарии было выполнено как корень, или Вы могли сделать это для эти nmap команда и иметь многих sudo записи в Вашем сценарии.

Выбор Ваш яд...

0
ответ дан 1 December 2019 в 16:54

Другие вопросы по тегам:

Похожие вопросы: