Истории о том, как антивирусные компании вычисляют вирусописателей, всегда вызывают неподдельный интерес у самой разной аудитории. Даже несмотря на то, что в большинстве случаев такого рода разоблачения происходят потому, что вирмейкер где-то фундаментально накосячил. Так вышло и на этот раз, причем автор трояна не то чтобы подставился сам, но знатно спалил своих клиентов, на радость специалистам по информационной безопасности. Собственно, случай, о котором пойдет речь, наглядно иллюстрирует, как проводятся расследования подобных инцидентов и какую информацию можно получить, обратив внимание на незначительные, казалось бы, детали.

Началось все с того, что к нам в вирлаб поступило несколько семплов троянца-стилера, отличающихся друг от друга рядом технических деталей, но явно созданных одним и тем же автором. Трой имел стандартный для подобного софта набор функций: поиск и сбор сохраненных паролей и файлов cookies из браузеров, копирование текстовых файлов, картинок и документов по списку, кража паролей из FTP-клиентов, а также учеток от «Телеграма» и клиента Steam. Все, что нажито непосильным трудом, стилер упаковывал в архив и заливал в облачное хранилище: в одной из версий — на Яндекс.Диск, в более поздних модификациях — на pCloud.

Говорят, здоровый смех продлевает жизнь. Если это в действительности так, то, анализируя полученные образцы стилеров, вирусные аналитики явно выиграли пару-тройку дополнительных лет

Одна из ранних редакций трояна распространялась через видеохостинг YouTube — по ссылкам в комментариях, оставленных с нескольких фейковых аккаунтов. При этом ролики посвящались использованию читов и трейнеров в популярных играх, а по ссылкам якобы можно было скачать эти приложения. То есть кампания, по всей видимости, была рассчитана на игроков-читеров, а одной из целей предположительно был угон аккаунтов Steam. Ссылки на вредоносный софт также активно рекламировались в твиттере.



Еще одна модификация трояна была многокомпонентной: помимо основного шпионского модуля, в его состав входил написанный на Go сканер, определявший путь к установленным в системе браузерам, и отдельная утилита, запаковывающая краденые файлы в архив и заливавшая их в облако. Дроппер троя был выполнен на AutoIt, что само по себе доставило исследователям отдельный ни с чем не сравнимый фан. Для распространения этого трояна злодеи придумали весьма оригинальный метод: они связывались с владельцами популярных Telegram-каналов, которым предлагали прорекламировать программу для подключения к Telegram одновременно с нескольких аккаунтов. Приложение можно было протестировать — для этого потенциальной жертве присылали ссылку на исполняемый файл, в котором прятался троян.



Что же касается самих стилеров, то все без исключения исследованные нами семплы оказались написаны на Python и сконвертированы в исполняемый файл с помощью py2exe. При этом код троянов оказался кривой, как фруктовый нож, и такой же тупой. Взять, к примеру, питоновскую функцию os.listdir(), возвращающую список строк, каждая из которых представляет собой имя директории. Обычно полученные значения этой функции парсятся в цикле. Однако автор трояна зачем-то формировал из списка строку с пробелами-разделителями и искал в ней нужные вхождения по заданному шаблону с использованием регулярного выражения:

steam = os.listdir(steampath)
steam = ' '.join(steam).decode('utf-8')
ssfnfiles = findall('(ssfn\\d+)', steam)

Говорят, здоровый смех продлевает жизнь. Если это в действительности так, то, анализируя полученные образцы стилеров, вирусные аналитики явно выиграли пару-тройку дополнительных лет, ибо смотреть без смеха на подобный чудесный код попросту невозможно:

if score is 0:
    pass
if score is not 0:
    exit(1)

По всей видимости, вирусописатель пока еще не освоил сложнейшую синтаксическую конструкцию if score != 0: exit(1) либо вместо рук у него из плеч растут лапки. Второе, впрочем, позже полностью подтвердилось.

