
Incarcero — это инструмент, который создаёт виртуальные машины (VMs), предварительно настроенные с инструментами анализа вредоносных программ и параметрами безопасности, адаптированными для анализа вредоносных программ, без какого-либо участия пользователя.
Анализ вредоносных программ похож на обезвреживание бомб. Цель — разобрать и понять программу, которая была создана для причинения вреда и часто запутана (например, упакована), чтобы усложнить анализ.
Incarcero — это инструмент, который создаёт виртуальные машины (ВМ), предварительно настроенные с инструментами анализа вредоносных программ и параметрами безопасности, адаптированными для анализа вредоносных программ, без какого-либо взаимодействия с пользователем.
Кроме того, этот репозиторий также содержит, вероятно, крупнейшую коллекцию исходных кодов вредоносных программ, а также модуль, позволяющий загружать образцы вредоносных программ из популярных онлайн-баз данных.
Примечание: Бинарные файлы с общими именами, такими как MD5-значение или smbXXX.tmp, не были обнаружены как вредоносные программы сервисом VirusTotal на момент загрузки, но это не значит, что это не образец вредоносной программы. Пожалуйста, не стесняйтесь настраивать, анализировать и выполнять обратную разработку любых образцов в этом репозитории; если вы действительно это сделаете, сообщите мне о результатах вашего исследования.
dnf install ruby-devel gcc-c++ zlib-devel
vagrant plugin install winrm winrm-fs
apt install vagrant git python3-pip
apt install git python3-pip
pacman -Sy vagrant packer python-pip git
sudo pip3 install git+https://github.com/0x48piraj/incarcero.git#egg=incarcero
ПРИМЕЧАНИЕ. Начиная с Windows 10, Hyper-V всегда работает под операционной системой. Поскольку VT-X должна использоваться исключительно только одним гипервизором, это приводит к сбоям VirtualBox (и incarcero). Чтобы отключить Hyper-V и позволить VirtualBox работать, выполните следующую команду в командной строке с правами администратора, а затем перезагрузитесь: bcdedit /set hypervisorlaunchtype off. Начиная с версии 6 Virtualbox поддерживает использование Hyper-V в качестве резервного ядра выполнения (журнал изменений)
Следующие шаги предполагают, что у вас установлен https://chocolatey.org/[Chocolatey]. В противном случае следуйте процедуре ручной установки.
Установите зависимости:
choco install python vagrant packer git virtualbox
Обновите консоль:
refreshenv
Установите incarcero:
pip3 install setuptools
pip3 install -U git+https://github.com/0x48piraj/incarcero.git#egg=incarcero
C:\Windows\System32\pip3 install setuptools
pip3 install -U git+https://github.com/0x48piraj/incarcero.git#egg=incarcero
Выполните эту команду после обычной установки:
vagrant plugin install vagrant-aws
ПРИМЕЧАНИЕ. Функция AWS на данный момент протестирована только на Linux, и EC2 не поддерживает 32-битную настольную версию Windows 10.
Это создаёт ваш базовый бокс, который импортируется в Vagrant. После этого вы можете повторно использовать один и тот же бокс несколько раз для анализа образцов.
Выполните:
incarcero build <template>
Вы также можете просмотреть список всех поддерживаемых шаблонов с помощью:
incarcero list
Это создаст бокс Vagrant, готовый для исследования вредоносных программ; впоследствии вы можете включить его в Vagrantfile.
Например:
incarcero build win10_x64_analyst
Раздел «Конфигурация» содержит дополнительную информацию о том, что можно настроить с помощью incarcero.
incarcero spin win10_x64_analyst <name>
Это создаст Vagrantfile, подготовленный для использования в анализе вредоносных программ. Переместите его
в выбранный вами каталог и выполните:
vagrant up
По умолчанию локальный каталог будет доступен в ВМ на рабочем столе. Это
можно изменить, закомментировав соответствующую часть Vagrantfile.
Например:
incarcero spin win7_x86_analyst 20160519.cryptolocker.xyz
incarcero может загружать ВМ в Amazon Web Services и взаимодействовать с ней. Для этого выполните следующие шаги:
. Для загрузки ВМ перед преобразованием её в AMI (Amazon Machine Image) incarcero потребуется корзина S3 на AWS. Если у вас её нет, создайте её сейчас.
. Ваш экземпляр также требует группу безопасности как минимум с правилом, разрешающим входящие подключения для WinRM (Тип: WinRM-HTTP, Протокол: TCP, Диапазон портов: 5985, Источник: публичный IP хоста).
. Далее вам необходимо настроить сервисную роль vmimport.
Следуйте разделу VM Import Service Role из этого руководства.
Эти шаги должны выполняться с учётной записью, имеющей разрешения iam:CreateRole и iam:PutRolePolicy.
. Если используется конфигурация по умолчанию, измените гипервизор на aws и заполните обязательные параметры. В противном случае обязательно добавьте все параметры AWS в вашу пользовательскую конфигурацию.
. Наконец, вы можете следовать тем же шагам, описанным в разделах Создание бокса и Экземпляры для каждого анализа, чтобы запустить свой экземпляр!
ПРИМЕЧАНИЕ. Импорт AMI может занять очень много времени (около часа), однако вы можете проверить статус задачи, выполнив это. На данный момент можно создать только один AMI на шаблон.
Установите awscli с помощью pip:
pip install awscli
Настройте awscli с помощью:
aws configure
Затем выполните:
aws ec2 describe-import-image-tasks
Чтобы подключиться к экземпляру в облаке с помощью RDP, выполните эту команду в том же месте, где находится ваш Vagrantfile:
vagrant rdp -- /cert-ignore
Для этого экземпляр должен иметь группу безопасности, разрешающую входящие подключения RDP (Тип: RDP, Протокол: TCP, Диапазон портов: 3389, Источник: публичный IP хоста).
ПРИМЕЧАНИЕ. Вы можете безопасно игнорировать следующую ошибку, поскольку rsync ещё не реализован: No host IP was given to the Vagrant core NFS helper. This is an internal error that should be reported as a bug.
Чтобы остановить экземпляр в облаке, выполните эту команду в том же месте, где находится ваш Vagrantfile:
vagrant halt