Варианты конфигурации и сценарии настройки Cuckoo Sandbox
Перед настройкой конфигурационных файлов выполните установку компонентов на хосте и подготовку гостевой ВМ — VirtualBox или KVM/libvirt.
Конфигурационные файлы Cuckoo
Настройка конфигурации Cuckoo. Cuckoo использует несколько основных конфигурационных файлов:
-
cuckoo.conf— общее поведение и параметры анализа. -
auxiliary.conf— вспомогательные модули. -
<machinery.conf>— параметры гипервизора (имя файла совпадает с модулем machinery вcuckoo.conf; для VirtualBox это, как правило,virtualbox.conf). -
memory.conf— Volatility и дампы памяти. -
processing.conf— модули обработки результатов. -
reporting.conf— форматы отчётов.
Для работы Cuckoo вам следует как минимум отредактировать файлы cuckoo.conf и конфиг machinery (например, virtualbox.conf).
cuckoo.conf. Первый файл для правки — $CWD/conf/cuckoo.conf. Далее под $CWD имеется в виду рабочий каталог Cuckoo. В cuckoo.conf задаются общие параметры: их стоит просмотреть перед первым запуском. Файл подробно прокомментирован; ниже перечислены разделы, которые чаще всего требуют внимания:
machinery в cuckoo
Этот параметр определяет, какой модуль Machinery вы хотите использовать для взаимодействия Cuckoo с вашими машинами анализа. Значение должно быть именем модуля без расширения (например, virtualbox или vmware).
ip и port в resultserver
Эти параметры определяют локальный IP-адрес и порт, к которому Cuckoo будет пытаться подключиться к серверу результатов. Убедитесь, что они соответствуют сетевой конфигурации ваших аналитических машин, иначе они не смогут вернуть результаты.
connection в database
Строка подключения к базе данных определяет, как Cuckoo будет подключаться к внутренней базе данных. Вы можете использовать любую СУБД, поддерживаемую SQLAlchemy, используя допустимый синтаксис URL-адресов базы данных.
Важно: проверьте IP-адрес сервера результатов на выбранном сетевом интерфейсе. Некоторые программы виртуализации (например, VirtualBox) не поднимают виртуальные сетевые интерфейсы до запуска виртуальной машины. Cuckoo необходимо активировать интерфейс, на котором вы привязываете сервер результатов, до запуска, поэтому проверьте настройки вашей сети. Если вы не уверены, как активировать интерфейс, хороший способ — вручную запустить и остановить виртуальную машину анализа, это активирует виртуальную сеть. Если вы используете NAT/PAT в своей сети, вы можете установить IP-адрес сервера результатов на 0.0.0.0, чтобы он прослушивал все интерфейсы, а затем использовать специальные параметры resultserver_ip и resultserver_port в файле machinery.conf, чтобы указать адрес и порт, которые видят все машины. Обратите внимание, что если вы установите IP-адрес сервера результатов на 0.0.0.0 в cuckoo.conf, вам необходимо установить resultserver_ip для всех ваших виртуальных машин.
Откройте файл /home/ваш_пользователь/.cuckoo/conf/cuckoo.conf в gedit или другом редакторе. Параметр machinery = virtualbox задан по умолчанию — убедитесь, что значение верное. Если Cuckoo и гостевые ВМ на одной физической машине, проверьте адрес сервера результатов (resultserver / 192.168.56.1): обычно это адрес host-only интерфейса VirtualBox после создания vboxnet0. Установите reschedule = yes, version_check = no, memory_dump = no. Остальное оставьте по умолчанию или скорректируйте по комментариям в файле. Сохраните изменения.
auxiliary.conf. Вспомогательные модули — это скрипты, которые выполняются одновременно с анализом вредоносного ПО; этот файл определяет их параметры. В файле auxiliary.conf нужно проверить параметр # Enable PCAP replay capabilities. enabled = yes и установить значение no. Остальные параметры настраивайте по необходимости. Если нет, то оставьте значения по умолчанию и сохраните файл.
machinery.conf. Модули machinery — скрипты взаимодействия Cuckoo с гипервизором; у каждого модуля свой конфигурационный файл и список ВМ. Например, для VMware в cuckoo.conf указывают machinery = vmware, а машины перечисляют в $CWD/conf/vmware.conf. Далее в инструкции предполагается VirtualBox: откройте virtualbox.conf и задайте параметры:
В секции cuckoo1 параметр ip по умолчанию — 192.168.56.101. Если адрес гостевой машины другой, укажите фактический IPv4: после установки Windows 10 x64 и настройки сетевого адаптера выполните в cmd команду ipconfig и возьмите адрес из вывода (в примере ниже используется 192.168.56.101).
Параметр snapshot — имя снимка, к которому Cuckoo возвращает гостевую виртуальную машину после каждого анализа (например, Snapshot1, как в примерах команд ниже).
Остальные параметры задайте по необходимости или оставьте по умолчанию. Ниже описан вариант: хост Ubuntu, гостевая ОС Windows 10 x64.
processing.conf. Этот файл позволяет включать, отключать и настраивать все модули обработки. Эти модули расположены в каталоге cuckoo.processing и определяют способ обработки необработанных данных, собранных в ходе анализа. Раздел для каждого модуля обработки находится в файле $CWD/conf/processing.conf. Откройте файл processing.conf при помощи любого текстового редактора и настройте следующие параметры:
Найдите секцию [memory] и установите параметр enabled значение = no. Также найдите параметр extract_dll в секции [procmemory] и установите значение = yes. Проверьте параметр tesseract в секции [screenshots], чтобы значение было установлено = no.
reporting.conf. Файл $CWD/conf/reporting.conf содержит параметры генерации отчётов. Указывая yes или no, вы можете разрешить или запретить создание таких отчётов. Откройте файл reporting.conf при помощи любого текстового редактора и настройте следующие параметры:
В этом файле обязательно нужно в секции mongodb указать enabled = yes. В параметре identifier = указать имя хоста (его можно получить, используя команду hostname в терминале). Остальные параметры задайте по необходимости. Сохраните файл.
routing.conf. В этой документации рассматривается способ маршрутизации inetsim. Поэтому дальнейшая настройка файла routing.conf описана только для него. Если вам необходимо использовать другой(-ие) способ(-ы) - обратитесь к официальной документации Cuckoo Sandbox. Откройте файл routing.conf при помощи любого текстового редактора и настройте следующие параметры:
Параметр 'route = none' укажите inetsim. В секции [inetsim] параметр enabled = no укажите yes. server = 192.168.56.1 (или ваш адрес, на котором работает inetsim сервер). Сохраните и закройте файл.
Затем, необходимо открыть и отредактировать файл /etc/inetsim/inetsim.conf. В нем нужно найти секцию #service_bind_address 10.10.10.1, убрать символ # перед параметром и указать адрес IP хоста в Host-Only сети. Это тот адрес, который вы получите после создания Host-only network интерфейса внутри VirtualBox (vboxnet0). Также в этом файле нужно найти параметр dns_default_ip. Также убрать символ # перед ним и указать тот же адрес Host-only network интерфейса. Это нужно для того, чтобы вредоносное ПО во время анализа не зависало и получало DNS-resolve. В примере ниже оба параметра задаются как 192.168.56.1. После изменения настроек проверьте статус inetsim:
sudo systemctl status inetsim
Если inetsim Active(Running) - перезапустите его при помощи:
sudo systemctl restart inetsim
InetSim будет перезапущен с новыми настройками.
Первый пробный анализ в веб-интерфейсе
Счётчики Usage statistics останутся нулевыми, пока не будет ни одного завершённого анализа. Ознакомьтесь с веб-интерфейсом.
Загрузите тестовый архив EICAR: https://virusanalyst.com/eicar.zip. В веб-интерфейсе нажмите кнопку SUBMIT A FILE FOR ANALYSIS, выберите eicar.zip и Open.
В поле Network Routing по умолчанию должен быть выбран InetSim (подсветка в интерфейсе). Если нет — выберите вручную. Если пункт недоступен, проверьте службу INetSim и файл /etc/inetsim/inetsim.conf.
Выберите eicar.zip и нажмите по пустому квадрату рядом с ним для выделения.
Чтобы анализ шёл через Firefox (в этой инструкции Internet Explorer не настраивается), слева откройте Package → default и в списке выберите ff (пакет Firefox в Cuckoo).
В настройках слева внизу отключите Process Memory Dump: модуль Volatility в этой инструкции не устанавливается.
Запустите анализ, нажав на синюю кнопку Analyze справа сверху. Если вы увидели красную ошибку Something went wrong после нажатия на кнопку, откройте окно терминала с cuckoo. Если там начался анализ – все нормально, это ошибка веб-интерфейса.
Текст журнала анализа может отличаться от скриншотов. Красные сообщения в логе часто связаны с необязательными модулями (например, tesseract), если они включены в processing.conf, но не установлены или настроены неверно.
После завершения анализа, перейдите на главную страницу Cuckoo Sandbox в веб-интерфейсе. Пролистайте вниз, там вы увидите историю анализов. Откройте отчет eicar.zip.
Ознакомьтесь с отчетом. Если вы установили Python Pillow на гостевую машину, вы также увидите скриншоты, прикрепленные к отчету. Слева вы можете увидеть выдвигающееся меню, оно тоже относится к этому анализу. Просмотрите вкладки в меню слева.
Следующая страница: Установка Cuckoo Sandbox (VirtualBox).