воскресенье, 28 апреля 2013 г.

Комплекс Buster Sandbox Analyzer + SandboxIE


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

Одним из таких плагинов является Buster Sandbox Analyzer или BSA. Этот плагин работает во многом подобно уже обсуждённой CWSandbox — внедряет динамическую библиотеку в адресное пространство исследуемого процесса, позволяя отслеживать API-вызовы в ходе выполнения. Кроме того, программа позволяет отслеживать сетевую активность, производить анализ изменённых файлов и другие полезные вещи.

Чтобы оценить работу этой системы, вначале построим её. Дополнительно нужно будет скачать такие два аддона на SandboxIE: Block Process Access и Antidel. Эти плагины позволяют с одной стороны скрыть от анализируемого процесса наличие других процессов вне песочницы, а с другой — воспрепятствовать удалению файлов в ходе работы (полезно при анализе некоторых дропперов).

Далее:

1. Устанавливаем SandboxIE.

2. Создаём дополнительную песочницу через Песочница — Создать новую песочницу. Я её назвал BSA — пусть и у вас будет так же для простоты.

3. Правой кнопкой мыши щёлкаем на песочницу BSA в списке окна программы и выбираем Настройки песочницы.

4. Критично: 
   Поведение — Отображать границу вокруг окна — выбрать красный
   Recovery. — Немедленное восстановление — убрать галку И вообще убедиться, что ни одной папки нет в восстановлении.
   Delete — поснимать все галки про удаление.
   Restrictions — Доступ в Internet — поудалять все программы, пока не появится надпись «Ни одна программа не сможет получить доступ в Internet». Запомните эту опцию — для некоторых зловредов доступ нужно будет открывать, но учтите, что в этом случае все пароли и информация с хостовой машины уйдут злоумышленнику.
    Restrictions — Доступ на запуск и выполнение — разрешить всем.
   Доступ низкого уровня и аппаратные средства — все галки поснимать. Это важно, иначе низкоуровневые вирусы типа TDSS, Mebratix, Mebroot пролезут из песочницы в систему.

     Остальные опции оставить по умолчанию. В дальнейшем можно их настроить на свой вкус — там всё достаточно понятно.

5. В папке, куда установили SandboxIE, создаём папку Buster Sandbox Analyzer, куда распаковываем всё, что скачано выше.

6. В главном окне SandboxIE выбираем Настроить — Редактировать конфигурацию. В открывшемся текстовом документе находим раздел BSA сразу под этими буквами добавляем строки:

InjectDll=C:\Program Files\SandboxIE\BSA\sbiextra.dll
InjectDll=C:\Program Files\SandboxIE\BSA\antidel.dll
InjectDll=C:\Program Files\SandboxIE\BSA\LOG_API\LOG_API32.DLL
OpenWinClass=TFormBSA
NotifyDirectDiskAccess=y

Путь у вас, конечно, может отличаться. Но порядок инжектируемых библиотек обязательно должен быть такой!

Теперь обратите внимание на раздел GlobalSettings, а конкретно на параметр FileRootPath:

FileRootPath=C:\Sandbox\Admin\%SANDBOX%
(у вас может отличаться).

Запомните его значение.

8. Сохраняем текстовый файл по оригинальному пути. В главном окне SandboxIE выбираем Настроить — Перезагрузить конфигурацию.

9. В главном окне SandboxIE выбираем: Настроить — Интеграция в проводник Windows — Запустить управление SandboxIE — когда запускается программа в песочнице и Действия «запускать в песочнице» — добавить пункт контекстного меню «Запустить в песочнице» для файлов и папок.

10. Запускаем Buster Sandbox Analyzer (вручную, из одноимённой папки путём запуска bsa.exe.

11. Выбираем Options — Analysis mode — Manual и Options — Program Options — Windows Shell Intagration — Add right-click action «Run BSA».

Всё готово для работы.

Как это использовать?

1. Отключаем резидентный антивирус (если имеется).

2. Наводим мышкой на изучаемый процесс и жмём правой кнопкой Run BSA. Откроется окно BSA.

3. Убедитесь, что в строке Sandbox folder to check указана папка, которая совпадает со значением параметра FileRootPath SandboxIE (см. выше), только вместо %SANDBOX% в ней указано BSA. В моём случае при параметре

FileRootPath=C:\Sandbox\Admin\%SANDBOX%

в BSA должно стоять
C:\Sandbox\Admin\BSA

4. Нажмите Start Analysis.

5. Наводим мышкой на изучаемый процесс и жмём правой кнопкой Запустить в песочнице. В предлагаемом списке песочниц выбираем BSA.

Всё. Процесс пойдёт. Вы будете видеть лог API-вызовов в BSA и активные процессы в главном окне SandboxIE. Иногда процесс завершится, тогда в BSA жмите Finish Analysis, иногда — его нужно прибить в SandboxIE (например, для файловых инфекторов), выбрав на правой мышкой на активной песочнице BSA Завершить программы.

По окончании BSA выдаст детальный отчёт об изменениях в системе, можно также через Viewer ознакомиться с другими отчётами. Если поставите в систему WinPcap — сможете даже перехватывать пакеты из песочницы, хотя там это не очень здорово организовано, нет, например, персонализации UDP-пакетов. Но если очень хочется — то можно, но при этом на хостовой системе следует заглушить все сетевые приложения, особенно торренты.

После работы, кликнув на песочнице BSA правой мышкой можно выбрать Просмотреть содержимое и изучить все файлы, созданные или изменённые процессом в ходе работы.

Логи BSA и файлы песочницы хранятся до следующего запуска нового процесса на исследование.

Следует заметить, что возможен прямой анализ изменений, вносимых в систему изучаемым файлом. Учитывая то, что виртуализованный реестр хранится C:\Sandbox\Admin\%SANDBOX%\RegHive, то перевести его в «понятный» вид крайне просто вот таким командным скриптом:

REG LOAD HKLM\uuusandboxuuu C:\Sandbox\DefaultBox\RegHive
REG EXPORT HKLM\uuusandboxuuu C:\Sandbox\sandbox.reg
REG UNLOAD HKLM\uuusandboxuuu

Только учтите, что «DefaultBox» у каждого будет индивидуален — но об этом уже мы говорили выше.

Полученный файл sandbox.reg будет содержать все внесённые в реестр изменения, которые легко проанализировать.

Возможность SandboxIE инжектировать динамические библиотеки в процесс может быть эффективно использована зловредного кода, выполняемого не в виде PE-исполняемого файла, а виде библиотеки, инжектируемой в адресное пространство процессов или регистрируемой в качестве сервиса. Но об этом — совершенно другой и непростой разговор.

отсюда

Комментариев нет:

Отправить комментарий