Atak polega na uzyskanie uprawnień do konta ofiary za pomocą mechanizmów API REST . Aby atakujący mógł otrzymać token użytkownika pracownik musi kliknąć w link i zaakceptować delegowane uprawnienia .
Rys:1 Działanie ataku źródło: https://www.alteredsecurity.com/post/Introduction-To-365-Stealer
Aby atak się powiódł na większej ilości osób partner MPN powinien zweryfikować aplikacje. W przypadku partnerów nie jest wymagany poziom silver lub gold . Nie jest również wymagana specjalizacja . Wystarczy zwykły poziom partnerstwa
Więcej na temat weryfikacji aplikacji przeczytacie tutaj
omówienie Publisher weryfikacji — Platforma tożsamości Microsoft | Microsoft Docs
Bez weryfikacji jesteśmy wstanie zaatakować konto admistratora Tenanta
Rys 2: Prośba o udzielenie pozwolenia dla użytkownika Admin
Administrator jest wstanie udzielić zezwolenia aplikacji bez powyższych weryfikacji partnera .
Rys 3: Przyznanie uprawnień dla użytkowników do aplikacji
W moim przekonaniu ryzyko jest dosyć spore tym bardziej że ostatnimi czasami popularne grupy APT np 29 jak Nobelium przeprowadzała skuteczne ataki na partnerów MPN CSP oraz MSP więcej możecie przeczytać klikając ten link
NOBELIUM targeting delegated administrative privileges to facilitate broader attacks
Przeprowadzenie ataku zaczyna się od zarejestrowania aplikacji przez atakującego oraz przeprowadzeniu stosownych dla nich uprawnień . Uprawnienia te nazywamy delegowane ponieważ nie potrzebują logowania MFA czy aktywnej sesji z użytkownikiem aby móc z nich korzystać .
Więcej o delegowanych uprawnieniach możemy przeczytać tutaj :
https://docs.microsoft.com/pl-pl/azure/active-directory/develop/v2-permissions-and-consent
Rys 4: Atakujący tworzy uprawnienia delegowane dla aplikacji w tym wypadku Program01
Ważne również jest rejestracja tzw Endpointa czyli hosta któremu będą przekazywane tokeny w ramach uprawnień.
Rys 5: Rejestracja endpointa tutaj wskazanie hosta w Azure .
źródła :
https://www.alteredsecurity.com/post/Introduction-To-365-Stealer
https://github.com/mdsecactivebreach/o365-attack-toolkit
Ok to co mogę zrobić .
1 Bezwzględnie wyłączyć możliwość przekazywania uprawnień w Azure AD użytkownikom. Domyślnie ta funkcja jest włączona 🙁
Rys 6 : wyłączenie możliwości rejestrowania aplikacji
2 Zweryfikowanie uprawnień delegowanych jakie kiedykolwiek zostały zatwierdzone przez administratora i użytkownika. Można to zrobić ręcznie lub wygenerować skrypt w powershellu.
https://gist.github.com/psignoret/41793f8c6211d2df5051d77ca3728c09
Teoretycznie jeżeli macie Cloud App Security powinniście móc zbudować regułę na delegowane uprawnienia
Cloud App Security ma również specjalną zakładkę do zarządzania delegowanymi aplikacjami .
Aby ta funkcja zaczęła działać należy ją aktywować ( niestety mi nie zadziałała wymagana aktywacja dodatku który nie dał się u mnie uruchomić )
https://docs.microsoft.com/pl-pl/cloud-app-security/manage-app-permissions