
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
Конфигурация incarcero находится в каталоге, который соответствует обычным соглашениям операционной системы:
~/.config/incarcero/~/Library/Application Support/incarcero/C:\Users\<username>\AppData\Local\incarcero\incarcero\Файл называется config.js и копируется из примера при первом запуске.
Пример конфигурации документирован.
incarcero по умолчанию использует virtualbox в качестве внутреннего компонента, но начиная с версии 0.3.0 добавлена поддержка ESXi / vSphere. Заметки о шагах, необходимых для поддержки ESXi / vSphere, доступны. Поскольку у всех настройки немного отличаются, не стесняйтесь открыть issue, если столкнётесь с проблемой, или улучшить нашу документацию с помощью pull request.
Мы исследуем концепцию профилей, которые хранятся отдельно от конфигурации и могут использоваться для создания файлов, изменения реестра или установки дополнительных пакетов. Смотрите profile-example.js для примера конфигурации. Эта новая возможность является экспериментальной и может измениться по мере нашего экспериментирования с ней.
В настоящее время incarcero не поддерживает автоматическое создание групп безопасности, поэтому вам придётся использовать консоль AWS для создания своей. Однако, используя библиотеку Boto3, должен быть способ реализовать это.
Этот репозиторий предназначен только для исследовательских целей; использование этого кода — ваша ответственность.
Я НЕ несу никакой ответственности и/или обязательств за то, как вы решите использовать любой из исходных кодов, доступных здесь. Используя любой из файлов, доступных в этом репозитории, вы понимаете, что СОГЛАШАЕТЕСЬ ИСПОЛЬЗОВАТЬ ИХ НА СВОЙ РИСК. Ещё раз: ВСЕ файлы, доступные здесь, предназначены ТОЛЬКО для ОБРАЗОВАТЕЛЬНЫХ и/или ИССЛЕДОВАТЕЛЬСКИХ целей.
Я не автор какого-либо кода, доступного здесь. Этот репозиторий содержит образцы исходных кодов вредоносных программ, утёкшие в интернет (и найденные во многих других источниках); я загрузил их на GitHub, чтобы упростить процесс для тех, кто хочет проанализировать код.
Любые действия и/или мероприятия, связанные с материалом, содержащимся в этом репозитории, являются исключительно вашей ответственностью. Неправильное использование информации в этом репозитории может привести к предъявлению уголовных обвинений соответствующим лицам. Я не буду нести ответственность в случае предъявления уголовных обвинений любым лицам, неправильно использующим код из этого репозитория для нарушения закона.
Этот репозиторий не пропагандирует никакой деятельности, связанной с взломом. Вся информация в этом репозитории предназначена только для образовательных целей.
Этот проект был возрождён с помощью malboxes.