20.04.2016 | 06:38

Adam Haertle

Ponad 260 000 plików EXE w serwisie Chomikuj.pl zainfekowanych koniem trojańskim

W sieci pojawił się opis ciekawego konia trojańskiego napisanego w Pythonie prawdopodobnie przez Polaka. Na podstawie dostępnych wskazówek zidentyfikowaliśmy już ponad 100 tysięcy zainfekowanych nim plików EXE.

Firma Palo Alto Networks opisała dzisiaj interesujący przypadek złośliwego oprogramowania, na które od pewnego czasu natrafiała w sieciach polskich firm i instytucji. Pliki były rozprowadzane między innymi w serwisie Chomikuj.pl. Zidentyfikowaliśmy konta odpowiedzialne za udostępnianie zainfekowanych plików i skala zjawiska zrobiła na nas duże wrażenie.

PWOBot

PWOBot, bo tak nazwali go odkrywcy, napisany jest w całości w Pythonie a następnie skompilowany do pliku EXE. Najstarsze ślady jego wczesnych wersji sięgają zdaniem badaczy do końca roku 2013.  Odnaleziono ślady istnienia 12 różnych wersji a kulminacja ataków przypadała na drugą połowę roku 2015. Poszczególne wersje różnią się w niewielkim stopniu, wprowadzają jedynie drobne optymalizacje.

Złośliwy program zaczyna od poszukiwań swojej wcześniejszej wersji i jeśli taką znajdzie to ją usuwa. Następnie tworzy na dysku swoją kopię pod nazwą pwo[numer wersji] i dopisuje jej uruchomienie do odpowiedniego klucza w rejestrze. Na ślady wpisów w rejestrach odpowiadających tej definicji natrafiliśmy np. na forum Elektrody w czerwcu 2014, serwisie wklej.org w lutym 2014 czy na forum FixitPC w styczniu 2014. Sam program posiada budowę modułową i dysponuje następującymi możliwościami:

  • pobieranie i uruchamianie wskazanych plików wykonywalnych
  • uruchamianie serwera WWW na zainfekowanym komputerze
  • zapisywanie naciskanych klawiszy
  • kopanie BTC za pomocą procesora lub karty graficznej
  • wykonywanie kodu Pythona
  • odpytanie wskazanego adresu URL

Program posiada także dwa pliki konfiguracyjne. Jeden z nich wskazuje podstawowe parametry działania takie jak np. nazwy plików EXE pod którymi uruchomione są poszczególne moduły, a drugi informacje o serwerach C&C. Serwery C&C znajdują się w sieci Tor – złośliwy kod zawiera także odpowiednie pliki obsługujące te połączenia. Próbki z ostatniej kampanii z sierpnia 2015 łączą się także z domenami

tracking.huijang.com
api.olakmonitoring.com

260 tysiecy zainfekowanych plików

Zaczynając naszą analizę od kilku nazw plików zawierających złośliwy kod szybko zlokalizowaliśmy konta w serwisie Chomikuj.pl, które zawierały próbki konia trojańskiego dołączone do przeróżnych programów użytkowych. Zauważyliśmy także pewne cechy wspólne tych kont, które pozwoliły na zlokalizowanie ich większej liczby. Jak do tej pory namierzyliśmy 7 kont które zawierają praktycznie wyłącznie pliki EXE zainfekowane opisywanym koniem trojańskim. Te konta to Kimaoson, KuroMan29, KarolKrol, OranzowyBol, be36ber, soneaakarin oraz Paolapopo. W sumie te 7 kont zawiera 262 314 plików o łącznej objętości dokładnie 99,99 GB. Przypadek czy precyzyjnie zaplanowany projekt?

Co łączy te Chomiki?

Co łączy te Chomiki?

Kto za tym wszystkim stoi

Doświadczeni analitycy z laboratorium z3s, którzy na polskim złośliwym oprogramowaniu zęby zjedli, zgodnym chórem podejrzewają o współudział osobę stojącą za innowacyjnym koniem trojańskim Banatrix (oraz jego późniejszymi odmianami) lub kogoś, kto wzoruje się na jego metodach działania. Opinia ta wynika przede wszystkim z wyboru metody dystrybucji konia trojańskiego. Źródło Banatrixa długo umykało badaczom – w końcu okazało się, że jednym z kanałów dystrybucji były zainfekowane pliki w serwisach torrentowych. Autor kampanii pobierał popularne pirackie oprogramowanie (np. Photoshop, Tibia czy Nero), do każdego pliku EXE doklejał swój kawałek kodu i – prawdopodobnie cudzymi rękoma – propagował w sieci na popularnych serwisach torrentowych. Tu mamy do czynienia z podobną akcją, choć na dużo większą skalę. Wybór takiej metody dystrybucji bardzo utrudnia zadanie badaczom – bez aktywnego rozsyłania konia trojańskiego trudniej ustalić metodę infekcji, a same ofiary dużo mniej chętnie przyznają się do instalowania pirackiego oprogramowania. O efektywności tej metody niech świadczy fakt, że dopiero po ponad 2 latach pojawił się w sieci pierwszy opis PWOBota.

