macOS Network Services & Protocols
Last updated
Last updated
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
To są powszechne usługi macOS do zdalnego dostępu.
Możesz włączyć/wyłączyć te usługi w Ustawieniach systemowych
--> Udostępnianie
VNC, znane jako “Udostępnianie ekranu” (tcp:5900)
SSH, nazywane “Zdalnym logowaniem” (tcp:22)
Apple Remote Desktop (ARD), lub “Zarządzanie zdalne” (tcp:3283, tcp:5900)
AppleEvent, znane jako “Zdalne zdarzenie Apple” (tcp:3031)
Sprawdź, czy którakolwiek z nich jest włączona, uruchamiając:
Apple Remote Desktop (ARD) to ulepszona wersja Virtual Network Computing (VNC) dostosowana do macOS, oferująca dodatkowe funkcje. Znaczną podatnością w ARD jest metoda uwierzytelniania dla hasła ekranu kontrolnego, która wykorzystuje tylko pierwsze 8 znaków hasła, co czyni ją podatną na atak siłowy za pomocą narzędzi takich jak Hydra lub GoRedShell, ponieważ nie ma domyślnych limitów szybkości.
Podatne instancje można zidentyfikować za pomocą skryptu vnc-info
w nmap. Usługi wspierające VNC Authentication (2)
są szczególnie podatne na ataki siłowe z powodu skrócenia hasła do 8 znaków.
Aby włączyć ARD do różnych zadań administracyjnych, takich jak eskalacja uprawnień, dostęp GUI lub monitorowanie użytkowników, użyj następującego polecenia:
ARD zapewnia wszechstronne poziomy kontroli, w tym obserwację, wspólną kontrolę i pełną kontrolę, z sesjami utrzymującymi się nawet po zmianach hasła użytkownika. Umożliwia wysyłanie poleceń Unix bezpośrednio, wykonując je jako root dla użytkowników administracyjnych. Planowanie zadań i zdalne wyszukiwanie Spotlight to istotne funkcje, ułatwiające zdalne, niskoodporne wyszukiwania wrażliwych plików na wielu maszynach.
Bonjour, technologia zaprojektowana przez Apple, pozwala urządzeniom w tej samej sieci na wykrywanie oferowanych przez siebie usług. Znana również jako Rendezvous, Zero Configuration lub Zeroconf, umożliwia urządzeniu dołączenie do sieci TCP/IP, automatyczne wybieranie adresu IP i nadawanie swoich usług innym urządzeniom w sieci.
Zero Configuration Networking, zapewniane przez Bonjour, gwarantuje, że urządzenia mogą:
Automatycznie uzyskać adres IP nawet w przypadku braku serwera DHCP.
Wykonywać tłumaczenie nazwy na adres bez potrzeby posiadania serwera DNS.
Odkrywać usługi dostępne w sieci.
Urządzenia korzystające z Bonjour przypisują sobie adres IP z zakresu 169.254/16 i weryfikują jego unikalność w sieci. Maci utrzymują wpis w tabeli routingu dla tej podsieci, co można zweryfikować za pomocą netstat -rn | grep 169
.
Dla DNS Bonjour wykorzystuje protokół Multicast DNS (mDNS). mDNS działa na porcie 5353/UDP, stosując standardowe zapytania DNS, ale kierując je na adres multicast 224.0.0.251. Takie podejście zapewnia, że wszystkie nasłuchujące urządzenia w sieci mogą odbierać i odpowiadać na zapytania, ułatwiając aktualizację swoich rekordów.
Po dołączeniu do sieci każde urządzenie samodzielnie wybiera nazwę, zazwyczaj kończącą się na .local, która może pochodzić z nazwy hosta lub być generowana losowo.
Odkrywanie usług w sieci ułatwia DNS Service Discovery (DNS-SD). Wykorzystując format rekordów DNS SRV, DNS-SD używa rekordów DNS PTR do umożliwienia listowania wielu usług. Klient poszukujący konkretnej usługi zażąda rekordu PTR dla <Service>.<Domain>
, otrzymując w zamian listę rekordów PTR sformatowanych jako <Instance>.<Service>.<Domain>
, jeśli usługa jest dostępna z wielu hostów.
Narzędzie dns-sd
może być używane do odkrywania i ogłaszania usług sieciowych. Oto kilka przykładów jego użycia:
Aby wyszukać usługi SSH w sieci, używa się następującego polecenia:
To polecenie inicjuje przeszukiwanie usług _ssh._tcp i wyświetla szczegóły, takie jak znacznik czasu, flagi, interfejs, domena, typ usługi i nazwa instancji.
Aby zareklamować usługę HTTP, możesz użyć:
Ten polecenie rejestruje usługę HTTP o nazwie "Index" na porcie 80 z ścieżką /index.html
.
Aby następnie wyszukać usługi HTTP w sieci:
Kiedy usługa się uruchamia, ogłasza swoją dostępność wszystkim urządzeniom w podsieci, multicastując swoją obecność. Urządzenia zainteresowane tymi usługami nie muszą wysyłać żądań, wystarczy, że po prostu nasłuchują tych ogłoszeń.
Dla bardziej przyjaznego interfejsu, aplikacja Discovery - DNS-SD Browser dostępna w Apple App Store może wizualizować usługi oferowane w twojej lokalnej sieci.
Alternatywnie, można napisać niestandardowe skrypty do przeglądania i odkrywania usług za pomocą biblioteki python-zeroconf
. Skrypt python-zeroconf demonstruje tworzenie przeglądarki usług dla usług _http._tcp.local.
, drukując dodane lub usunięte usługi:
Jeśli istnieją obawy dotyczące bezpieczeństwa lub inne powody, aby wyłączyć Bonjour, można to zrobić za pomocą następującego polecenia:
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)