AWS - Identity Center & SSO Unauthenticated Enum
Phishing kodu urządzenia AWS
Początkowo zaproponowane w tym wpisie na blogu, jest możliwe wysłanie linku do użytkownika korzystającego z AWS SSO, który jeśli użytkownik zaakceptuje, atakujący będzie mógł uzyskać token do podszywania się pod użytkownika i uzyskać dostęp do wszystkich ról, do których użytkownik ma dostęp w Centrum tożsamości.
Aby przeprowadzić ten atak, wymagane są:
Ofiara musi korzystać z Centrum tożsamości
Atakujący musi znać poddomenę używaną przez ofiarę
<victimsub>.awsapps.com/start
Tylko z tymi informacjami atakujący będzie w stanie wysłać link do użytkownika, który jeśli zaakceptowany umożliwi atakującemu dostęp do konta użytkownika AWS.
Atak
Znalezienie poddomeny
Pierwszym krokiem atakującego jest znalezienie poddomeny, którą firma ofiary używa w swoim Centrum tożsamości. Można to zrobić za pomocą OSINT lub zgadywania + BF, ponieważ większość firm będzie używać swojej nazwy lub jej wariacji tutaj.
Dzięki tym informacjom możliwe jest uzyskanie regionu, w którym zostało skonfigurowane Centrum tożsamości:
Wygeneruj link dla ofiary i wyślij go
Uruchom poniższy kod, aby wygenerować link logowania AWS SSO, dzięki któremu ofiara będzie mogła się uwierzytelnić. W celu demonstracji uruchom ten kod w konsoli Pythona i nie zamykaj jej, ponieważ później będziesz potrzebować pewnych obiektów do uzyskania tokena:
Poczekaj, aż ofiara zaakceptuje
Jeśli ofiara już jest zalogowana w AWS, wystarczy, że zaakceptuje udzielenie uprawnień, jeśli nie, będzie musiała zalogować się, a następnie zaakceptować udzielenie uprawnień. Tak teraz wygląda okno dialogowe:
Uzyskaj token dostępu SSO
Jeśli ofiara zaakceptowała okno dialogowe, uruchom ten kod, aby wygenerować token dostępu SSO podając się za użytkownika:
Token SSO jest ważny przez 8 godzin.
Podszyj się pod użytkownika
Phishing niemożliwego do wyłudzenia MFA
To zabawne, że poprzedni atak działa nawet jeśli używane jest "niemożliwe do wyłudzenia MFA" (webAuth). Dzieje się tak, ponieważ poprzedni przepływ pracy nigdy nie opuszcza używanej domeny OAuth. W przeciwieństwie do innych ataków phishingowych, gdzie użytkownik musi podmienić domenę logowania, w przypadku przepływu kodu urządzenia przygotowany jest tak, że kod jest znany przez urządzenie, a użytkownik może zalogować się nawet na innym urządzeniu. Jeśli zaakceptowany zostanie monit, urządzenie, znając początkowy kod, będzie w stanie pobrać dane uwierzytelniające dla użytkownika.
Aby uzyskać więcej informacji, sprawdź ten post.
Automatyczne narzędzia
Odnośniki
Last updated