Источники:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
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 анализ вирусов и программ
1 2 3 |
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. Ставить будем на
1 2 3 4 5 6 7 8 |
Изначальна пытался ставить на дебиан... не получилось. Вот такая у меня была убунту lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.1 LTS Release: 14.04 Codename: trusty |
1. Обновляем пакеты и ставим нужное по.
1 2 3 4 |
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. Подготовки для базы данных
1 2 3 |
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. ставим еще компоненты
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
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. Настройка по для виртуальной машины
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
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.conf <VirtualHost *:80> ServerName 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 <Directory /opt/cuckoo/web/web> <Files wsgi.py> Require all granted </Files> </Directory> Alias /static /opt/cuckoo/web/static <Directory /opt/cuckoo/web/static/> Require all granted </Directory> </VirtualHost> nano /etc/apache2/sites-available/000-default.conf <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> 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. авто загрузка параметров
1 2 3 4 5 6 7 8 |
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. и снова установка ПО
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
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. Устанавливаем вм машину скачиваем дистрибутив
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
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. включаем виртуалку и настраиваем
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
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. Делаем снапшот (не выключая гостевую ОС)
1 2 3 |
vboxmanage snapshot "WindowsXP" take "WindowsXPSnap01" --pause И выключаем: vboxmanage controlvm "WindowsXP" poweroff |
11. Проверяем как там наш веб интерфейс
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
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. все дальше должно все работать