Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book

Cisco ASA na celowniku APT

01 maja 2024, 11:37 | W biegu | komentarze 4

Cisco Talos oraz zespół reagowania na incydenty w produktach Cisco (PSIRT) otrzymały jakiś czas temu zgłoszenie od klienta, który odkrył pewne anomalie na swoich routerach brzegowych. Takie znalezisko od razu wzbudziło podejrzenia po stronie producenta, ponieważ dostęp do urządzeń brzegowych dałby atakującym olbrzymie możliwości podsłuchiwania ruchu, jego przekierowania lub pivotu do wnętrza sieci. Uruchomiona na tych urządzeniach telemetria Cisco wskazuje na szczególne zainteresowanie atakujących produktem Microsoft Exchange. Co się stało?

Jak na razie zespół Talos nie poinformował na swoim blogu, jak atakującym udało się uzyskać dostęp do urządzeń podczas kampanii nazwanej ArcaneDoor. Wektor wstępnego ataku jest wciąż badany, a dostarczone dowody póki co nie wskazują na istnienie podatności pre-auth na urządzeniach. Jednak wygląda na to, że grupa, śledzona jako UAT4356 (lub STORM-1849 według Microsoft Threat Intelligence Center), uzyskuje dostęp do urządzeń w ściśle kontrolowanej i „celowanej” kampanii, która ma na celu pozyskiwanie informacji o konkretnych podmiotach. 

Atakujący stworzyli implant, który uruchamiają na przejętym urządzeniu. Jego skomplikowanie wskazuje na to, że nie jest to wynik prac przypadkowych ludzi, a raczej zespołów, które zajmują się głównie przedsięwzięciami tego typu. 

Pierwszy element implantu został nazwany Line Dancer i jest to interpreter shellcode, który parsuje i wykonuje polecenia przesyłane do urządzenia. Wykonywany kod jest wysyłany przez pole host-scan-reply, które zwykle wykorzystywane jest w zestawianiu sesji SSL VPN. Atakujący nadpisują wskaźnik do domyślnego parsera tego nagłówka, dzięki czemu w momencie przyjścia wiadomości, zawierającej odpowiednie pole, uruchamiany jest złośliwy parser, który wykonuje dostarczony shellcode. Oprócz oczywistej funkcji backdoora, która nie wymaga uwierzytelnienia, atakujący robią kilka ciekawych rzeczy, które znacznie utrudniają wykrycie ataku. Line Dancer wyłącza syslog, robi zrzut konfiguracji urządzenia i umożliwia jej pobranie przez atakujących, tworzy zrzuty ruchu sieciowego. 

Urządzenia klasy enterprise, zwłaszcza takie, które stanowią ważne węzły w sieci organizacji, muszą mieć wysoką dostępność (High Availability). Właśnie dlatego producenci umieszczają w oprogramowaniu funkcje, które pozwalają zapisywać zrzuty pamięci procesu w przypadku ich przedwczesnego zakończenia np. poprzez błędy typu memory corruption. Urządzenia Cisco również posiadają możliwość zapisywania i przesyłania tzw. crash dumpów, które pozwalają producentowi na szybsze debugowanie pojawiających się błędów. Proces odpowiedzialny za obsługę takich zdarzeń jest przez Line Dancer backdoorowany, co powoduje, że wystąpienie tego typu stanu nie jest nigdy raportowane producentowi, natomiast urządzenie przechodzi od razu do rebootu, aby wznowić działanie. Na domiar złego, atakujący wykorzystuje kolejnego backdoora, hookując funkcję odpowiedzialną za uwierzytelnienie, autoryzacje i logowanie zdarzeń – Talos donosi, że wprowadzone zmiany umożliwiają logowanie do VPN z pominięciem normalnego flow przy pomocy tzw. magic number.

