Злоумышленники переключились с MBR на загрузчик NTFS-раздела

Злоумышленники переключились с MBR на загрузчик NTFS-раздела

В последнее время модифицирование областей жесткого диска, ответственных за начальную загрузку системы, становится все более популярным у злоумышленников. При этом если раньше изменению подвергалась MBR (основная загрузочная запись), то сейчас злоумышленники переключились на заражение кода загрузчика NTFS-раздела.



Недавно был обнаружен интересный зловред — Cidox. Его особенность в том, что он заражает код загрузочной области загрузочного раздела на жестком диске.

Основной файл Trojan-Dropper.Win32.Cidox «несет на борту» два драйвера-руткита (Rootkit.Win32/Win64.Cidox). Один из них скомпилирован под 32-битную платформу, а второй — под 64-битную, сообщает securelist

Исходный компонент Cidox модифицирует начальную область жесткого диска:
Записывает соответствующий драйвер в свободные сектора в начале жесткого диска.
Для заражения выбирает раздел, помеченный как загрузочный в таблице разделов в MBR. Важно отметить, что заражаются только разделы с файловой системой NTFS.

Записывает часть своего кода поверх области Extended NTFS IPL (Initial Program Loader), которая отвечает за разбор таблицы MFT (Master File Table), поиск файла с загрузчиком в корневой директории раздела (ntldr — до Vista, bootmgr — Vista+), считывание этого файла с диска и передачу управления на него. При этом оригинальное содержимое Extended NTFS IPL сохраняется в зашифрованном виде и дописывается в конец зловредного кода.

При следующей загрузке системы будет вызван вредоносный код загрузочной области. Он с помощью известной техники, используя перехват Int 13h и некоторых функций ядра Windows, успешно загрузит вредоносный драйвер в систему. Загруженный драйвер с помощью функции PsSetCreateProcessNotifyRoutine контролирует запуск следующих процессов:

  • svchost.exe 
  • iexplore.exe 
  • firefox.exe 
  • opera.exe 
  • chrome.exe

Если обнаружен запуск одного из перечисленных выше процессов, то в него внедряется еще один компонент Cidox — динамическая библиотека (Trojan.Win32.Cidox). Эта библиотека модифицирует любую выдачу браузера, заменяя ее на свою. В результате пользователь видит в окне браузера предложение обновить браузер в связи с тем, что в системе якобы обнаружены те или иные вредоносные программы. В приведенном ниже примере пользователю предлагается обновить браузер в связи с заражением троянцем Trojan.Win32.Ddox.ci.

 «Обновление», разумеется, платное. Чтобы его получить, необходимо отправить SMS на короткий номер.

Для каждого из популярных браузеров используются уникально оформленные страницы.

Отметим, что новую версию браузера на самом деле можно скачать бесплатно с сайта производителя. Таким образом, запугивая пользователей, злоумышленники просто вымогают у них деньги.

Проводник Windows падал не из-за Microsoft, виноват оказался деинсталлятор

Инженер Microsoft Рэймонд Чен рассказал любопытную историю отладки загадочных падений Проводника. Сначала всё выглядело так, будто в Windows внезапно появился неприятный баг. Но виновником оказалась вовсе не Microsoft, а сторонний деинсталлятор.

Проблема проявилась как резкий всплеск сбоев Проводника. Инженеры начали изучать дампы и заметили странную деталь: падала 32-битная версия программы, запущенная на 64-битных системах Windows.

Такая версия Проводника всё ещё есть в Windows ради совместимости со старыми приложениями. Обычно современные системы почти не используют этот путь. Но в данном случае сторонний деинсталлятор каким-то образом заставлял систему обращаться именно к этому устаревшему компоненту.

Дальше выяснилось, что деинсталлятор некорректно работал с системными API: использовал неправильное соглашение о вызовах функций и неверно обрабатывал параметры стека. Из-за этого при каждой неудачной операции данные из стека удалялись неправильно.

Поскольку процесс повторялся в цикле, повреждение памяти постепенно накапливалось. В какой-то момент указатель стека уезжал в область активного кода, и Проводник падал.

Со стороны всё выглядело как типичная системная ошибка: софт снова и снова аварийно завершал работу, создавая ощущение, что проблема в самой Windows. На деле операционная система лишь показывала последствия ошибки в стороннем ПО.

Чен напомнил важную вещь: в экосистеме Windows с миллиардами устройств и огромным количеством приложений далеко не каждый сбой компонента Microsoft означает баг в Windows. Сторонние программы тоже могут ломать системные процессы, особенно если неправильно используют низкоуровневые API.

RSS: Новости на портале Anti-Malware.ru