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

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

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

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

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

Категории

Все категории
Loading categories
SteppingStones — Веб-инструмент для регистрации активности red team, формирования отчётов и ситуационной осведомлённости с интеграцией Cobalt Strike и BloodHound. | Kitploit
Инструменты/GitHubGitHub/nccgroup/steppingstones
Скриптинг и автоматизацияСбор информацииТестирование на ПроникновениеКомандование и УправлениеУтилиты и фреймворкиRed Teaming
GitHubnccgroup/steppingstones

SteppingStones

Веб-инструмент для регистрации активности red team, формирования отчётов и ситуационной осведомлённости с интеграцией Cobalt Strike и BloodHound.

Репозиторий
24334591 день назадПроверено Kitploit
Сайт

Популярное

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

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

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

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

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

Stepping Stones

Назначение

Центр управления активностью Red Team, предназначенный для ведения записей, ситуационной осведомлённости и формирования отчётов. Stepping Stones предоставляет веб-интерфейс для регистрации активности команды и генерации фрагментов отчётов. Интерфейс рассчитан на достаточную скорость работы, чтобы использоваться на всём протяжении задания, а не только на этапе подготовки отчётов.

Анонс релиза в блоге

Установка

Stepping Stones — это приложение на Python/Django, поэтому для запуска локальной копии:

  1. Установите последнюю версию Python 3 (проверено на версии 3.12.2 в Windows и Linux)
  2. Перейдите в корневой каталог копии этого репозитория
  3. Создайте виртуальное окружение, чтобы изолировать зависимости от других приложений: python -m venv .venv
  4. Активируйте виртуальное окружение: .venv\Scripts\activate или source .venv/bin/activate в *nix
  5. Установите зависимости: pip install -r requirements.txt
  6. Убедитесь, что модули сторонних фоновых задач содержат все необходимые миграции: python manage.py makemigrations background_task
  7. Приведите схему базы данных в актуальное состояние: python manage.py migrate
  8. Запустите приложение:
    • Если вы работаете в Linux с systemd, см. руководство по systemd
    • Для разработческих версий:
      • Запустите python manage.py runserver и python manage.py process_tasks одновременно
    • Для production-версий:
      • Выполните python manage.py check --deploy, чтобы получить рекомендации по усилению защиты, а затем следуйте руководству, например: https://docs.djangoproject.com/en/6.0/howto/deployment/
  9. Откройте приложение, чтобы настроить задачу и учётную запись администратора: например, перейдите по адресу http://127.0.0.1:8000, если приложение запущено локально.
    • Примечание: созданный пользователь также будет использоваться в основном приложении и будет отображаться как «оператор red team» для зарегистрированных событий, поэтому выберите подходящее имя пользователя, например «ST» или «stephen», а не «admin». Если вы используете интеграцию с Cobalt Strike, использование одинаковых имён пользователей в обоих инструментах упростит интеграцию.

Интеграция с Cobalt Strike

  • Поместите лицензированную копию Cobalt Strike в /opt/cobaltstrike или c:\tools\cobaltstrike-dist\cobaltstrike

На командном сервере (team server) откройте порт в брандмауэре, чтобы разрешить подключение Stepping Stones, например:

  • В AWS настройте группу безопасности Stepping Stones таким образом, чтобы был разрешён доступ к порту 50050 на Team Server
  • На хосте убедитесь, что брандмауэр также разрешает входящий трафик, например sudo ufw allow proto tcp from 172.31.16.0/20 to any port 50050

Обновление приложения

