Побег из-под vm ware


Атака через back door - часть 2


Никто не знает какие возможности нас ждут…

 

Рисунок 16 вороне где-то бог послал персональный компьютер

Из всех команд, исследованных на сегодняшний день, самой опасной была и остается 0Ch (Connect/disconnect a device), отвечающая за подключение/отключение IDE, SCSI и USB устройств. У вируса существует шикарная возможность подключить физический диск основной системы и нагадить на нем по полной программе (VM Ware позволяет создавать виртуальные диски на основе физических). Еще вирус может дотянуться до USB-"свистка" и заразить все имеющиеся на нем исполняемые файлы, которые кто-нибудь обязательно запустит на основной машине.

 

Рисунок 17 виртуальная машина по сути своей черепаха

Короче, возможностей много. Для защиты рекомендуется пропатчить VM Ware, изменив магический номер на что-то еще. Неофициальная заплатка лежит здесь: http://honeynet.rstack.org/tools/vmpatch.c, официальных пока нет и, по-видимому, в обозримом будущем и не предвидится. (Однако, даже залатанная система по-прежнему остается уязвимой, поскольку подобрать нужные магические числа можно и брут-форсом, возможных вариантов не так уж и много — 16-битный номер порта, плюс 32-битный "пирожок" дают менее 48-значимых битов! "менее" — это за вычетом стандартных номеров портов, которые нельзя использовать).

Ниже в качестве примера приводится программа, определяющая версию VM Ware.

 

#include <windows.h>

 

// строковые константны

#define VM                 "vmware"

#define VM_DETECTED        "detected"

#define VM_NOT_DETECTED    "not detected"

#define VM_NOT_RECOGNZD    "detected, but not recognized"

 

// под vm-ware функция возвращает версию vm-ware

в регистре eax

// (нуль — это не vm-ware или версия неопознана),

// без vm-ware возбуждается исключение

__declspec(naked) get_vm() // "голая" функция без пролога и эпилога

{

__asm{




- Начало -  - Назад -  - Вперед -