So führen Sie Nmap ohne Root oder Sudo aus

Nmap
⏱️ 5 min read

Nmap, kurz für Network Mapper, ist eines der am häufigsten verwendeten Portmapper- und Netzwerk-Scan-Tools. Während es möglich ist, einige der Grundfunktionen von Nmap als unprivilegierter/normaler Benutzer auszuführen, erfordert die Nutzung der meisten erweiterten Funktionen root- oder sudo-Rechte.

Beispielsweise können einige erweiterte Port-Scanning-Funktionen wie NULL, Stealth SYN Scan und viele andere nur mit Root-Rechten funktionieren, da Nmap auf Rohpaketdaten zugreifen muss, um Ihnen angemessene/brauchbare Ergebnisse zu liefern.

Immer wenn Sie versuchen, solche erweiterten Funktionen ohne sudo-Berechtigungen auszuführen, fordert Sie das Tool mit der Meldung „Erfordert Root-Berechtigungen“ auf.

Nmap erfordert Root

Leider kann es problematisch sein, sudo zum Ausführen von Nmap verwenden zu müssen, insbesondere wenn Sie nicht in der sudo-Gruppe sind.

Glücklicherweise können Sie Funktionen verwenden, um Nmap ohne Root- oder Sudo-Rechte auszuführen.

Was sind Fähigkeiten?

Linux-Fähigkeiten sind Linux-Kernel-Attribute, die es Programmen und Prozessen ermöglichen, Privilegien zu nutzen, die ansonsten dem Root-Benutzer vorbehalten sind.

Im Wesentlichen teilen sich die Linux-Funktionen die Befugnisse oder Privilegien von Root-Benutzern, sodass unprivilegierte Prozesse als privilegierte ausgeführt werden können, was bedeutet, dass sie keiner Berechtigungsprüfung unterzogen werden.

Es gibt zahlreiche Linux-Fähigkeiten. Du kannst Erfahren Sie mehr über die Linux-Fähigkeiten in den Manpages.

Der Kern dieses Handbuchs besteht darin, Ihnen zu zeigen, wie Sie drei Funktionen verwenden: CAP_NET_RAW, CAP_NET_ADMIN und CAP_NET_BIND_SERVICE, um Nmap die Berechtigungen zu geben, die es zum Ausführen benötigt, ohne nach Root-Benutzerberechtigungen zu suchen.

Notiz: Seien Sie vorsichtig, wenn Sie erweiterte Funktionen festlegen, da ein böswilliger Benutzer die Skript-Engine von Nmap ausnutzen kann, um Zugriff auf vollständige sudo-Berechtigungen zu erhalten, und Skripte verwenden kann, um lokale Host-Schwachstellen auszunutzen. Verwenden Sie diese Einstellungen daher mit Bedacht oder beschränken Sie den Zugriff von Nmap auf bestimmte Gruppen.

Die folgenden Linux-Fähigkeiten gewähren wir Nmap, um die Notwendigkeit von sudo- und Root-Berechtigungen zu beseitigen.

  • CAP_NET_RAW: Durch das Setzen dieser Funktion kann ein Prozess auf rohe Paketdaten und Sockets zugreifen und diese verwenden.
  • CAP_NET_ADMIN: Diese Fähigkeit gibt dem Prozess die Möglichkeit, verschiedene Netzwerkaktivitäten wie IP-Firewall-Administration, Schnittstellenkonfiguration, Festlegen des Diensttyps von TOS, Ändern von Routing-Tabellen usw. durchzuführen.
  • CAP_NET_BIND_SERVICE: Diese Funktion bindet einen Socket an privilegierte Ports der Internetdomäne.

Linux-Fähigkeiten werden Threads bzw. Dateien in Sätzen von „effektiv“, „vererbbar“, „erlaubt“ und „Umgebung“ zugewiesen. Um Nmap die Fähigkeiten zu geben, die es benötigt, um ohne Root- oder Sudo-Rechte zu laufen, verwenden wir eipwodurch Nmap diese Fähigkeiten nutzen kann, unabhängig davon, welcher Benutzer es ausführt.

Schritt 1: Installieren Sie libcap

Um Linux-Funktionen einzustellen, müssen Sie das libcap-Paket installieren. Mit diesem Paket können Sie den Befehl setcap verwenden. Verwenden Sie den Befehl:

sudo apt-get install libcap2-bin
Installieren Sie Libcap

Nachdem wir libcap installiert haben, können wir die verwenden setcap Befehl zum Ändern der Linux-Funktionen.

Schritt 2: Stellen Sie die Nmap-Fähigkeiten ein

Führen Sie den folgenden Befehl aus, um die Nmap-Funktionen festzulegen, mit denen es ohne Root-Benutzerrechte ausgeführt werden kann:

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

Nachdem Sie die Funktionen festgelegt haben, können Sie überprüfen, ob sie angewendet wurden, indem Sie die verwenden getcap Befehl.

getcap $(which nmap)
Nmap Get-Fähigkeiten

Notiz: Es ist zwingend erforderlich, den vollständigen Pfad zu Ihrem Nmap-Installationsordner anzugeben.

Schritt 3: Führen Sie Nmap mit dem Privileg-Flag aus

Nachdem wir diese drei Fähigkeiten eingestellt haben, können wir Nmap ohne sudo-Rechte ausführen, indem wir das Privileg-Flag verwenden, um Nmap wissen zu lassen, dass es diese Fähigkeiten hat. Führen Sie dazu Folgendes aus:

nmap --privileged -sS 192.168.0.112
Nmap Noroot

Notiz: Sie müssen die verwenden --privileged Option, sonst weiß Nmap nicht, dass es diese Privilegien hat.

Wenn Sie die Zeit sparen möchten, die zum Eintippen der nmap --privilegedFlag jedes Mal, können Sie die Umgebungsvariable NMAP_PRIVILEGED dauerhaft setzen, indem Sie die Exportzeile hinzufügen zu:

  • ~/.xsessionrc: Dies funktioniert mit den meisten Desktop-/Grafikumgebungen und ist von Shells und Terminals vererbbar.
  • ~/.profil: Dies funktioniert für Shells, die eine Anmeldung erfordern
  • ~/.bashrc: funktioniert für bash
  • ~/.gnomerc: funktioniert nur für GNOME

Einpacken

Die meisten Nmap-Port-Scanning- und Host-Discovery-Methoden erfordern root- oder sudo-Berechtigungen. Wie im Tutorial besprochen, können Sie diese Funktionalität überschreiben und Nmap ausführen, ohne ein Root oder in der Gruppe sudoers zu sein. Sehen Sie sich einige der besten Linux-Port-Scanner an, die Sie verwenden können.

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.

Das könnte dich auch interessieren …

Abonnieren
Benachrichtige mich bei
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x