Konferencja Mega Sekurak Hacking Party w Krakowie – 26-27 października!
Przejęta subdomena i phishing we wtyczce do Outlooka. Jak martwy projekt stał się wektorem ataku?
Badacze bezpieczeństwa z Koi zidentyfikowali złośliwy dodatek do Microsoft Outlook. Przypadek jest jednak o tyle ciekawy, że twórca rozszerzenia wcale nie jest atakującym.
TLDR:
- Badacze z Koi wykryli złośliwy dodatek do Microsoft Outlook, który pierwotnie był narzędziem do planowania spotkań (AgreeTo).
- Po porzuceniu projektu wygasła domena powiązana z dodatkiem, a atakujący przejął porzuconą subdomenę w Vercel i uruchomił na niej stronę phishingową.
- Microsoft nadal dystrybuował dodatek w Office Add-in Store, ponieważ manifest jest zatwierdzany jednorazowo.
- Phishing wyłudzał dane logowania do kont Microsoft i przesyłał je przez API Telegrama; badacze ustalili, że zebrano dane ponad 4000 ofiar.
- Problem ma charakter strukturalny: dodatki Office ładują zdalną treść bez sprawdzania integralności, więc przejęcie wskazanego URL pozwala zmienić ich działanie bez dodatkowej weryfikacji.
W 2022 roku w Microsoft Office Add-in Store pojawiło się narzędzie do planowania spotkań – AgreeTo. Zdobyło pewne grono użytkowników, ale po jakimś czasie jego autor zajął się innymi projektami, a wtyczka “umarła”.
Samo rozszerzenie nie zniknęło jednak ze sklepu Microsoftu. Zniknęła za to strona hostowana na Vercel, a to oznaczało, że nazwa wykorzystywana w adresie URL (subdomena outlook-one[.]vercel[.]app) stała się możliwa do ponownego wykorzystania. Atakujący przypisał ją do swojego projektu w Vercel i pod tą subdomeną uruchomił złośliwą stronę.
Problem z wtyczkami Office
Dodatki do aplikacji pakietu Office nie działają jak typowe wtyczki np. do przeglądarek. Ich instalacja powoduje jedynie osadzenie strony wczytanej przez adres danego dodatku. Programista tworząc rozszerzenie wskazuje w pliku manifestu (XML) adres URL, który zostanie pobrany i umieszczony w iframe. Microsoft na podstawie danych z tego pliku umieszcza dodatek w swoim sklepie. Rzeczywista zawartość, taka jak interfejs użytkownika i logika działania wtyczki, są każdorazowo pobierane z serwera wskazanego przez programistę.
Tak wyglądał pokazany przez badaczy oryginalny manifest AgreeTo z grudnia 2022 roku:

Uwagę przykuwa uprawnienie ReadWriteItem. Przyznaje ono dodatkowi możliwość odczytu i modyfikacji e-maili użytkownika. Choć mogło to być zrozumiałe dla wtyczki do planowania spotkań (jej kod był otwartoźródłowy, więc można było sprawdzić, co dzieje się “pod spodem”), budzi obawy, gdy zrozumiemy jak łatwo można zmienić działanie rozszerzenia.
W ekosystemie dodatków Office nie ma bowiem żadnego mechanizmu typu Subresource Integrity. Cokolwiek serwuje zdefiniowana na początku strona (w tym przypadku outlook-one[.]vercel[.]app), jest po prostu osadzane w Outlooku.
Jeśli deweloper wypuści złośliwą aktualizację, jest ona natychmiast aktywna. Jeśli atakujący przejmie kontrolę nad zawartością serwowaną pod tym adresem URL, może wysłać dowolną zawartość wszystkim użytkownikom wtyczki. Microsoft po zatwierdzeniu manifestu przy pierwszej rejestracji dodatku nie sprawdza później rutynowo, co serwuje wskazany URL.
Projekt umiera, a potem…
AgreeTo faktycznie było wiarygodnym narzędziem – programista stworzył również rozszerzenie do Chrome i utrzymywał aktywne repozytorium GitHub. Rozwój projektu zatrzymał się w maju 2023 roku. Główna domena agreeto[.]app (pod którą serwowano stronę-wizytówkę) wygasła. Użytkownicy zgłaszali problem w opiniach o wtyczce do Chrome. Wskazywali, że narzędzie przestało działać.

