Az - Device Registration

Nauka hakowania AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Podstawowe informacje

Kiedy urządzenie dołącza do AzureAD, tworzony jest nowy obiekt w AzureAD.

Podczas rejestracji urządzenia użytkownik jest proszony o zalogowanie się na swoje konto (prośba o MFA, jeśli jest to konieczne), następnie żąda tokenów dla usługi rejestracji urządzenia, a następnie prosi o ostateczne potwierdzenie.

Następnie na urządzeniu generowane są dwie pary kluczy RSA: klucz urządzenia (klucz publiczny), który jest wysyłany do AzureAD, oraz klucz transportowy (klucz prywatny), który jest przechowywany w TPM, jeśli to możliwe.

Następnie generowany jest obiekt w AzureAD (nie w Intune), a AzureAD zwraca urządzeniu certyfikat podpisany przez siebie. Można sprawdzić, czy urządzenie jest dołączone do AzureAD oraz informacje o certyfikacie (np. czy jest on chroniony przez TPM).

dsregcmd /status

Po rejestracji urządzenia moduł LSASS CloudAP żąda Podstawowego Tokena Odświeżania (PRT), który jest udzielany urządzeniu. Wraz z PRT dostarczany jest również klucz sesji zaszyfrowany w taki sposób, że tylko urządzenie może go odszyfrować (korzystając z klucza publicznego klucza transportowego) i jest potrzebny do użycia PRT.

Aby uzyskać więcej informacji na temat tego, czym jest PRT, sprawdź:

pageAz - Primary Refresh Token (PRT)

TPM - Moduł Platformy Zaufanej

TPM chroni przed wydobyciem klucza z wyłączonego urządzenia (jeśli jest chroniony przez PIN) oraz przed wydobyciem materiału prywatnego z warstwy systemu operacyjnego. Jednakże nie chroni przed przechwytywaniem fizycznego połączenia między TPM a CPU ani przed użyciem materiału kryptograficznego w TPM podczas pracy systemu przez proces z uprawnieniami SYSTEM.

Jeśli sprawdzisz następną stronę, zobaczysz, że ukradzenie PRT może być wykorzystane do uzyskania dostępu jako użytkownik, co jest świetne, ponieważ PRT znajduje się na urządzeniach, więc może zostać skradziony z nich (lub jeśli nie został skradziony, może być nadużyty do generowania nowych kluczy podpisu):

pageAz - Pass the PRT

Rejestrowanie urządzenia za pomocą tokenów SSO

Byłoby możliwe dla atakującego poprosić o token dla usługi rejestracji urządzenia Microsoft z naruszonego urządzenia i zarejestrować je:

# Initialize SSO flow
roadrecon auth prt-init
.\ROADtoken.exe <nonce>

# Request token with PRT with PRT cookie
roadrecon auth -r 01cb2876-7ebd-4aa4-9cc9-d28bd4d359a9 --prt-cookie <cookie>

# Custom pyhton script to register a device (check roadtx)
registerdevice.py

Nadanie certyfikatu, którego możesz użyć do żądania PRT w przyszłości. Utrzymując tym samym trwałość i omijając MFA, ponieważ oryginalny token PRT użyty do zarejestrowania nowego urządzenia już miał przyznane uprawnienia MFA.

Zauważ, że aby przeprowadzić ten atak, będziesz potrzebować uprawnień do rejestrowania nowych urządzeń. Ponadto, zarejestrowanie urządzenia nie oznacza, że urządzenie będzie dopuszczone do zapisania się do Intune.

Ten atak został naprawiony we wrześniu 2021 r., ponieważ nie można już rejestrować nowych urządzeń za pomocą tokenów SSO. Niemniej jednak, nadal możliwe jest zarejestrowanie urządzeń w sposób legalny (posiadając nazwę użytkownika, hasło i MFA, jeśli jest to konieczne). Sprawdź: roadtx.

Nadpisanie biletu urządzenia

Było możliwe żądanie biletu urządzenia, nadpisanie bieżącego biletu urządzenia i podczas procesu ukradzenie PRT (więc nie ma potrzeby kradzieży z TPM. Więcej informacji sprawdź tę prezentację.

Jednakże, to zostało naprawione.

Nadpisanie klucza WHFB

Sprawdź oryginalne slajdy tutaj

Podsumowanie ataku:

  • Jest możliwe nadpisanie zarejestrowanego klucza WHFB z urządzenia za pomocą SSO

  • Pokonuje ochronę TPM, ponieważ klucz jest przechwytywany podczas generowania nowego klucza

  • Zapewnia to również trwałość

Użytkownicy mogą modyfikować swoją własną właściwość searchableDeviceKey za pomocą Azure AD Graph, jednakże, atakujący musi mieć urządzenie w dzierżawie (zarejestrowane na żywo lub skradzione certyfikat + klucz z legalnego urządzenia) oraz ważny token dostępu do AAD Graph.

Następnie, jest możliwe wygenerowanie nowego klucza za pomocą:

roadtx genhellokey -d <device id> -k tempkey.key
a następnie ZMIEŃ informacje o searchableDeviceKey:

<figure><img src="../../.gitbook/assets/image (36).png" alt=""><figcaption></figcaption></figure>

Możliwe jest uzyskanie tokena dostępu od użytkownika za pomocą **phishingu kodu urządzenia** i nadużycie poprzednich kroków, aby **ukraść jego dostęp**. Aby uzyskać więcej informacji, sprawdź:

<div data-gb-custom-block data-tag="content-ref" data-url='az-lateral-movement-cloud-on-prem/az-phishing-primary-refresh-token-microsoft-entra.md'>

[az-phishing-primary-refresh-token-microsoft-entra.md](az-lateral-movement-cloud-on-prem/az-phishing-primary-refresh-token-microsoft-entra.md)

</div>

<figure><img src="../../.gitbook/assets/image (37).png" alt=""><figcaption></figcaption></figure>

## Referencje

* [https://youtu.be/BduCn8cLV1A](https://youtu.be/BduCn8cLV1A)
* [https://www.youtube.com/watch?v=x609c-MUZ\_g](https://www.youtube.com/watch?v=x609c-MUZ\_g)
* [https://www.youtube.com/watch?v=AFay\_58QubY](https://www.youtube.com/watch?v=AFay\_58QubY)

<details>

<summary><strong>Naucz się hakować AWS od zera do bohatera z</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>

Inne sposoby wsparcia HackTricks:

* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLANY SUBSKRYPCYJNE**](https://github.com/sponsors/carlospolop)!
* Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com)
* Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family)
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](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.

</details>

Last updated