Stoned Bootkit - Презентация буткита для Windows.


Stoned Bootkit это новый буткит для Windows, который может атаковать все версии Windows от 2000 до 7. Он загружается до запуска Windows и загружается в память до ядра Windows. Исходя из этого Stoned получает доступ ко всей системе. У него есть много удивительных характеристик, таких как интегрированные системные драйвера, автоматическое овладевание Windows, плагины, загрузочные приложения и многое многое другое. Проэкт частично опубликован в свободном доступе под публичной лицензией Европейского Союза. Как и в 1987, "Your PC is now Stoned! ..again".
Stoned Bootkit - Презентация буткита для Windows.


Stoned Bootkit

Питэр Клейснер

Содержание

I. Введение
1. Краткое описание
2. Архитектура
3. Овладеваем Windows из Boot
II. Архитектура Stoned
1. Плагины
2. Загрузочные приложения
III.Установка и использование Bootkit’а
IV.Основное обсуждение

Кто я такой?
• Независимый разработчик операционных систем
• Профессиональный программист и анализатор Malware
• Живу в Винер-Нойдорфе, пригороде Вены (Австрия)

Введение

Краткое описание
• Bootkit = Rootkit + Возможность загрузки
Ввели Випин и Нитин Кумар
• Stoned это новый bootkit нацеленный на операционные системы Windows

Windows 2000
Windows XP
Windows Server 2003
Windows Vista
Windows Server 2008
Windows 7 RC
TrueCrypt

Основные цели:
-Завладеть всеми версиями
-Windows из boot’а
-Способность обойти проверки
-code integrity и signed code checks


Архитектура
Stoned Bootkit - Презентация буткита для Windows.

MBR Файловая система

"Память буткита остается резидентной выше ядра Windows kernel"
+ Загрузочные приложения запускаются на автозагрузке
+ Драйвера исполняемые отдельно от Windows kernel

Вирус Stoned

Your PC is now Stoned! (1987)
Your PC is now Stoned! ..again (2010)


Stoned это название компьютерного boot sector вируса, созданного в 1987 году в Новой Зеландии. Это был один из самых первых вирусов, и был, вместе со своими различными вариациями, весьма обыденным и распространенным в 1990-е.
Можно прочесть на английской Wikipedia
Stoned был заразителем boot sector’а, независимый от ОС.

-Пожалуй, первый bootkit?
-Размер - 416 байтов, маленький и эффективный!

Процесс загрузки Windows
Stoned Bootkit - Презентация буткита для Windows.

Ntldr = 16-битный stub + загрузчик ОС (простое бинарное соединение)
Windows Vista делит ntldr на bootmgr, winload.exe и winresume.exe
Stoned Bootkit - Презентация буткита для Windows.

Обезопасим Windows

Овладеваем Windows из boot
Stoned Bootkit - Презентация буткита для Windows.

Stoned Bootkit - Презентация буткита для Windows.

Атака TrueCrypt

Есть два возможных сценария:
1.Шифруется только раздел системы
2.Шифруется весь жесткий диск

Но MBR всегда остается незашифрованным
Stoned Bootkit - Презентация буткита для Windows.

Двойной опережающий перехват криптования и раскриптования дисковой I/O.

Предыдущие буткиты
1987 – Stoned
...
2005 – BootRoot
2007 – Vbootkit
2007 – Mebroot
2008 – TPMkit
2009 – Vbootkit 2.0
2010 – Stoned Bootkit

Предыдущие исследывательские буткиты на конференциях
Stoned Bootkit - Презентация буткита для Windows.

Архитектура Stoned
Master Boot Record
MBR = первые 63 сектора жестких дисков; содержит таблицу разделов и Bootloader

Состав модулей Stoned MBR содержит:
Stoned Bootkit - Презентация буткита для Windows.

Модули Stoned

Модули управления
Stoned Bootkit - Презентация буткита для Windows.

Бутовые приложения используют API, получаемый от модулей.

Они независимы друг от друга (это также является причиной того, что модуль овладевания Windows может быть встроен в MBR от TrueCrypt.

Windows XP Boot
Stoned Bootkit - Презентация буткита для Windows.

Ntldr содержит 16-битный stub и 32-битный PE Image ( = OS Loader) Такая система не менялась в Windows до появления Windows Vista

Hooking & Patching (упрощенно):

• Прерывание 13h hooked
• Ntldr hooked для вызова 32-битного кода и патчинг code integrity verification
• Патч NT kernel
• Executing payloads (driver)

Windows Vista Boot
Stoned Bootkit - Презентация буткита для Windows.

Hooking & Patching (упрощенно):

• Прерывание 13h hooked
• Bootmgr hooked to call 32-bit code
• Patching winload.exe code integrity verifications
• Patching the NT kernel

Boot Media

• Пока что только IBM-conform legacy boot supported
• В будущем EFI (Extensible Firmware Interface) support

Поддерживаются все обыденные приводы:
Floppy, CD, DVD, Blu-ray, USB flash приводы, удаляемые средства, жесткие диски, network boot

Media независимость

Плагины

О плагинах
Расширение основной функциональности статичными буткитовыми атаками
Stoned Bootkit - Презентация буткита для Windows.

May be out sourced to the file system.
Пользовательские данные хранятся в памяти CMOS?

Hibernation File Attack

-Предшественник Stoned
-Статичная атака буткита
-Структуры были оглашены BH USA 2008 “Windows Hibernation File for Fun and Profit
Stoned Bootkit - Презентация буткита для Windows.

Плагин CO2

Save the Environment!

• Образцовый плагин
• Увеличивание скорости ЦПУ до 80%
• Обычный пользователь не сможет заметить но our earth does :)
• Использование Продвинутого Конфигурационного Программного Интерфейса

Бутовые приложения

Пример: Sinowal Extractor

Использование буткита Stoned для запуска Sinowal и затем вытащить неупакованный драйвер kernel

• Трассированиме памяти делая хуки на функции экспорта ExAllocatePool() и ExFreePool() используя установленную подсистему Stoned

-> Запись на диск для дальнейшего анализа

• Новая Анти-Мэлвар технология?
Stoned Bootkit - Презентация буткита для Windows.

(Неупакованный kernel драйвер Sinowal, здесь вы видите команды и настройки генерации доменных имен)

Установка буткита
Инструкции по установке
1.Сделайте бэкап оригинального MBR
2.Перезапишите MBR
3.Извлеките файлы

Проблема: Требуется доступ к сектору Raw

Windows XP -Права администратора
Windows Vista -Повышенне права администратора

Но у любой проблемы есть свое решение

Доступ к сектору Raw

Решение 1
У 75% пользователей есть права администратора

«Но с другой стороны, не считая предприятий и случаев, где нужен родительский контроль, многие машины (75%) имеют только одного пользователя с полными правами администратора.»

Решение 2
Попросить систему дать повышенные права во время запуска используя ShellExecute() или запросить их через манифест
Если пользователь нажме «нет», терроризировать его и спросить снова. Начать процесс когда он нажмет «да»

Повышенные права администратора
Метод 1: Манифест приложения
Stoned Bootkit - Презентация буткита для Windows.

MBR все ещё записываемый

• Создать файл (\\.\PhysicalDrive0,...)
• Прямое использование драйвера, IOCTLs
• Также работает на Windows Vista и Server 2008:

Файловая система может записаться на хэндл тома только если следующие условия не ложны:
Условие 1: Записываемые сектора являются бутовыми секторами.
Условие 2: Записываемые сектора не находятся в пространстве файловой системы.

Как написано в статье №92448 базы знаний Майкрософт «Изменения, применяемые к файловой системе и storage stack to restrict direct disk access and direct volume access в Windows Vista и в Windows Server 2008”

• 63 Сектора (размер - 31.5 KB, сектора 0-62)
Stoned Bootkit - Презентация буткита для Windows.

Живая демонстрация

Основное обсуждение
Мы обошли
• Защиту Kernel Patch
Только для 64-битных и запущенных систем
• Цифровые сигнатуры
Мы може внедрить неподписанный код, не будет никаких проверок подписи кода
• Проверок интеграции кода
Мы не патчим приложения на диске, поэтому никакие проверки интеграции не будут провалены
• Предотвращение запуска данных

PoC Payload

• Так же как и в Vbootkit (BHE 2007)
Спасибо моим друзьям Випин и Нитин Кумар!
• Эскалация привелегий консоли
-Изменение привелегий каждого процесса cmd.exe до таких же как и у services.exe
-Написано как нормальный драйвер для Stoned

• Показ подписи на автозагрузке

Your PC is now Stoned! ..again

Разработка со Stoned
1.Скачайте framework
2.Напишите свой драйвер
3.Измените инжектор, или просто:

Используйте установленную подсистему Stoned в Windows своим приложением

syscall, int2Eh with
function numbers = 3000h-3FFFh.....


-> Новая открытая платформа для разработки

Безопасность до-бутовой среды

Совет для разработчиков ОС и архитекторов HW:

Пользуйтесь доверенным платформным модулем и полным шифрованием тома.

Приложение с полным шифрованием тома должно:
1.Обезопасить свои приложения
2.Не допускать перезаписи MBR в Windows
3.Делать разные верификации MBR

Не пытайтесь решать проблемы с приложениями требованиями безопасности.

*Планы на Будущие версии
• Поддержка Linux (независимость от ОС)
• Поддержка 64-битных Windows
• Способность обойти доверенные платформные модули
• Анти-Windows’овская активация продуктов

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

Благодарю вас за внимание!

Вопросы? Комментарии?

Питэр Клейснер на Black Hat USA 2009
Спасибо!

 (голосов: 4)




Если Вам понравилась новость, поделитесь с друзьями:

html-ссылка на публикацию
BB-ссылка на публикацию
Прямая ссылка на публикацию


Комментарии (0) Напечатать

Другие новости по теме:
Уважаемый посетитель, Вы зашли на сайт Hacker-Lab.com как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо зайти на сайт под своим именем.

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.