Pacu

Cloud & Container Security v1.7.0 · 23.03.2026 активный

Открытый фреймворк для эксплуатации AWS-окружений от Rhino Security Labs. Содержит 45+ модулей: перечисление IAM-прав, эскалация привилегий, извлечение секретов, обход CloudTrail-логирования, атаки на Lambda/S3/EC2. Работает как аналог Metasploit специально для облачных пентестов AWS.

v1.7.0
23.03.2026 current
Добавлен 13.07.2026 · Обновлён 13.07.2026 · Cloud & Container Security
Установка
pip install pacu
# или
git clone https://github.com/RhinoSecurityLabs/pacu && cd pacu && pip install -r requirements.txt
python3 pacu.py
переведено ИИ

Краткая справка

Что такое Pacu?

Pacu — это open-source фреймворк для эксплуатации AWS, предназначенный для атакующего тестирования безопасности облачных сред. Создан и поддерживается Rhino Security Labs. Pacu позволяет тестировщикам на проникновение использовать недостатки конфигурации в учётной записи AWS с помощью модулей для легкого расширения функциональности. Текущие модули позволяют выполнять ряд атак, включая повышение привилегий пользователей, создание бэкдоров для пользователей IAM, атаки на уязвимые функции Lambda и многое другое.

Установка

Pacu — достаточно легковесная программа, поскольку для установки необходимы только Python3.7+ и pip3 для установки небольшого набора библиотек Python.

Быстрая установка

  pip3 install -U pip
  pip3 install -U pacu
  pacu

Установка с помощью Pipx

Это предпочтительный метод при использовании Kali Linux, поскольку pip больше не устанавливается по умолчанию. Эта команда установит Pacu с последними обновлениями, которые могут не входить в официальный релиз.

pipx install git+https://github.com/RhinoSecurityLabs/pacu.git

Для получения более подробных и удобных инструкций ознакомьтесь с руководством по установке в Wiki.

Как использовать Docker-образ Pacu

Попробовать в PWD

Вариант 1: Запуск с точкой входа по умолчанию, которая непосредственно запускает Pacu

docker run -it rhinosecuritylabs/pacu:latest

Вариант 2: Запуск без точки входа по умолчанию

docker run -it --entrypoint /bin/sh rhinosecuritylabs/pacu:latest

Вариант 3: Запуск с конфигурацией и учётными данными AWS

Предупреждение: Запуск этой команды смонтирует ваши локальные файлы конфигурации AWS в Docker-контейнер при его запуске. Это означает, что любой пользователь с доступом к контейнеру получит доступ к вашим учётным данным AWS на хост-компьютере.

docker run -it -v ~/.aws:/root/.aws rhinosecuritylabs/pacu:latest

Начало работы

При первом запуске Pacu вам будет предложено создать и назвать новую сессию. Эта сессия будет использоваться для хранения пар ключей AWS, а также любых данных, полученных в результате работы различных модулей. В Pacu может быть любое количество различных сессий, каждая со своими наборами ключей и данных AWS, и вы можете возобновить сессию в любое время (хотя в настоящее время требуется перезапуск для переключения между сессиями).

Модулям необходим ключ AWS, который предоставляет минимальный доступ к среде AWS и состоит из идентификатора ключа доступа (access key ID) и секретного ключа доступа (secret access key). Чтобы установить ключи сессии, используйте команду set_keys и следуйте инструкциям для указания псевдонима ключа (название для справки), идентификатора ключа доступа AWS, секретного ключа доступа AWS и маркера сессии AWS (если вы его используете).

Если вы застряли, команда help покажет список доступных команд.

Основные команды в Pacu

  • list — выведет список доступных модулей для регионов, установленных в текущей сессии.
  • help имя_модуля — покажет справочную информацию для указанного модуля.
  • run имя_модуля — запустит указанный модуль с параметрами по умолчанию.
  • run имя_модуля --regions eu-west-1,us-west-1 — запустит указанный модуль для регионов eu-west-1 и us-west-1 (для модулей, поддерживающих аргумент --regions).

Запуск Pacu из командной строки

  • pacu --help — отобразит меню справки
  • pacu --session <имя сессии> — устанавливает сессию для команд, требующих её
  • pacu --list-modules — выведет список всех доступных модулей (не требует сессии)
  • pacu --pacu-help — выведет окно справки Pacu (не требует сессии)
  • pacu --module-name <имя модуля> — имя модуля для выполнения действия, можно выполнить модуль или получить информацию о нём
  • pacu --exec — выполнить модуль, указанный в --module-name
  • pacu --module-info — получить информацию о модуле, указанном в --module-name
  • pacu --data <имя сервиса || all> — запрос к локальной базе данных SQLAlchemy для получения перечислённой информации
  • pacu --module-args="<арг1> <значение> <арг2> <значение>" — передать необязательные аргументы модуля выполняемому модулю
  • pacu --set-regions <регион1 регион2 || all> — установить регионы для использования в сессии, разделяйте регионы пробелом или введите all для всех регионов
  • pacu --whoami — получить информацию о текущем пользователе

