Comment exécuter Nmap sans racine ni Sudo

Comment exécuter Nmap sans racine ni Sudo

⌛ Reading Time: 4 minutes

Nmap, abréviation de Network Mapper, est l’un des outils de mappage de port et d’analyse réseau les plus utilisés. Bien qu’il soit possible d’exécuter certaines des fonctions de base de Nmap en tant qu’utilisateur non privilégié/normal, l’utilisation de la plupart de ses fonctionnalités avancées nécessite des privilèges root ou sudo.

Par exemple, certaines fonctionnalités avancées d’analyse de port telles que NULL, Stealth SYN Scan et bien d’autres ne peuvent fonctionner qu’avec les privilèges root car Nmap doit accéder aux données de paquets brutes pour vous donner des résultats adéquats/utilisables.

Chaque fois que vous essayez d’exécuter de telles fonctionnalités avancées sans privilèges sudo, l’outil vous demandera le message « requiert les privilèges root ».

Malheureusement, devoir utiliser sudo pour exécuter Nmap peut être problématique, surtout si vous n’êtes pas dans le groupe sudo.

Heureusement, vous pouvez utiliser des fonctionnalités pour exécuter Nmap sans privilèges root ou sudo.

Quelles sont les capacités ?

Les capacités Linux sont des attributs du noyau Linux qui permettent aux programmes et aux processus d’utiliser des privilèges autrement réservés à l’utilisateur root.

Essentiellement, les capacités Linux partagent les pouvoirs ou les privilèges de l’utilisateur root, ce qui permet aux processus non privilégiés de s’exécuter en tant que processus privilégiés, ce qui signifie qu’ils ne subissent pas de contrôles d’autorisation.

Il existe de nombreuses fonctionnalités Linux. Vous pouvez en savoir plus sur les capacités de Linux dans les pages de manuel.

L’essence de ce guide est de vous montrer comment utiliser trois capacités : CAP_NET_RAW, CAP_NET_ADMIN et CAP_NET_BIND_SERVICE pour donner à Nmap les privilèges dont il a besoin pour s’exécuter sans vérifier les autorisations de l’utilisateur root.

Noter: soyez prudent lorsque vous définissez des capacités élevées, car un utilisateur malveillant peut exploiter le moteur de script de Nmap pour accéder à tous les privilèges sudo et utiliser des scripts pour exploiter les vulnérabilités de l’hôte local. Par conséquent, utilisez ces paramètres avec précaution ou limitez l’accès de Nmap à des groupes spécifiques.

Voici les capacités Linux que nous accordons à Nmap pour supprimer le besoin d’autorisations sudo et root.

  • CAP_NET_RAW : La définition de cette capacité permet à un processus d’accéder et d’utiliser des données de paquets brutes et des sockets.
  • CAP_NET_ADMIN : cette capacité donne au processus la capacité d’effectuer diverses activités de réseau telles que l’administration du pare-feu IP, la configuration de l’interface, définir le type de service de TOS, modifier les tables de routage, etc.
  • CAP_NET_BIND_SERVICE : Cette capacité lie un socket aux ports privilégiés du domaine Internet.

Les capacités Linux sont attribuées dans des ensembles de « effectifs », « héritables », « autorisés » et « ambiants » pour les threads et les fichiers, respectivement. Pour donner à Nmap les capacités dont il a besoin pour s’exécuter sans les privilèges root ou sudo, nous utilisons eip, permettant ainsi à Nmap d’utiliser ces capacités quel que soit l’utilisateur qui l’exécute.

Étape 1 : Installer libcap

Pour définir les capacités de Linux, vous devez installer le package libcap. Ce package vous permet d’utiliser la commande setcap. Utilisez la commande :

Installer Libcap

Maintenant que libcap est installé, nous pouvons utiliser le setcap commande pour modifier les capacités de Linux.

Étape 2 : Définir les capacités Nmap

Pour définir les capacités de Nmap qui lui permettront de s’exécuter sans les privilèges d’utilisateur root, exécutez la commande :

Une fois que vous avez défini les capacités, vous pouvez vérifier qu’elles ont été appliquées en utilisant le getcap commander.

Nmap Obtenir des capacités

Noter: il est impératif de spécifier le chemin complet vers votre dossier d’installation Nmap.

Étape 3 : Exécutez Nmap avec l’indicateur de privilège

Maintenant que nous avons ces trois capacités définies, nous pouvons exécuter Nmap sans privilèges sudo en utilisant l’indicateur de privilège pour faire savoir à Nmap qu’il dispose de ces capacités. Pour ce faire, exécutez :

Nmap Noroot

Noter: vous devez utiliser le --privileged option, sinon Nmap ne saura pas qu’il a ces privilèges.

Si vous voulez gagner du temps pour saisir le nmap --privilegedflag à chaque fois, vous pouvez définir la variable d’environnement NMAP_PRIVILEGED de manière permanente en ajoutant la ligne d’exportation à :

  • ~/.xsessionrc : cela fonctionne avec la plupart des environnements de bureau/graphiques et est héritable par les shells et les terminaux.
  • ~/.profil : cela fonctionne pour les shells qui nécessitent une connexion
  • ~/.bashrc : fonctionne pour bash
  • ~/.gnomerc : ne fonctionne que pour GNOME

Emballer

La plupart des méthodes d’analyse de port Nmap et de découverte d’hôte nécessitent des privilèges root ou sudo. Comme indiqué dans le didacticiel, vous pouvez remplacer cette fonctionnalité et exécuter Nmap sans être root ou dans le groupe sudoers. Découvrez quelques-uns des meilleurs scanners de ports Linux que vous pouvez utiliser.

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.