Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
cloudmapper — CloudMapper помогает вам анализировать ваши среды Amazon Web Services (AWS). | Kitploit
Инструменты/GitHubGitHub/duo-labs/cloudmapper
Безопасность облачной инфраструктурыСканеры уязвимостейКартирование сетиАудит конфигурацииСбор информацииБезопасность облачных средНеправильная Конфигурация
GitHubduo-labs/cloudmapper

cloudmapper

CloudMapper помогает вам анализировать ваши среды Amazon Web Services (AWS).

Репозиторий
6.3k8322 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CloudMapper

Примечание: Функциональность сетевой визуализации (команда prepare) больше не поддерживается.

CloudMapper помогает анализировать ваши окружения Amazon Web Services (AWS). Первоначальная цель заключалась в создании сетевых диаграмм и их отображении в браузере (функциональность больше не поддерживается). Сейчас инструмент включает гораздо больше возможностей, включая аудит на наличие проблем безопасности.

  • Демонстрация сетевого картирования
  • Демонстрация отчета
  • Вводный пост
  • Пост о выявлении неправильных конфигураций в сетях
  • Пост о проведении непрерывного аудита

Команды

  • audit: Проверка на возможные неправильные конфигурации.
  • collect: Сбор метаданных об аккаунте. Подробнее здесь.
  • find_admins: Просмотр политик IAM для выявления административных пользователей и ролей, или субъектов с конкретными привилегиями. Подробнее здесь.
  • find_unused: Поиск неиспользуемых ресурсов в аккаунте. Находит неиспользуемые группы безопасности, Elastic IP, сетевые интерфейсы, тома и балансировщики нагрузки.
  • prepare/webserver: См. Сетевые визуализации
  • public: Поиск открытых хостов и диапазонов портов. Подробнее здесь.
  • sg_ips: Получение geoip-информации о CIDR, которые доверяются группами безопасности. Подробнее здесь.
  • stats: Отображение количества ресурсов для аккаунтов. Подробнее здесь.
  • weboftrust: Отображение "Паутины доверия". Подробнее здесь.
  • report: Генерация HTML-отчета. Включает сводку по аккаунтам и результаты аудита. Подробнее здесь.
  • iam_report: Генерация HTML-отчета по информации IAM об аккаунте. Подробнее здесь.

Если вы хотите добавить свои собственные частные команды, вы можете создать каталог private_commands и добавить их туда.

Скриншоты

Идеальная компоновка
Скриншот отчета

Установка