Модульная мощь Pacu

Pacu использует набор плагин-модулей для помощи атакующему в перечислении, повышении привилегий, извлечении данных, эксплуатации сервисов и манипуляции логами в средах AWS. Приветствуются вклады или идеи для новых модулей.

Для поддержания темпа с постоянными разработками AWS мы спроектировали Pacu с нуля с учётом расширяемости. Единый синтаксис и структура данных упрощают создание и расширение модулей — нет необходимости указывать регионы AWS или делать избыточные проверки разрешений между модулями. Локальная база данных SQLite используется для управления и обработки полученных данных, минимизируя вызовы API (и связанные с ними логи). Отчётность и аудит атак также встроены в фреймворк; Pacu помогает процессу документации через логирование и экспорт команд, способствуя построению хронологии тестирования.

Сообщество

Мы всегда рады получать отчёты об ошибках в самом фреймворке Pacu, а также тестирование и обратную связь по различным модулям и в целом конструктивную обратную связь для усовершенствования фреймворка. Любая поддержка Pacu через использование, тестирование, улучшение или просто распространение информации будет очень appreciated.

Если вы заинтересованы во вкладе непосредственно в фреймворк Pacu, пожалуйста, ознакомьтесь с нашими руководством по участию для понимания о кодовых соглашениях и принципах работы с git.

Разработка модулей Pacu

Если вы заинтересованы в написании собственных модулей для Pacu, ознакомьтесь со страницей Разработка модулей в Wiki. По мере разработки новых возможностей, пожалуйста, свяжитесь с нами — мы будем рады добавить ваши новые модули в основную коллекцию, поставляемую с Pacu.

Цели развития фреймворка Pacu

  • Улучшение форматирования интерфейса
  • Прямые миграции базы данных и отслеживание версий
  • «Планы атак» для упрощения использования сложных цепочек выполнения модулей
  • Цветной вывод в консоль
  • Функциональность пробного запуска модулей
  • Возможность использования автономных файлов конфигурации
  • Улучшения архитектуры плагинов

Примечания

  • Pacu официально поддерживается в OSX и Linux.
  • Pacu является открытым программным обеспечением, распространяемым по лицензии BSD-3-Clause.

Отправка запросов / Отчётов об ошибках

  • Сообщайте об уязвимостях в Pacu напрямую нам по электронной почте: pacu@rhinosecuritylabs.com.
  • Pacu создаёт журналы ошибок в папке каждой сессии, а также глобальный журнал ошибок для ошибок вне сессии, который создаётся в основной директории. Если возможно, пожалуйста, прилагайте эти журналы к вашим отчётам об ошибках — это значительно упростит процесс отладки.
  • Если у вас есть запрос функциональности, идея или об ошибке, пожалуйста, отправьте их сюда.
  • Пожалуйста, включите описание, достаточное для воспроизведения найденной ошибки, включая трассировки и шаги воспроизведения, и проверьте наличие других сообщений об вашей ошибке перед созданием нового отчёта. Не отправляйте дубликаты.

Wiki

Для пошаговых инструкций и полной документации посетите вики Pacu.

Свяжитесь с нами

Отказы от ответственности и Политика допустимого использования AWS

  • Насколько нам известно, возможности Pacu соответствуют Политике допустимого использования AWS, но поскольку это гибкий и модульный инструмент, мы не можем гарантировать это во всех ситуациях. Полная ответственность за соответствие использования Pacu Политике допустимого использования AWS лежит на вас.
  • В зависимости от того, какие сервисы AWS вы используете и что включает ваше планируемое тестирование, вам может потребоваться ознакомиться с Политикой поддержки клиентов AWS для тестирования на проникновение перед фактическим запуском Pacu в вашей инфраструктуре.
  • Как и с любым инструментом для тестирования на проникновение, вы несёте ответственность за получение надлежащего разрешения перед использованием Pacu за пределами вашей среды.
  • Pacu является программным обеспечением, которое предоставляется без каких-либо гарантий. Используя Pacu, вы принимаете полную ответственность за любые и все последствия, которые могут возникнуть.
Комментарии
Войдите, чтобы оставить комментарий