При компиляции скрипта интерпретатор Python сохраняет в байт-коде имя исходного сценария. Это имя, полученное нами из экзешника, оказалось весьма характерным: enotproject. А в дроппере, написанном на AutoIt, сохранился даже путь к папке с файлами проекта: \Users\User\Desktop\Racoon Stealer\build\. Непродолжительный гуглеж по ключевым словам «Енот» и «Racoon Stealer» привел нас на страничку Lolzteam, где юзер под ником «Енот Погромист» продает всем желающим те самые трояны, а также проводит мастер-классы по написанию стилеров на Python.



Наш «Енот» оказался непростым зверьком: ко всему прочему он еще и видеоблогер, автор канала про разработку вредоносного ПО, и владелец аккаунта на Гитхабе, куда он выкладывает трояны собственного изготовления в виде исходников.


Поскольку «Енот» наследил в Сети изрядно, благодаря его видеороликам и прочей выложенной в паблик информации аналитики очень быстро установили несколько технических доменов, с которых он раздавал свой вредоносный софт, и три используемых им личных адреса электронной почты. На просторах интернета также был найден номер мобильного телефона «Енота Погромиста», а к нему оказался привязан аккаунт Telegram, который он использует для обратной связи. Собранная воедино информация о семплах стилеров, видеороликах, доменах и адресах почтовых ящиков образовала вот такую схему связей вирусописателя и задействованных им технических средств.


Но самое забавное крылось в коде троянов. Клиентам, которым «Енот» продавал свои стилеры, предлагалось зарегистрировать аккаунт в облачном хранилище pCloud, куда троян самостоятельно загружал запакованные в архив файлы с зараженного компьютера. При этом логин и пароль от каждого аккаунта своих клиентов «Енот Погромист» предусмотрительно зашил в тело самих стилеров практически в открытом виде, благодаря чему извлечь их оттуда можно безо всякого труда.

Ну и сами покупатели троянов в большинстве своем отличались высочайшим интеллектом, недюжинным умом и дьявольской сообразительностью: многие из них запускали стилер на своих личных машинах (вероятно, в тестовых целях), благодаря чему их персональные файлы оказались залиты в облачное хранилище, к которому стараниями «Енота» может получить доступ кто угодно. Не говоря уже о том, что некоторые особо одаренные гуманоиды использовали в качестве логина на pCloud свои личные адреса электронной почты, привязанные к реальным страничкам в социальных сетях. Да, и, разумеется, пароль у них тоже везде одинаковый.

Заключение

Удивительно, сколько сведений о себе люди добровольно оставляют в Сети.

Поскольку «Енот Погромист» любезно слил нам приватную информацию о своих клиентах, было бы глупо не поинтересоваться, чем они занимаются в свободное от покупки троянов время. Оказалось, что многие из них пользуются и другими стилерами, в изобилии продающимися на соответствующих форумах. От обнаруженных нами сведений потянулись ниточки к различным сетевым ресурсам: одна за другой отыскивались личные странички в соцсетях, каналы на YouTube, почтовые адреса, номера мобильных телефонов, идентификаторы электронных кошельков в платежных системах… Некоторые клиенты «Енота» владеют веб-сайтами — благодаря службе Whois удалось выяснить имена администраторов используемых ими доменов. У одного «грозного хакера» ко всему прочему обнаружился электронный дневник, которыми сейчас пользуются все школьники.

Таким образом, все покупатели Енотовых стилеров были нами в кратчайшие сроки вычислены, деанонимизированы, на каждого составлено подробное досье и сложено в аккуратненькую папочку. Еноты иногда бывают крайне полезны в деле борьбы с киберпреступностью.

В общем, друзья, для того чтобы вычислить автора вирусов, иногда достаточно простой внимательности к мелочам — благодаря этому порой удается провести большое и успешное расследование.

