Privilege Escalation with Autoruns
Wskazówka dotycząca nagród za błędy: Zarejestruj się na platformie Intigriti, premium platformie nagród za błędy stworzonej przez hakerów, dla hakerów! Dołącz do nas na https://go.intigriti.com/hacktricks już dziś i zacznij zarabiać nagrody aż do $100,000!
WMIC
Wmic może być używany do uruchamiania programów podczas uruchamiania systemu. Sprawdź, które binaria są zaprogramowane do uruchomienia podczas uruchamiania systemu za pomocą:
Zaplanowane zadania
Zadania mogą być zaplanowane do uruchamiania z określoną częstotliwością. Sprawdź, które pliki binarne są zaplanowane do uruchomienia za pomocą:
Foldery
Wszystkie binaria znajdujące się w folderach uruchamiania zostaną uruchomione przy starcie systemu. Wspólne foldery uruchamiania to te wymienione poniżej, ale folder uruchamiania jest wskazany w rejestrze. Przeczytaj to, aby dowiedzieć się gdzie.
Rejestr
Notatka odnośnie tego: Wpis w rejestrze Wow6432Node wskazuje, że uruchamiasz wersję systemu Windows 64-bitową. System operacyjny używa tego klucza do wyświetlania oddzielnego widoku HKEY_LOCAL_MACHINE\SOFTWARE dla aplikacji 32-bitowych uruchamianych na wersjach systemu Windows 64-bitowych.
Uruchamia się
Powszechnie znane wpisy AutoRun w rejestrze:
HKLM\Software\Microsoft\Windows\CurrentVersion\Run
HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnce
HKCU\Software\Microsoft\Windows\CurrentVersion\Run
HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKCU\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
HKCU\Software\Wow6432Npde\Microsoft\Windows\CurrentVersion\RunOnce
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\Run
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\Runonce
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\RunonceEx
Klucze rejestru znane jako Run i RunOnce są przeznaczone do automatycznego uruchamiania programów za każdym razem, gdy użytkownik loguje się do systemu. Wartość danych klucza w postaci wiersza poleceń jest ograniczona do 260 znaków lub mniej.
Uruchomienia usług (mogą kontrolować automatyczne uruchamianie usług podczas uruchamiania systemu):
HKLM\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKCU\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices
HKCU\Software\Microsoft\Windows\CurrentVersion\RunServices
HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKCU\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunServices
HKCU\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunServices
RunOnceEx:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnceEx
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnceEx
Na systemach Windows Vista i nowszych wersjach klucze rejestru Run i RunOnce nie są generowane automatycznie. Wpisy w tych kluczach mogą albo bezpośrednio uruchamiać programy, albo określać je jako zależności. Na przykład, aby załadować plik DLL podczas logowania, można użyć klucza rejestru RunOnceEx wraz z kluczem "Depend". Jest to pokazane poprzez dodanie wpisu rejestru do wykonania "C:\temp\evil.dll" podczas uruchamiania systemu:
Wykorzystanie 1: Jeśli możesz pisać wewnątrz któregokolwiek z wymienionych rejestrów w HKLM, możesz eskalować uprawnienia, gdy inny użytkownik się loguje.
Wykorzystanie 2: Jeśli możesz nadpisać którykolwiek z binarnych plików wskazanych w którymkolwiek z rejestrów w HKLM, możesz zmodyfikować ten binarny plik z tylnymi drzwiami, gdy inny użytkownik się loguje i eskalować uprawnienia.
Ścieżka uruchamiania
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
Skróty umieszczone w folderze Startup automatycznie uruchamiają usługi lub aplikacje podczas logowania użytkownika lub ponownego uruchomienia systemu. Lokalizacja folderu Startup jest określona w rejestrze dla zakresów Local Machine i Current User. Oznacza to, że każdy skrót dodany do tych określonych lokalizacji Startup spowoduje uruchomienie połączonej usługi lub programu po procesie logowania lub ponownego uruchomienia, co czyni to prostą metodą planowania automatycznego uruchamiania programów.
Jeśli możesz nadpisać dowolny [User] Shell Folder w HKLM, będziesz mógł wskazać go na folder kontrolowany przez Ciebie i umieścić tylną furtkę, która będzie wykonywana za każdym razem, gdy użytkownik zaloguje się do systemu, eskalując uprawnienia.
Klucze Winlogon
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
Zazwyczaj klucz Userinit jest ustawiony na userinit.exe. Jednakże, jeśli ten klucz zostanie zmodyfikowany, określony plik wykonywalny również zostanie uruchomiony przez Winlogon po zalogowaniu użytkownika. Podobnie, klucz Shell ma wskazywać na explorer.exe, który jest domyślną powłoką systemu Windows.
Jeśli możesz nadpisać wartość rejestru lub plik binarny, będziesz mógł eskalować uprawnienia.
Ustawienia zasad
HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
Sprawdź klucz Run.
AlternateShell
Zmiana polecenia trybu awaryjnego
W rejestrze systemu Windows pod adresem HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot
domyślnie ustawiona jest wartość AlternateShell
na cmd.exe
. Oznacza to, że gdy wybierzesz "Tryb awaryjny z wierszem polecenia" podczas uruchamiania (naciskając F8), używane jest cmd.exe
. Jednak można skonfigurować komputer tak, aby automatycznie uruchamiał się w tym trybie bez konieczności naciskania F8 i ręcznego wyboru.
Kroki do utworzenia opcji rozruchowej umożliwiającej automatyczne uruchamianie w "Trybie awaryjnym z wierszem polecenia":
Zmień atrybuty pliku
boot.ini
, aby usunąć flagi tylko do odczytu, systemowe i ukryte:attrib c:\boot.ini -r -s -h
Otwórz plik
boot.ini
do edycji.Wstaw linię taką jak:
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /SAFEBOOT:MINIMAL(ALTERNATESHELL)
Zapisz zmiany w pliku
boot.ini
.Przywróć pierwotne atrybuty pliku:
attrib c:\boot.ini +r +s +h
Wykorzystanie 1: Zmiana klucza rejestru AlternateShell umożliwia ustawienie niestandardowego powłoki poleceń, potencjalnie do nieautoryzowanego dostępu.
Wykorzystanie 2 (Uprawnienia do zapisu w PATH): Posiadanie uprawnień do zapisu w dowolnej części zmiennej systemowej PATH, szczególnie przed
C:\Windows\system32
, pozwala na wykonanie niestandardowegocmd.exe
, który może stanowić tylną furtkę, jeśli system jest uruchomiony w trybie awaryjnym.Wykorzystanie 3 (Uprawnienia do zapisu w PATH i boot.ini): Uzyskanie dostępu do zapisu w
boot.ini
umożliwia automatyczne uruchamianie w trybie awaryjnym, ułatwiając nieautoryzowany dostęp przy następnym ponownym uruchomieniu.
Aby sprawdzić bieżące ustawienie AlternateShell, użyj tych poleceń:
Zainstalowany Komponent
Active Setup to funkcja w systemie Windows, która inicjuje się przed pełnym załadowaniem środowiska pulpitu. Priorytetowo wykonuje określone polecenia, które muszą zostać zakończone przed kontynuacją logowania użytkownika. Ten proces zachodzi nawet przed uruchomieniem innych wpisów startowych, takich jak te w sekcjach rejestru Run lub RunOnce.
Active Setup jest zarządzany poprzez następujące klucze rejestru:
HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components
HKLM\SOFTWARE\Wow6432Node\Microsoft\Active Setup\Installed Components
HKCU\SOFTWARE\Microsoft\Active Setup\Installed Components
HKCU\SOFTWARE\Wow6432Node\Microsoft\Active Setup\Installed Components
W tych kluczach istnieją różne podklucze, z których każdy odpowiada określonemu komponentowi. Wartości klucza szczególnie istotne to:
IsInstalled:
0
oznacza, że polecenie komponentu nie zostanie wykonane.1
oznacza, że polecenie zostanie wykonane raz dla każdego użytkownika, co jest domyślnym zachowaniem, jeśli wartośćIsInstalled
jest brakująca.
StubPath: Definiuje polecenie do wykonania przez Active Setup. Może to być dowolne prawidłowe polecenie wiersza poleceń, na przykład uruchomienie
notatnika
.
Wnioski dotyczące Bezpieczeństwa:
Modyfikowanie lub zapisywanie do klucza, gdzie
IsInstalled
jest ustawione na"1"
z określonymStubPath
, może prowadzić do nieautoryzowanego wykonania polecenia, potencjalnie umożliwiając eskalację uprawnień.Zmiana pliku binarnego wskazywanego w dowolnej wartości
StubPath
również może osiągnąć eskalację uprawnień, pod warunkiem posiadania wystarczających uprawnień.
Aby sprawdzić konfiguracje StubPath
w komponentach Active Setup, można użyć tych poleceń:
Obiekty Pomocnicze Przeglądarki
Przegląd Obiektów Pomocniczych Przeglądarki (BHO)
Obiekty Pomocnicze Przeglądarki (BHO) to moduły DLL dodające dodatkowe funkcje do przeglądarki Internet Explorer firmy Microsoft. Ładują się do Internet Explorera i Eksploratora Windows przy każdym uruchomieniu. Jednak ich wykonanie można zablokować, ustawiając klucz NoExplorer na 1, co uniemożliwia ich ładowanie się wraz z instancjami Eksploratora Windows.
BHO są kompatybilne z systemem Windows 10 poprzez Internet Explorer 11, ale nie są obsługiwane w przeglądarce Microsoft Edge, domyślnej przeglądarce w nowszych wersjach systemu Windows.
Aby zbadać zarejestrowane BHO w systemie, można sprawdzić następujące klucze rejestru:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects
HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects
Każdy BHO jest reprezentowany przez swój CLSID w rejestrze, który służy jako unikalny identyfikator. Szczegółowe informacje o każdym CLSID można znaleźć pod adresem HKLM\SOFTWARE\Classes\CLSID\{<CLSID>}
.
Do zapytywania o BHO w rejestrze można wykorzystać następujące polecenia:
Rozszerzenia Internet Explorera
HKLM\Software\Microsoft\Internet Explorer\Extensions
HKLM\Software\Wow6432Node\Microsoft\Internet Explorer\Extensions
Należy zauważyć, że rejestr będzie zawierał 1 nowy rejestr dla każdej biblioteki DLL i będzie reprezentowany przez CLSID. Informacje o CLSID można znaleźć w HKLM\SOFTWARE\Classes\CLSID\{<CLSID>}
Sterowniki czcionek
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Font Drivers
HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\Font Drivers
Otwórz polecenie
HKLM\SOFTWARE\Classes\htmlfile\shell\open\command
HKLM\SOFTWARE\Wow6432Node\Classes\htmlfile\shell\open\command
Opcje Wykonywania Plików Obrazów
SysInternals
Należy zauważyć, że wszystkie strony, na których można znaleźć autostarty, zostały już przeszukane przez winpeas.exe. Jednak dla bardziej kompleksowej listy plików uruchamianych automatycznie można użyć autoruns z SysInternals:
Więcej
Znajdź więcej programów uruchamianych automatycznie, takich jak rejestry w https://www.microsoftpressstore.com/articles/article.aspx?p=2762082&seqNum=2
Odnośniki
Wskazówka dotycząca nagrody za błąd: Zarejestruj się na platformie Intigriti, ekskluzywnej platformie nagród za błędy stworzonej przez hakerów, dla hakerów! Dołącz do nas na https://go.intigriti.com/hacktricks już dziś i zacznij zarabiać nagrody do 100 000 USD!
Last updated