
Песочница для полуавтоматического анализа вредоносного JavaScript, деобфускации и извлечения полезной нагрузки. Написана для Node.js
Песочница для полуавтоматического анализа JavaScript-вредоносов, деобфускации и извлечения полезной нагрузки. Написана для Node.js.
malware-jail написана для песочницы 'vm' от Node. В настоящее время реализует контекст WScript (Windows Scripting Host) env/wscript.js, по крайней мере ту часть, которая часто используется вредоносным ПО. Контекст интернет-браузера частично реализован env/browser.js.
Работает на любой операционной системе. Разрабатывался и тестировался на Linux, Node.js v6.6.0.
Из-за использования некоторых возможностей ES6 требуется Node.js >= 6.x.
См. EXAMPLES для примеров проанализированных образцов вредоносного ПО.
Если у вас есть новые образцы вредоносного ПО, пожалуйста, отправляйте их в javascript-malware-collection через issue или pull request.
Перечисляет WMI-запросы в файл: wmis.json
Добавлен новый параметр:
--t404 - http-запросы всегда возвращают HTTP/404 и вызывают исключение. Это позволяет перечислить все удалённые URL.
URL теперь сохраняются в urls.json. См. последний EXAMPLES#malware-of-issue-14.
Различные исправления ошибок и улучшения.
Различные исправления ошибок и улучшения.
Добавлены новые параметры:
-t мсек - ограничивает время выполнения "мсек" миллисекундами, по умолчанию 60 секунд.
--h404 - http-запросы всегда возвращают HTTP/404 и не вызывают исключение. Это позволяет перечислить все удалённые URL.
Вам понадобится Node.js и npm.
malware-jail построен на основе minimist, iconv-lite и entities.
Склонируйте исходный код с помощью git:
git clone https://github.com/HynekPetrak/malware-jail.git
cd malware-jail
Затем установите все зависимости (minimist, entities, iconv-lite) с помощью:
npm install
Пока недоступен, скоро появится...
Будьте осторожны при работе с реальным вредоносным ПО. Вредоносное ПО, осведомлённое об этой песочнице, может попытаться вырваться из неё и навредить вашему ПК. Рекомендуется запускать его либо из непривилегированной учётной записи Linux, либо внутри виртуальной машины Windows. Файлы Angler в папке malware НЕ обезврежены.
bash@linux# node jailme.js -h -b list
7 May 20:54:52 - malware-jail, песочница для вредоносного ПО вер. 0.19
7 May 20:54:52 - ------------------------
7 May 20:54:52 - Использование: node jailme.js [[-e file1] [-e file2] .. ] [-c ./config.json] \
7 May 20:54:52 - [-o ofile] [-b id] \
7 May 20:54:52 - [-s odir] [--down] [malware1 [malware2] .. ]
7 May 20:54:52 - -c config .. использовать альтернативный конфигурационный файл, с префиксом ./
7 May 20:54:52 - -e ifile ... js, эмулирующий определённое окружение
7 May 20:54:52 - -o ofile ... имя файла, в который будет выгружена песочница в конце
7 May 20:54:52 - -s odir ... выходная директория для сгенерированных файлов (полезная нагрузка вредоносного ПО)
7 May 20:54:52 - -b id ... тип браузера, используйте -b list для возможных значений
7 May 20:54:52 - -t мсек ... количество миллисекунд до принудительного завершения, по умолчанию 1 минута
7 May 20:54:52 - --trace ... печатать стек вызовов с каждой строкой лога
7 May 20:54:52 - --down ... разрешить загрузку полезной нагрузки с удалённых серверов
7 May 20:54:52 - --h404 ... при загрузке всегда возвращать HTTP/404
7 May 20:54:52 - malware ... js-файл с кодом вредоносного ПО
7 May 20:54:52 - Если аргументы не указаны, используются значения по умолчанию из config.json
7 May 20:54:52 - Возможные значения -b: [ 'IE11_W10', 'IE8', 'IE7', 'iPhone', 'Firefox', 'Chrome' ]
В папке examples вы найдёте деактивированный файл вредоносного ПО. Запустите анализ с помощью:
node jailme.js -c ./config_wscript_only.json --down=y malware/example.js
Вредоносное ПО на основе интернет-браузера можете протестировать с помощью
node jailme.js -b IE11_W10 malware/example_browser.js
В конце анализа полный контекст песочницы выгружается в файл 'sandbox_dump_after.json'.
Возможно, вам захочется изучить следующие записи в 'sandbox_dump_after.json':
'sandbox_dump_after.json' использует JSONPath, реализованный JSON-js/cycle.js, для сохранения дублированных или циклических ссылок на один и тот же объект.