hacktricks/windows-hardening/windows-local-privilege-escalation/appenddata-addsubdirectory-permission-over-service-registry.md

25 lines
2.6 KiB
Markdown
Raw Normal View History

**Oryginalny post to** [**https://itm4n.github.io/windows-registry-rpceptmapper-eop/**](https://itm4n.github.io/windows-registry-rpceptmapper-eop/)
2020-11-26 21:15:30 +00:00
2024-02-11 01:46:25 +00:00
## Podsumowanie
2020-11-26 21:15:30 +00:00
Znaleziono dwa klucze rejestru, które były zapisywalne przez bieżącego użytkownika:
2020-11-26 21:15:30 +00:00
2024-02-08 03:06:37 +00:00
- **`HKLM\SYSTEM\CurrentControlSet\Services\Dnscache`**
- **`HKLM\SYSTEM\CurrentControlSet\Services\RpcEptMapper`**
2020-11-26 21:15:30 +00:00
Zasugerowano sprawdzenie uprawnień usługi **RpcEptMapper** za pomocą **regedit GUI**, a konkretnie zakładki **Efektywne uprawnienia** w oknie **Zaawansowane ustawienia zabezpieczeń**. Takie podejście umożliwia ocenę przyznanych uprawnień dla konkretnych użytkowników lub grup bez potrzeby badania każdego wpisu kontroli dostępu (ACE) z osobna.
2020-11-26 21:15:30 +00:00
Zrzut ekranu pokazał uprawnienia przypisane użytkownikowi o niskich uprawnieniach, wśród których wyróżniało się uprawnienie **Utwórz podklucz**. To uprawnienie, znane również jako **AppendData/AddSubdirectory**, odpowiada ustaleniom skryptu.
2022-04-28 16:01:33 +00:00
Zauważono niemożność bezpośredniej modyfikacji niektórych wartości, ale możliwość tworzenia nowych podkluczy. Przykładem było próba zmiany wartości **ImagePath**, która zakończyła się komunikatem o odmowie dostępu.
2022-04-28 16:01:33 +00:00
Pomimo tych ograniczeń, zidentyfikowano potencjał do eskalacji uprawnień poprzez możliwość wykorzystania podklucza **Performance** w strukturze rejestru usługi **RpcEptMapper**, podklucza, który nie jest obecny domyślnie. Mogłoby to umożliwić rejestrację DLL i monitorowanie wydajności.
2022-04-28 16:01:33 +00:00
Skonsultowano dokumentację na temat podklucza **Performance** i jego wykorzystania do monitorowania wydajności, co doprowadziło do opracowania dowodu koncepcji DLL. Ta DLL, demonstrująca implementację funkcji **OpenPerfData**, **CollectPerfData** i **ClosePerfData**, została przetestowana za pomocą **rundll32**, potwierdzając jej operacyjną skuteczność.
2022-04-28 16:01:33 +00:00
Celem było zmuszenie usługi **RPC Endpoint Mapper** do załadowania stworzonych DLL do wydajności. Obserwacje wykazały, że wykonywanie zapytań klas WMI związanych z danymi wydajnościowymi za pomocą PowerShell skutkowało utworzeniem pliku dziennika, co umożliwiło wykonanie dowolnego kodu w kontekście **LOCAL SYSTEM**, przyznając tym samym podwyższone uprawnienia.
2022-04-28 16:01:33 +00:00
Podkreślono trwałość i potencjalne implikacje tej luki, zwracając uwagę na jej znaczenie dla strategii poeksploatacyjnych, ruchu lateralnego oraz unikania systemów antywirusowych/EDR.
2022-04-28 16:01:33 +00:00
Chociaż luka została początkowo ujawniona przypadkowo za pomocą skryptu, podkreślono, że jej wykorzystanie jest ograniczone do przestarzałych wersji Windows (np. **Windows 7 / Server 2008 R2**) i wymaga dostępu lokalnego.