
Podniesienie uprawnień to użycie bieżących uprawnień konta przez cyberprzestępcę w celu uzyskania dodatkowego, zazwyczaj wyższego poziomu dostępu w systemie. Choć podniesienie uprawnień może wynikać z wykorzystania luk w zabezpieczeniach typu zero-day, działań wysoko wykwalifikowanych hakerów prowadzących ukierunkowane ataki, lub dobrze ukrytego złośliwego oprogramowania, najczęściej jednak jest to efektem niewłaściwej konfiguracji komputera lub konta. Kontynuując atak, cyberprzestępcy wykorzystują szereg oddzielnych luk, co w połączeniu może prowadzić do katastrofalnego wycieku danych.
Dlaczego użytkownicy nie powinni mieć praw lokalnego administratora?
Jeśli jesteś specjalistą ds. bezpieczeństwa, to może się wydawać oczywiste, że użytkownicy nie powinni mieć praw lokalnego administratora, ponieważ:
- Sprawia, że ich konta są bardziej podatne na różne ataki.
- Sprawia, że te ataki są znacznie poważniejsze.
Niestety, w wielu organizacjach to wciąż bardzo kontrowersyjna kwestia, często towarzysząca burzliwym dyskusjom (patrz na przykład, ). Nie wdając się w szczegóły tej dyskusji, uważamy, że cyberprzestępca uzyskał prawa lokalnego administratora w badanym systemie: albo przez exploit, albo dlatego, że maszyny nie były odpowiednio zabezpieczone.
Krok 1. Odwrotne rozwiązywanie nazw DNS za pomocą PowerShell.
Domyślnie PowerShell jest zainstalowany na wielu lokalnych stacjach roboczych i na większości serwerów Windows. I choć nie bez przesady uważany jest za niezwykle przydatne narzędzie do automatyzacji i zarządzania, równie dobrze może stać się niemal niewidoczną (programem do włamań, który nie pozostawia śladów ataku).
W naszym przypadku cyberprzestępca zaczyna wykonywać rekonesans sieciowy za pomocą skryptu PowerShell, kolejno przeszukując przestrzeń adresów IP w sieci, próbując ustalić, czy dany adres IP jest rozwiązany na węzeł, a jeśli tak, to jakie jest jego nazwa sieciowa.
Istnieje wiele sposobów realizacji tego zadania, ale użycie polecenia ADComputer to niezawodna opcja, ponieważ zwraca naprawdę bogaty zestaw danych o każdym węźle:
import-module activedirectory Get-ADComputer -property * -filter { ipv4address -eq '10.10.10.10'}Jeśli szybkość działania w dużych sieciach sprawia problemy, można użyć odwrotnego wywołania systemowego DNS:
[System.Net.Dns]::GetHostEntry('10.10.10.10').HostName
Ta metoda enumeracji węzłów w sieci jest bardzo popularna, ponieważ większość sieci nie stosuje modelu bezpieczeństwa z zaufaniem zerowym i nie śledzi wewnętrznych zapytań DNS pod kątem podejrzanych wzrostów aktywności.
Krok 2: Wybór celu
Końcowym rezultatem tego kroku jest uzyskanie listy nazw hostów serwerów i stacji roboczych, które mogą zostać wykorzystane do kontynuowania ataku.

Sądząc po nazwie, serwer 'HUB-FILER' wydaje się być odpowiednim celem, ponieważ z upływem czasu serwery plików zazwyczaj akumulują dużą liczbę folderów sieciowych i nadmiarowy dostęp do nich zbyt szerokiego kręgu osób.
Przeglądając za pomocą Eksploratora Windows, możemy określić, czy istnieje otwarty folder udostępniony, ale nasze obecne konto nie ma do niego dostępu (prawdopodobnie mamy tylko prawa do listowania).
Krok 3: Badamy ACL
Teraz na naszym hoście HUB-FILER i docelowym folderze udostępnionym share możemy uruchomić skrypt PowerShell, aby uzyskać listę ACL. Możemy to zrobić z lokalnej maszyny, ponieważ mamy już uprawnienia lokalnego administratora:
(get-acl hub-filershare).access | ft IdentityReference,FileSystemRights,AccessControlType,IsInherited,InheritanceFlags –autoWynik realizacji:

Z tego widzimy, że grupa Użytkownicy Domeny ma dostęp tylko do listowania, ale grupa Helpdesk ma również prawa do modyfikacji.
Krok 4: Identyfikacja Kont Użytkowników
Uruchamiając , będziemy mogli uzyskać wszystkich członków tej grupy:
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żywamy PSExec do pracy w kontekście konta komputera
od Microsoft Sysinternals pozwala na wykonywanie poleceń w kontekście konta systemowego SYSTEM@HUB-SHAREPOINT, które, jak wiemy, jest członkiem docelowej grupy Helpdesk. Wystarczy wykonać:
PsExec.exe -s -i cmd.exeTeraz macie pełny dostęp do docelowego folderu HUB-FILERshareHR, ponieważ pracujecie w kontekście konta komputera HUB-SHAREPOINT. Z tym dostępem dane mogą być skopiowane na przenośne urządzenie pamięci lub w inny sposób wydobyte i przesyłane przez sieć.
Krok 6: Wykrywanie tej ataku
Ta konkretna luka w konfiguracji uprawnień kont użytkowników (konta komputerów, które uzyskują dostęp do wspólnych folderów sieciowych zamiast kont użytkowników lub kont usługi) może być wykryta. Jednak bez odpowiednich narzędzi jest to bardzo trudne do zrealizowania.
Aby wykryć i zapobiec tej kategorii ataków, możemy użyć do identyfikacji grup z kontami komputerów w nich, a następnie zablokować do nich dostęp. idzie dalej i pozwala na utworzenie powiadomienia specjalnie dla podobnego scenariusza.
Na zrzucie ekranu poniżej widać powiadomienie użytkownika, które uruchomi się przy każdym dostępie konta komputera do danych na monitorowanym serwerze.

Następne kroki z użyciem PowerShell
Chcesz się dowiedzieć więcej? Użyj kodu odblokowującego „blog”, aby uzyskać darmowy dostęp do pełnego .
Źródło: habr.com