Google ostatecznie usunęło martwe rozszerzenie z Chrome Web Store w lutym 2025 roku. Jednak dodatek do Outlooka pozostał wystawiony w sklepie Microsoftu, nadal wskazując na URL z Vercel, który już do nikogo nie należał. Atakujący przejął więc “zwolnioną” subdomenę i zaczął serwować na niej stronę phishingową, która wyłudzała dane logowania do kont Microsoft.

Gdy ofiara otwiera dodatek AgreeTo w Outlooku, nie widzi planera do spotkań. Widzi stronę logowania Microsoft. Wprowadza więc swój e-mail i hasło. Funkcja JavaScript zbiera poświadczenia wraz z adresem IP ofiary i wysyła wszystko do atakującego za pośrednictwem API Telegrama. Bez zaawansowanej infrastruktury C2.
Następnie przez kilka sekund wyświetla się ekran “ładowania” i następuje przekierowanie do prawdziwej strony logowania. Takie logowanie też nie uruchomi planera (atakujący nie odwzorowali oryginalnych funkcji wtyczki), ale na tym etapie poświadczenia i tak zostały już wykradzione. A użytkownik może uznać to za błąd i po prostu porzucić proces.
Atakujący nie zadbali jednak o bezpieczeństwo – badaczom z Koi udało się uzyskać dostęp do wykradzionych przez złośliwą stronę danych. Ustalili, że zebrano poświadczenia ponad 4000 użytkowników. Przy okazji odkryli, że atakujący zbierali dane także z innych stron phishingowych. Podszywano się m.in. pod kanadyjskich dostawców internetu, banki, usługi poczty e-mail. Skradzione dane obejmowały nie tylko poświadczenia do logowania, ale także numery kart kredytowych, CVV, PIN-y oraz odpowiedzi na “pytania zabezpieczające”.
Phishing nie był jednak najgorszym możliwym scenariuszem. Manifest AgreeTo deklarował uprawnienie ReadWriteItem, więc wtyczka mogła odczytywać i modyfikować e-maile użytkownika. Atakujący nie skorzystali z tej możliwości, ale teoretycznie mogliby z poziomu JavaScript “po cichu” odczytać zawartość skrzynki ofiary i wykraść treść jej wiadomości lub nawet wysyłać maile w jej imieniu. Uprawnienie zostało przyznane przez Microsoft przy tworzeniu wtyczki, jednak jest ważne praktycznie bezterminowo.
Badacze zgłosili dodatek do Microsoftu w celu usunięcia z Office Add-in Store, phishingową stronę do Vercel oraz wysłali zgłoszenia kont atakującego do Telegrama. Ofiary, których dane znaleźli, także zostały powiadomione. Przejęta strona na Vercel została już wyłączona, a subdomena zdążyła wcześniej trafić na listę blokad Google Safe Browsing.

Użytkownikom standardowo polecamy ograniczać liczbę zainstalowanych rozszerzeń do minimum. Jeśli któreś przestaje działać lub przestajemy z niego korzystać – najlepiej po prostu je odinstalować. Takie działanie w tym konkretnym przypadku pozwoliłoby całkowicie uniknąć ataku – wtyczka przez jakiś czas przed przejęciem była bowiem zupełnie “martwa”.
Wskaźniki IoC
- outlook-one[.]vercel[.]app – subdomena strony phishingowej
- WA200004949 – ID dodatku Office
Źródło: koi.ai
~Tymoteusz Jóźwiak
