Где получить помощь : Discord Rhino Security Labs или Stack Overflow
Куда сообщать о проблемах : https://github.com/RhinoSecurityLabs/pacu/issues.
Поддерживается : Rhino Security Labs.
Pacu — это среда эксплуатации AWS с открытым исходным кодом, предназначенная для наступательного тестирования безопасности в облачных средах. Созданный и поддерживаемый Rhino Security Labs, Pacu позволяет тестерам на проникновение использовать недостатки конфигурации в учетной записи AWS, используя модули для легкого расширения ее функциональности. Текущие модули позволяют осуществлять ряд атак, включая повышение привилегий пользователей, бэкдор для пользователей IAM, атаку на уязвимые функции Lambda и многое другое.
Pacu — довольно легкая программа, поскольку для установки нескольких библиотек Python требуются только Python3.7+ и pip3.
> pip3 install -U pip > pip3 install -U pacu > pacu
Более подробные и удобные инструкции для пользователя можно найти в руководстве по установке на Wiki.
$ docker run -it rhinosecuritylabs/pacu:latest
$ docker run -it --entrypoint /bin/sh rhinosecuritylabs/pacu:latest
Предупреждение. При выполнении этой команды ваши локальные файлы конфигурации AWS будут подключены к контейнеру Docker при его запуске. Это означает, что любой пользователь, имеющий доступ к контейнеру, будет иметь доступ к учетным данным AWS вашего хост-компьютера.
$ docker run -it -v ~/.aws:/root/.aws rhinosecuritylabs/pacu:latest
При первом запуске Pacu вам будет предложено начать и назвать новый сеанс. Этот сеанс будет использоваться для хранения пар ключей AWS, а также любых данных, полученных при запуске различных модулей. Вы можете иметь любое количество различных сеансов в Pacu, каждый из которых имеет свои собственные наборы ключей и данных AWS, и возобновлять сеанс в любое время (хотя в настоящее время для переключения между сеансами требуется перезапуск).
Для модулей требуется ключ AWS, который предоставляет минимальный доступ к среде AWS и состоит из идентификатора ключа доступа и секретного ключа доступа. Чтобы установить ключи сеанса, используйте команду set_keys
, а затем следуйте инструкциям, чтобы указать псевдоним ключа (псевдоним для справки), идентификатор ключа доступа AWS, секретный ключ доступа AWS и токен сеанса AWS (если вы его используете). ).
Если вы когда-нибудь застрянете, help
покажет список доступных команд.
list
выведет список доступных модулей для регионов, которые были установлены в текущем сеансе.
help module_name
вернет соответствующую справочную информацию для указанного модуля.
run module_name
запустит указанный модуль с параметрами по умолчанию.
run module_name --regions eu-west-1,us-west-1
запустит указанный модуль в регионах eu-west-1 и us-west-1 (для модулей, поддерживающих аргумент --regions)
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
запросить локальную базу данных SQLAlchemy для получения перечислимой информации
pacu --module-args="
предоставить дополнительные аргументы исполняемого модуля
pacu --set-regions
задайте регионы, которые будут использоваться в сеансе, разделите регионы пробелом или введите all
для всех регионов
pacu --whoami
получить информацию о текущем пользователе
Паку использует ряд подключаемых модулей, помогающих злоумышленнику осуществлять перечисление, повышение привилегий, кражу данных, эксплуатацию сервисов и манипулирование журналами в средах AWS. Вклады или идеи для новых модулей приветствуются.
Чтобы идти в ногу с текущими разработками продуктов AWS, мы разработали Pacu с нуля с учетом возможностей расширения. Общий синтаксис и структура данных позволяют легко создавать и расширять модули — нет необходимости указывать регионы AWS или выполнять избыточные проверки разрешений между модулями. Локальная база данных SQLite используется для управления полученными данными и манипулирования ими, сводя к минимуму вызовы API (и связанные журналы). Отчеты и аудит атак также встроены в структуру; Паку помогает в процессе документирования посредством регистрации и экспорта команд, помогая построить график процесса тестирования.
Мы всегда рады получать отчеты об ошибках в самой платформе Pacu, а также результаты тестирования и отзывы о различных модулях, а также критические отзывы, которые помогут усовершенствовать структуру. Мы будем очень признательны за любую поддержку Pacu посредством использования, тестирования, улучшения или просто распространения информации.
Если вы заинтересованы в непосредственном участии в самой Pacu Framework, прочтите наши рекомендации по участию в соглашениях по коду и примечаниях к git-flow.
Если вы заинтересованы в написании собственных модулей для Pacu, посетите нашу вики-страницу «Разработка модулей». По мере разработки новых возможностей обращайтесь к нам — мы будем рады добавить ваши новые модули в основную коллекцию, поставляемую с Pacu.
Улучшение форматирования интерфейса
Прямая миграция базы данных и отслеживание версий
«Сборники атак», позволяющие упростить использование сложных цепочек выполнения модулей.
Цветной вывод консоли
Функциональность модуля «Сухой прогон»
Разрешить использование отдельных файлов конфигурации
Улучшения архитектуры плагина
Pacu официально поддерживается в OSX и Linux.
Pacu — это программное обеспечение с открытым исходным кодом, которое распространяется с лицензией BSD-3.
Сообщайте об уязвимостях в Pacu напрямую нам по электронной почте: [email protected].
Паку создает журналы ошибок в папке каждого сеанса, а также глобальный журнал ошибок для ошибок вне сеанса, который создается в основном каталоге. Если можете, включите эти журналы в свои отчеты об ошибках, поскольку это значительно упростит процесс отладки.
Если у вас есть запрос на добавление функции, идея или ошибка, о которой нужно сообщить, отправьте их здесь.
Пожалуйста, включите описание, достаточное для воспроизведения найденной вами ошибки, включая отслеживание и шаги воспроизведения, а также проверьте наличие других отчетов о вашей ошибке, прежде чем подавать новый отчет об ошибке. Не отправляйте дубликаты.
Пошаговые руководства и полную документацию можно найти на вики Pacu.
Мы хотели бы услышать ваше мнение, какой бы ни была причина. Свяжитесь с нами в Discord Rhino Security Labs.
Насколько нам известно, возможности Pacu соответствуют Политике допустимого использования AWS, но, поскольку это гибкий и модульный инструмент, мы не можем гарантировать, что это будет верно в любой ситуации. Вы несете полную ответственность за обеспечение соответствия того, как вы используете Pacu, Политике допустимого использования AWS.
В зависимости от того, какие сервисы AWS вы используете и что включает в себя запланированное тестирование, вам может потребоваться ознакомиться с Политикой поддержки клиентов AWS для тестирования на проникновение, прежде чем фактически запускать Pacu в вашей инфраструктуре.
Как и в случае с любым другим инструментом тестирования на проникновение, вы обязаны получить соответствующую авторизацию перед использованием Pacu за пределами вашей среды.
Pacu — это программное обеспечение, на которое не распространяется никаких гарантий. Используя Pacu, вы берете на себя полную ответственность за любые результаты.