Требования:

  • python 3 (известно, что работает 3.7.0rc1), pip и virtualenv
  • Также понадобятся jq (https://stedolan.github.io/jq/) и библиотека pyjq (https://github.com/doloopwhile/pyjq), которые требуют установки дополнительных инструментов, указанных ниже.

На macOS:

root@kitploit:~
# клонируем репозиторий
git clone https://github.com/duo-labs/cloudmapper.git
# Устанавливаем зависимости для pyjq
brew install autoconf automake awscli freetype jq libtool python3
cd cloudmapper/
python3 -m venv ./venv && source venv/bin/activate
pip install --prefer-binary -r requirements.txt

На Linux:

root@kitploit:~
# клонируем репозиторий
git clone https://github.com/duo-labs/cloudmapper.git
# (AWS Linux, Centos, Fedora, RedHat и др.):
# sudo yum install autoconf automake libtool python3-devel.x86_64 python3-tkinter python-pip jq awscli
# (Debian, Ubuntu и др.):
# Возможно, дополнительно потребуется "build-essential"
sudo apt-get install autoconf automake libtool python3.7-dev python3-tk jq awscli
cd cloudmapper/
python3 -m venv ./venv && source venv/bin/activate
pip install -r requirements.txt

Запуск с демо-данными

Предоставляется небольшой набор демо-данных. Он отобразит то же окружение, что и демо-сайт https://duo-labs.github.io/cloudmapper/.

root@kitploit:~
# Создаем данные для сетевой карты
python cloudmapper.py prepare --config config.json.demo --account demo
# Создаем отчет
python cloudmapper.py report --config config.json.demo --account demo
python cloudmapper.py webserver

Это запустит локальный веб-сервер по адресу http://127.0.0.1:8000/ Просмотрите сетевую карту по этой ссылке или отчет по адресу http://127.0.0.1:8000/account-data/report.html

Настройка

  1. Настройте информацию о своем аккаунте.
  2. Соберите информацию об AWS-аккаунте.

1. Настройка аккаунта

Скопируйте config.json.demo в config.json и отредактируйте его, указав идентификатор аккаунта и имя (например, "prod"), а также любые внешние имена CIDR. CIDR — это диапазон IP, такой как 1.2.3.4/32, который означает только IP 1.2.3.4.

2. Сбор данных об аккаунте

На этом шаге с помощью CLI выполняются вызовы describe и list, а json-данные записываются в папку, имя которой соответствует имени аккаунта, в каталоге account-data.

Необходимые привилегии AWS

У вас должны быть настроены учетные данные AWS, которые могут использоваться CLI с правами на чтение для сбора различных метаданных. Я рекомендую использовать aws-vault. CloudMapper будет собирать информацию IAM, поэтому необходимо использовать MFA. Только шаг collect требует доступа к AWS.

Необходимо иметь следующие привилегии (они предоставляют разнообразные права на чтение метаданных):

  • arn:aws:iam::aws:policy/SecurityAudit
  • arn:aws:iam::aws:policy/job-function/ViewOnlyAccess

Сбор данных

Сбор данных выполняется следующим образом:

root@kitploit:~
python cloudmapper.py collect --account my_account

Анализ данных

Затем попробуйте выполнить различные команды, например:

root@kitploit:~
python cloudmapper.py report --account my_account
python cloudmapper.py webserver

Затем просмотрите отчет в браузере по адресу 127.0.0.1:8000/account-data/report.html

Дополнительная настройка

Генерация файла конфигурации

Вместо прямого редактирования config.json существует команда для настройки данных в нем, если это необходимо:

root@kitploit:~
python cloudmapper.py configure {add-account|remove-account} --config-file CONFIG_FILE --name NAME --id ID [--default DEFAULT]
python cloudmapper.py configure {add-cidr|remove-cidr} --config-file CONFIG_FILE --cidr CIDR --name NAME

Это позволит вам определить различные аккаунты AWS, используемые в вашем окружении, и известные CIDR IP.

Если вы используете AWS Organizations, вы также можете автоматически добавить аккаунты-участники организации в config.json с помощью:

root@kitploit:~
python cloudmapper.py configure discover-organization-accounts

Перед выполнением этой команды необходимо пройти аутентификацию в AWS CLI и иметь разрешение organization:ListAccounts.

Использование переопределений конфигурации аудита

Возможно, некоторые пункты аудита вам не важны. Вы можете захотеть полностью игнорировать проверку или только определенные ресурсы. Скопируйте config/audit_config_override.yaml.example в config/audit_config_override.yaml и отредактируйте файл в соответствии с комментариями внутри.

Использование Docker-контейнера

Создаваемый Docker-контейнер предназначен для интерактивного использования.

root@kitploit:~
docker build -t cloudmapper .

Cloudmapper должен выполнять вызовы IAM и не может использовать сессионные учетные данные для сбора, поэтому вы не сможете использовать сервер aws-vault для сбора данных и должны передавать учетные данные роли напрямую или настроить учетные данные aws вручную внутри контейнера. Следующий код предоставляет ваши сырые учетные данные внутри контейнера.

root@kitploit:~
(                                                              
    export $(aws-vault exec YOUR_PROFILE --no-session -- env | grep ^AWS | xargs) && \ 
    docker run -ti \
        -e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
        -e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
        -p 8000:8000 \
        cloudmapper /bin/bash
)

Это поместит вас внутрь контейнера. Выполните aws sts get-caller-identity, чтобы убедиться в правильности настройки. Демо-данные Cloudmapper не копируются в Docker-контейнер, поэтому вам потребуется собрать реальные данные из вашей системы. Обратите внимание, что настройки Docker по умолчанию могут ограничивать память, доступную контейнеру. Например, на Mac OS по умолчанию установлено 2 ГБ, чего может быть недостаточно для генерации отчета для аккаунта среднего размера.

root@kitploit:~
python cloudmapper.py configure add-account --config-file config.json --name YOUR_ACCOUNT --id YOUR_ACCOUNT_NUMBER
python cloudmapper.py collect --account YOUR_ACCOUNT
python cloudmapper.py report --account YOUR_ACCOUNT
python cloudmapper.py prepare --account YOUR_ACCOUNT
python cloudmapper.py webserver --public

Затем вы сможете просмотреть отчет, перейдя по адресу http://127.0.0.1:8000/account-data/report.html

Регулярный запуск CloudMapper для аудита вашего окружения

CDK-приложение для развертывания CloudMapper через Fargate, которое запускается еженощно, отправляет результаты аудита в качестве оповещений в канал Slack и создает отчет, сохраняемый на S3, описано здесь.

Альтернативы

Для сетевых диаграмм вы можете попробовать https://github.com/lyft/cartography или https://github.com/anaynayak/aws-security-viz

Для аудита и других инструментов безопасности AWS см. https://github.com/toniblyx/my-arsenal-of-aws-security-tools

Лицензии

  • cytoscape.js: MIT https://github.com/cytoscape/cytoscape.js/blob/master/LICENSE
  • cytoscape.js-qtip: MIT https://github.com/cytoscape/cytoscape.js-qtip/blob/master/LICENSE
  • cytoscape.js-grid-guide: MIT https://github.com/iVis-at-Bilkent/cytoscape.js-grid-guide
  • cytoscape.js-panzoom: MIT https://github.com/cytoscape/cytoscape.js-panzoom/blob/master/LICENSE
  • jquery: JS Foundation https://github.com/jquery/jquery/blob/master/LICENSE.txt
  • jquery.qtip: MIT https://github.com/qTip2/qTip2/blob/master/LICENSE
  • cytoscape-navigator: MIT https://github.com/cytoscape/cytoscape.js-navigator/blob/c249bd1551c8948613573b470b30a471def401c5/bower.json#L24
  • cytoscape.js-autopan-on-drag: MIT https://github.com/iVis-at-Bilkent/cytoscape.js-autopan-on-drag
  • font-awesome: MIT http://fontawesome.io/
  • FileSave.js: MIT https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md
  • circular-json: MIT https://github.com/WebReflection/circular-json/blob/master/LICENSE.txt
  • rstacruz/nprogress: MIT https://github.com/rstacruz/nprogress/blob/master/License.md
  • mousetrap: Apache https://github.com/ccampbell/mousetrap/blob/master/LICENSE
  • akkordion MIT https://github.com/TrySound/akkordion/blob/master/LICENSE
Скачать инструмент
Сводка результатов
Результаты Отчет IAM
Аудит в командной строке Команда public в командной строке