Мой опыт быстрого развертывания портативной среды анализа малвари, на основе vmware и noribien. (аналог Cuckoo)
Скачать все тулзы (что ниже) одним архивом + батники запуска анализа:
VMware
Для начала устанавливаем VMware Workstation. На момент теста у меня стояла 12.1.0 build-3272444. (Pro)
После чего устанавливаем VMware VIX 1.15.0 API for Windows 64-bit operating systems (для каждой вервии вари свой vix)
для 12.1.0 вари: http://www.tuinformaticafacil.com/descargas-gratis/virtualizacion/vmware/vmware-vix-api-para-windows-32-bit-y-64-bit
Windows Malware VM
Для быстроты развертывания можно взять готовый образ Windows XP с официального сайта мелкософта: https://dev.windows.com/en-us/microsoft-edge/tools/vms/windows/
Python lib - requests
Загружаем и анпачим архив. Папку requests из архива, кидаем в C:\Python27\Lib
Скачать все тулзы (что ниже) одним архивом + батники запуска анализа:
https://mega.nz/#F!cAc0XSAA!gyHheyBPOeQ_M44U77DXaw
Или собираем с самыми свежими версиями софта:
Или собираем с самыми свежими версиями софта:
VMware
Для начала устанавливаем VMware Workstation. На момент теста у меня стояла 12.1.0 build-3272444. (Pro)
После чего устанавливаем VMware VIX 1.15.0 API for Windows 64-bit operating systems (для каждой вервии вари свой vix)
для 12.1.0 вари: http://www.tuinformaticafacil.com/descargas-gratis/virtualizacion/vmware/vmware-vix-api-para-windows-32-bit-y-64-bit
Для быстроты развертывания можно взять готовый образ Windows XP с официального сайта мелкософта: https://dev.windows.com/en-us/microsoft-edge/tools/vms/windows/
Скачиваем образ по варю и деплоим виртуалку.
После деплоя, нужно довесить сетевуху и обновить vmware-tools, ребутимся.
Далее скачиваем необходимый софт:
Архиватор для упаковки результатов анализа:
http://www.7-zip.org/a/7z1514.exe (я установил в папку C:\7zip)
Устанавливаем Python27 на виртуалку в папку C:\Python27
Procmon (нужен для работы noriben, для удобства pe положим в папке с noriben)
И сам Noriben. Скачиваем архив, делаем анпак в папку C:\noriben, и в эту же папку кидаем Procmon.exe. (По желанию регаемся на Virustotal, получаем апи кей, и вставляем его в Noriben.py)
После установки всего софта, делаем снапшот виртуалки.
Запуск малвари для анализа
я немного изменил скрипт(поля которые нужно редактировать, выделены жирным):
:Noriben Sandbox Automation Script
:Responsible for:
:* Copying malware into a known VM
:* Running malware sample
:* Copying off results
:
:Ensure you set the environment variables below to match your system
@echo off
if "%1"=="" goto HELP
if not exist "%1" goto HELP
set DELAY=10
set CWD=%CD%
set VMRUN="C:\Program Files (x86)\VMware\VMware Workstation\vmrun.exe"
set VMX="D:\storagevmwarelocal\ie8winxp.vmx"
set VM_SNAPSHOT="Baseline"
SET VM_USER=IEUser
set VM_PASS=Passw0rd!
set FILENAME=%~nx1
set NORIBEN_PATH="c:\noriben\Noriben.py"
set LOG_PATH="c:\Noriben_Logs"
set ZIP_PATH="c:\7zip\7z.exe"
%VMRUN% -T ws revertToSnapshot %VMX% %VM_SNAPSHOT%
%VMRUN% -T ws start %VMX%
%VMRUN% -gu %VM_USER% -gp %VM_PASS% copyFileFromHostToGuest %VMX% "%1" c:\Malware\malware.exe
%VMRUN% -T ws -gu %VM_USER% -gp %VM_PASS% runProgramInGuest %VMX% "c:\Python27\python.exe" "c:\noriben\Noriben.py" -t %DELAY% --cmd "c:\Malware\Malware.exe" --output %LOG_PATH%
if %ERRORLEVEL%==1 goto ERROR1
%VMRUN% -T ws -gu %VM_USER% -gp %VM_PASS% runProgramInGuest %VMX% %ZIP_PATH% a c:\NoribenReports.zip %LOG_PATH%
%VMRUN% -gu %VM_USER% -gp %VM_PASS% copyFileFromGuestToHost %VMX% c:\NoribenReports.zip %CWD%\NoribenReports_%FILENAME%.zip
goto END
:ERROR1
echo [!] File did not execute in VM correctly.
goto END
:HELP
echo Please provide executable filename as an argument.
echo For example:
echo %~nx0 C:\Malware\ef8188aa1dfa2ab07af527bab6c8baf7
goto END
:END
Запуск примитивен:
# run-script-for-noriben.bat C:\Malware\virus.dat
После запуска, произойдет откат снепшота нашей виртуалки, копирование virus.dat в папку c:\Malware\malware.exe. Запуск Noriben с задержкой в 10 секунд и запуском вредоноса. После чего в папку c:\Noriben_Logs упадут логи, которые будут упакованы в архив c:\NoribenReports.zip и будет скопирован на хостовую машину в папку, с которого был произведен запуск батника.
YARA
Для работы правил (--yara sig_folder) нужно установить либы:
Для работы правил (--yara sig_folder) нужно установить либы:
Последняя для 2.7, в папку с Python27:
https://github.com/kennethreitz/requests/archive/master.zip
LOKI scanner
Добавил автоматический запуск скана папки с малварью, с помощью LOKI.(как замена встроенному в noriben yara ключу)
Добавил автоматический запуск скана папки с малварью, с помощью LOKI.(как замена встроенному в noriben yara ключу)
Загружаем локи, и ложем в C:\Loki
Подправленный скрипт для скана с локи:
:Noriben Sandbox Automation Script
:Responsible for:
:* Copying malware into a known VM
:* Running malware sample
:* Copying off results
:
:Ensure you set the environment variables below to match your system
@echo off
if "%1"=="" goto HELP
if not exist "%1" goto HELP
set DELAY=10
set CWD=%CD%
set VMRUN="C:\Program Files (x86)\VMware\VMware Workstation\vmrun.exe"
set VMX="D:\storagevmwarelocal\ie8winxp.vmx"
set VM_SNAPSHOT="Baseline4"
SET VM_USER=IEUser
set VM_PASS=Passw0rd!
set FILENAME=%~nx1
set NORIBEN_PATH="c:\noriben\Noriben.py"
set LOG_PATH=c:\Noriben_Logs
set ZIP_PATH="c:\7zip\7z.exe"
set LOKI_PATH="C:\Loki\loki.exe"
%VMRUN% -T ws revertToSnapshot %VMX% %VM_SNAPSHOT%
%VMRUN% -T ws start %VMX%
%VMRUN% -gu %VM_USER% -gp %VM_PASS% copyFileFromHostToGuest %VMX% "%1" c:\Malware\malware.exe
%VMRUN% -T ws -gu %VM_USER% -gp %VM_PASS% runProgramInGuest %VMX% "c:\Python27\python.exe" "c:\noriben\Noriben.py" -t %DELAY% --cmd "c:\Malware\Malware.exe" --output "%LOG_PATH%"
if %ERRORLEVEL%==1 goto ERROR1
:LOKI_SCAN_FOLDER
%VMRUN% -T ws -gu %VM_USER% -gp %VM_PASS% runProgramInGuest %VMX% %LOKI_PATH% --noprocscan -l "%LOG_PATH%\LokiLog.txt" --dontwait --noindicator --onlyrelevant -p "c:\Malware"
%VMRUN% -T ws -gu %VM_USER% -gp %VM_PASS% runProgramInGuest %VMX% %ZIP_PATH% a c:\Reports.zip "%LOG_PATH%"
%VMRUN% -gu %VM_USER% -gp %VM_PASS% copyFileFromGuestToHost %VMX% c:\Reports.zip %CWD%\Reports_%FILENAME%.zip
goto END
:ERROR1
echo [!] File did not execute in VM correctly.
goto END
:HELP
echo Please provide executable filename as an argument.
echo For example:
echo %~nx0 C:\Malware\ef8188aa1dfa2ab07af527bab6c8baf7
goto END
:END
Virustotal file check
Для проверки файла, нужно загрузить sigcheck и распаковать в папку C:\Sigcheck\
Для проверки файла, нужно загрузить sigcheck и распаковать в папку C:\Sigcheck\
и добавить в скрипт строки в нужные места:
:Noriben Sandbox Automation Script
:Responsible for:
:* Copying malware into a known VM
:* Running malware sample
:* Copying off results
:
:Ensure you set the environment variables below to match your system
@echo off
if "%1"=="" goto HELP
if not exist "%1" goto HELP
set DELAY=10
set CWD=%CD%
set VMRUN="C:\Program Files (x86)\VMware\VMware Workstation\vmrun.exe"
set VMX="D:\storagevmwarelocal\ie8winxp.vmx"
set VM_SNAPSHOT="Baseline4"
SET VM_USER=IEUser
set VM_PASS=Passw0rd!
set FILENAME=%~nx1
set NORIBEN_PATH="c:\noriben\Noriben.py"
set LOG_PATH=c:\Noriben_Logs
set ZIP_PATH="c:\7zip\7z.exe"
set LOKI_PATH="C:\Loki\loki.exe"
set VIRTOTAL_PATH="C:\Sigcheck\sigcheck.exe"
%VMRUN% -T ws revertToSnapshot %VMX% %VM_SNAPSHOT%
%VMRUN% -T ws start %VMX%
%VMRUN% -gu %VM_USER% -gp %VM_PASS% copyFileFromHostToGuest %VMX% "%1" c:\Malware\malware.exe
%VMRUN% -T ws -gu %VM_USER% -gp %VM_PASS% runProgramInGuest %VMX% "c:\Python27\python.exe" "c:\noriben\Noriben.py" -t %DELAY% --cmd "c:\Malware\Malware.exe" --output "%LOG_PATH%"
if %ERRORLEVEL%==1 goto ERROR1
:VirusTotal
%VMRUN% -T ws -gu %VM_USER% -gp %VM_PASS% runProgramInGuest %VMX% %VIRTOTAL_PATH% -q -h -a -vrs -vt > "%LOG_PATH%\VirusTotal_log.txt"
:LOKI_SCAN_FOLDER
%VMRUN% -T ws -gu %VM_USER% -gp %VM_PASS% runProgramInGuest %VMX% %LOKI_PATH% --noprocscan -l "%LOG_PATH%\LokiLog.txt" --dontwait --noindicator --onlyrelevant -p "c:\Malware"
%VMRUN% -T ws -gu %VM_USER% -gp %VM_PASS% runProgramInGuest %VMX% %ZIP_PATH% a c:\Reports.zip "%LOG_PATH%"
%VMRUN% -gu %VM_USER% -gp %VM_PASS% copyFileFromGuestToHost %VMX% c:\Reports.zip %CWD%\Reports_%FILENAME%.zip
goto END
:ERROR1
echo [!] File did not execute in VM correctly.
goto END
:HELP
echo Please provide executable filename as an argument.
echo For example:
echo %~nx0 C:\Malware\ef8188aa1dfa2ab07af527bab6c8baf7
goto END
:END