Кейлоггер с сюрпризом: анализ клавиатурного шпиона и деанон его разработчика By EditorF6 Published: 2019-11-27 · Archived: 2026-04-05 12:56:16 UTC Кейлоггер с сюрпризом: анализ клавиатурного шпиона и деанон его разработчика 7 мин 23K В последние годы мобильные трояны активно вытесняют трояны для персональных компьютеров, поэтому появление новых вредоносных программ под старые добрые «тачки» и их активное использование киберпреступниками, хотя и неприятное, но все-таки событие. Недавно центр круглосуточного реагирования на инциденты информационной безопасности CERT Group-IB зафиксировал необычную фишинговую рассылку, за которой скрывалась новая вредоносная программа для ПК, сочетающая в себе функции Keylogger и PasswordStealer. Внимание аналитиков привлекло то, каким образом шпионская программа попадала на машину пользователя — с помощью популярного голосового мессенджера. Илья Померанцев, специалист по анализу вредоносного кода CERT Group-IB рассказал, как работает вредоносная программа, чем она опасна, и даже нашел ее создателя — в далеком Ираке. https://habr.com/ru/company/group-ib/blog/477198/ Page 1 of 18 Итак, пойдем по порядку. Под видом вложения в таком вот письме содержалась картинка, при клике на которую пользователь попадал на сайт cdn.discordapp.com, и оттуда загружался вредоносный файл. Использование Discord, бесплатного голосового и текстового мессенджера, достаточно нестандартно. Обычно для этих целей используются другие мессенджеры или социальные сети. В процессе более детального анализа было установлено семейство ВПО. Им оказался новичок на рынке вредоносных программ — 404 Keylogger. Первое объявление о продаже кейлоггера было размещено на hackforums пользователем под ником «404 Coder» 8 августа. https://habr.com/ru/company/group-ib/blog/477198/ Page 2 of 18 Домен магазина был зарегистрирован совсем недавно — 7 сентября 2019 года. Как уверяют разработчики на сайте 404projects[.]xyz, 404 — это инструмент, созданный, чтобы помочь компаниям узнавать о действиях своих клиентов (с их разрешения) или он нужен тем, кто желает защитить свой бинарный файл от реверс-инжиниринга. Забегая вперед, скажем, что с последней задачей 404 точно не справляется. Мы решили разреверсить один из файлов и проверить, что из себя представляет «BEST SMART KEYLOGGER». Экосистема ВПО Загрузчик 1 (AtillaCrypter) Исходный файл защищен при помощи EaxObfuscator и осуществляет двухэтапную загрузку AtProtect из секции ресурсов. В ходе анализа других сэмплов, найденных на VirusTotal, стало понятно, что эта стадия не предусматривалась самим разработчиком, а была добавлена его клиентом. В дальнейшем было установлено, что этим загрузчиком является AtillaCrypter. https://habr.com/ru/company/group-ib/blog/477198/ Page 3 of 18 Загрузчик 2 (AtProtect) По факту этот загрузчик является неотъемлемой частью ВПО и, по замыслу разработчика, должен брать на себя функционал по противодействию анализу. Однако на практике механизмы защиты крайне примитивны, и наши системы успешно детектят это ВПО. Загрузка основного модуля осуществляется при помощи Franchy ShellCode различных версий. Однако мы не исключаем, что могли использоваться и другие варианты, например, RunPE. Конфигурационный файл https://habr.com/ru/company/group-ib/blog/477198/ Page 4 of 18 Закрепление в системе Закрепление в системе обеспечивается загрузчиком AtProtect, если установлен соответствующий флаг. Файл копируется по пути %AppData%\\GFqaak\\Zpzwm.exe. Создается файл %AppData%\\GFqaak\\WinDriv.url, запускающий Zpzwm.exe. https://habr.com/ru/company/group-ib/blog/477198/ Page 5 of 18 В ветке HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run создается ключ на запуск WinDriv.url. Взаимодействие с C&C Загрузчик AtProtect При наличии соответствующего флага ВПО может запустить скрытый процесс iexplorer и перейти по указанной ссылке, чтобы уведомить сервер об успешном заражении. DataStealer Вне зависимости от используемого метода сетевое взаимодействие начинается с получения внешнего IP жертвы с помощью ресурса [http]://checkip[.]dyndns[.]org/. User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR1.0.3705;) Одинакова и общая структура сообщения. Присутствует заголовок |------- 404 Keylogger — {Type} -------|, где {type} соответствует типу передаваемой информации. Далее следует информация о системе: _______ + VICTIM INFO + _______ IP: {Внешний IP} Owner Name: {Имя компьютера} OS Name: {Название ОС} OS Version: {Версия ОС} https://habr.com/ru/company/group-ib/blog/477198/ Page 6 of 18 OS PlatForm: {Платформа} RAM Size: {Размер ОЗУ} ______________________________ И, наконец, — передаваемые данные. SMTP Тема письма имеет следующий вид: 404 K | {Тип сообщения} | Client Name: {Имя пользователя}. Интересно, что для доставки писем клиенту 404 Keylogger используется SMTP-сервер разработчиков. Это позволило выявить некоторых клиентов, а также почту одного из разработчиков. FTP При использовании этого метода собираемая информация сохраняется в файл и сразу же оттуда читается. Логика этого действия не совсем понятна, однако это создает дополнительный артефакт для написания поведенческих правил. %HOMEDRIVE%%HOMEPATH%\\Documents\\A{Произвольное число}.txt Pastebin На момент анализа этот метод применяется только для передачи украденных паролей. Причем он используется не как альтернатива первым двум, а параллельно. Условием является значение константы, равное «Vavaa». Предположительно, это имя клиента. https://habr.com/ru/company/group-ib/blog/477198/ Page 7 of 18 Взаимодействие происходит по https-протоколу через API pastebin. Значение api_paste_private равно PASTE_UNLISTED, что запрещает поиск таких страниц в pastebin. Алгоритмы шифрования Извлечение файла из ресурсов Полезная нагрузка хранится в ресурсах загрузчика AtProtect в виде Bitmap-картинок. Извлечение осуществляется в несколько стадий: Из картинки извлекается массив байтов. Каждый пиксель трактуется как последовательность из 3 байтов в порядке BGR. После извлечения первые 4 байта массива хранят длину сообщения, последующие — само сообщение. Вычисляется ключ. Для этого высчитывается MD5 от значения «ZpzwmjMJyfTNiRalKVrcSkxCN», указанного в качестве пароля. Полученный хеш записывается дважды. Выполняется расшифровка алгоритмом AES в режиме ECB. https://habr.com/ru/company/group-ib/blog/477198/ Page 8 of 18 Вредоносный функционал Downloader Реализуется в загрузчике AtProtect. Обращением по [activelink-repalce] запрашивается статус сервера о готовности отдать файл. Сервер должен вернуть “ON”. По ссылке [downloadlink-replace] скачивается полезная нагрузка. С помощью FranchyShellcode осуществляется инжект полезной нагрузки в процесс [inj-replace]. В ходе анализа домена 404projects[.]xyz на VirusTotal были выявлены дополнительные экземпляры 404 Keylogger, а также несколько видов загрузчиков. Условно они делятся на два типа: 1. Загрузка осуществляется с ресурса 404projects[.]xyz. Данные закодированы Base64 и зашифрованы AES. 2. Этот вариант состоит из нескольких этапов и, вероятнее всего, используется в связке с загрузчиком AtProtect. https://habr.com/ru/company/group-ib/blog/477198/ Page 9 of 18 На первой стадии данные загружаются с pastebin и декодируются при помощи функции HexToByte. На второй стадии источником загрузки служит сам 404projects[.]xyz. При этом функции декомпрессии и декодирования аналогичны найденным в DataStealer. Вероятно, изначально планировалось реализовать функционал загрузчика в основном модуле. На этом этапе полезная нагрузка уже находится в ресурс-манифесте в сжатом виде. Аналогичные функции извлечения также были найдены в основном модуле. Среди проанализированных файлов были найдены загрузчики njRat, SpyGate и других RAT. Keylogger Период отправки лога: 30 минут. Поддерживаются все символы. Спецсимволы экранируются. Есть обработка клавиш BackSpace и Delete. Учитывается регистр. ClipboardLogger https://habr.com/ru/company/group-ib/blog/477198/ Page 10 of 18 Период отправки лога: 30 минут. Период опроса буфера: 0,1 секунды. Реализовано экранирование ссылок. ScreenLogger Период отправки лога: 60 минут. Скриншоты сохраняются в %HOMEDRIVE%%HOMEPATH%\\Documents\\404k\\404pic.png. После отправки папка 404k удаляется. PasswordStealer Противодействие динамическому анализу https://habr.com/ru/company/group-ib/blog/477198/ Page 11 of 18 Проверка нахождения процесса под анализом Осуществляется с помощью поиска процессов taskmgr, ProcessHacker, procexp64, procexp, procmon. Если найден хотя бы один, ВПО завершает работу. Проверка нахождения в виртуальной среде Осуществляется с помощью поиска процессов vmtoolsd, VGAuthService, vmacthlp, VBoxService, VBoxTray. Если найден хотя бы один, ВПО завершает работу. Засыпание на 5 секунд Демонстрация диалоговых окон различных типов Может быть использовано для обхода некоторых песочниц. Обход UAC Выполняется через редактирование ключа реестра EnableLUA в настройках групповой политики. Применение атрибута «Скрытный» для текущего файла. Возможность выполнить удаление текущего файла. Неактивные возможности В ходе анализа загрузчика и основного модуля были найдены функции, отвечающие за дополнительный функционал, однако они нигде не используются. Вероятно, это связано с тем, что ВПО все еще в разработке, и вскоре функциональность будет расширена. Загрузчик AtProtect Была найдена функция, отвечающая за подгрузку и инжект в процесс msiexec.exe произвольного модуля. https://habr.com/ru/company/group-ib/blog/477198/ Page 12 of 18 DataStealer Закрепление в системе Функции декомпрессии и дешифровки Вероятно, скоро будет реализовано шифрование данных при сетевом взаимодействии. Завершение процессов антивирусов Самоуничтожение Загрузка данных из указанного ресурс-манифеста https://habr.com/ru/company/group-ib/blog/477198/ Page 13 of 18 Копирование файла по пути %Temp%\\tmpG\\[Текущая дата и время в миллисекундах].tmp Интересно, что идентичная функция присутствует в ВПО AgentTesla. Функционал червя ВПО получает список съемных носителей. В корне файловой системы носителя создается копия ВПО с именем Sys.exe. Автозапуск реализован при помощи файла autorun.inf. Профиль злоумышленника В ходе анализа командного центра удалось установить почту и ник разработчика — Razer, он же Brwa, Brwa65, HiDDen PerSOn, 404 Coder. Далее было найдено любопытное видео на YouTube, где https://habr.com/ru/company/group-ib/blog/477198/ Page 14 of 18 демонстрируется работа с билдером. https://habr.com/ru/company/group-ib/blog/477198/ Page 15 of 18 Это позволило найти оригинальный канал разработчика. https://habr.com/ru/company/group-ib/blog/477198/ Page 16 of 18 Стало ясно, что опыт в написании крипторов у него имеется. Там же есть ссылки на страницы в социальных сетях, а также настоящее имя автора. Им оказался житель Ирака. Вот так, предположительно, выглядит разработчик 404 Keylogger. Фото из его личного профиля в Facebook. https://habr.com/ru/company/group-ib/blog/477198/ Page 17 of 18 CERT Group-IB оповестил о новой угрозе — 404 Keylogger — круглосуточный центр мониторинга и реагирования на киберугрозы (SOC) в Бахрейне. Source: https://habr.com/ru/company/group-ib/blog/477198/ https://habr.com/ru/company/group-ib/blog/477198/ Page 18 of 18