12:03
29/5/2020

Przestępcy bywają kreatywni czego dowodem są ataki wykryte ostatnio przez Kaspersky  ICS CERT. Sprawcy utrudnili wykrycie ataku analizą ruchu sieciowego i znaleźli ciekawy sposób na sprawdzenie wersji językowej systemów ofiar.

Zespół Kaspersky ICS CERT opisał niedawno ataki na organizacje z Japonii, Włoch, Niemiec i UK. Potencjalne ofiary były dostawcami sprzętu i oprogramowania tworzonego na potrzeby przemysłu. Niestety nie wiadomo jaki był cel przestępców, natomiast sposób działania był dość niekonwencjonalny.

Na początek – załącznik i makra

Ataki zaczynały się od e-maila z dokumentem w załączniku. E-mail zachęcał do natychmiastowego otworzenia dokumentu Excela. Po otwarciu dokumentu użytkownik widział zachętę do “włączenia zawartości”, a jeśli to zrobił makro  było wykonywane w celu zdeszyfrowania i wykonania skryptu PowerShell.

Skrypt PowerShell zawierał listę adresów URL, które prowadziły do obrazków w takich serwisach jak Imgur albo imgbox.com. Poniżej jeden z obrazków pobieranych przez oprogramowanie.

Steganografia

Jak zapewne się domyślacie tutaj było miejsce na steganografię. W odpowiednich pikselach pobranych obrazków zawarte były dane. Mówiąc ściślej, były to dane zakodowane algorytmem Base64, zaszyfrowane RSA i znów zakodowane w Base64. Po wyciągnięciu danych z obrazka, ich zdekodowaniu i zdeszyfrowaniu objawiał się drugi skrypt PowerShell, który też zawierał treści zakodowane w Base64 i je dekodował. Rezultatem wszystkich zabiegów był skrypt zawierający narzędzie Mimikatz stworzone z myślą o wykradaniu danych uwierzytelniających.

Schemat poniżej podsumowuje scenariusz ataku.

Źródło obrazka: ics-cert.kaspersky.com

 

Wykrywanie języka przez błąd

Teraz jeszcze jedna ciekawostka. Pierwszy skrypt miał w kodzie błąd, a zwracany komunikat o błędzie był używany jako klucz do deszyfrowania. Tekst komunikatu jest różny w różnych językach, a zatem wszystko mogło zadziałać jak należy tylko wówczas gdy ofiara miała określoną wersję językową oprogramowania. Przestępcy wyraźnie zasadzili się na ofiary z określonego kraju.

To wszystko zebrane razem czyni incydent niezwykle ciekawym. Użycie steganografii pozwalało na pobranie danych z niepodejrzanych źródeł co z kolei utrudniało wykrycie ataku narzędziami do monitorowania sieci. Podstawowy język systemu operacyjnego był również ustalany w sposób mało podejrzany. Atak był wyraźnie celowany na określone organizacje będące dostawcami rozwiązań dla przemysłu. Nie wiadomo jaki był cel przestępców, natomiast zdobycie danych uwierzytelniających do komputerów w takich organizacjach daje szerokie pole do popisu. Zespołowi Kaspersky ICS CERT pozostaje monitorowanie podobnych przypadków. Może w przyszłości uda się ustalić więcej.

Co robić? Jak żyć?

Zawsze warto przeszkolić pracowników z kwestii odporności na phishing i ograniczyć wykorzystanie makr w dokumentach. Trzeba zadbać o oprogramowanie antywirusowe. W obliczu ataków takich jak ten istotna będzie również “higiena” stosowania haseł (nie stosować jednego w wielu miejscach) oraz unikanie pracy na koncie administratora gdy tylko jest to możliwe.

Ataki na cele przemysłowe o bliżej nieokreślonym celu już się zdarzały. Niektóre z nich były przeprowadzane bardzo ostrożnie, a ich celem bywały specjalistyczne systemy (por. Twórcy Tritona zagrażają bezpieczeństwu obiektów przemysłowych i bardzo dobrze się kryją).

