<summary><strong>Dowiedz się, jak hakować AWS od zera do bohatera z</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLAN SUBSKRYPCJI**](https://github.com/sponsors/carlospolop)!
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
Jeśli interesuje Cię **kariera hakerska** i hakowanie niemożliwych do zhakowania rzeczy - **zatrudniamy!** (_wymagane biegłe posługiwanie się językiem polskim w mowie i piśmie_).
**Wmic** można użyć do uruchamiania programów podczas **uruchamiania systemu**. Sprawdź, które pliki binarne są zaprogramowane do uruchamiania się podczas uruchamiania systemu za pomocą:
**Zadania** mogą być zaplanowane do uruchamiania z **określoną częstotliwością**. Sprawdź, które pliki binarne są zaplanowane do uruchomienia za pomocą:
Wszystkie pliki binarne znajdujące się w folderach **Startup zostaną uruchomione przy starcie systemu**. Wspólne foldery startupu to te wymienione poniżej, ale folder startupu jest wskazany w rejestrze. [Przeczytaj to, aby dowiedzieć się gdzie.](privilege-escalation-with-autorun-binaries.md#startup-path)
[Informacja z tego miejsca](https://answers.microsoft.com/en-us/windows/forum/all/delete-registry-key/d425ae37-9dcc-4867-b49c-723dcd15147f): Wpis w rejestrze **Wow6432Node** wskazuje, że używasz wersji systemu Windows 64-bitowej. 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.
Klucze rejestru o nazwach **Run** i **RunOnce** są przeznaczone do automatycznego uruchamiania programów za każdym razem, gdy użytkownik loguje się do systemu. Wartość danych przypisana do klucza wiersza poleceń jest ograniczona do 260 znaków lub mniej.
W systemach Windows Vista i nowszych wersjach klucze rejestru **Run** i **RunOnce** nie są generowane automatycznie. Wpisy w tych kluczach mogą bezpośrednio uruchamiać programy lub 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". Przykładem jest dodanie wpisu w rejestrze, który uruchamia "C:\\temp\\evil.dll" podczas uruchamiania systemu:
**Exploit 1**: Jeśli możesz zapisywać w dowolnym z wymienionych kluczy rejestru w **HKLM**, możesz podnieść uprawnienia, gdy inny użytkownik się zaloguje.
**Exploit 2**: Jeśli możesz nadpisać dowolny z binarnych plików wskazanych w którymkolwiek z kluczy rejestru w **HKLM**, możesz zmodyfikować ten plik binarny z tylnymi drzwiami, gdy inny użytkownik się zaloguje i podnieść uprawnienia.
Skróty umieszczone w folderze **Startup** automatycznie uruchamiają usługi lub aplikacje podczas logowania użytkownika lub ponownego uruchomienia systemu. Lokalizacja folderu **Startup** jest zdefiniowana w rejestrze zarówno dla zakresu **Local Machine**, jak i **Current User**. Oznacza to, że każdy skrót dodany do tych określonych lokalizacji **Startup** spowoduje uruchomienie powiązanej usługi lub programu po procesie logowania lub ponownym uruchomieniu, co czyni to prostą metodą planowania automatycznego uruchamiania programów.
Jeśli możesz nadpisać dowolny folder \[User] Shell w **HKLM**, będziesz mógł wskazać go na folder kontrolowany przez Ciebie i umieścić tylną furtkę, która zostanie wykonana za każdym razem, gdy użytkownik zaloguje się do systemu, podnosząc uprawnienia.
Zazwyczaj klucz **Userinit** jest ustawiony na **userinit.exe**. Jednak jeśli ten klucz zostanie zmodyfikowany, określony plik wykonywalny zostanie również uruchomiony przez **Winlogon** po zalogowaniu użytkownika. Podobnie klucz **Shell** ma wskazywać na **explorer.exe**, który jest domyślną powłoką systemu Windows.
W rejestrze systemu Windows, pod adresem `HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot`, domyślnie ustawiona jest wartość **`AlternateShell`** na `cmd.exe`. Oznacza to, że gdy wybierasz "Tryb awaryjny z wierszem polecenia" podczas uruchamiania (poprzez naciśnięcie klawisza 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 wybierania go.
1. Zmień atrybuty pliku `boot.ini`, aby usunąć flagi tylko do odczytu, systemowe i ukryte: `attrib c:\boot.ini -r -s -h`
2. Otwórz `boot.ini` do edycji.
3. Wstaw linię taką jak: `multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /SAFEBOOT:MINIMAL(ALTERNATESHELL)`
- **Exploit 1:** Zmiana klucza rejestru **AlternateShell** umożliwia dostosowanie niestandardowego powłoki polecenia, potencjalnie dla nieautoryzowanego dostępu.
- **Exploit 2 (Uprawnienia do zapisu w PATH):** Posiadanie uprawnień do zapisu w dowolnej części zmiennej systemowej **PATH**, zwłaszcza przed `C:\Windows\system32`, pozwala na wykonanie niestandardowego `cmd.exe`, który może być tylnymi drzwiami, jeśli system zostanie uruchomiony w trybie awaryjnym.
- **Exploit 3 (Uprawnienia do zapisu w PATH i boot.ini):** Uprawnienia do zapisu w `boot.ini` umożliwiają automatyczne uruchamianie w trybie awaryjnym, ułatwiając nieautoryzowany dostęp przy następnym ponownym uruchomieniu.
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.
-`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:** Określa polecenie, które ma zostać wykonane przez Active Setup. Może to być dowolna poprawna linia poleceń, na przykład uruchomienie `notatnika`.
- Modyfikowanie lub zapisywanie klucza, w którym **`IsInstalled`** jest ustawione na `"1"` z określonym **`StubPath`**, może prowadzić do nieautoryzowanego wykonania poleceń, potencjalnie umożliwiającego eskalację uprawnień.
- Zmiana pliku binarnego, do którego odwołuje się wartość **`StubPath`**, może również umożliwić eskalację uprawnień, pod warunkiem posiadania wystarczających uprawnień.
Obiekty pomocnicze przeglądarki (BHO) to moduły DLL, które dodają dodatkowe funkcje do przeglądarki Internet Explorer firmy Microsoft. Ładują się do przeglądarki Internet Explorer i Eksploratora Windows przy każdym uruchomieniu. Jednak ich wykonanie można zablokować, ustawiając klucz **NoExplorer** na wartość 1, co uniemożliwia ich ładowanie w przypadku wystąpienia instancji Eksploratora Windows.
BHO są kompatybilne z systemem Windows 10 za pośrednictwem przeglądarki Internet Explorer 11, ale nie są obsługiwane w Microsoft Edge, domyślnej przeglądarce w nowszych wersjach systemu Windows.
Każdy BHO jest reprezentowany przez swoje **CLSID** w rejestrze, który służy jako unikalny identyfikator. Szczegółowe informacje na temat każdego CLSID można znaleźć w `HKLM\SOFTWARE\Classes\CLSID\{<CLSID>}`.
Należy zauważyć, że w rejestrze będzie zawarte 1 nowe wpis dla każdej biblioteki DLL, a będzie ono reprezentowane przez **CLSID**. Informacje o CLSID można znaleźć w `HKLM\SOFTWARE\Classes\CLSID\{<CLSID>}`
Image File Execution Options (IFEO) to mechanizm w systemie Windows, który umożliwia manipulację sposobem, w jaki aplikacje są uruchamiane. Może być wykorzystany do eskalacji uprawnień lokalnych.
Aby dodać wpis IFEO, należy utworzyć klucz rejestru o nazwie aplikacji, dla której chcemy zmienić sposób uruchamiania, w ścieżce `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options`. Następnie, w tym kluczu, utwórz podklucz o nazwie `Debugger` i ustaw jego wartość na ścieżkę do pliku wykonywalnego, który zostanie uruchomiony zamiast oryginalnej aplikacji.
#### Wykorzystanie wpisów IFEO do eskalacji uprawnień
Wykorzystanie wpisów IFEO do eskalacji uprawnień polega na utworzeniu wpisu IFEO dla aplikacji, która jest uruchamiana z uprawnieniami administratora. Następnie, w wartości `Debugger`, ustawiamy ścieżkę do naszego własnego pliku wykonywalnego, który zostanie uruchomiony z uprawnieniami administratora. W ten sposób, gdy aplikacja zostanie uruchomiona, nasz plik wykonywalny zostanie uruchomiony zamiast niej, dając nam uprawnienia administratora.
#### Przykład
Aby zobrazować to na przykładzie, załóżmy, że mamy aplikację o nazwie `target.exe`, która jest uruchamiana z uprawnieniami administratora. Chcemy uzyskać uprawnienia administratora, więc tworzymy wpis IFEO dla `target.exe` i ustawiamy wartość `Debugger` na ścieżkę do naszego własnego pliku wykonywalnego `evil.exe`. Gdy `target.exe` zostanie uruchomiony, zamiast niego zostanie uruchomiony `evil.exe`, dając nam uprawnienia administratora.
#### Zabezpieczenia przed eskalacją uprawnień z wykorzystaniem wpisów IFEO
Aby zabezpieczyć się przed eskalacją uprawnień z wykorzystaniem wpisów IFEO, można usunąć niepotrzebne wpisy z klucza rejestru `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options`. Można również ograniczyć uprawnienia do tego klucza, aby tylko uprawnienia administratora miały możliwość modyfikacji wpisów IFEO.
Należy zauważyć, że wszystkie strony, na których można znaleźć autostarty, **zostały już przeszukane przez** [**winpeas.exe**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS/winPEASexe). Jednak dla **bardziej kompleksowej listy** plików uruchamianych automatycznie można użyć [autoruns](https://docs.microsoft.com/en-us/sysinternals/downloads/autoruns) z systinternals:
**Znajdź więcej programów uruchamianych automatycznie, takich jak rejestry, na stronie [https://www.microsoftpressstore.com/articles/article.aspx?p=2762082\&seqNum=2](https://www.microsoftpressstore.com/articles/article.aspx?p=2762082\&seqNum=2)**
Jeśli interesuje Cię **kariera hakera** i chcesz zhakować to, co nie do zhakowania - **zatrudniamy!** (_wymagane biegłe posługiwanie się językiem polskim, zarówno w mowie, jak i w piśmie_).
<summary><strong>Naucz się hakować AWS od zera do bohatera z</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLAN SUBSKRYPCJI**](https://github.com/sponsors/carlospolop)!
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) **i** [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **na GitHubie.**