Объявление

Свернуть
Пока нет объявлений.

По ту сторону баррикад вредоносного ПО. Исповедь малварщика.

Свернуть
X
 
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения

  • По ту сторону баррикад вредоносного ПО. Исповедь малварщика.

    Приветствую, %хабраюзер%. Решил ненадолго оторваться от форумных войн и работы, написав на Хабр статью о вредоносном ПО. Но статья эта будет необычная, так сказать — по другую сторону баррикад. Так уж сложилось, что на жизнь зарабатываю разработкой ПО. Вредоносного.

    Заранее скажу:

    Я не работаю по RU и СНГ в частности, а значит, чист перед законом. Не надо меня тыкать в УК РФ, его знаю отлично и не нарушаю. Такое у нас УПК, что не считает нарушением 272/273, если не причинило вред Российской Федерации. Таким образом, я отказываюсь от ответственности от сказанного мною тут, а также не несу никакой ответственности за причиненные действия после прочтения этой статьи. И вообще — я завязал. Я добрый, хольте и лелейте.

    Итак, приступим.

    Начну с того, кто и зачем пишет вредоносное ПО.

    Вместо вступления. Зачем же это все?

    Начну со своей истории. Я начал программирование с написания вредоносного ПО, как и многие в этой сфере. Именно поэтому так часто встречаются глупые вредоносы, которые только портят, либо содержат столько ошибок, что компьютер вообще отказывается дальше работать. Побудил меня интерес к этому, когда я поймал подобную малварь. Ну, и собственное эго — начал я с таких же портящих систему вредоносов.

    Позврослев и набравшись опыта, я понял, что на этом можно зарабатывать. Об этом я и хочу поговорить в первой части статьи.

    Как используют вредоносное ПО?

    Начнем с самого безобидного.

    I) Clickfraud, мошенничество с кликами, или, как мы говорим — кликботы. Для чего это надо? Ну, представим, что вы некая рекламная фирма, и вам платят за переходы. Другими словами за траффик. И тут два пути:

    1) Либо этот траффик добыть честным путем, рекламой;
    2) Либо просто «попросить» вредоноса (мне не нравится, честно говоря, слово вредонос) перейти на сайт. Хорошие кликботы умеют эмулировать javascript и кликать по экрану, что очень сложно отфильтровать.

    Как мы понимаем, реклама дорога, и ботнет на базе кликбота очень хорошо окупается.

    Примером является P2P-ботнет на базе ZeroAccess.

    II) Переходим к более агрессивному софту, майнинг. Думаю, не нужно местному сообществу объяснять, что такое майнинг. Просто скажу цифру: 9 USD/day с ~120 онлайна серверных систем на майнинге Altcoin.

    Пример: ZeroAccess для майнинга Bitcoin.

    Неплохо, да? Но это все неинтересно, идем дальше.

    III) Загрузки. Вот мы и подошли к тому, про что обычное IT-сообщество не знает. Как обычно говорят аверы — Trojan-Downloader, а мы будем говорить по простому — лоадер. Так вот, лоадер — это такая штука, которая служит для скачивания и запуска другой малвари. Они бывают нерезидентными и резидентными. Поговорим про второе, ибо это наиболее интересно. Что обычно делает человек, использующий малварь для своих благих целей? Он ищет где бы достать лоады (загрузки) на компьютеры пользователей. И идет он к адверту (человек, который грузит софт). Адверт использует лоадер для загрузки софта этого человека на компьютеры пользователей.

    Обычные расценки:

    US — 600$/1к лоадов
    UK — 400$/1к лоадов
    Микс мира — 100$/1к лоадов
    Микс Азии — 75$/1к лоадов.

    Эти цены взяты у одного из таких адвертов.

    Пример: Smoke Loader.

    IV) Банкботы. Вот мы и подошли к кардерам, которые воруют денюшку иу людишек.

    Начнем с банкботов.

    Как работает банкбот?

    Попадая на компьютер пользователя он инжектит код (внедряет в адресное пространство процесса) в браузеры, ставит хуки на апишки для работы с сетью (перехватывает функции отправки/получения данных с сети), после чего производит подмену выдачи (разговорное: веб-инжекты, инжи, инжекты). Т.е, например, заходит пользователь в онлайн банк, а у него вместо формы от банка подменяется код на форму, которая совершает автоматический перевод после ввода данных авторизации (автозаливы). Это простейший вариант; разумеется, существуют разные антифрод системы в банках и прочие способы защиты. Но и есть способы их обхода.

    Суммы, получаемые кардерами, можете представить сами.

    Пример: Zeus, SpyEye.

    V) Криптолокеры. Наконец, мы подошли к самому низкому — криптолокерам. Данный софт шифрует все на винте и требует выкуп. Наиболее профессиональные работают следующим образом:

    При старте проверяют запущены ли они в СНГ (обычно по раскладке) и, если запущены, то завершаются. Это не шутка, так и есть, примеры: Cerber Locker.

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

    Для каждого файла генерируется уникальный AES-256 ключ, который шифруется глобальным публичным RSA-2048 ключем, а приватная часть удаляется из памяти и отправляется на сервер для хранения. Сделано это для того, чтобы увеличить скорость шифрования, ибо RSA — слишком медленный алгоритм, а AES-CBC шифрует довольно быстро. Чтобы расшифровать потребуются сотни лет со всей вычислительной мощности, либо приватный ключ с сервера для расшифровки ключа AES, который отправляется в автоматическом режиме при получении оплаты на уникальный для бота bitcoin-адрес. Именно так работает Cerber Locker. По данным исследователей (гуглится легко) авторы цербера заработали около $2 млн за год. На деле чуть меньше миллиона, так как распространяется этот софт засчет адвертов, которым уходит 50% (на одном из форумов висит их партнерская программа).

    Вместо основной части. Как происходит управление ботнетом?

    Разумеется, мы должны как-то всем этим управлять. Для этого используются чаще всего C&C-серверы (Command and control). Боты просто при старте подключаются к серверу и ждут оттуда команды. Разумеется, приходят абузы и сервер наглым образом блочат, но и от этого есть панацея. Можно использовать DGA (алгоритм генерации доменов), либо хостинг в .onion зоне (проще говоря в торе). Отличное антиабузное решение. Сейчас наблюдается интересная тенденция в использовании namecoin, он же blockchain для dns. Так что с прогрессом прятать ботнеты становится все проще, а защита только слабеет.

    А как же с обходами антивирусов?

    Для начала поговорим о уровнях защиты: scantime, runtime. Другими словами, во время сканирования и во время работы. К первому относится сигнатурный анализ и эвристический, а ко второму — проактивные технологии.

    Все это обходится достаточно просто. Эвристика ищет подозрительные вызовы API и имена в таблице импорта, а мы можем просто использовать динамический импорт функций через самописную GetProcAddress функцию и различные техники антиэмуляции. До недавнего времени KIS не умел эмулировать последнюю ошибку API функций и его легко было пустить по ложному следу, сейчас это почему-то перестало помогать. Пока не расковырял, увы.

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

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

    Пример кода из RunPE криптора, расшифрующего малварь в памяти и внедряющего его в копию своего процесса
    В примере в качестве ключа используется LastError от неверного вызова функции OpenProcess. Спасал раньше от KIS и других, сейчас как-то не очень. Видимо эмулятор дописали по-нормальному.

    void Decrypt(PCHAR str, DWORD size)
    {
    int j = 2;
    OpenProcess(0, 0, 0);
    for (DWORD i = 0; i < size; i++)
    {
    if ((i % 1024 == 0) && (fact(j) != j))
    ExitProcess(0);
    str[i] ^= (xor_key - GetLastError());
    str[i] -= (fact(j + 1) - fact(j) * fact(j));
    }
    }

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

    Не верите? Ок.

    Давайте посмотрим на результат сканирования малвари DarkComet RAT.

    Билд DarkComet'а некриптованный
    А теперь накроем его криптором из под спойлера.

    билд DarkComet'а криптованный
    Результат интересный, из-за паники вокруг Zeus'а очень много ложных срабатываний из-за очень общих сигнатур на него. Разумеется, 1 детект — это ошибка скорее, а не достижение.

    Вместо заключения. Как защититься?

    Рекламировать особенные продукты не буду, но они есть. И этот продукт бесплатен.

    1) Поставьте линукс

    1) Используйте решения класса Internet Security (Total Security);
    2) Используйте фаерволлы;
    3) UAC на максимальный уровень (хотя это легко обходится), пароль на админа 40 символов и сидите из под юзера;
    4) NoScript плагин для браузера, измененный UserAgent под Linux и Chrome для неверной идентификации браузера.

    Источник https://habrahabr.ru/post/319992/
    Подписывайтесь на наш канал в Telegram

    Только не говорите потом, что не знали о нём!

  • #2
    Бред и профанация - только школьники работают с Кометой.
    Уже давно доступны решения с дроппером и ботом от 1000$.

    Комментарий

    Обработка...
    X