Drugim istotnym podobieństwem jest stworzenie własnego złośliwego kodu, rzadko spotykane na naszym rynku, gdzie dominują gotowe konie trojańskie z HackForums.net. Nie znamy wielu przypadków autorskiego konia trojańskiego w naszym kraju – ten zdecydowanie wybija się ponad codzienność. Autora tradycyjnie zapraszamy do kontaktu – bez wątpienia może opowiedzieć wiele ciekawych historii.

Powrót

Komentarze

  • 2016.04.20 08:03 Kamil Dzióbek

    Zerknąłem na te pliki i one mają często poniżej 0,5 Megabajta. Czy zostały utworzone przez py2exe (są zbyt małe) czy to wersja pythona związana z C# (kiedyś to zwali IronPython).

    Często wirusy są w plikach zip udających książki. Np. tutaj:
    http://chomikuj.pl/farango/Literatura+faktu/Wdowy+smole*c5*84skie,4980439024.zip(archive)

    Odpowiedz
    • 2016.04.20 09:57 anonim

      Bo te małe pliki to jedynie downloadery pobierające docelowy payload po http. Chociaż na chodniku można znaleźć również docelowe binarki zbudowane pyinstallerem. One mają już rozmiary >7M (7-20M)

      Odpowiedz
    • 2016.04.20 11:36 stefek

      jest wiecej opcji, sprawdz chociazby cos takiego jak „nuitka”

      Odpowiedz
  • 2016.04.20 08:11 klakier

    respekt na dzieli kolo ma!!

    Odpowiedz
  • 2016.04.20 09:37 ssss

    Admini chomikuj chyba czytają z3s, bo wszystkie konta już poblokowane ;)

    Odpowiedz
    • 2016.04.20 11:07 as

      mysle ze ekipa z3s poinformowała chomikuj.pl o takiej szerokiej dystrybucji i wskazala namierzone konta, to raczej logiczne.

      Odpowiedz
      • 2016.04.20 15:48 chomik reklamiarze

        Odkąd to administratorzy chomikuj to rwą do zgłoszeń. Na chomikuj pełno kont oszustów. Przykładowe:
        http://chomikuj.pl/aboone1221
        http://chomikuj.pl/dpetrilis,13
        Mają w plikach powsadzane linki do stron wyłudzających pieniądze z smsów. Mimo próśb, żeby zainteresowali problemem: blokowaniem chomików i usunięcia treści z portalu to nie bardzo. A niestety głupich nie sieją, a normalne chomiki rozwlekają po swoich kontach te pliki i pewnie ludzie wysyłają sms, żeby dostać nieistniejące pliki, a w zamian to dostaną wirusy.

        Odpowiedz
        • 2016.04.21 15:29 mihix

          W ogóle mi nie szkoda tych co się na to nabierają. Chcieli kraść a sami zostali okradzeni.

          Odpowiedz
  • 2016.04.20 10:31 kamil

    Mają rozmach. A jak z jego wykrywalnością, skanowanie plików z chomikuja na virustotal wystarczy?

    Odpowiedz
  • 2016.04.20 11:46 foid

    W C++ zajęło by tylko 60kb po UPX

    Odpowiedz
    • 2016.04.20 11:47 Adam

      Prawdopodobnym powodem użycia Pythona była chęć obniżenia poziomu wykrywalności – jak widać działało dość długi czas.

      Odpowiedz
      • 2016.04.20 12:25 Majtki

        W jaki sposób użycie pythona może obniżyć poziom wykrywalności?

        Odpowiedz
        • 2016.04.20 17:04 K

          Języki programowania pozwalają zrobić jedną rzecz na wiele sposobów. Języki wysokopoziomowe dodatkowo to ułatwiają.

          Jeśli zrobisz coś odpowiednio inaczej to masz dużą szansę, że wzorzec antywirusa wyszukujący określonego kodu/instrukcji nie zadziała.

          Tłumaczenie z Pythona na C dorzuca sporo kodu Python’a do tego co chcemy zrobić. Dodatkowo Python tłumaczy różne operacje inaczej niż napisało by się to w czystym C. I na koniec w prostszy sposób można napisać inny kod robiący to samo co kod łapany przez antywirusa.

          Odpowiedz
          • 2016.04.21 10:42 adrb

            I tak i nie. To o czym mówisz tyczy się już znanych próbek złośliwego oprogramowania. Nieznane próbki mogą być wykrywane
            tylko po tym co próbują zrobić. Czy napiszesz program w C czy w Pythonie, będzie się posługiwać tymi samymi wywołaniami systemowymi.

            Jakoś wątpię by głównym powodem napisania tego w Pythonie była
            chęć obniżenia wykrywalności.

            Doklejenie się do pliku exe również nie jest niczym wybitnym, więc nie przesadzałbym z tym, że stworzenie własnego trojana
            to jakaś wybitna sztuka. Po prostu ludzie zajmujący się tym
            by wyłudzać pieniądze nie są na tyle techniczni by robić
            takie rzeczy samemu, ot cała prawda.

        • 2016.04.21 19:53 No

          Wykrywalności to nie chyba koniecznie, przynajmniej na pewnym etapie – chociaż wykorzystanie języków emulowanych/interpretowanych ma jakiś sens w przypadku gdy np atak jest wycelowany w komputer który dany interpreter posiada (np warto napisać wirusa w Javie gdy atakujemy komputer mając pewność że ma jave i wiemy że większość rozwiązań `av` bazujących na emulacji jej nie ma) ale wydaje mi się że wykorzystanie języków bazujących na maszynach wirtualnych/interpretatorach ma przede wszystkim tę zaletę że w wielu przypadkach utrudnia analizę, dużo ludzi zna x86/64, ARM czy inne architekrtury ale każdy język pośredni to dodatkowa warstwa abstrakcji (Byte Code etc). Natomiast ogólnie sądzę że łatwo popaść w paranoje, większość ludzi związanych z informatykom programuje dzisiaj w językach wysokiego poziomu więc pyton/java czy c# to może być dla nich bardziej naturalne środowisko niż inne i gdyby ktoś na prawdę chciał osiągnąć dobre ratio nie wykrywalności za pomocą języków bazujących na VM czy innej dodatkowej warstwie abstrakcji to po prostu napisałby własną implementacje VM

          Odpowiedz
          • 2016.04.22 15:57 adrb

            Wydaje mi się, że dobrze trafiłeś. Osoba pisząca to cudo zapewne uczyła się programować w ostatnich latach.

            Zaciemnianie kodu poprzez użycie VM jest słabe. W znacznej większości przypadków nie potrzeba nawet odpalać debugera, żeby zauważyć czy coś prowadzi „podejrzaną działalność”.

        • 2016.04.23 00:18 js

          No właśnie nie wiem, bo jak się tak zastanowić to wykorzystanie języków pośrednich może być irytujące na pewnym etapie np w przypadku dropperów/loaderów (run-pe) bo na dłuższą metę to chyba tak się jakoś składa że większość z tych języków jest łatwa w dekompilacji a z punktu widzenia detekcji bazującej na jakiś wirtualkach/sandboxach/etc to chyba i tak największą uwagę ma to w jaki sposób dana próbka wchodzi w interakcje z systemem operacyjnym, natomiast jeżeli wziąć pod uwagę czysto analityczny aspekt (RE) to własna implementacja VM (a jeszcze lepiej wielokrotna) jest ciężka do analizy przez ludzi z zewnątrz bo muszą rozebrać interpreter.
          Natomiast w wielu przypadkach jest prawdopodobnie tak że ktoś używa danego języka bez kalkulacji bo czemu nie, albo właśnie lepiej się w nim czuje

          Odpowiedz
  • 2016.04.21 04:51 Lukasz

    Fajny artykul. Ale przydalaby sie dodatkowa informacja, czy trojan jest wykrywalny przez jakies antywirusy. Przyczepie sie takze do sformuowania ze program Tibia jest programem pirackim.

    Odpowiedz
  • 2016.04.21 20:36 MatM

    Pierwszą moją myślą po przeczytaniu, że trojan został napisany w Pythonie było – nareszcie coś „portable” napisali na różne systemy. Później niestety jak zwykle się rozczarowałem. Może ktoś po przeczytaniu mojego wpisu postanowi dopieścić jakimś malware użytkowników innych systemów niż Windows? Kasy z tego wielkiej może nie będzie ale za to jaki rozgłos i sława w podziemiu. Nie zachowujcie się jak rozwydrzone korporacje. No i nie liczy się infekcja Linuksa działającego pod Windowsem.

    Odpowiedz
    • 2016.04.22 16:00 adrb

      Formaty plików wykonywalnych nie są kompatybilne, więc co najwyżej taki trojan mógłby obsługiwać kilka wybranych systemów.

      Wirusy na Linuksa istnieją i nie jest to żadna nowość.
      Pisze się je prawie tak samo jak pod Windows, jednak możliwość ich rozprzestrzenienia jest bardziej ograniczona.

      Odpowiedz

Zostaw odpowiedź

Jeśli chcesz zwrócić uwagę na literówkę lub inny błąd techniczny, zapraszamy do formularza kontaktowego. Reagujemy równie szybko.

Ponad 260 000 plików EXE w serwisie Chomikuj.pl zainfekowanych koniem trojańskim

Komentarze