
Песочница обратного проектирования с возможностью написания сценариев на Python, фреймворк для инструментирования и инспекции виртуальных машин на основе QEMU.
ЭТОТ ПРОЕКТ БЫЛ АРХИВИРОВАН, И ОЧЕРЕДЬ ЗАПРОСОВ ЗАБЛОКИРОВАНА. ПРОЕКТ БУДЕТ ОСТАВЛЕН В ОБЩЕМ ДОСТУПЕ ТОЛЬКО ДЛЯ СПРАВОЧНЫХ ЦЕЛЕЙ.
.. image:: docs/media/pyrebox_logo_light_bg.png
.. _QEMU: http://qemu.org/ .. _DECAF: https://github.com/sycurelab/DECAF .. _S2E: https://github.com/dslab-epfl/s2e .. _AVATAR: https://github.com/avatartwo .. _PANDA: https://github.com/panda-re/panda .. _Volatility: http://www.volatilityfoundation.org/ .. _BUILD: BUILD.rst .. _здесь: https://github.com/Cisco-Talos/pyrebox/issues .. _слайды: https://github.com/Cisco-Talos/pyrebox/tree/master/docs/pyrebox_hitb_ams.pdf .. _доступны: https://github.com/Cisco-Talos/pyrebox/tree/master/docs/pyrebox_euskalhack.pdf .. _скрипты: https://github.com/Cisco-Talos/pyrebox/tree/master/scripts .. _readthedocs.io: https://pyrebox.readthedocs.io/en/latest/ .. _вопросы: https://github.com/Cisco-Talos/pyrebox/issues?utf8=%E2%9C%93&q=is%3Aissue%20label%3Aquestion%20 .. _презентация: https://www.youtube.com/watch?v=F2voG87obzM .. _Конкурс: https://volatility-labs.blogspot.com/2017/11/results-from-5th-annual-2017-volatility.html
PyREBox — это Python-скриптовая песочница для реверс-инжиниринга. Она основана на QEMU и направлена на помощь в реверс-инжиниринге, предоставляя возможности динамического анализа и отладки с другой точки зрения. PyREBox позволяет проверять работающую QEMU VM, изменять её память или регистры и инструментировать её выполнение, создавая простые скрипты на Python для автоматизации любого вида анализа. QEMU (работая как эмулятор всей системы) эмулирует полную систему (ЦП, память, устройства...). Используя методы VMI, она не требует внесения изменений в гостевую операционную систему, так как прозрачно получает информацию из её памяти во время выполнения.
Несколько академических проектов, таких как DECAF_, PANDA_, S2E_ или AVATAR_, ранее использовали инструментацию на основе QEMU для решения задач реверс-инжиниринга. Эти проекты позволяют писать плагины на C/C++ и реализуют несколько продвинутых функций, таких как динамический анализ потоков данных (taint analysis), символьное выполнение или даже запись и воспроизведение трасс выполнения. С PyREBox мы стремимся применить эту технологию, сосредоточившись на простоте дизайна и удобстве использования системы для аналитиков угроз.
PyREBox выиграл Volatility Plugin Конкурс_ в 2017 году!
Этот инструмент был представлен на HITB Amsterdam 2018. Вы можете посмотреть слайды_ или посмотреть презентацию_. Он также был представлен на третьем выпуске Конгресса безопасности EuskalHack (слайды доступны_).
Не забудьте загрузить последнюю версию PyREBox, чтобы насладиться его новейшими функциями. PyREBox находится в активной разработке, и новые интересные функции еще впереди! Ветка master всегда должна содержать стабильную версию, а ветки dev содержат последние, разрабатываемые функции. Следующий список объявлений относится к ветке master и дате, когда изменения разработки были объединены в master.
Предоставляется скрипт сборки. Для получения подробной информации о зависимостях, пожалуйста, обратитесь к BUILD_. Также предоставляется Dockerfile.
Документация этого проекта размещена на readthedocs.io_.
Если вы считаете, что нашли ошибку, пожалуйста, сообщите об этом здесь_.
Прежде чем создавать новый запрос, пожалуйста, ознакомьтесь с вопросами_, открытыми другими пользователями.
Эта программа предоставляется «КАК ЕСТЬ», и никакая поддержка не гарантируется. Тем не менее, чтобы помочь нам решить ваши проблемы, пожалуйста, включите как можно больше информации для воспроизведения ошибки:
PyREBox основан на QEMU, поэтому для запуска ВМ в PyREBox вам нужно запустить её точно так же, как вы загружали QEMU VM. Предоставляется несколько примеров скриптов: start_i386.sh, start_x86_64.sh, вы можете использовать их в качестве примера.
В настоящее время поддерживается только одна опция монитора QEMU: stdio (-monitor stdio).