Общее·количество·просмотров·страницы

пятница, 31 января 2014 г.

Концепция "неизлечимости" или bios троян

О том чем грозит данный вид ПО даже не хочется говорить.Несомненно, реализация и более того,осмысленность данного ПО спорная и сложная.Как нам всем известно, биосы бывают разные, АМИ,ФЕНИКСЫ и все такое прочее(хотя по статистике больше всего конечно фениксов).Но скажу что это возможно!Более того у меня получилось разместить известный буткит-фрэймворк в виртуальном биосе vmware!Что можно сделать на виртуалке то можно сделать и на реальной машине.Поебаться мне пришлось нехило, а т.е. немного модифицировать сей фреймворк таким вот кодесом:

mov di, 6000h
mov cx, 0fffh
add si,110000b
rep movsw 

копируемся где-то в области bios

проверяем, включены ли уже прерывания

cmp byte [19h*4],0

если все ок запускаем код,который был потерт прыжком

mov bx, es  
mov fs, bx 
mov ds, ax
retf

дальше все по-дефолту
откусываем память в low bios memory

mov [ax,413h]
sub ax,6

переводим в параграфы

mov [413h],ax
shl ax,6

перехватываем прерывание и т.д. то что в фрэймворке.

когда переходим в защищенный режим,(тут я удалил все ненужное для наглядности и сделал вывод напрямую в видеобуфер)
выводим в видеобуфер посимвольно

mov     word [ds:0B8000h], 0250h

в итоге смотрим что получилось в данном видео:



Итог: конечно, возможность заразы была всегда, вспомним тот же cih. Однако, реализовывать это для полномасштабного проекта во-первых глупо,во-вторых очень тяжело(правильно поставить вперед;))

Хотя я видел одну интересную штуку:
В дропере идет драйвер устройства bios, драйвер руткит(прошивка ,полагаю возможна стандартными утилитами,а их надо ныкать это естественно), зараженный модуль( допустим такой какой я сделал),длл-ка для контроля драйвера,и то что работает с образами bios (смотря на какой биос нацелен троян, чаще всего это phoenix award и утилита cbrom)
Некоторые ебанутые дроперы используют свою шифрованную файловую систему за пределами размеченной области жд(это?!ппц) куда и сбрасывают все что несут в себе.
Потом читается bios и определяется его размер.Создается образ биоса на жд.Потом зараженный модуль вносится в этот образ,после чего образ жгется в МС.
Биос определяется по сигнатуре, например в фениксах в комплекте идет свой прошивальщик который и можно найти по его имени.

В общем то штука довольно опасная, тк убрать ее при наличии буткита или руткита режима ядра-не получится.

Да что еще хочу подчеркнуть, механизм буткитов которые опубликованы на мой взгляд не объективен.Во-первых та же windows 7 загружается уже вообще иначе чем ХРюха, а это уже продумывать как минимум два варианта.Надо идеально знать процесс загрузки операционной системы и все такое.Малейший сервиспак\обновление которые уничтожат сигнатуры которыми пользуется буткит,либо вообще принципиально изменят что то-он будет не рабочим.
Я читал и думал об отличном варианте.Ищется определенный exe-шник путем перебора сектора (сигнатура mz), и внедряется код в его заголовок.Почему в заголовок: да потому что в винде есть такая фишка как фрагментация и файл может быть не целым.Как варианта можно составить небольшой парсер файловой системы и таким образом наверняка внедряться в нужный файл.На этом все, я пошел пить пиво;)

7 комментариев:

  1. Ответы
    1. Нихуёво так-то вставляют... Я думал, ты потяжелее чем-то упарываешься...

      Удалить
  2. А куда делся пост про реверс mebromi? Не осилил?

    ОтветитьУдалить
  3. Я вот что думаю. Если взятся конкретно за Биосы, то "взломать" сам установщик и впаривать в чип "Биоса" свой код не составит труда, всё это для людей "сделано" на планете земля, так что обойти можно, это только вопрос времени.

    Сам я далёк от тем BIOS-а, но был на рекламной конференции GIGADYTE где расказывали, что Bios можно обновлять прямо с компа. Там думаю вариант один только у программы "установщика обновляльщика BIOS-a" от производителя, для обхода вредоносного кода и защиты, это проверять MD5 "кэш" у уже загруженного "чипа" Биоса, то есть снимать дамп с этого самого Биоса, снимать с дампа МД5 "кэш" и проверять совпадает ли он с МД5 дампа который должен был быть загружен. Но опять же кэши МД5 должны где то локально хранится на машине в зашифрованном виде и "откуда то" приходить на комп, потому что соответственно у каждого "обновления" БИОС-а свой код, свои дампы и соответственно свои "кэши" будут. А если сделать универсальный ключ, для проверки свой код, чужой код и внедрять его в дамп, то сломать такую систему обновления думаю будет ещё легче, потому как ключ будет применятся один и тот же для всех, остаёться только брутить хэши, слушать сеть или брутить сами дампы на предмет различия и одинаковости. Ключ соответственно в неизменяемых участках кода находится, да и вообще физически можно приконнектиться программатором к чипу и посмотреть что там у него внутри.

    Я честно сказать на одной своей машине БИОС не обновлял с момента покупки, то есть вообще не обновлял и причины обновления не вижу, если у разработчиков руки растут из нужного места, то на кой обновлять БИОС, я если честно не понимаю. Обновлять БИОС из ОС, это я считаю уже слишком, слишком много привелегий ОС. Причём понимаете не факт что ОС у Вас лицензионная, а не китайская сборка и ботнет встроенный в неё вдруг вздумает докачать с интернета компоненты для доступа в БИОС.

    К теме о Китайских ОС, в Уфе с чего то вдруг полно компов которые работают в связке с китайскими и стучаться на шлюзы американских хостеров, как вариант я думаю, там есть "сисадмин" который своим клиентам устанавливает пиратские сборки Windows, типа ZverCD, только со встроенными китайскими компонентами, сам об этом возможно даже не подозревая.

    ОтветитьУдалить
    Ответы
    1. Не заморачивайся на хэши,пока не будет массовости всем будет побарарабану

      Удалить