• XSS.stack #1 – первый литературный журнал от юзеров форума

EvilCore

E.N.G.Land

(L3) cache
Пользователь
Регистрация
16.10.2008
Сообщения
219
Реакции
3
EvilCore
malwaref.jpg

Существующие буткиты такие как Kon-boot и Stoned Vienna изменяющие ОС в процессе загрузки, перехватив прерывания BIOS отвечающие за чтение ядра ОС с диска. Ядро ОС изменяется по мере их загрузки в память после чего новое(плохое) ядро атакующего и работает.

EvilCore использует другой подход.
Во-первых, EvilCore отключает Symmetric Multi Processing ограничивающий число процессорных ядер в ОС. В то время, как операционная система загружается на доступные процессоры, EvilCore изменяет параметры загрузки говоря операционной системе, что памяти доступно меньше, чем на самом деле.
Затем, EvilCore помещает свой код туда, где ОС считает что это конец физической памяти, где буткит может жить в спокойствии, без какого-либо страха что ОС изменит его или хотя бы увидит.
В итоге, EvilCore работает находясь в верхней части физической памяти на неиспользованных ядрах процессора.
После того как ОС загрузилась EvilCore все ещё имеет доступ к физической памяти.
Найдя двоичные образы\строки и заменив их, EvilCore может вставить новый код в kernel-/userspace приложения.
Это дает атакующему огромную гибкость.

Буткит имеет полный доступ ко всем пользователям и пространству памяти ядра.
С буткитом можно взаимодействовать(в памяти) используя Windows приложения.
Буткит работает именно в нулевом кольце и он невидим для операционной системы!

В демонстрационном видео авторы EvilCore, Wolfgang Ettlinger и Stefan Vienbock, продемонстрировали насколько силен их концепт.
Показывают, как c помощью EvilCore они могут перехватить пароль от TrueCrypt.

EvilCore как и Kon-boot, позволяет обойти аутификацию пользователей.
Более того, позволяет обойти Kernel Patch Protection(KPP, PatchGuard) и отключить защиту Code Integrity (CI) на Win7.

Более подробно о EvilCore в презентации.


Источник конференция NinjaCon.
 
Проблема никак не в загрузке до ядра. Проблема в сокрытии. Что толку от таких техник, если опятьже изменяется системный код, причём доступный для чтения непосредственно для камня ?
Если обнаружится, то будет выпилено вместе с осью. Вы будите загружать дескрипторы своих шлюзов в IDT, причём вектора будут в "конце физической памяти, где буткит может жить в спокойствии". В таком случае говорить "ОС изменит его или хотя бы увидит." бессмысленно. Такой код не живёт спокойно, он активно работает, что его и обнаружит. А адрес тела не имеет значения, хоть пул в нижних адресах, хоть перетереть шадов биос в конце ап, разницы то нету.
Имхо это холивар какойто и на концепт не тянет.
 
Indy, этот буткит не создавался с нереальной целью полного сокрытия...
Все в принципе как-то можно обнаружить и выпилить)) это очевидно.

Основная его фишка в "гибкости", управляемости чтоле...
Это как старые "коробочные" отладчики и IDA Pro
 
E.N.G.Land
Чтоле в гибкости подходит под описание на ксакепе. Мне например нужны везде чёткие аргументы, в чём плюсы, в чём минусы, что даёт мне физический адрес тела(это не имеет значения, но всёже :)).. и вообще чем это лучше обычного инфекта бутлодера или вообще нтоса.
 
Я уж не знаю как у них все устроено, но их мысль я понял так:

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

В общем это отличный проект ящитаю))
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх