Песочница используется для выполнения вредоносных файлов в изолированной среде, в то же время приводя в силу их динамическое поведение и собирая судебные артефакты.
Кейп был получен из Cuckoo v1, который имеет следующие возможности ядра на платформе Windows:
Кейп дополняет традиционную вывод песочницы Cuckoo с несколькими добавлениями ключей:
В Интернете есть бесплатный демонстрационный экземпляр, который может использовать каждый:
https://capesandbox.com - для активации учетной записи, достигайте https://twitter.com/capesandbox
Sandbox Cuckoo началась как проект Google Summer of Code в 2010 году в рамках проекта Honeynet. Первоначально он был разработан и разработан Claudio Guarnieri, первый бета -релиз был опубликован в 2011 году. В январе 2014 года была выпущена Cuckoo v1.0.
2015 год был ключевым годом со значительной вилкой в истории кукушки. Разработка оригинального метода подключения монитора и API была остановлена в главном проекте кукушки. Он был заменен альтернативным монитором с использованием формата подписи на основе restructuredText , составленного через Linux Toolchain, созданный Jurrian Bremer.
Примерно в то же время вилка, называемая модифицированной кукушкой, была создана Брэдом «Спендером» Spengler. Продолжающая разработка оригинального монитора со значительными улучшениями, включая 64-разрядную поддержку и, что важно, внедрение компилятора Microsoft Visual Studio.
В течение того же года разработка динамической конфигурации командной строки и инструмента извлечения полезной нагрузки под названием CAPE была начата в контекстной информационной безопасности Кевином О'Рейли. Имя было придумано как аббревиатура «извлечения конфигурации и полезной нагрузки», а оригинальное исследование было сосредоточено на использовании крючков API, предоставленных библиотекой Microsoft, для захвата беспорядочных вредоносных программ и конфигурации. Тем не менее, стало очевидно, что только крючки API обеспечивают недостаточную мощность и точность, чтобы позволить распаковку полезных нагрузок или конфигураций от произвольного вредоносного ПО.
По этой причине исследование началось в новую концепцию отладчика, позволяющую точно контролировать и инструментацию, избегая использования интерфейсов от отладки Microsoft, чтобы быть максимально скрытным. Этот отладчик был интегрирован в инструмент командной строки на основе контроля концепции, в сочетании с крючками API и приводил к очень мощным возможностям.
Когда первоначальная работа показала, что было бы возможно заменить обход Microsoft на двигатель API-модифицированного модифицированного Cuckoo, родилась идея Sandbox Cape. С добавлением отладчика, автоматической распаковки, классификации на основе Yara и интегрированной извлечения конфигурации, в сентябре 2016 года в 44CON, Sandbox Cape была публично выпущена впервые: CAPE версия 1.
Летом 2018 года проекту повезло увидеть начало огромного вклада от Андрии «Doomedraven 'Bruhovetskyy, давнего участника кукушки». В 2019 году он начал гигантскую задачу переносить мыса в Python 3, а в октябре того же года был выпущен Capev2.
Кейп постоянно развивался и улучшался, чтобы идти в ногу с достижениями как в вредоносных программах, так и в возможностях операционной системы. В 2021 году была добавлена способность программировать отладчик CAPE во время детонации с помощью динамического сканирования Yara, что позволило создавать динамические байпасы для методов антисандров. Windows 10 стала операционной системой по умолчанию, а другие значительные дополнения включают интерактивный настольный компьютер, AMSI (интерфейс антималгарного сканирования), «Syscall Cloing» на основе контрмеров Microsoft Nirvana и Debugger Direct/непрямого Syscall.

Вредопроводник может быть классифицирована на мысе с помощью трех механизмов:

Санирование может быть выполнено с использованием собственной структуры мыса, альтернативно поддерживаются следующие рамки: Ratdecoders, DC3-MWCP, Malduck или Maco
def extract_config(data): это будет вызвано осложнениями cape_utils.py и 0.
Кейп использует множество методов или поведения вредоносных программ, чтобы позволить распаковнутую захват полезной нагрузки:
Это поведение приведет к тому, что захват полезных нагрузок вводится, извлечена или декомпрессирована для дальнейшего анализа. Кроме того, CAPE автоматически создает дамп процесса для каждого процесса, или, в случае DLL, изображение модуля DLL в памяти. Это полезно для образцов, упакованных простыми упаковщиками, где часто дамп изображения модуля полностью распакована.
В дополнение к механизмам распаковки по умолчанию мыса, можно обеспечить «активное» распаковка, которая использует точки останова для обнаружения записи в недавно распределенных или защищенных областях памяти, чтобы захватить непоколетированные полезные нагрузки как можно раньше, как это возможно, до выполнения. Это включено через Tickbox Web Pretturise или путем указания опции unpacker=2 и остается по умолчанию, так как это может повлиять на качество детонации.
Кейп может быть запрограммирован с помощью подписи Yara, чтобы распаковывать конкретные упаковщики. Например, упаковщики типа UPX очень распространены, и, хотя на мысе эти результаты приводят к пассивному захвату полезных нагрузок, захват по умолчанию производится после того, как непаковая полезная нагрузка начала выполнять. Поэтому, динамически обнаружая упаковщики, полученные из UPX через пользовательскую подпись Yara, и установив точку останова на окончательной инструкции Packer, можно захватить полезную нагрузку в исходной точке входа (OEP), прежде чем она начала выполнять.


Опция dump-on-api позволяет сбрасываться модуль, когда он вызывает конкретную функцию API, которая может быть указана в веб-интерфейсе (например, dump-on-api=DnsQuery_A ).
Отладчик позволил CAPE продолжать развиваться за пределы своих первоначальных возможностей, которые в настоящее время включают динамические обходы против возрождения. Поскольку современная вредоносная программа обычно пытается уклониться от анализа в песочнице, например, с использованием ловушек по времени для виртуализации или обнаружения крючков API, CAPE позволяет разрабатывать динамические контрмеры, объединяющие действия отладчика в яре, чтобы обнаружить уклончивую вредоносную программу, когда она разыгрывается, и выполнять управляющие манипулирование потока, чтобы заставить выборку полностью или полностью пропустить эвеничные действия.


Быстрый доступ к отладчику становится возможным с параметрами отправки bp0 через bp3 , принимая значения RVA или VA для установки точек останова, после чего будет выведена короткая инструкция, регулируемая вариантами count и depth (например bp0=0x1234,depth=1,count=100 ). 
Чтобы установить точку останова в точке входа модуля, используется ep вместо адреса (например, bp0=ep ). В качестве альтернативы break-on-return позволяет провести точку останова на обратном адресе подключенного API (например break-on-return=NtGetContextThread ). Дополнительный параметр base-on-api позволяет установить основание изображения для точек перерыва RVA (например, base-on-api=NtReadFile,bp0=0x2345 ).

Параметры action0 - action3 Разрешение действий выполнять при достижении точек останова, таких как области сброса памяти (например, action0=dumpebx ) или изменение потока управления выполнением (например, action1=skip ). Документация мыса содержит дополнительные примеры таких действий.
Репозиторий, содержащий код для монитора мыса, отличается.
Существует репозиторий сообщества подписей, содержащих несколько сотен подписей, разработанных сообществом мыса. Вся новая функция сообщества должна быть направлена на это репо. Позже они могут быть перенесены в ядро, если разработчики способны и готовы поддерживать их.
Пожалуйста, внесите вклад в этот проект, помогая создавать новые подписи, анализаторы или обходные для дальнейших семейств вредоносных программ. В настоящее время много работ, так что смотрите это пространство.
Огромное спасибо @D00M3DR4V3N за одноручную переносную мысу в Python 3.
Python3
Только рулет должен быть выполнен как root , остальное как пользователь CAPE . Бег как root будет связываться с разрешениями.
conf !kvm-qemu.sh и cape2.sh должны быть выполнены из сеанса tmux , чтобы предотвратить какие-либо проблемы с ОС, если соединения ssh нарушают.<username> на настоящий шаблон.<WOOT> внутри!sudo ./kvm-qemu.sh all <username> 2>&1 | tee kvm-qemu.logsudo ./cape2.sh base 2>&1 | tee cape.logconf .systemctl restart <service_name>journalctl -u <service_name>-h для меню помощи. Запуск службы в режиме отладки ( -d ) также может помочь.-h , но, пожалуйста, проверьте сценарии, чтобы понять, что они делают.git pullpython3 utils/community.py -waf See -h , чтобы убедиться, что вы понимаете git add --all
git commit -m '[STASH]'
git pull --rebase origin master
# fix conflict (rebase) if needed
git reset HEAD~1
# make sure kevoreilly repo has been added as a remote (only needs to be done once)
git remote add kevoreilly https://github.com/kevoreilly/CAPEv2.git
# make sure all your changes are commited on the branch which you will be merging
git commit -a -m '<your commit message goes here>'
# fetch changes from kevoreilly repo
git fetch kevoreilly
# merge kevoreilly master branch into your current branch
git merge kevoreilly/master
# fix merge conflicts if needed
# push to your repo if desired
git push
Если вы используете CapEV2 в своей работе, пожалуйста, укажите его, как указано в меню «Цитировать этот репозиторий».
pefile в качестве версии каждую контактов, которую они хотят.pefile , так как вы уже установили. Volia нет больше боли.