{
	"id": "adf6c7b4-9b89-4fd8-870d-f2e9551a9a72",
	"created_at": "2026-04-06T00:13:24.932724Z",
	"updated_at": "2026-04-10T03:22:07.744739Z",
	"deleted_at": null,
	"sha1_hash": "ae840a14ea1c49bce8a9428339b2387ab0409120",
	"title": "Кейлоггер с сюрпризом: анализ клавиатурного шпиона и деанон его разработчика",
	"llm_title": "",
	"authors": "",
	"file_creation_date": "0001-01-01T00:00:00Z",
	"file_modification_date": "0001-01-01T00:00:00Z",
	"file_size": 3993866,
	"plain_text": "Кейлоггер с сюрпризом: анализ клавиатурного шпиона и\r\nдеанон его разработчика\r\nBy EditorF6\r\nPublished: 2019-11-27 · Archived: 2026-04-05 12:56:16 UTC\r\nКейлоггер с сюрпризом: анализ клавиатурного шпиона и деанон его\r\nразработчика\r\n7 мин\r\n23K\r\nВ последние годы мобильные трояны активно вытесняют трояны для персональных компьютеров, поэтому\r\nпоявление новых вредоносных программ под старые добрые «тачки» и их активное использование\r\nкиберпреступниками, хотя и неприятное, но все-таки событие. Недавно центр круглосуточного\r\nреагирования на инциденты информационной безопасности CERT Group-IB зафиксировал необычную\r\nфишинговую рассылку, за которой скрывалась новая вредоносная программа для ПК, сочетающая в себе\r\nфункции Keylogger и PasswordStealer. Внимание аналитиков привлекло то, каким образом шпионская\r\nпрограмма попадала на машину пользователя — с помощью популярного голосового мессенджера. Илья\r\nПомеранцев, специалист по анализу вредоносного кода CERT Group-IB рассказал, как работает\r\nвредоносная программа, чем она опасна, и даже нашел ее создателя — в далеком Ираке.\r\nhttps://habr.com/ru/company/group-ib/blog/477198/\r\nPage 1 of 18\n\nИтак, пойдем по порядку. Под видом вложения в таком вот письме содержалась картинка, при клике на\r\nкоторую пользователь попадал на сайт cdn.discordapp.com, и оттуда загружался вредоносный файл.\r\nИспользование Discord, бесплатного голосового и текстового мессенджера, достаточно нестандартно.\r\nОбычно для этих целей используются другие мессенджеры или социальные сети.\r\nВ процессе более детального анализа было установлено семейство ВПО. Им оказался новичок на рынке\r\nвредоносных программ — 404 Keylogger.\r\nПервое объявление о продаже кейлоггера было размещено на hackforums пользователем под ником «404\r\nCoder» 8 августа.\r\nhttps://habr.com/ru/company/group-ib/blog/477198/\r\nPage 2 of 18\n\nДомен магазина был зарегистрирован совсем недавно — 7 сентября 2019 года.\r\nКак уверяют разработчики на сайте 404projects[.]xyz, 404 — это инструмент, созданный, чтобы помочь\r\nкомпаниям узнавать о действиях своих клиентов (с их разрешения) или он нужен тем, кто желает защитить\r\nсвой бинарный файл от реверс-инжиниринга. Забегая вперед, скажем, что с последней задачей 404 точно\r\nне справляется.\r\nМы решили разреверсить один из файлов и проверить, что из себя представляет «BEST SMART\r\nKEYLOGGER».\r\nЭкосистема ВПО\r\nЗагрузчик 1 (AtillaCrypter)\r\nИсходный файл защищен при помощи EaxObfuscator и осуществляет двухэтапную загрузку AtProtect из\r\nсекции ресурсов. В ходе анализа других сэмплов, найденных на VirusTotal, стало понятно, что эта стадия\r\nне предусматривалась самим разработчиком, а была добавлена его клиентом. В дальнейшем было\r\nустановлено, что этим загрузчиком является AtillaCrypter.\r\nhttps://habr.com/ru/company/group-ib/blog/477198/\r\nPage 3 of 18\n\nЗагрузчик 2 (AtProtect)\r\nПо факту этот загрузчик является неотъемлемой частью ВПО и, по замыслу разработчика, должен брать на\r\nсебя функционал по противодействию анализу.\r\nОднако на практике механизмы защиты крайне примитивны, и наши системы успешно детектят это ВПО.\r\nЗагрузка основного модуля осуществляется при помощи Franchy ShellCode различных версий. Однако мы\r\nне исключаем, что могли использоваться и другие варианты, например, RunPE.\r\nКонфигурационный файл\r\nhttps://habr.com/ru/company/group-ib/blog/477198/\r\nPage 4 of 18\n\nЗакрепление в системе\r\nЗакрепление в системе обеспечивается загрузчиком AtProtect, если установлен соответствующий флаг.\r\nФайл копируется по пути %AppData%\\\\GFqaak\\\\Zpzwm.exe.\r\nСоздается файл %AppData%\\\\GFqaak\\\\WinDriv.url, запускающий Zpzwm.exe.\r\nhttps://habr.com/ru/company/group-ib/blog/477198/\r\nPage 5 of 18\n\nВ ветке HKCU\\\\Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Run создается ключ на запуск\r\nWinDriv.url.\r\nВзаимодействие с C\u0026C\r\nЗагрузчик AtProtect\r\nПри наличии соответствующего флага ВПО может запустить скрытый процесс iexplorer и перейти по\r\nуказанной ссылке, чтобы уведомить сервер об успешном заражении.\r\nDataStealer\r\nВне зависимости от используемого метода сетевое взаимодействие начинается с получения внешнего IP\r\nжертвы с помощью ресурса [http]://checkip[.]dyndns[.]org/.\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR1.0.3705;)\r\nОдинакова и общая структура сообщения. Присутствует заголовок\r\n|------- 404 Keylogger — {Type} -------|, где {type} соответствует типу передаваемой информации.\r\nДалее следует информация о системе:\r\n_______ + VICTIM INFO + _______\r\nIP: {Внешний IP}\r\nOwner Name: {Имя компьютера}\r\nOS Name: {Название ОС}\r\nOS Version: {Версия ОС}\r\nhttps://habr.com/ru/company/group-ib/blog/477198/\r\nPage 6 of 18\n\nOS PlatForm: {Платформа}\r\nRAM Size: {Размер ОЗУ}\r\n______________________________\r\nИ, наконец, — передаваемые данные.\r\nSMTP\r\nТема письма имеет следующий вид: 404 K | {Тип сообщения} | Client Name: {Имя пользователя}.\r\nИнтересно, что для доставки писем клиенту 404 Keylogger используется SMTP-сервер разработчиков.\r\nЭто позволило выявить некоторых клиентов, а также почту одного из разработчиков.\r\nFTP\r\nПри использовании этого метода собираемая информация сохраняется в файл и сразу же оттуда читается.\r\nЛогика этого действия не совсем понятна, однако это создает дополнительный артефакт для написания\r\nповеденческих правил.\r\n%HOMEDRIVE%%HOMEPATH%\\\\Documents\\\\A{Произвольное число}.txt\r\nPastebin\r\nНа момент анализа этот метод применяется только для передачи украденных паролей. Причем он\r\nиспользуется не как альтернатива первым двум, а параллельно. Условием является значение константы,\r\nравное «Vavaa». Предположительно, это имя клиента.\r\nhttps://habr.com/ru/company/group-ib/blog/477198/\r\nPage 7 of 18\n\nВзаимодействие происходит по https-протоколу через API pastebin. Значение api_paste_private равно\r\nPASTE_UNLISTED, что запрещает поиск таких страниц в pastebin.\r\nАлгоритмы шифрования\r\nИзвлечение файла из ресурсов\r\nПолезная нагрузка хранится в ресурсах загрузчика AtProtect в виде Bitmap-картинок. Извлечение\r\nосуществляется в несколько стадий:\r\nИз картинки извлекается массив байтов. Каждый пиксель трактуется как последовательность из 3\r\nбайтов в порядке BGR. После извлечения первые 4 байта массива хранят длину сообщения,\r\nпоследующие — само сообщение.\r\nВычисляется ключ. Для этого высчитывается MD5 от значения «ZpzwmjMJyfTNiRalKVrcSkxCN»,\r\nуказанного в качестве пароля. Полученный хеш записывается дважды.\r\nВыполняется расшифровка алгоритмом AES в режиме ECB.\r\nhttps://habr.com/ru/company/group-ib/blog/477198/\r\nPage 8 of 18\n\nВредоносный функционал\r\nDownloader\r\nРеализуется в загрузчике AtProtect.\r\nОбращением по [activelink-repalce] запрашивается статус сервера о готовности отдать файл. Сервер\r\nдолжен вернуть “ON”.\r\nПо ссылке [downloadlink-replace] скачивается полезная нагрузка.\r\nС помощью FranchyShellcode осуществляется инжект полезной нагрузки в процесс [inj-replace].\r\nВ ходе анализа домена 404projects[.]xyz на VirusTotal были выявлены дополнительные экземпляры 404\r\nKeylogger, а также несколько видов загрузчиков.\r\nУсловно они делятся на два типа:\r\n1. Загрузка осуществляется с ресурса 404projects[.]xyz.\r\nДанные закодированы Base64 и зашифрованы AES.\r\n2. Этот вариант состоит из нескольких этапов и, вероятнее всего, используется в связке с загрузчиком\r\nAtProtect.\r\nhttps://habr.com/ru/company/group-ib/blog/477198/\r\nPage 9 of 18\n\nНа первой стадии данные загружаются с pastebin и декодируются при помощи функции HexToByte.\r\nНа второй стадии источником загрузки служит сам 404projects[.]xyz. При этом функции\r\nдекомпрессии и декодирования аналогичны найденным в DataStealer. Вероятно, изначально\r\nпланировалось реализовать функционал загрузчика в основном модуле.\r\nНа этом этапе полезная нагрузка уже находится в ресурс-манифесте в сжатом виде. Аналогичные\r\nфункции извлечения также были найдены в основном модуле.\r\nСреди проанализированных файлов были найдены загрузчики njRat, SpyGate и других RAT.\r\nKeylogger\r\nПериод отправки лога: 30 минут.\r\nПоддерживаются все символы. Спецсимволы экранируются. Есть обработка клавиш BackSpace и Delete.\r\nУчитывается регистр.\r\nClipboardLogger\r\nhttps://habr.com/ru/company/group-ib/blog/477198/\r\nPage 10 of 18\n\nПериод отправки лога: 30 минут.\r\nПериод опроса буфера: 0,1 секунды.\r\nРеализовано экранирование ссылок.\r\nScreenLogger\r\nПериод отправки лога: 60 минут.\r\nСкриншоты сохраняются в %HOMEDRIVE%%HOMEPATH%\\\\Documents\\\\404k\\\\404pic.png.\r\nПосле отправки папка 404k удаляется.\r\nPasswordStealer\r\nПротиводействие динамическому анализу\r\nhttps://habr.com/ru/company/group-ib/blog/477198/\r\nPage 11 of 18\n\nПроверка нахождения процесса под анализом\r\nОсуществляется с помощью поиска процессов taskmgr, ProcessHacker, procexp64, procexp,\r\nprocmon. Если найден хотя бы один, ВПО завершает работу.\r\nПроверка нахождения в виртуальной среде\r\nОсуществляется с помощью поиска процессов vmtoolsd, VGAuthService, vmacthlp, VBoxService,\r\nVBoxTray. Если найден хотя бы один, ВПО завершает работу.\r\nЗасыпание на 5 секунд\r\nДемонстрация диалоговых окон различных типов\r\nМожет быть использовано для обхода некоторых песочниц.\r\nОбход UAC\r\nВыполняется через редактирование ключа реестра EnableLUA в настройках групповой политики.\r\nПрименение атрибута «Скрытный» для текущего файла.\r\nВозможность выполнить удаление текущего файла.\r\nНеактивные возможности\r\nВ ходе анализа загрузчика и основного модуля были найдены функции, отвечающие за дополнительный\r\nфункционал, однако они нигде не используются. Вероятно, это связано с тем, что ВПО все еще в\r\nразработке, и вскоре функциональность будет расширена.\r\nЗагрузчик AtProtect\r\nБыла найдена функция, отвечающая за подгрузку и инжект в процесс msiexec.exe произвольного модуля.\r\nhttps://habr.com/ru/company/group-ib/blog/477198/\r\nPage 12 of 18\n\nDataStealer\r\nЗакрепление в системе\r\nФункции декомпрессии и дешифровки\r\nВероятно, скоро будет реализовано шифрование данных при сетевом взаимодействии.\r\nЗавершение процессов антивирусов\r\nСамоуничтожение\r\nЗагрузка данных из указанного ресурс-манифеста\r\nhttps://habr.com/ru/company/group-ib/blog/477198/\r\nPage 13 of 18\n\nКопирование файла по пути %Temp%\\\\tmpG\\\\[Текущая дата и время в миллисекундах].tmp\r\nИнтересно, что идентичная функция присутствует в ВПО AgentTesla.\r\nФункционал червя\r\nВПО получает список съемных носителей. В корне файловой системы носителя создается копия\r\nВПО с именем Sys.exe. Автозапуск реализован при помощи файла autorun.inf.\r\nПрофиль злоумышленника\r\nВ ходе анализа командного центра удалось установить почту и ник разработчика — Razer, он же Brwa,\r\nBrwa65, HiDDen PerSOn, 404 Coder. Далее было найдено любопытное видео на YouTube, где\r\nhttps://habr.com/ru/company/group-ib/blog/477198/\r\nPage 14 of 18\n\nдемонстрируется работа с билдером.\r\nhttps://habr.com/ru/company/group-ib/blog/477198/\r\nPage 15 of 18\n\nЭто позволило найти оригинальный канал разработчика.\r\nhttps://habr.com/ru/company/group-ib/blog/477198/\r\nPage 16 of 18\n\nСтало ясно, что опыт в написании крипторов у него имеется. Там же есть ссылки на страницы в\r\nсоциальных сетях, а также настоящее имя автора. Им оказался житель Ирака.\r\nВот так, предположительно, выглядит разработчик 404 Keylogger. Фото из его личного профиля в\r\nFacebook.\r\nhttps://habr.com/ru/company/group-ib/blog/477198/\r\nPage 17 of 18\n\nCERT Group-IB оповестил о новой угрозе — 404 Keylogger — круглосуточный центр мониторинга и\r\nреагирования на киберугрозы (SOC) в Бахрейне.\r\nSource: https://habr.com/ru/company/group-ib/blog/477198/\r\nhttps://habr.com/ru/company/group-ib/blog/477198/\r\nPage 18 of 18",
	"extraction_quality": 1,
	"language": "RU",
	"sources": [
		"Malpedia"
	],
	"references": [
		"https://habr.com/ru/company/group-ib/blog/477198/"
	],
	"report_names": [
		"477198"
	],
	"threat_actors": [],
	"ts_created_at": 1775434404,
	"ts_updated_at": 1775791327,
	"ts_creation_date": 0,
	"ts_modification_date": 0,
	"files": {
		"pdf": "https://archive.orkl.eu/ae840a14ea1c49bce8a9428339b2387ab0409120.pdf",
		"text": "https://archive.orkl.eu/ae840a14ea1c49bce8a9428339b2387ab0409120.txt",
		"img": "https://archive.orkl.eu/ae840a14ea1c49bce8a9428339b2387ab0409120.jpg"
	}
}