
Packer Fuzzer — это быстрый и эффективный сканер для обнаружения уязвимостей на веб-сайтах, созданных с помощью сборщиков модулей JavaScript, таких как Webpack.
Любые прямые или косвенные последствия и убытки, возникшие в результате распространения или использования функций обнаружения, предоставляемых инструментом Packer Fuzzer (далее — данный инструмент), ложатся на плечи самого пользователя. Команда разработчиков Packer Fuzzer (далее — данная команда) не несет за них никакой ответственности.
На основе результатов проверки данный инструмент автоматически генерирует отчет о сканировании. Содержимое этого отчета и любые другие производные материалы не могут представлять позицию или точку зрения данной команды.
При использовании данного инструмента соблюдайте соответствующие законы и нормативные акты страны пользователя и страны, где находится целевая система. Любое несанкционированное тестирование недопустимо. В случае возникновения связанных с этим правонарушений мы оставляем за собой право привлечь вас к ответственности в соответствии с законом и в полной мере сотрудничать с соответствующими органами в проведении расследования.
С ростом популярности инструментов фронтенд-сборки WEB, часто ли вы сталкиваетесь при повседневном пентестинге и услугах безопасности с веб-сайтами, построенными на "Webpack bundler"? Такие сборщики упаковывают все API-интерфейсы и параметры API в один файл для централизованного вызова, что позволяет нам быстро обнаружить функциональность и список API сайта. Но зачастую количество JS-файлов, создаваемых такими сборщиками, чрезвычайно велико, а общий объем JS-кода огромен (до десятков тысяч строк), что создает большие неудобства при ручном тестировании. Именно для решения этой проблемы был создан инструмент Packer Fuzzer.
Данный инструмент поддерживает автоматическое нечеткое извлечение API-интерфейсов целевого сайта и параметров, соответствующих этим API, а также поддерживает быстрое и эффективное обнаружение семи основных уязвимостей: неавторизованный доступ, утечка конфиденциальной информации, CORS, SQL-инъекции, горизонтальное повышение привилегий, слабые пароли, произвольная загрузка файлов. После завершения сканирования инструмент автоматически генерирует отчет. Вы можете выбрать версию HTML для удобного анализа, а также более формальные версии doc, pdf, txt.
Вам не нужно беспокоиться о языковых проблемах, связанных с интернационализацией. Инструмент поставляется с пятью основными языковыми пакетами (включая шаблоны отчетов): упрощенный китайский, французский, испанский, английский, японский (отсортировано по точности перевода), переведенные нашей очень непрофессиональной командой.
Примечание: В первой версии инструмента оптимизация правил выполнена только для сборщика Webpack, правила для других сборщиков ожидаются в будущем.
Данный инструмент разработан на языке Python3. Перед запуском убедитесь, что у вас установлено программное обеспечение Python3.X и pip3. Если среда не установлена, следуйте инструкции: https://www.runoob.com/python3/python3-install.html
Пользователи MacOS могут быстро установить с помощью следующих команд:
brew install python3 # автоматически установит pip3
Пользователи Ubuntu могут быстро установить с помощью следующих команд:
sudo apt-get install -y python3 && sudo apt install -y python3-pip
Пользователи CentOS могут быстро установить с помощью следующих команд:
sudo yum -y install epel-release && sudo yum install python3 && yum install -y python3-setuptools && easy_install pip
Данный инструмент будет запускать нативный код NodeJS через node_vm2, поэтому мы рекомендуем установить среду NodeJS (другие среды выполнения JS не рекомендуются, так как могут привести к сбоям парсинга). Если среда не установлена, следуйте инструкции: https://www.runoob.com/nodejs/nodejs-install-setup.html
Пользователи MacOS могут быстро установить с помощью следующих команд:
brew install node
Пользователи Ubuntu могут быстро установить с помощью следующих команд:
sudo apt-get install nodejs && sudo apt-get install npm
Пользователи CentOS могут быстро установить с помощью следующих команд:
sudo yum -y install nodejs
Используйте следующую команду для однократной установки необходимых библиотек Python:
pip3 install -r requirements.txt
Вы можете запустить инструмент с помощью команды python3 PackerFuzzer.py [options]. Описание параметров options:
-h (--help)
Команда справки, не требует дополнительных аргументов. Показывает все поддерживаемые параметры и их краткое описание.
-u (--url)
URL-адрес целевого сайта для сканирования. Обязательный параметр. Например: -u https://demo.poc-sir.com.
-c (--cookie)
Дополнительные cookies. Может быть пустым. Если заполнено, передается глобально. Например: -c "POC=666;SIR=233".
-d (--head)
Дополнительные HTTP-заголовки. Может быть пустым. Если заполнено, передается глобально. По умолчанию: Cache-Control:no-cache. Например: -d "Token:3VHJ32HF0".
-l (--lang)
Языковой параметр. Если пусто, автоматически выбирается язык системы. Если нет соответствующего языкового пакета, автоматически переключается на английский интерфейс. Доступны следующие языковые пакеты: упрощенный китайский (zh), французский (fr), испанский (es), английский (en), японский (ja). Например: -l zh.
-t (--type)
Два режима: базовый и расширенный. Если пусто, по умолчанию используется базовый. Расширенный режим выполняет повторное сканирование всех API, извлекает соответствующие параметры и проверяет на: SQL-инъекции, горизонтальное повышение привилегий, слабые пароли, произвольную загрузку файлов. Для включения используйте adv. Например: -t adv.
-p (--proxy)
Глобальный прокси. Может быть пустым. Если заполнено, используется прокси-сервер. Например: -p https://hack.cool:8080.
-j (--js)
Дополнительные JS-файлы. Может быть пустым. Если вы считаете, что есть другие JS-файлы, которые необходимо проанализировать, используйте этот параметр. Например: -j https://demo.poc-sir.com/js/index.js,https://demo.poc-sir.com/js/vue.js.
-b (--base)