Kampania wymuszeń na szeroką skalę naraziła różne organizacje, wykorzystując publicznie dostępne pliki zmiennych środowiskowych (.env), zawierające dane uwierzytelniające powiązane z aplikacjami w chmurze oraz z mediami społecznościowymi.
„W trakcie tej kampanii popełniono wiele błędów związanych z cyberbezpieczeństwem, w tym: ujawnianie zmiennych środowiskowych, korzystanie z długotrwałych danych uwierzytelniających i brak modelu najmniejszych wymaganych uprawnień” – poinformował zespół Unit 42 z Palo Alto Networks w swoim raporcie.
Kampania wyróżnia się tym, iż grupa atakujących skonfigurowała infrastrukturę ataku w środowiskach Amazon Web Services (AWS) zainfekowanych organizacji i wykorzystała ją jako platformę startową do skanowania ponad 230 milionów unikalnych celów w poszukiwaniu poufnych danych.
Ze 110 000 domen objętych atakiem złośliwa aktywność miała wyłudzić ponad 90 000 unikalnych zmiennych w plikach .env, z czego 7000 należało do usług w chmurze organizacji, a 1500 zmiennych było powiązanych z kontami w mediach społecznościowych.
W ramach kampanii atakujący zażądali okupu (skutecznie) za dane przechowywane w kontenerach pamięci masowej w chmurze. W zdarzeniu atakujący nie szyfrowali choćby danych przed żądaniem zapłaty, ale wykradali je i umieszczali notatkę o okupie w zagrożonym kontenerze pamięci masowej.
Najbardziej uderzającym aspektem ataków jest to, iż nie opierają się one na lukach w zabezpieczeniach ani błędnych konfiguracjach usług dostawców chmury, ale wynikają z przypadkowego ujawnienia plików .env w niezabezpieczonych aplikacjach internetowych. Tak uzyskano początkowy dostęp.
Udane naruszenie środowiska chmury otwiera drogę do rozległych działań w zakresie wykrywania i rozpoznania, mających na celu poszerzenie zasięgu. Aktorzy zagrożeń wykorzystują klucze dostępu AWS Identity and Access Management (IAM) do tworzenia nowych ról i eskalacji swoich uprawnień.
Nowa rola IAM z uprawnieniami administracyjnymi jest następnie używana do tworzenia nowych funkcji AWS Lambda w celu zainicjowania zautomatyzowanej operacji skanowania całego Internetu, obejmującej miliony domen i adresów IP.
„Skrypt pobrał listę potencjalnych celów z publicznie dostępnego zewnętrznego kontenera S3, który został wykorzystany przez atakującego” – poinformowali Margaret Zimmermann, Sean Johnstone, William Gamazo i Nathaniel Quist, badacze z Unit 42.
„Lista potencjalnych celów, po których iterowała złośliwa funkcja lambda, zawierała zapis domen ofiar. Dla każdej domeny na liście kod wykonał żądanie cURL, kierując je do plików zmiennych środowiskowych ujawnionych w tej domenie (tj. https://<target>/.env)”.
Jeśli docelowa domena hostuje ujawniony plik środowiskowy, poświadczenia w postaci jawnego tekstu zawarte w pliku są wyodrębniane i przechowywane w nowo utworzonym folderze w innym publicznym kontenerze AWS S3 kontrolowanym przez atakującego. Od czasu pisania tego tekstu kontener został już zamknięty przez AWS.
Odkryto, iż kampania ataków wyraźnie wskazuje przypadki, w których pliki .env zawierają poświadczenia Mailgun, co sugeruje próbę wykorzystania ich przez atakującego do wysyłania wiadomości phishingowych z legalnych domen i obejścia zabezpieczeń.
Łańcuch infekcji kończy się, gdy sprawca ataku wykrada i usuwa poufne dane z kontenera S3 ofiary oraz przesyła notatkę o okupie, która nakazuje jej skontaktować się i zapłacić, aby uniknąć sprzedaży informacji w darknecie.
Obecnie nie jest jasne, kto stoi za kampanią, częściowo z powodu wykorzystania sieci VPN i TOR w celu ukrycia prawdziwego pochodzenia źródła. Unit 42 poinformował, iż wykrył dwa adresy IP, które zostały zlokalizowane w Ukrainie i w Maroku, odpowiednio w ramach funkcji lambda i działań związanych z wykradaniem S3.
„Atakujący stojący za tą kampanią prawdopodobnie wykorzystali rozległe techniki automatyzacji, aby działać skutecznie i szybko” – powiedzieli badacze. „To wskazuje, iż grupy sprawców ataku są zarówno wykwalifikowane, jak i mają wiedzę na temat zaawansowanych procesów i technik architektury chmury”.