Python GUI для запуска capemon в отдельной виртуальной машине. Обеспечивает подмножество обработки и результатов CAPE (Configuration And Payload Extraction).

Интерфейс
- Вкладки в верхней части: Start, затем по одной на каждое представление результатов (Info, Behavior, Signatures, Payloads,
Yara, Configs, Strings, Debugger, JS Log, Network).
- Вкладка Start группирует выбор цели, параметры пакета, флаги монитора и логирования в
карточки; действия (Launch, Kill, отчёты, Zip Results) закреплены внизу
окна, поэтому они не прокручиваются.
- Тёмная и светлая темы, переключаются из строки состояния в правом нижнем углу или из Settings.
Выбор записывается в
cfg.ini и восстанавливается при следующем запуске.
- Обрабатывайте Payloads и Configs перед Signatures. Сигнатура видит только то, что есть в
результатах на момент её запуска, а некоторые читают данные payload, config и yara — запуск этого прохода
первым привёл бы к тихому занижению результатов, а не к ошибке. Кнопка Signatures остаётся неактивной,
пока эти вкладки не отработают, а её подсказка сообщает, какие из них ещё не выполнены.

Работа над UI
-
tools/uidev/ собирает настоящие панели в фоне и записывает их в PNG, поэтому изменение макета
можно быстро проверить и сделать скриншот без запуска анализа. См.
tools/uidev/README.md.
-
Те же скрипты запускаются в CI при каждом pull request на Windows-раннере и загружают
отрендеренные изображения как артефакт.
-
Создайте виртуальную машину Windows 10, подходящую для запуска вредоносного ПО.
-
Установите Python в виртуальной машине, протестировано на 64-битных версиях Python 3.11, 3.12 и 3.12. Добавьте Python в path.
-
Скачайте и установите оба Microsoft Visual C++ Redistributable:
-
Установите CAPEsolo.
-
Сделайте снимок виртуальной машины.
Быстрый старт
- Откройте командное окно администратора.
- Введите capesolo для запуска.
Либо создайте ярлык на CAPEsolo.exe,
который будет находиться в подкаталоге Scripts в том же месте, что и ваш файл python.exe.
- В разделе Advanced отметьте 'Run as administrator'
- Файл иконки доступен в папке установки CAPEsolo в site-packages.
Результаты анализа находятся в C:\Users\Public\CAPEsolo\analysis.
- Можно настроить в C:\Users\Public\CAPEsolo\cfg.ini
- Настройки там переопределяют упакованные значения по умолчанию в python-path\site-packages\CAPEsolo\cfg.ini,
и сохраняются после
pip install --upgrade CAPEsolo, который перезаписывает упакованную копию.
- Указывайте только те ключи, которые хотите изменить; остальные берутся из упакованных значений по умолчанию.
Сигнатуры сообщества
- CAPEsolo поставляется только со своими собственными сигнатурами. Сигнатуры сообщества CAPEv2 / CAPESandbox размещаются в
C:\Users\Public\CAPEsolo\signatures (рядом с cfg.ini), без изменений. Update (ниже) может заполнить
её подпапку
community из https://github.com/CAPESandbox/community, либо скопируйте файлы туда
самостоятельно.
- Подпапки сканируются;
deprecated и linux пропускаются. Добавленные или изменённые файлы подхватываются
при следующем проходе сигнатур, без перезапуска.
- Сигнатура там заменяет поставляемую с тем же именем. Ваша собственная, вне
community, также имеет приоритет над одноимённой внутри неё.
- Сигнатура, которой нужен модуль CAPEv2, отсутствующий в CAPEsolo, пропускается, и в журнале анализа
указывается отсутствующий модуль. Сигнатура, читающая раздел результатов, который CAPEsolo не создаёт (Suricata,
например), загружается, но никогда не срабатывает.
- Необязательные файлы данных, которые ищут эти сигнатуры в корне CAPEv2 (
extra/msft-public-ips.csv,
data/dga.bloom), читаются из C:\Users\Public\CAPEsolo.
Правила YARA
- CAPEsolo поставляется со своими правилами CAPE. Ваши собственные правила размещаются в C:\Users\Public\CAPEsolo\yara, а правила сообщества — в его подпапке
community. Оба каталога сканируются наряду с правилами CAPE. Если два файла имеют одинаковое имя: побеждает Desktop\custom, затем ваша папка, затем community, затем упакованные правила.
pip install --upgrade CAPEsolo восстанавливает упакованные правила.
Обновление (вкладка Start)
- Запрашивает, что загрузить:
- YARA rules - CAPEsolo (отмечено по умолчанию) и CAPEv2 пересобирают упакованные правила (правила CAPE и правила монитора, которые capemon использует в госте) из тех, что отмечены. Если файл есть в обоих, используется файл CAPEsolo.
- YARA rules - Community заменяет
yara\community на data/yara/CAPE из CAPESandbox/community.
- Signatures - Community заменяет
signatures\community на modules/signatures/windows и all из CAPESandbox/community.
- Ваши собственные файлы и сохранённое правило вкладки Debugger никогда не затрагиваются. Всё загружается до того, как что-либо будет заменено, поэтому неудачное обновление сохраняет то, что было.
- Те же варианты доступны как
capesolo --update_yara capesolo,capev2,community (без значения означает capesolo), capesolo --update_signatures и инструмент MCP capesolo_update_yara.
Отчёты (вкладка Start)
- Reports создаёт JSON- и/или HTML-отчёт (оба отмечены по умолчанию) за один проход по анализу. Каждый записывается на рабочий стол и в каталог анализа.
Откатывайте виртуальную машину после каждого анализа.