47 комментариев

  1. Int

    22.05.2018 at 15:00

    Узнать, что пароль в соц. сети тааой же, как на pcloud, можно только попробовав залогиниться. Разве это не является неправомерным доступом к информации?

    • Matveykin

      22.05.2018 at 15:58

      Енот? Ты ли это? Расслабься…

    • Pavel_S

      23.05.2018 at 11:49

      Если ты видишь в логах стиллера одинаковые пароли, на основании этого можно сделать определенные выводы. Проверять их на валидность при этом не обязательно ,)

  2. Dave123

    22.05.2018 at 15:23

    Павел Шалин, вы нечем не отличаетесь от блэкхетов. Только работаете на другую контору. Контору которая дает вам право взламывать других.

    • Pavel_S

      23.05.2018 at 11:51

      Мы отличаемся как минимум тем, что не впариваем людям малварь и не воруем у них приватную информацию.

      • poslannikD

        25.05.2018 at 08:19

        «не воруем у них приватную информацию» — ага 🙂 Знаем мы этих которые не при чем.
        Может быть не конкретно ваша контора, но одни из лидеров российского рынка не очень заморачиваются на счет персональных данных если эти данные кому-то нужны.
        (Данный коммент считать выдумкой и пьяным бредом)

  3. Madriot

    22.05.2018 at 15:24

    «if score is not 0: exit(1)» и «if score != 0: exit(1)»

    Смех без причины — признак сами знаете кого, да?))

    • Pavel_S

      23.05.2018 at 12:40

      Там весь код можно было бы написать более компактно и изящно ,)

      • Madriot

        27.05.2018 at 22:19

        про код в целиком не спорю, я только хотел отметить что конкретно этот пример не такой уж и смешной (раз уж вы его в статье вставили)

  4. poslannikD

    22.05.2018 at 16:48

    Целая команда вирусных аналитиков, искала школьника который питон не осилил. — Звучит как начало анеггДота.
    Вопрос к автору статьи, а что с досье делаете?

    • Pavel_S

      23.05.2018 at 11:53

      >Вопрос к автору статьи, а что с досье делаете?

      Складываем под монитор в качестве подставки ,)

  5. blackmamba

    22.05.2018 at 17:49

    Школьный форум, школьный вирус, пиаритесь на школьниках?

  6. blackmamba

    22.05.2018 at 19:32

    Позорище то какое, взрослые люди, книжки пишут, а такое впечатление, что больше некого ловить, кроме детей которые продают стим))) Позорище, нашли чем хвалится…

    • Pavel_S

      23.05.2018 at 11:58

      Да никто Енота специально не ловил, к тому же он, похоже, и не шифровался особо. По крайней мере, хранить пару логин-пароль прямо в теле трояна — это весьма странный подход к безопасности. Как-то слегка неосмотрительно. Так что можно сказать, что оно само попалось.

    • Averon

      24.05.2018 at 08:11

      Дети вырастают, а наклонности остаются.

  7. doctor331

    22.05.2018 at 20:26

    Да будет вам, уважаемые товарищи!
    Все же на несколько порядков мощнее чем надоевшие каналы ютубчика)
    Вывод из статьи как всегда один. Безопасность, в том числе и личная это начало.
    Опытные бывало на такого рода ошибках попадались, че о школоте говорить)
    Автору спасибо!

  8. Владиславище

    23.05.2018 at 01:32

    Школота тренируется! А натренировавшись, перестанет делать ошибки. Для вирусодеятельности заведёт отдельный ноут с платным VPN на непробиваемом хостинге, отдельные Аккаунты, кошельки на анонимных Криптах, научится пользоваться обменными сервисами для запутывания транзакций, а главное поймёт, что прогресс не стоит на месте. Анонимность требует расходов, а пренебрежение ведёт к ответственности — # уголовной. Увлечённая школота через 10 лет повторит успехи Мираи, Локки, Цербера и многих других.

    • Pavel_S

      23.05.2018 at 12:00

      Даже опытные специалисты не гарантированы от ошибок. Их бы энергию, да в мирное русло…

  9. Mr-r00t

    23.05.2018 at 09:36

    Автор — выпеййаду мудак, мне совершенно не интересно твое мнение, и переход на личности можешь оставить при себе. Я понимаю редактора который оставил «оригинальный стиль», но такие «рассказы» явно не красят журнал.

  10. baragoz

    23.05.2018 at 10:47

    Как бы нормально, журнал про ИБ, дают высказаться обеим всем сторонам инфобеза. Опять же добру молодцу урок 😉

  11. Mr-r00t

    23.05.2018 at 11:02

    baragoz
    Мне вот стыдно за такой «жаргон» последнего поста, но не за смысл, автору же не за то, ни за другое. Я ни на чьей стороне. По поводу редакции статьи уже все сказал.

  12. Asylum

    23.05.2018 at 12:06

    Плюсик за материал )

  13. Pavel_S

    23.05.2018 at 13:54

    Читателям «][akep» не нравится жаргон. чтожеснамистало.жпг

  14. divided

    23.05.2018 at 16:47

    Спасибо автору за разбор. И не обращаейте внимание на обиженных школьников.

  15. Dmitry Morozov

    23.05.2018 at 18:18

    Концепт статьи классный, но хотелось бы разбор чего-то по серьёзнее. Енотов таких навалом, не сильно интересно

    • Pavel_S

      23.05.2018 at 18:23

      Постараюсь написать что-нибудь в ближайшее время — у нас как раз сейчас очень вкусный и непростой трой изучается. Как расковыряем, напишем заметку ,)

  16. anarh1st47

    24.05.2018 at 12:02

    >При этом ролики посвящались использованию читов и трейнеров в популярных играх
    >Аналитик, «Доктор Веб»

    В этом месяце было заблокировано большинство каналов на YT, связанных с читами(CS:GO).
    В сообществе читеров как-раз стали подозревать Dr. Web. Пострадали не только ютюберы, но и разработчики софта для игр, которые не только не встраивают в свой софт стиллеры, но и заботятся о конфиденциальности своих пользователей.
    Имеет ли данный случай и Dr.Web в целом к блокировкам контента на YouTube?

    • Pavel_S

      24.05.2018 at 15:19

      Нет, мы им никаких абуз не писали. Может быть, к этом как-то причастны разработчики игры.

      • anarh1st47

        24.05.2018 at 15:21

        Спасибо за ответ
        Разработчики игры тоже вряд ли что-то писали, потому что англоязычные блоггеры не «отлетели»

  17. CyanFox

    24.05.2018 at 14:01

    Интересно, а с какой стати замазали личные данные: телефон, e-mail? Хотелось бы пообщаться с этим «гением вирусописательства и троян-мейкерства»

    • Mr-r00t

      24.05.2018 at 14:10

      «Гения» не трудно найти на гитхабе, специально пошел посмотрел, канал остался.

    • Pavel_S

      24.05.2018 at 15:05

      Да он и на лолзе есть, только ник сменил. Телега указана в профайле, общайтесь на здоровье.

  18. Anon

    29.05.2018 at 09:03

    С начинающим скрипткидди воевать — много ума не надо… Обоссать чужой код — тоже дело не хитрое.
    Пришёл дядька в начальную школу, достал свой 12см болт и давай хвастаться размерами..

    • baragoz

      30.05.2018 at 09:55

      — Мама, а мы в школе мерялись пиписьками и моя оказалась самой большой, это потому что я черный?
      — Нет, дебил, это потому что тебе 32 года (с) 🙂

  19. sergey_koza

    06.06.2018 at 16:08

    этому «вирусу» уже месяца 2-3 не меньше наверное
    и вы так гордо щас разоблачили его,
    еще бы через год написали, ах да это же мелкий зверек, кому до не го дело

Оставить мнение

Check Also

Брутфорс в английской глубинке. Как криптостойкие шифры вскрывали до компьютеров

Ты наверняка слышал про тест Тьюринга и, возможно, машину Тьюринга. Однако помимо абстракт…