Eskalacja uprawnień to wykorzystanie przez atakującego dotychczasowych uprawnień konta w celu uzyskania dodatkowego, zwykle wyższego poziomu dostępu do systemu. Podczas gdy eskalacja uprawnień może być wynikiem wykorzystania luk dnia zerowego lub pracy pierwszorzędnych hakerów przeprowadzających ukierunkowany atak lub dobrze zamaskowanego złośliwego oprogramowania, najczęściej jest to spowodowane błędną konfiguracją komputera lub konta. Rozwijając atak dalej, napastnicy wykorzystują szereg pojedynczych luk, które łącznie mogą doprowadzić do katastrofalnego w skutkach wycieku danych.
Dlaczego użytkownicy nie powinni mieć uprawnień administratora lokalnego?
Jeśli jesteś specjalistą ds. bezpieczeństwa, może wydawać się oczywiste, że użytkownicy nie powinni mieć uprawnień administratora lokalnego, ponieważ:
- Sprawia, że ich konta są bardziej podatne na różne ataki
- Sprawia, że te same ataki są znacznie ostrzejsze
Niestety dla wielu organizacji wciąż jest to kwestia bardzo kontrowersyjna i czasami towarzyszą jej gorące dyskusje (patrz np.
Krok 1Odwróć rozpoznawanie DNS za pomocą PowerShell
Domyślnie PowerShell jest instalowany na wielu lokalnych stacjach roboczych i na większości serwerów Windows. I choć nie bez przesady uważa się go za niezwykle przydatne narzędzie do automatyzacji i kontroli, równie dobrze potrafi przekształcić się w prawie niewidoczny
W naszym przypadku atakujący rozpoczyna rekonesans sieci za pomocą skryptu PowerShell, kolejno iterując po sieciowej przestrzeni adresowej IP, próbując ustalić, czy dany adres IP odpowiada hostowi, a jeśli tak, to jaka jest nazwa sieciowa tego hosta.
Istnieje wiele sposobów wykonania tego zadania, ale przy użyciu polecenia cmdlet
import-module activedirectory Get-ADComputer -property * -filter { ipv4address -eq ‘10.10.10.10’}
Jeśli prędkość w dużych sieciach stanowi problem, można użyć wywołania zwrotnego DNS:
[System.Net.Dns]::GetHostEntry(‘10.10.10.10’).HostName
Ta metoda wyświetlania hostów w sieci jest bardzo popularna, ponieważ większość sieci nie stosuje modelu bezpieczeństwa o zerowym zaufaniu i nie monitoruje wewnętrznych zapytań DNS pod kątem podejrzanych impulsów aktywności.
Krok 2: Wybierz cel
Końcowym rezultatem tego kroku jest uzyskanie listy nazw hostów serwerów i stacji roboczych, których można użyć do kontynuowania ataku.
Od tego czasu serwer „HUB-FILER” wydaje się godnym celem z biegiem czasu serwery plików z reguły gromadzą dużą liczbę folderów sieciowych i nadmierny dostęp do nich przez zbyt wiele osób.
Przeglądanie za pomocą Eksploratora Windows pozwala nam wykryć obecność otwartego folderu współdzielonego, ale nasze obecne konto nie może uzyskać do niego dostępu (prawdopodobnie mamy tylko uprawnienia do wyświetlania).
Krok 3: Naucz się list ACL
Teraz na naszym hoście i udziale docelowym HUB-FILER możemy uruchomić skrypt PowerShell, aby uzyskać listę ACL. Możemy to zrobić z komputera lokalnego, ponieważ mamy już uprawnienia lokalnego administratora:
(get-acl hub-filershare).access | ft IdentityReference,FileSystemRights,AccessControlType,IsInherited,InheritanceFlags –auto
Wynik wykonania:
Z niego widzimy, że grupa Użytkownicy domeny ma dostęp tylko do wpisu, ale grupa Helpdesk ma również prawo do zmiany.
Krok 4: Identyfikacja konta
Działanie
Get-ADGroupMember -identity Helpdesk
Na tej liście widzimy konto komputera, które już zidentyfikowaliśmy i do którego już uzyskaliśmy dostęp:
Krok 5: Użyj PSExec, aby uruchomić jako konto komputera
PsExec.exe -s -i cmd.exe
Cóż, wtedy masz pełny dostęp do folderu docelowego HUB-FILERshareHR, ponieważ pracujesz w kontekście konta komputera HUB-SHAREPOINT. Dzięki temu dostępowi dane można kopiować na przenośne urządzenie pamięci masowej lub w inny sposób pobierać i przesyłać przez sieć.
Krok 6: Wykrywanie tego ataku
Można wykryć tę konkretną lukę w zabezpieczeniach związaną z dostrajaniem uprawnień konta (konta komputerów uzyskujące dostęp do udziałów sieciowych zamiast kont użytkowników lub kont usług). Jednak bez odpowiednich narzędzi jest to bardzo trudne.
Aby wykryć i zapobiec tej kategorii ataków, możemy użyć
Poniższy zrzut ekranu pokazuje niestandardowe powiadomienie, które będzie uruchamiane za każdym razem, gdy konto komputera uzyska dostęp do danych na monitorowanym serwerze.
Kolejne kroki z PowerShell
Chcieć wiedzieć więcej? Użyj kodu odblokowującego „blog”, aby uzyskać bezpłatny dostęp do całości
Źródło: www.habr.com