Разбираемся, как одна программа обставила целую индустрию.

Новая версия вредоносной программы Xloader заметно усложнила жизнь специалистам по анализу угроз. По данным экспертов Zscaler, авторы инструмента не просто обновили код, а полностью переработали ключевые механизмы маскировки и связи с управляющими серверами, сделав поведение трояна менее предсказуемым и более устойчивым к обнаружению.
Xloader давно известен как преемник FormBook, и в его коде до сих пор сохраняются устаревшие фрагменты. Однако начиная с версии 8.1 разработчики активно усиливают защиту от анализа. Основное внимание уделили обфускации — шифрованию строк и функций с расшифровкой во время выполнения. Причём теперь параметры для дешифровки формируются хаотично, иногда побайтно, без фиксированного порядка. Такой подход ломает привычные инструменты автоматического анализа и вынуждает разбирать код практически вручную.
Изменения коснулись и скрытия констант. Если раньше значения маскировали простыми операциями, то теперь применяются более сложные схемы с XOR и дополнительными вычислениями. Даже стандартные элементы функций, вроде пролога, кодируются перед выполнением. Одновременно переработан собственный алгоритм дешифровки — теперь он использует структуры с зашитыми значениями, которые расшифровываются по мере необходимости.
Сетевое поведение Xloader остаётся ключевым элементом атаки. Вредонос собирает пароли, cookies и другие данные из браузеров и почтовых клиентов, а затем отправляет их на сервер управления. Для связи используются HTTP-запросы, но поверх них накладывается несколько уровней шифрования. При этом троян может выбирать между прямыми TCP-соединениями и стандартными Windows API, меняя заголовки и поведение в зависимости от условий.
Отдельное усложнение — работа с инфраструктурой управления. Внутри Xloader зашито 65 адресов серверов, из которых случайным образом выбирается часть для связи. Среди них есть ложные узлы, маскирующие реальные точки управления. Проверить, какой сервер настоящий, можно только установив соединение и проанализировав ответ, что сильно затрудняет автоматическое выявление.
Перед отправкой данных троян шифрует информацию в несколько этапов с использованием алгоритма RC4 и ключей, производных от адреса сервера. Входящие команды обрабатываются аналогично — после двойной дешифровки вредонос извлекает идентификатор команды и выполняет действия. Среди доступных функций — загрузка и запуск файлов, обновление самого трояна, удаление следов, кража данных и даже перезагрузка системы.
Новые изменения показывают, что авторы Xloader продолжают активно развивать инструмент, делая ставку на усложнение анализа и устойчивость к защитным механизмам. Для систем безопасности такая эволюция означает рост затрат на детектирование и необходимость более глубокого анализа поведения вредоносного кода.