Источники:
https://cuckoosandbox.org/download - 2019 https://habr.com/ru/post/350392/ - новая статья про установку на хабре 2018 Cuckoo 2.0. http://community.cuckoosandbox.org/posts/show/django-16-error/ - решение проблемы неработающего веб интерфейса из за джанго http://habrahabr.ru/post/234467/ - Основная статья пользовался при первой установки https://downloads.mariadb.org/mariadb/repositories/#mirror=timeweb&distro=Debian&distro_release=wheezy&version=10.0 http://rutracker.org/forum/viewtopic.php?t=4300691 http://anubis.iseclab.org/ http://mirspo.narod.ru/vbox/ch08.html http://habrahabr.ru/post/234467/#script - скрипт авто установки ( лутше ставить вводя команды по очереди и решать проблемы ) docs.cuckoosandbox.org xakep.ru/articles/57409/ lanswer.blogspot.ru/2012/11/add-cucksandbox-to-ubuntu-service.html reverselab.info/page/cuckoo-sandbox www.alienvault.com/blogs/tag/yara www.securitylab.ru/analytics/441524.php www.modern.ie/ru-ru/ www.aldeid.com/wiki/PEiD blog.prowling.nu/2014/08/cuckoo-sandbox-django-interface-with.html github.com/conix-security/zer0m0n github.com/bostonlink/cuckooforcanari santi-bassett.blogspot.ru/2013/01/installing-cuckoo-sandbox-on-virtualbox.html
Cuckoo Sandbox анализ вирусов и программ
http://www.cuckoosandbox.org/download.html http://www.behindthefirewalls.com/2013/07/how-to-install-cuckoo-sandbox-on-ubuntu.html http://arisri.tistory.com/entry/Cuckoo-05-Debian-Squeeze-installation
0. Ставить будем на
Изначальна пытался ставить на дебиан... не получилось. Вот такая у меня была убунту lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.1 LTS Release: 14.04 Codename: trusty
1. Обновляем пакеты и ставим нужное по.
apt-get update apt-get upgrade apt-get install git automake mongodb mingw32 dkms unzip wget python python-sqlalchemy python-bson python-pip python-dpkt python-jinja2 python-magic python-gridfs python-mysqldb python-libvirt python-bottle python-pefile python-chardet -y apt-get install python-dev libxml2-dev libxslt1-dev libevent-dev libpcre3 libpcre3-dev zlib1g-dev libtool libpcre++-dev -y
2. Подготовки для базы данных
debconf-set-selections <<< 'mariadb-server-5.5 mysql-server/root_password password supersecretpassw0rd' debconf-set-selections <<< 'mariadb-server-5.5 mysql-server/root_password_again password supersecretpassw0rd' apt-get install mariadb-server -y
3. ставим еще компоненты
cd /tmp
pip install lxml
pip install cybox==2.0.1.4
pip install maec==4.0.1.0
dpkg -l | grep virt
dpkg -l | grep box
pip install django
pip install py3compat
pip install pymongo
apt-get install ssdeep python-pyrex subversion libfuzzy-dev -y
svn checkout http://pyssdeep.googlecode.com/svn/trunk/ pyssdeep
cd pyssdeep
python setup.py build
python setup.py install
pip install pydeep
cd /tmp
wget https://github.com/plusvic/yara/archive/v2.1.0.tar.gz
tar xzf v2.1.0.tar.gz
cd yara-2.1.0
chmod +x build.sh
./build.sh
make install
cd yara-python
python setup.py build
python setup.py install
cd /tmp
wget http://distorm.googlecode.com/files/distorm3.zip
unzip distorm3.zip
cd distorm3/
python setup.py build
python setup.py install
add-apt-repository ppa:pi-rho/security -y
apt-get update
apt-get install volatility -y
useradd cuckoo
usermod -a -G vboxusers cuckoo
cd /opt
wget http://downloads.cuckoosandbox.org/1.1/cuckoo_1.1.tar.gz
tar xzf cuckoo_1.1.tar.gz
cd /opt/cuckoo
./utils/community.py --signatures --force
wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -
sh -c 'echo "deb http://download.virtualbox.org/virtualbox/debian trusty contrib" >> /etc/apt/sources.list.d/virtualbox.list'
apt-get update
apt-get install virtualbox-4.3 -y
cd /tmp
VBOX_LATEST_VERSION=$(curl http://download.virtualbox.org/virtualbox/LATEST.TXT)
wget http://download.virtualbox.org/virtualbox/${VBOX_LATEST_VERSION}/Oracle_VM_VirtualBox_Extension_Pack-${VBOX_LATEST_VERSION}.vbox-extpack
vboxmanage extpack install /tmp/Oracle_VM_VirtualBox_Extension_Pack-${VBOX_LATEST_VERSION}.vbox-extpack
cd /opt
wget http://dlc.sun.com.edgesuite.net/virtualbox/${VBOX_LATEST_VERSION}/VBoxGuestAdditions_${VBOX_LATEST_VERSION}.iso
4. Настройка по для виртуальной машины
vboxmanage createvm --name "WindowsXP" --ostype WindowsXP --register vboxmanage modifyvm "WindowsXP" --memory 1000 --acpi on --boot1 dvd vboxmanage createhd --filename "WindowsXP.vdi" --size 20000 vboxmanage storagectl "WindowsXP" --name "IDE" --add ide --controller PIIX4 vboxmanage storageattach "WindowsXP" --storagectl "IDE" --port 0 --device 0 --type hdd --medium "WindowsXP.vdi" vboxmanage hostonlyif create vboxmanage modifyvm "WindowsXP" --nic1 hostonly --hostonlyadapter1 vboxnet0 --nicpromisc1 allow-all --hwvirtex off --vtxvpid off mkdir -p /opt/cuckoo/shares/setup mkdir -p /opt/cuckoo/shares/WindowsXP vboxmanage sharedfolder add "WindowsXP" --name "WindowsXP" --hostpath /opt/cuckoo/shares/WindowsXP --automount vboxmanage sharedfolder add "WindowsXP" --name setup --hostpath /opt/cuckoo/shares/setup --automount --readonly vboxmanage modifyvm "WindowsXP" --nictrace1 on --nictracefile1 /opt/cuckoo/shares/WindowsXP/dump.pcap cp /opt/cuckoo/agent/agent.py /opt/cuckoo/shares/setup/agent.pyw vboxmanage modifyvm "WindowsXP" --vrdeport 5000 --vrde on iptables -A FORWARD -o eth0 -i vboxnet0 -s 192.168.56.0/24 -m conntrack --ctstate NEW -j ACCEPT iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT iptables -A POSTROUTING -t nat -j MASQUERADE sysctl -w net.ipv4.ip_forward=1 setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump getcap /usr/sbin/tcpdump mysql -uroot -psupersecretpassw0rd -e "create database cuckoo" mysql -uroot -psupersecretpassw0rd -e "grant all privileges on cuckoo.* to cuckoo@localhost identified by 'cuck00pass'" mysql -u root -psupersecretpassw0rd -e "flush privileges" sed -i -e "s@connection =@connection = mysql://cuckoo:cuck00pass\@localhost/cuckoo@" /opt/cuckoo/conf/cuckoo.conf sed -i -e "s@memory_dump = off@memory_dump = on@" /opt/cuckoo/conf/cuckoo.conf sed -i -e "s@default = 120@default = 240@" /opt/cuckoo/conf/cuckoo.conf sed -i -e "s@critical = 600@critical = 1200@" /opt/cuckoo/conf/cuckoo.conf sed -i -e "s@vm_state = 300@vm_state = 600@" /opt/cuckoo/conf/cuckoo.conf sed -i -e "s@delete_memdump = no@delete_memdump = yes@" /opt/cuckoo/conf/memory.conf sed -i -e "s@enabled = no@enabled = yes@" /opt/cuckoo/conf/processing.conf sed -i -e "s@enabled = no@enabled = yes@" /opt/cuckoo/conf/reporting.conf sed -i -e "s@enabled = no@enabled = yes@" /opt/cuckoo/conf/processing.conf sed -i -e "s@mode = gui@mode = headless@" /opt/cuckoo/conf/virtualbox.conf sed -i -e "s@cuckoo1@WindowsXP@" /opt/cuckoo/conf/virtualbox.conf
5. Настройка веб интерфейса для cuckoo
apt-get install apache2 -y mv /etc/apache2/sites-enabled/000-default.conf /etc/apache2/sites-enabled/000-default.conf.bak nano /etc/apache2/sites-available/cuckoo.confServerName cuckoo.b14esh.com ServerAdmin webmaster@localhost DocumentRoot /opt/cuckoo/web ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined WSGIScriptAlias / /opt/cuckoo/web/web/wsgi.py nano /etc/apache2/sites-available/000-default.confAlias /static /opt/cuckoo/web/static Require all granted Require all granted ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined a2ensite cuckoo.conf service apache2 reload service apache2 stop service apache2 start aptitude install libapache2-mod-wsgi -y mv /opt/cuckoo/web/web/wsgi.py /opt/cuckoo/web/web/wsgi.py.bak nano /opt/cuckoo/web/web/wsgi.py import os, sys sys.path.append('/opt/cuckoo') sys.path.append('/opt/cuckoo/web') os.chdir('/opt/cuckoo/web') os.environ.setdefault("DJANGO_SETTINGS_MODULE", "web.settings") from django.core.wsgi import get_wsgi_application application = get_wsgi_application() chown -R cuckoo:cuckoo /opt/cuckoo/
6. авто загрузка параметров
nano /etc/rc.local VBoxManage list vms > /dev/null ifconfig vboxnet0 192.168.56.1 iptables -A FORWARD -o eth0 -i vboxnet0 -s 192.168.56.0/24 -m conntrack --ctsta$ iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT iptables -A POSTROUTING -t nat -j MASQUERADE sysctl -w net.ipv4.ip_forward=1 exit 0
7. и снова установка ПО
apt-get install supervisor -y
nano /etc/supervisor/conf.d/cuckoo.conf
supervisord -c /etc/supervisor/supervisord.conf
supervisorctl -c /etc/supervisor/supervisord.conf reload
cd /tmp
wget http://research.pandasecurity.com/blogs/images/userdb.txt
mv userdb.txt /opt/cuckoo/data/peutils/UserDB.TXT
cd /tmp
apt-get install clamav -y
wget http://db.local.clamav.net/main.cvd
wget http://db.local.clamav.net/daily.cvd
sigtool -u main.cvd
sigtool -u daily.cvd
wget https://malwarecookbook.googlecode.com/svn-history/r5/trunk/3/3/clamav_to_yara.py
wget https://malwarecookbook.googlecode.com/svn-history/r5/trunk/3/3/clamav_to_yara.py --no-check-certificate
python clamav_to_yara.py -f main.ndb -o main.yar
python clamav_to_yara.py -f daily.ndb -o daily.yar
RM_EOL=$(sed -n '/EOL_0_94_2/{=}' main.yar)
for n in {1..8}; do sed -i "${RM_EOL}d" main.yar; done
mkdir /opt/cuckoo/data/yara/clamav
mv *.yar /opt/cuckoo/data/yara/clamav/
git clone https://github.com/AlienVault-Labs/AlienVaultLabs.git
mv AlienVaultLabs/malware_analysis/ /opt/cuckoo/data/yara/
mv /opt/cuckoo/data/yara/index_binary.yar /opt/cuckoo/data/yara/index_binary.yar.bak
nano /opt/cuckoo/data/yara/index_binary.yar
include "signatures/embedded.yar"
include "signatures/vmdetect.yar"
include "clamav/main.yar"
include "clamav/daily.yar"
include "malware_analysis/CommentCrew/apt1.yara"
include "malware_analysis/FPU/fpu.yar"
include "malware_analysis/Georbot/GeorBotBinary.yara"
include "malware_analysis/Georbot/GeorBotMemory.yara"
include "malware_analysis/Hangover/hangover.yar"
include "malware_analysis/KINS/kins.yar"
include "malware_analysis/OSX_Leverage/leverage.yar"
include "malware_analysis/TheMask_Careto/mask.yar"
include "malware_analysis/Urausy/urausy_skypedat.yar"
git clone https://github.com/conix-security/zer0m0n.git
cd zer0m0n/bin
cp cuckoo.patch /opt/cuckoo
cd /opt/cuckoo
patch -p1 < ./cuckoo.patch
cp /tmp/zer0m0n/bin/logs_dispatcher.exe /opt/cuckoo/analyzer/windows/dll/
cp /tmp/zer0m0n/bin/zer0m0n.sys /opt/cuckoo/analyzer/windows/dll/
cp -rf /tmp/zer0m0n/signatures/* /opt/cuckoo/modules/signatures/
chown -R cuckoo:cuckoo /opt/cuckoo/
aptitude install libapache2-mod-wsgi -y
aptitude install libapache2-mod-wsgi -y
apt-get zlib1g-dev
apt-get install zlib1g-dev
cd /tmp
python setup.py install
pip install django
cd /opt/cuckoo/web/web/
chmod +x wsgi.py
pip install alembic
pip install python-dateutil
alembic upgrade head
apt-get install python-dpkt python-jinja2 python-magic python-libvirt python-bottle python-pefile
apt-get install python-dpkt python-jinja2 python-magic python-libvirt python-bottle python-pefile
apt-get install python-pip
pip install pymongo
apt-get install libpcre3 libpcre3-dev
pip install argparse
8. Устанавливаем вм машину скачиваем дистрибутив
cd /root mkdir Iso Iso/ wget http://где_то_тут_скачал/ru_windows_xp_professional_with_service_pack_3_x86_cd_vl_x14-74146.iso mv ru_windows_xp_professional_with_service_pack_3_x86_cd_vl_x14-74146.iso winxp.iso vboxmanage storageattach "WindowsXP" --storagectl "IDE" --port 0 --device 1 --type dvddrive --medium /root/Iso/windows.iso vboxmanage storageattach "WindowsXP" --storagectl "IDE" --port 0 --device 1 --type dvddrive --medium /root/Iso/winxp.iso vboxmanage startvm "WindowsXP" --type headless vboxmanage storageattach "WindowsXP" --storagectl "IDE" --port 0 --device 1 --type dvddrive --medium /opt/VBoxGuestAdditions_4.3.14.iso vboxmanage storageattach "WindowsXP" --storagectl "IDE" --port 0 --device 1 --type dvddrive --medium /opt/VBoxGuestAdditions_4.3.20.iso vboxmanage storageattach "WindowsXP" --storagectl "IDE" --port 0 --device 1 --type dvddrive --medium /root/Iso/winxp.iso vboxmanage storageattach "WindowsXP" --storagectl "IDE" --port 0 --device 1 --type dvddrive --medium /opt/VBoxGuestAdditions_4.3.20.iso nano /etc/sysctl.conf net.ipv4.ip_forward=1
9. включаем виртуалку и настраиваем
vboxmanage startvm "WindowsXP" --type headless Настаиваем гостевую ОС Следующим образом настроим подключение к сети (dns можете указать любой): ip 192.168.56.101 255.255.255.0 192.168.56.1 8.8.8.8 Установим VboxTools с диска, который подключен к системе. Устанавливаем Pyton 2.7: http://python.org/download/ Устанавливаем http://www.activestate.com/activepython Устанавливаем PIL Python модуль, для создания скриншотов: http://www.pythonware.com/products/pil/ Отключаем автоматическое обновление Windows. Отключаем брандмауэер. Копируем агент из сетевой папки setup в папку C:\Python27, Ставим агент на автозагрузку, для этого добавляем в ветку реестра(пуск->выполнить->regedit) HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run строковый параметр Имя:'Agent' Тип:'REG_SZ' Содержание:«C:\Python27\agent.pyw» Включаем IE, в настройках ставим домашней страницей пустую вкладку, по желанию в свойствах обозревателя выключаем все защитные механизмы. Отключаем SSDP: пуск->выполнить->msconfig и в разделе службы отключаем «Служба обнаружения SSDP», чтобы в отчётах не фигурировали сетевые запросы этой службы. Перезагружаемся и в появившемся при загрузке окне выбираем «При перезагрузке не выводить это сообщение» и ОК. После перезагрузки гостевой ОС, пуск->выполнить->cmd и в консоли набираем netstat –na и смотрим есть ли агент на 8000-ом порту По желанию устанавливаем различное уязвимое ПО старых версий (браузеры, Flash player, Java, Acrobat Reader...): http://www.oldapps.com Примечание: если у вас имеется лицензия на офис, лучше его установить, да и лучше установить всего побольше, скайп, ICQ, почтовый клиент, так или иначе некоторое вредоносное ПО пытается собрать данные из этих приложений или же эксплуатировать их. Например хакер, взломавший наш сайт, после нескольких неудачных попыток снова попасть в сеть собрал вирус, эксплуатирующий уязвимость CVE2012-0158, без Microsoft Office вычислить бы это не удалось. На этом установка гостевой ОС закончена.
10. Делаем снапшот (не выключая гостевую ОС)
vboxmanage snapshot "WindowsXP" take "WindowsXPSnap01" --pause И выключаем: vboxmanage controlvm "WindowsXP" poweroff
11. Проверяем как там наш веб интерфейс
tail /var/log/apache2/error.log
у меня были проблемы с джанго
Django 1.6 Error
Cuckoo Django interface is broken with version 1.6
"Please fix your settings." % setting) django.core.exceptions.ImproperlyConfigured: The TEMPLATE_DIRS setting must be a tuple. Please fix your settings.
fix can be applied to settings.py by changing
nano /opt/cuckoo/web/web/settings.py
TEMPLATE_DIRS = (
"templates"
)
to
TEMPLATE_DIRS = (
("templates"),
)
Not sure if this would break an instance using django < 1.6
12. все дальше должно все работать