{
	"id": "32c60890-478d-4713-bd95-a04e4054fa53",
	"created_at": "2026-04-06T00:16:04.375478Z",
	"updated_at": "2026-04-10T13:12:57.19773Z",
	"deleted_at": null,
	"sha1_hash": "0d30ef8e432b844206e54f34248395e76fd26f1f",
	"title": "Trojan.Mayachok.2: анализ первого известного VBR-буткита",
	"llm_title": "",
	"authors": "",
	"file_creation_date": "0001-01-01T00:00:00Z",
	"file_modification_date": "0001-01-01T00:00:00Z",
	"file_size": 345132,
	"plain_text": "Trojan.Mayachok.2: анализ первого известного VBR-буткита\r\nPublished: 2011-07-08 · Archived: 2026-04-05 20:11:11 UTC\r\n8 июля 2011 года\r\nВ процессе изучения статистики появившихся за последнее время угроз складывается впечатление,\r\nчто модификация загрузочной записи в процессе инфицирования — новое модное веяние среди\r\nразработчиков вредоносного ПО. Особое место среди подобных программ занимает троянец\r\nTrojan.Mayachok.2, инфицирующий Volume Boot Record и нарушающий работу популярных\r\nбраузеров.\r\nЗаражение системы\r\nПеред началом атаки на инфицируемый компьютер дроппер вредоносной программы проверяет\r\nзараженность системы. Для этого на основе серийного номера системного раздела генерируется CLSID и\r\nпроверяется его наличие в системном реестре: если в ветке HKLM\\Software\\Classes\\CLSID отсутствует\r\nсоответствующий раздел, то заражение продолжается.\r\nВ операционных системах Windows Vista и Windows 7 троянец пытается повысить собственные права.\r\nЭтот весьма примитивный способ уже не раз использовался другими вредоносными программами:\r\nпостоянный перезапуск самой себя с запросом на повышение привилегий. Опытный пользователь с\r\nлегкостью может завершить такой назойливый процесс в «Диспетчере задач».\r\nhttps://news.drweb.ru/?i=1772\u0026c=23\u0026lng=ru\u0026p=0\r\nPage 1 of 6\n\nЗавершение троянского процесса через «Диспетчер задач»\r\nДроппер несет в себе как 32-битный, так и 64-битный драйвер, в будущем способный обеспечить загрузку\r\nосновного функционала данной вредоносной программы. На диске сохраняется соответствующий драйвер\r\nв зависимости от разрядности пользовательской операционной системы. Он может быть записан как в\r\nначало диска (до первого активного раздела), если там достаточно места, так и в его конец. Несложно\r\nзаметить, что в логике троянца присутствует ошибка: так, например, если загрузочным разделом окажется\r\nне первый, то троянский драйвер может перезаписать случайные данные любого раздела до загрузочного,\r\nт. к. позиция для записи выбирается случайно в пределах свободных (как считает троянец) секторов.\r\nТолько после этого начинается заражение VBR (Volume Boot Record). Вредоносная программа\r\nотказывается от заражения, если файловая система раздела имеет формат, отличный от NTFS. Анализируя\r\nзагрузочную запись, троянец находит удобное место для своего размещения и перезаписывает имеющийся\r\nтам код. Оригинальный код упаковывается при помощи библиотеки aplib (http://www.ibsensoftware.com) и\r\nдописывается следом за вирусным. Номер начального сектора размещенного ранее на диске драйвера и его\r\nразмер также «прошиваются» в тело зараженной VBR.\r\nЗдесь следует еще раз сказать о необычности механизма заражения. Вирусы, модифицирующие MBR\r\n(Master Boot Record) и BOOT-секторы, известны еще со времен DOS, в то время как современные ОС\r\nhttps://news.drweb.ru/?i=1772\u0026c=23\u0026lng=ru\u0026p=0\r\nPage 2 of 6\n\nпредоставляют новые возможности, в том числе и для вирусописателей. В рассматриваемом нами случае\r\nBOOT-сектор является первым сектором VBR, который, например, для раздела NTFS занимает 16\r\nсекторов. Таким образом, классическая проверка только загрузочного сектора не может обнаружить\r\nвредоносный объект, т. к. он располагается дальше — внутри VBR.\r\nПосле заражения системы Trojan.Mayachok.2 сбрасывает на диск небольшое приложение,\r\nпредназначенное для автоматической перезагрузки системы. Стоит отметить, что аналогичным образом\r\nведет себя и другой буткит — Trojan.Hashish. В завершение своей работы троянец пытается «замести\r\nследы» и удалить себя.\r\nЗапуск из VBR\r\nСравнение первых секторов VBR чистой и зараженной системы, красным показаны различия — код\r\nвирусного загрузчика\r\nПолучив управление, вирусный загрузчик действует по классической для MBR/BOOT-вирусов схеме.\r\n«Откусывает» себе небольшой кусок системной памяти, переносит себя туда и перехватывает прерывание\r\nint 13h для просмотра содержимого считываемых с диска секторов. Затем он целиком загружает с диска\r\nсвой драйвер и распаковывает на прежнее место оригинальный код VBR. Управление возвращается\r\nсистемному загрузчику.\r\nДалее идет череда снятий/установок перехватов в загружаемых модулях, таких как ntldr, bootmgr,\r\nosloader.exe, winload.exe и т. д., в зависимости от используемого операционной системой загрузчика.\r\nСледует отметить, что помимо обычных перехватов (сплайсинга) в ключевых мостах используются\r\nаппаратные отладочные регистры (dr0-dr7) и трассировка (пошаговое исполнение) кода. Это придает\r\nуниверсальность троянцу и одновременно является естественным способом обхода защиты целостности\r\nнекоторых загрузочных модулей. В итоге в области памяти режима ядра (kernelmode memory) оказывается\r\nзагруженный и готовый к работе вирусный драйвер.\r\nДрайвер загрузчика\r\nhttps://news.drweb.ru/?i=1772\u0026c=23\u0026lng=ru\u0026p=0\r\nPage 3 of 6\n\nТочка выхода вирусного драйвера вызывается дважды. Это связано с тесной работой зараженного VBR и\r\nдрайвера. Поскольку код вирусного VBR составляет всего 2078 байт, часть функционала авторы решили\r\nперенести в тело драйвера. При первом вызове он добавляет себя в списки из\r\nLOADER_PARAMETER_BLOCK: в LoadOrderList как копия первого модуля в списке (а это ядро ОС) и\r\nв BootDriverList как загрузочный драйвер, якобы прописанный в\r\n\\Registry\\Machine\\System\\CurrentControlSet\\Services\\null. Таким образом, вредоносная программа\r\nимитирует свою загрузку в качестве обычного boot-драйвера.\r\nВторой раз драйвер вызывается операционной системой, которая уверена, что сама загрузила его. Данные\r\nманипуляции приводят к некоторым побочным эффектам.\r\nНапример, в системе появляется драйвер Null, но при более внимательном рассмотрении оказывается, что\r\nон был создан ядром (ntoskrnl.exe).\r\nВ то же время среди загруженных модулей есть еще одно «ядро», в котором параметры DllBase и\r\nSizeOfImage принадлежат вредоносному драйверу.\r\nВ качестве экспресс-проверки системы на наличие или отсутствие заражения можно использовать\r\nпростую команду «echo hello \u003enul», которая на неинфицированной системе успешно выполняется, а на\r\nзараженной выдает сообщение об ошибке.\r\nhttps://news.drweb.ru/?i=1772\u0026c=23\u0026lng=ru\u0026p=0\r\nPage 4 of 6\n\nЗадачей драйвера является инжект (внедерение) своего кода в запущенные процессы.\r\n64-битный драйвер, красным выделены динамические библиотеки, которые упакованы aplib\r\nВнедрение кода осуществляется обычной установкой нотификаций через функции\r\nPsCreateProcessNotifyRoutine и PsCreateProcessNotifyRoutine с последующим вызовом асинхронной\r\nфункции через механизм APC. В процессе исследования выяснилось, что 64-битный драйвер несет «на\r\nборту» две библиотеки. При этом полезная нагрузка находится только в одной из них, а вторая, по всей\r\nвидимости, является «заделом на будущее».\r\nhttps://news.drweb.ru/?i=1772\u0026c=23\u0026lng=ru\u0026p=0\r\nPage 5 of 6\n\n32-битный драйвер, который осуществляет заброс шелл-кода в процессы\r\nВ остальном же драйвер не представляет особого интереса. На сегодняшний день используемый\r\nTrojan.Mayachok.2 механизм заражения является уникальным среди известных угроз. Специалисты\r\nкомпании «Доктор Веб» предполагают, что в недалеком будущем стоит ожидать использования подобной\r\nтехники заражения другими вредоносными программами.\r\nSource: https://news.drweb.ru/?i=1772\u0026c=23\u0026lng=ru\u0026p=0\r\nhttps://news.drweb.ru/?i=1772\u0026c=23\u0026lng=ru\u0026p=0\r\nPage 6 of 6",
	"extraction_quality": 1,
	"language": "RU",
	"sources": [
		"Malpedia"
	],
	"origins": [
		"web"
	],
	"references": [
		"https://news.drweb.ru/?i=1772\u0026c=23\u0026lng=ru\u0026p=0"
	],
	"report_names": [
		"?i=1772\u0026c=23\u0026lng=ru\u0026p=0"
	],
	"threat_actors": [],
	"ts_created_at": 1775434564,
	"ts_updated_at": 1775826777,
	"ts_creation_date": 0,
	"ts_modification_date": 0,
	"files": {
		"pdf": "https://archive.orkl.eu/0d30ef8e432b844206e54f34248395e76fd26f1f.pdf",
		"text": "https://archive.orkl.eu/0d30ef8e432b844206e54f34248395e76fd26f1f.txt",
		"img": "https://archive.orkl.eu/0d30ef8e432b844206e54f34248395e76fd26f1f.jpg"
	}
}