macOS Network Services & Protocols
Last updated
Last updated
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Dies sind die gängigen macOS-Dienste, um remote darauf zuzugreifen.
Sie können diese Dienste in Systemeinstellungen
--> Freigabe
aktivieren/deaktivieren.
VNC, bekannt als „Bildschirmfreigabe“ (tcp:5900)
SSH, genannt „Remote-Login“ (tcp:22)
Apple Remote Desktop (ARD), oder „Remote-Management“ (tcp:3283, tcp:5900)
AppleEvent, bekannt als „Remote Apple Event“ (tcp:3031)
Überprüfen Sie, ob einer aktiviert ist, indem Sie Folgendes ausführen:
Apple Remote Desktop (ARD) ist eine erweiterte Version von Virtual Network Computing (VNC), die für macOS maßgeschneidert ist und zusätzliche Funktionen bietet. Eine bemerkenswerte Schwachstelle in ARD ist die Authentifizierungsmethode für das Passwort des Steuerbildschirms, die nur die ersten 8 Zeichen des Passworts verwendet, was es anfällig für Brute-Force-Angriffe mit Tools wie Hydra oder GoRedShell macht, da es keine standardmäßigen Ratenlimits gibt.
Anfällige Instanzen können mit dem vnc-info
-Skript von nmap identifiziert werden. Dienste, die VNC Authentication (2)
unterstützen, sind aufgrund der Trunkierung des Passworts auf 8 Zeichen besonders anfällig für Brute-Force-Angriffe.
Um ARD für verschiedene administrative Aufgaben wie Privilegieneskalation, GUI-Zugriff oder Benutzerüberwachung zu aktivieren, verwenden Sie den folgenden Befehl:
ARD bietet vielseitige Kontrollstufen, einschließlich Beobachtung, gemeinsamer Kontrolle und vollständiger Kontrolle, wobei Sitzungen auch nach Änderungen des Benutzerpassworts bestehen bleiben. Es ermöglicht das Senden von Unix-Befehlen direkt und deren Ausführung als Root für administrative Benutzer. Aufgabenplanung und Remote Spotlight-Suche sind bemerkenswerte Funktionen, die entfernte, ressourcenschonende Suchen nach sensiblen Dateien auf mehreren Maschinen erleichtern.
Bonjour, eine von Apple entwickelte Technologie, ermöglicht es Geräten im selben Netzwerk, die angebotenen Dienste gegenseitig zu erkennen. Auch bekannt als Rendezvous, Zero Configuration oder Zeroconf, ermöglicht es einem Gerät, einem TCP/IP-Netzwerk beizutreten, automatisch eine IP-Adresse auszuwählen und seine Dienste an andere Netzwerkgeräte zu übertragen.
Zero Configuration Networking, bereitgestellt von Bonjour, stellt sicher, dass Geräte:
Automatisch eine IP-Adresse erhalten können, selbst in Abwesenheit eines DHCP-Servers.
Namens-zu-Adresse-Übersetzung durchführen können, ohne einen DNS-Server zu benötigen.
Dienste im Netzwerk entdecken können.
Geräte, die Bonjour verwenden, weisen sich selbst eine IP-Adresse aus dem Bereich 169.254/16 zu und überprüfen deren Einzigartigkeit im Netzwerk. Macs führen einen Routingtabelleneintrag für dieses Subnetz, der über netstat -rn | grep 169
überprüft werden kann.
Für DNS verwendet Bonjour das Multicast DNS (mDNS)-Protokoll. mDNS arbeitet über Port 5353/UDP und verwendet Standard-DNS-Abfragen, die jedoch an die Multicast-Adresse 224.0.0.251 gerichtet sind. Dieser Ansatz stellt sicher, dass alle hörenden Geräte im Netzwerk die Abfragen empfangen und darauf reagieren können, was die Aktualisierung ihrer Einträge erleichtert.
Beim Beitritt zum Netzwerk wählt sich jedes Gerät selbst einen Namen, der typischerweise mit .local endet und entweder vom Hostnamen abgeleitet oder zufällig generiert wird.
Die Dienstentdeckung im Netzwerk wird durch DNS Service Discovery (DNS-SD) erleichtert. Unter Verwendung des Formats von DNS SRV-Einträgen verwendet DNS-SD DNS PTR-Einträge, um die Auflistung mehrerer Dienste zu ermöglichen. Ein Client, der einen bestimmten Dienst sucht, fordert einen PTR-Eintrag für <Service>.<Domain>
an und erhält im Gegenzug eine Liste von PTR-Einträgen im Format <Instance>.<Service>.<Domain>
, wenn der Dienst von mehreren Hosts verfügbar ist.
Das dns-sd
-Dienstprogramm kann verwendet werden, um Netzwerkdienste zu entdecken und zu bewerben. Hier sind einige Beispiele für seine Verwendung:
Um nach SSH-Diensten im Netzwerk zu suchen, wird der folgende Befehl verwendet:
Dieser Befehl initiiert das Browsen nach _ssh._tcp-Diensten und gibt Details wie Zeitstempel, Flags, Schnittstelle, Domäne, Diensttyp und Instanznamen aus.
Um einen HTTP-Dienst zu bewerben, können Sie Folgendes verwenden:
Dieser Befehl registriert einen HTTP-Dienst namens "Index" auf Port 80 mit einem Pfad von /index.html
.
Um dann nach HTTP-Diensten im Netzwerk zu suchen:
Wenn ein Dienst startet, kündigt er seine Verfügbarkeit für alle Geräte im Subnetz an, indem er seine Präsenz multicastet. Geräte, die an diesen Diensten interessiert sind, müssen keine Anfragen senden, sondern einfach auf diese Ankündigungen hören.
Für eine benutzerfreundlichere Oberfläche kann die Discovery - DNS-SD Browser App, die im Apple App Store verfügbar ist, die angebotenen Dienste in Ihrem lokalen Netzwerk visualisieren.
Alternativ können benutzerdefinierte Skripte geschrieben werden, um Dienste mit der python-zeroconf
Bibliothek zu durchsuchen und zu entdecken. Das python-zeroconf Skript demonstriert die Erstellung eines Dienstebrowsers für _http._tcp.local.
Dienste, der hinzugefügte oder entfernte Dienste ausgibt:
Wenn Bedenken hinsichtlich der Sicherheit bestehen oder aus anderen Gründen Bonjour deaktiviert werden soll, kann es mit dem folgenden Befehl ausgeschaltet werden:
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)