Listing 1. Backdoor w funkcji parsującej Host-Scan-Reply – zamazana została 32-bitowa wartość służąca do uwierzytelnienia. Istnieje prawdopodobieństwo, że ten token jest unikalny dla każdej ofiary, stąd Talos postanowił chronić tożsamość zgłaszającego (źródło: Talos)

Drugi mechanizm wykryty na przejętych urządzeniach umożliwia przetrwanie po reboocie urządzenia oraz aktualizacji oprogramowania. W tym przypadku wykorzystano funkcję pozwalającą na załadowanie z dysku plików klienta VPN (tzw. client bundle), co było możliwe dzięki użyciu podatności CVE-2024-20359. Zainfekowane urządzenie automatycznie wczytuje złośliwą konfigurację, która w efekcie instaluje backdoora umożliwiającego komunikację po HTTP. Ten element kampanii został określony jako Line Runner. 

Nowe (poprawione w odpowiedzi na opisywaną kampanię) oprogramowanie od Cisco uniemożliwia załadowanie backdoora, ponieważ nie wspiera już możliwości ładowania boundle z dysku w czasie ponownego uruchamiania urządzenia. Był to element zapewniający wsteczną kompatybilność, która jak zwykle okazała się zgubna…

Metody utrudniające analizę, łączenie wielu 0-dayów oraz bardzo dokładny dobór technik wskazuje na wysokie zaawansowanie atakujących, dlatego Talos podejrzewa, że za kampanią stoi grupa sponsorowana przez państwo. 

Zainteresowane organizacje mogą sprawdzić bogatą listę IoC, aby dowiedzieć się, czy również padły ofiarą ataku. Jedną z metod jest sprawdzenie wykonywalnych regionów pamięci (r-xp). Jeśli jest ich więcej niż jeden, może to wskazywać na to, że UTA4356 interesowała się również tym urządzeniem. 

Listing 2. Zestawienie wykonania polecenia listującego wykonywalne zakresy pamięci (zaatakowane urządzenie na górze, nieprzejęte – na dole) (Źródło: talos)

Niestety nie jest to metoda wyczerpująca, ponieważ obserwowane były kampanie wykorzystujące tylko jeden z opisywanych wyżej komponentów i wtedy modyfikacje uprawnień pamięci nie były wprowadzane. 

W przypadku podejrzenia przejęcia urządzeń, należy postępować zgodnie z wytycznymi przedstawionymi przez Cisco, przy czym NIE jest zalecane rebootowanie urządzenia oraz NIE zbieranie crashdumpów. W przypadku wykrycia ataku, należy utworzyć ticket w Cisco TAC.

Rysunek 1. Infrastruktura atakujących (źródło: talos)

Atakujący zbudowali infrastrukturę, która może być zidentyfikowana w wyniku cech charakterystycznych certyfikatów SSL. 

Listing 3. Cechy charakterystyczne certyfikatów (źródło: talos)

Talosowi gratulujemy rzetelnie przeprowadzonego śledztwa i czekamy na końcowe wnioski, w których opisany zostanie pełen łańcuch prowadzący do przejęcia urządzenia. Użytkownikom zalecamy natomiast aktualizację, która łata podatności związane z persistance oraz wzmożoną czujność. Jeśli korzystacie z Cisco ASA – sprawdźcie IoC w artykule Talosa.

~fc

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

  1. RK

    Listingu 2. Zrzuty dolny i górny są IDENTYCZNE co do znaku. Jak zidentyfikować na podstawie tak dobranych obrazków zainfekowane urządzenie?

    Odpowiedz
    • Piotr

      Też to zauważyłem, zapewne błąd copy-paste-a przy tworzeniu artykułu

      Odpowiedz
      • Tomasz Turba

        Dzięki, jakaś dziwna wklejka, ale już poprawione :-)

        Odpowiedz
      • fc

        Good catch, coś dziwnego stało się z wklejaniem do WYSIWYG. Pojedynczy screenshot pokazuje nadmiarowe wykonywalne strony pamięci (x).

        Odpowiedz

Odpowiedz