Trzeba przyznać, że samo używanie steganografii przez złośliwe oprogramowanie zwykle wiąże się z ciekawymi pomysłami przestępców. Chyba długo na liście naszych ulubionych przykładów pozostanie długotrwałe wykorzystywanie Britney Spears przez rosyjską grupę przestępczą (tak, wiemy że link jest clickbajtowy).

Przeczytaj także:



16 komentarzy

Dodaj komentarz
  1. Jak uodpornić organizację na malware phishing:
    1. Wyłączasz globalnie obsługę makr
    2. Odbierasz użytkownikom możliwość wykonywania programów spoza dozwolonej listy
    3. Nie ma punktu 3

    Tak szczerze, jak często Twoi pracownicy potrzebują uruchomić program pobrany przez nich samych z Internetu, aby wykonać potrzebną pracę? Obstawiam, że z raz na rok, i tymi przypadkami powinno zajmować się IT.

    • Można namówić nieświadomego użytkownika, żeby podmienił swoje dll-ki w open office to wyświetli mu się goła aktorka w pliku doc.

    • Zgadza się. I trzeba być twardym, a nie:
      – panie Zenku, tylko ten program do PIT-ów mi pan zainstaluje, pliiiiiissssssss
      – no dobra…

      Jak mawia mój kolega: “od kiedy wdrożyliśmy AD, to komputery przestały się psuć” :)

    • Nie można namówić użytkownika, żeby podmienił DLL, bo nie ma praw zapisu do katalogu z binarką ;)

    • Może podmienią odpowiednie zmienne systemowe np. %SystemRoot%, %ProgramFiles% w pliku bat i użyszkodnik odpali open office ze zmienionymi lokalizacjami, gdzie będzie już podstawiony złośliwy dll.

    • @1. A co z moimi wlasnymi makrami?
      @2. Przez “programy” rozumiemy tez tutaj skrypty?

    • > Tak szczerze, jak często Twoi pracownicy potrzebują uruchomić program pobrany przez nich samych z Internetu, aby wykonać potrzebną pracę? Obstawiam, że z raz na rok, i tymi przypadkami powinno zajmować się IT.

      Nie masz pojęcia jak się działa w gamedev. Głupi Steam czy modułu antyczitowe niejednokrotnie potrzebują eskalacji uprawnień a to niezbędne do wykonania przez pracownika potrzebnej pracy. Przydałby się jakiś ekwiwalent setuid na Windowsach, bo obsługa setek użyszkodników to jakiś koszmar.

    • @P4
      “Andrzeju, nie denerwuj się” ;)

      Wydaje mi sie ze CluelessKiwi najwyrazniej przespal ostatnie cwiercwiecze – w sensie jego podejscie opiera sie na tym co o pracy na komputerze wiedzial przecietny polak 25 lat temu, czytaj teczowe cliparty(fonty) w wordzie i pstrokate strony internetowe.
      Najwyrazniej nie rozumie, ze kompetentni pracownicy od dawna automatyzuja czesc swojej pracy a stworzenie listy czesto bardzo specyficznego oprogramowania w ramach kompetencji informatyka potrafi byc naprawde trudne – nawet kiedy dziala to na zasadzie odpowiedzialnosci pracowniczej (ktora przed malware nie chroni) bo blokowanie czegos takiego z perspektywy OS to czysta fantastyka.

      @Clueless Kiwi:
      > “Jak uodpornić organizację na malware phishing:…”
      1. Zablokowac uruchamnianie szkodliwego oprogramowania
      2. Odebrac uzytkownikom mozliwosc odbierania phishingowych emaili
      “Done and Done” Powodzenia :p xD

    • Jak często? W moim wypadku mniej więcej dwa razy na miesiąc.

      Polityka totalnej blokady sprawdza się, gdy dział IT ma wolne moce przerobowe. Podobnie z polityką “przycinania uprawnień”. Co więcej, w takim wypadku człowiek z IT musi być totalnym omnibusem by prawidłowo ustalić jakie uprawnienia jakiemu pracownikowi i do jakich zadań są niezbędne, a do tego musi mieć wszystko w malutkim palcu. Inaczej kończy się to tym, że wracamy do papieru i robótek ręcznych.

      Mnie osobiście wydaje się że sensownym rozwiązaniem jest strategia “piaskownicy” – udostępniania pracownikom zasobów, na których mogą ćwiczyć i uczyć się bez obawy szkody, także w zakresie szerszym niż wydaje się omnibusom z IT.

  2. @wkurzonyBialyMis

    Jakie makra?

    żaden szanujący się, bezpieczny system operacyjny nie ma makr – co najwyżej skrypty shella.

    Używasz systemu operacyjnego nie przeczytawszy licencji*, znaczy używasz makr (innych niż makra preprocesora) = zgadzasz się na kłopoty.

    To jest 0-1 logika, nie ma ‘jeśli’.

    * w licencji jest przecież napisane, że nie nadaje się do niczego profesjonalnego = jest “zabawkowy” – to że używasz go do tworzenia raportów biznesowych, czy bilansów finansowych oznacza, że:

    1. nie traktujesz profesjonalnie wyników tych działań
    2. po prostu masz taka fantazję (albo przekalkulowane ryzyko)
    3. spodziewasz się właściwych efektów od czegoś co się nie nadaje do takich zastosowań
    4. nie przeczytałeś licencji /lub wystąpił problem interpretacyjny/

    Podsumowując udaje Ci się żyć w miarę dobrze w fantastycznym wytworze wyobraźni
    – jestem zaskoczony i ciekawy – jak wiele lat?

    Ja na przykład używam zabawkowego systemu operacyjnego do grania, i akceptuje ryzyko, że każdego dnia mój dostęp lub legitne konto na Blizzardzie (gdziekolwiek) zginie, a dane transakcji wraz z numerem karty , zostaną ukradzione i wykorzystane do kupienia czegokolwiek moimi (wirtualnymi :P) pieniędzmi. Podobnie z moją skrzynką pocztową, mailami, kopią zapasową w “chmurze”.

    Jeśli mój zabawkowy OS w ogóle się odpali jutro – mam taką nadzieję wieczorem jak idę spać. I otworzy się przeglądarka (bo tez się aktualizuje i ma tysiąc plików w /crashdump) to jestem po prostu uradowany i zafascynowany to, że mimo wszystko działa /dług technologiczny każdego komponentu/ :-) Każdy dzień pełen cudów :D

    • *: możesz przytoczyć odnośny zapis licencji?

    • Zejdź na ziemię człowieku:)

    • Moze wczesniejszy komentarz byl troche zbyt ostry, cos mi sie nasunelo i musze zapytac:

      Ty = “Machine Learning” Robot & Ty.State = Training ?

  3. @niezdecydowany
    To polaczenie *skrajnej niekompetencji* i absurdalnie zawyzonego pojecia o swojej osobie zapiera dech w moich piersiach… Zloze to na patologiczne srodowisko i ciezkie stan odurzenia po niedozwolonych substancjach (patrzac na komentarz, strzelam grzybki?).

    Jesli nie, to sugeruje pilne spotkanie z psychologiem, psychiatra bylby lepszy ale niektorzy uwazaja ze to “stygma” a obawiam sie ze naprawde potrzebujesz pomocy…
    Powodzenia!

    • Ps. To odpowiedz na post : “niezdecydowany 2020.05.29 21:35” (musialem zle kliknac)

  4. Znowu bzdurne wojenki w komentarzach – a prawda jest taka, że jedyna sensowna polityka przyznawania uprawnień to “minimalne, jakie są potrzebne do wykonania danego zadania”. Wpisy o podmienianiu przez użytkowników bibliotek systemowych czy odpalaniu makr, które nie przeszły wcześniejszej autoryzacji, to już w ogóle czysty “kindergarden” – miejsca, osoby odpowiedzialne za IT na to pozwalają, są albo obsadzone dyletantami, ale “góra” nakazuje im źle wykonywać swoją pracę.

Twój komentarz

Zamieszczając komentarz akceptujesz regulamin dodawania komentarzy. Przez moderację nie przejdą: wycieczki osobiste, komentarze nie na temat, wulgaryzmy.

RSS dla komentarzy: