Como executar o Nmap sem Root ou Sudo

Nmap
⏱️ 5 min read

Nmap, abreviação de Network Mapper, é uma das ferramentas de mapeamento de portas e rede mais usadas. Embora seja possível executar algumas das funções básicas do Nmap como um usuário normal/sem privilégios, usar a maioria de seus recursos avançados requer privilégios de root ou sudo.

Por exemplo, alguns recursos avançados de varredura de portas como NULL, Stealth SYN Scan e muitos outros só podem funcionar com privilégios de root porque o Nmap precisa acessar dados de pacotes brutos para fornecer resultados adequados/utilizáveis.

Sempre que você tentar executar esses recursos avançados sem privilégios sudo, a ferramenta solicitará a mensagem “requer privilégios de root”.

Nmap Requer Raiz

Infelizmente, ter que usar o sudo para executar o Nmap pode ser problemático, especialmente se você não estiver no grupo sudo.

Felizmente, você pode usar recursos para executar o Nmap sem privilégios de root ou sudo.

O que são capacidades?

Os recursos do Linux são atributos do kernel do Linux que permitem que programas e processos utilizem privilégios de outra forma reservados para o usuário root.

Em essência, os recursos do Linux compartilham poderes ou privilégios de usuário root, possibilitando que processos sem privilégios sejam executados como privilegiados, o que significa que eles não passam por verificações de permissão.

Existem vários recursos do Linux. Você pode saiba mais sobre os recursos do Linux nas páginas man.

A essência deste guia é mostrar a você como usar três recursos: CAP_NET_RAW, CAP_NET_ADMIN e CAP_NET_BIND_SERVICE para dar ao Nmap os privilégios que ele precisa para rodar sem verificar as permissões do usuário root.

Observação: seja cauteloso ao definir recursos elevados, pois um usuário mal-intencionado pode explorar o mecanismo de script do Nmap para obter acesso a privilégios sudo completos e usar scripts para explorar vulnerabilidades do host local. Portanto, use essas configurações com cuidado ou restrinja o acesso do Nmap a grupos específicos.

A seguir estão os recursos do Linux que concedemos ao Nmap para remover a necessidade de permissões sudo e root.

  • CAP_NET_RAW: configurar esse recurso permite que um processo acesse e use dados de pacote brutos e soquetes.
  • CAP_NET_ADMIN: essa capacidade dá ao processo a capacidade de executar várias atividades de rede, como administração de firewall IP, configuração de interface, definir tipo de serviço de TOS, alterar tabelas de roteamento, etc.
  • CAP_NET_BIND_SERVICE: Esse recurso vincula um soquete a portas privilegiadas de domínio da Internet.

Os recursos do Linux são atribuídos em conjuntos de “efetivos”, “herdáveis”, “permitidos” e “ambientes” para threads e arquivos, respectivamente. Para dar ao Nmap os recursos necessários para rodar sem privilégios de root ou sudo, estamos usando eippermitindo assim que o Nmap use esses recursos independentemente de qual usuário o executa.

Passo 1: Instale o libcap

Para definir os recursos do Linux, você precisa instalar o pacote libcap. Este pacote permite que você use o comando setcap. Use o comando:

sudo apt-get install libcap2-bin
Instalar Libcap

Agora que temos o libcap instalado, podemos usar o setcap comando para modificar os recursos do Linux.

Etapa 2: definir os recursos do Nmap

Para definir os recursos do Nmap que permitirão que ele seja executado sem privilégios de usuário root, execute o comando:

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

Depois de definir os recursos, você pode verificar se eles foram aplicados usando o getcap comando.

getcap $(which nmap)
Recursos de obtenção do Nmap

Observação: é imperativo especificar o caminho completo para a pasta de instalação do Nmap.

Etapa 3: Execute o Nmap com o sinalizador de privilégio

Agora que temos esses três recursos definidos, podemos executar o Nmap sem privilégios sudo usando o sinalizador de privilégio para informar ao Nmap que ele possui esses recursos. Para isso, execute:

nmap --privileged -sS 192.168.0.112
Nmap Noroot

Observação: Você tem que usar o --privileged opção, caso contrário o Nmap não saberá que tem esses privilégios.

Se você quiser economizar o tempo que leva para digitar o nmap --privilegedsinalizar sempre, você pode definir a variável de ambiente NMAP_PRIVILEGED permanentemente adicionando a linha de exportação a:

  • ~/.xsessionrc: isso funciona com a maioria dos ambientes de desktop/gráficos e é herdado por shells e terminais.
  • ~/.perfil: isso funciona para shells que exigem login
  • ~/.bashrc: funciona para bash
  • ~/.gnomerc: só funciona para GNOME

Empacotando

A maioria dos métodos de varredura de porta Nmap e descoberta de host requerem privilégios de root ou sudo. Conforme discutido no tutorial, você pode substituir essa funcionalidade e executar o Nmap sem ser um root ou no grupo sudoers. Confira alguns dos melhores scanners de portas Linux que você pode usar.

Join our Newsletter and receive offers and updates! ✅

0 0 votes
Article Rating
Avatar of Routech

Routech

Routech is a website that provides technology news, reviews and tips. It covers a wide range of topics including smartphones, laptops, tablets, gaming, gadgets, software, internet and more. The website is updated daily with new articles and videos, and also has a forum where users can discuss technology-related topics.

Você pode gostar...

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x