Если вы запускаете локальную копию, когда код обновлён в git и вы хотите получить новые функции:

  1. Остановите обе службы, например с помощью systemd:
    • sudo service ssbot stop
    • sudo service steppingstones stop
  2. Получите последнюю версию, например с https://github.com/nccgroup/SteppingStones/archive/refs/heads/main.zip
  3. Распакуйте загруженный архив и скопируйте файлы поверх развёрнутой версии, например rm -rf /tmp/stepping-stones-main; unzip /tmp/stepping-stones-main.zip && cp -R /tmp/stepping-stones-main/* /opt/steppingstones
  4. Активируйте виртуальное окружение (если вы ещё этого не сделали) из каталога steppingstones: .venv\Scripts\activate или source .venv/bin/activate в *nix
  5. Установите новые зависимости с помощью: pip install -r requirements.txt
  6. Убедитесь, что модули сторонних фоновых задач содержат все необходимые миграции: python manage.py makemigrations background_task
  7. Выполните скрипты миграции, чтобы привести локальную базу данных к новой схеме: python manage.py migrate.
    • Если Django предложит выполнить python manage.py makemigrations, ОСТАНОВИТЕСЬ и свяжитесь с разработчиками Stepping Stones — важно, чтобы все пользователи работали с одним и тем же набором скриптов миграции, и их следует согласовывать через разработчиков.
  8. Перезапустите обе службы, например с помощью systemd:
    • sudo service ssbot restart
    • sudo service steppingstones restart
  9. Убедитесь, что ошибок нет, например с помощью systemd journalctl -u steppingstones

Начало работы с чистой базой данных

Если вы используете один и тот же экземпляр для разных задач и хотите заархивировать старые данные, а затем начать заново, вы можете:

  • Выполните шаг 1 из раздела Обновление приложения выше, чтобы остановить приложение
  • Переименуйте базу данных SQLite:
    • mv db.sqlite3 db.sqlite.OLD_CLIENT_NAME
  • Выполните шаги 2, 4 и 7–9 из раздела Установка выше, чтобы создать правильную структуру базы данных и получить доступ к только что настроенному приложению.

Резервное копирование

Система использует SQLite. Регулярно создавайте резервные копии файла db.sqlite3 в корневом каталоге сервера или через веб-интерфейс, чтобы защитить свои ценные данные.

Веб-хуки

На каждый настроенный URL веб-хука при наступлении ключевых событий будет отправляться небольшой JSON-документ. JSON-документ всегда имеет следующую структуру:

{
    "type": "notification type",
    "message": "Human readable message"
}

Поле type может принимать одно из следующих значений:

  • new beacon (ранее неизвестный beacon подключился к отслеживаемому Team Server)
  • respawned beacon (ранее известный beacon подключился к отслеживаемому Team Server)
  • returned beacon (beacon, который был явно отслеживаем в ожидании переподключения, только что переподключился)

Для приёма этих данных можно использовать сценарий https://make.com на основе следующего blueprint:

{"name":"Webhook to iOS","flow":[{"id":1,"module":"gateway:CustomWebHook","version":1,"parameters":{"hook":129792,"maxResults":1},"mapper":{},"metadata":{"designer":{"x":-386,"y":-129},"restore":{"parameters":{"hook":{"data":{"editable":"true"},"label":"My webhook"}}},"parameters":[{"name":"hook","type":"hook:gateway-webhook","label":"Webhook","required":true},{"name":"maxResults","type":"number","label":"Maximum number of results"}],"interface":[{"name":"type","type":"text"},{"name":"message","type":"text"}]}},{"id":8,"module":"ios:SendNotification","version":1,"parameters":{"device":171760},"mapper":{"body":"{{1.message}}","title":"{{1.type}}","action":"","priority":10,"collapsible":false},"metadata":{"designer":{"x":-31,"y":-128},"restore":{"expect":{"action":{"label":"Default"},"priority":{"label":"Deliver immediately"}},"parameters":{"device":{"data":{"editable":"undefined"},"label":"Personal Phone"}}},"parameters":[{"name":"device","type":"device:apn","label":"Device","required":true}],"expect":[{"name":"title","type":"text","label":"Title","required":true},{"name":"body","type":"text","label":"Body"},{"name":"action","type":"select","label":"Action","validate":{"enum":["open_url"]}},{"name":"priority","type":"select","label":"Priority","required":true,"validate":{"enum":[10,5]}},{"name":"collapsible","type":"boolean","label":"Collapse push notifications","required":true}]}}],"metadata":{"instant":true,"version":1,"scenario":{"roundtrips":1,"maxErrors":3,"autoCommit":true,"autoCommitTriggerLast":true,"sequential":false,"confidential":false,"dataloss":false,"dlq":false},"designer":{"orphans":[]},"zone":"eu1.make.com"}}

Импортируйте указанный выше blueprint, создав пустой сценарий и используя функцию «Import Blueprint» в меню «...» (More), которое находится в нижней части веб-интерфейса по центру.

Скачать инструмент