Рубрики
debian daemons \ демоны \ службы \ сервисы

debian \ Сuckoo \ Кукушка \ проверка файлов на вирусы \ virustotal

Источники:

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.conf

    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
    
        
            Require all granted
        
    
    Alias /static /opt/cuckoo/web/static
    
        Require all granted
    


nano /etc/apache2/sites-available/000-default.conf

        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. все дальше должно все работать