Az - Device Registration
Last updated
Last updated
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Gdy urządzenie dołącza do AzureAD, nowy obiekt jest tworzony w AzureAD.
Podczas rejestracji urządzenia, użytkownik jest proszony o zalogowanie się na swoje konto (prosząc o MFA, jeśli to konieczne), następnie żąda tokenów dla usługi rejestracji urządzenia, a potem prosi o ostateczne potwierdzenie.
Następnie generowane są dwie pary kluczy RSA w urządzeniu: 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, obiekt jest generowany w AzureAD (nie w Intune) i AzureAD zwraca urządzeniu certyfikat podpisany przez siebie. Możesz sprawdzić, że urządzenie jest dołączone do AzureAD oraz informacje o certyfikacie (jak na przykład, czy jest chroniony przez TPM).
Po rejestracji urządzenia, Primary Refresh Token jest żądany przez moduł LSASS CloudAP i przekazywany do urządzenia. Z PRT dostarczany jest również klucz sesji zaszyfrowany tak, aby tylko urządzenie mogło go odszyfrować (używając klucza publicznego klucza transportowego) i jest potrzebny do użycia PRT.
Aby uzyskać więcej informacji na temat tego, czym jest PRT, sprawdź:
Az - Primary Refresh Token (PRT)TPM chroni przed ekstrakcją kluczy z wyłączonego urządzenia (jeśli jest chronione PIN-em) oraz przed wydobywaniem prywatnych materiałów z warstwy systemu operacyjnego. Jednak nie chroni przed podsłuchiwaniem fizycznego połączenia między TPM a CPU lub używaniem materiałów kryptograficznych w TPM, gdy system działa z procesu z prawami SYSTEM.
Jeśli sprawdzisz następującą stronę, zobaczysz, że kradzież PRT może być użyta do uzyskania dostępu jako użytkownik, co jest świetne, ponieważ PRT znajduje się na urządzeniach, więc może być skradziony z nich (lub jeśli nie zostanie skradziony, może być nadużyty do generowania nowych kluczy podpisujących):
Az - Pass the PRTMożliwe byłoby, aby atakujący zażądał tokena dla usługi rejestracji urządzeń Microsoft z skompromitowanego urządzenia i zarejestrował je:
Który da ci certyfikat, którego możesz użyć do żądania PRT w przyszłości. Dlatego utrzymuje trwałość i omija MFA, ponieważ oryginalny token PRT użyty do rejestracji nowego urządzenia już miał przyznane uprawnienia MFA.
Zauważ, że aby przeprowadzić ten atak, będziesz potrzebować uprawnień do rejestrowania nowych urządzeń. Również rejestracja urządzenia nie oznacza, że urządzenie będzie dopuszczone do rejestracji w Intune.
Ten atak został naprawiony we wrześniu 2021 roku, ponieważ nie można już rejestrować nowych urządzeń za pomocą tokenów SSO. Jednak nadal możliwe jest rejestrowanie urządzeń w sposób legalny (posiadając nazwę użytkownika, hasło i MFA, jeśli to konieczne). Sprawdź: roadtx.
Możliwe było żądanie biletu urządzenia, nadpisanie aktualnego biletu urządzenia i podczas tego procesu ukraść PRT (więc nie ma potrzeby kradzenia go z TPM. Więcej informacji sprawdź tę prezentację.
Jednak to zostało naprawione.
Sprawdź oryginalne slajdy tutaj
Podsumowanie ataku:
Możliwe jest nadpisanie zarejestrowanego klucza WHFB z urządzenia za pomocą SSO
To łamało ochronę TPM, ponieważ klucz jest przechwytywany podczas generowania nowego klucza
To również zapewnia trwałość
Użytkownicy mogą modyfikować swoją własną właściwość searchableDeviceKey za pomocą Azure AD Graph, jednak atakujący musi mieć urządzenie w dzierżawie (zarejestrowane na bieżąco lub mające skradziony certyfikat + klucz z legalnego urządzenia) oraz ważny token dostępu do AAD Graph.
Następnie możliwe jest wygenerowanie nowego klucza za pomocą:
i następnie PATCH informacje o searchableDeviceKey:
Możliwe jest uzyskanie tokena dostępu od użytkownika za pomocą phishingu kodu urządzenia i nadużycie wcześniejszych kroków, aby ukraść jego dostęp. Aby uzyskać więcej informacji, sprawdź:
Az - Phishing Primary Refresh Token (Microsoft Entra)Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)