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

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

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

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

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

Категории

Все категории
Loading categories
ics-phishing-toolkit — Инструменты с открытым исходным кодом для предотвращения ICS-фишинга (вредоносные приглашения в календарь) | Kitploit
Инструменты/GitHubGitHub/sublime-security/ics-phishing-toolkit
ФишингБезопасность облачных средРеагирование на ИнцидентыБезопасность APIБезопасность Электронной Почты
GitHubsublime-security/ics-phishing-toolkit

ics-phishing-toolkit

Инструменты с открытым исходным кодом для предотвращения ICS-фишинга (вредоносные приглашения в календарь)

Репозиторий

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
1845 месяцев назадЕщё не проверено

ics-phishing-toolkit

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

Если вы используете Sublime, этот набор инструментов вам не нужен, поскольку исправление уже встроено.

Поддерживаемые стеки

Стековые автономные скрипты (например, proofpoint-microsoft365.py, mimecast-google-workspace.py) предоставлены для каждой комбинации этих поставщиков безопасности электронной почты и календарей:

Поставщики безопасности электронной почты:

  • Proofpoint
  • Mimecast
  • Abnormal Security

Поставщики календарей:

  • Microsoft 365
  • Google Workspace

Перейдите к Quickstart, чтобы сразу приступить к работе!

Не видите свой стек? Не стесняйтесь сообщить нам, какой стек вы хотите видеть поддерживаемым, по адресу [email protected].

Обнаружение

Эти скрипты требуют решения для обеспечения безопасности электронной почты, которое уже обнаруживает ICS-фишинговые письма, но не удаляет события календаря, созданные через эти письма.

Если у вас нет решения для безопасности электронной почты, обнаруживающего ICS-фишинг, Sublime Core предлагает бесплатную и самоустанавливаемую безопасность электронной почты со встроенным обнаружением ICS-фишинга и автоматическим исправлением календаря.

Рост ICS-фишинга

ICS-фишинг — это двунаправленная атака, которая одновременно доставляет вредоносные полезные нагрузки как в почтовый ящик, так и в календарь пользователя. Этот вектор атаки увеличился примерно в 100 раз с первого по четвертый квартал 2025 года, согласно Отчету об исследовании угроз электронной почты на 2026 год от Sublime, причем более 20% фишинговых атак с обратным звонком в четвертом квартале использовали приглашения в календаре в качестве механизма доставки.

Критический пробел в безопасности: события календаря сохраняются, даже если решения безопасности электронной почты помещают в карантин или удаляют вредоносное письмо. Это затрагивает как защищенные почтовые шлюзы (SEG), так и API-ориентированные решения безопасности электронной почты, большинство из которых по состоянию на февраль 2026 года не очищают вредоносные события календаря.

Остановка ICS-фишинга

Основываясь на встроенном исправлении Sublime вредоносных событий календаря, эти скрипты Python удаляют вредоносные события, когда ваше решение безопасности электронной почты помещает в карантин ICS-фишинговые письма. Скрипты:

  • Получают письма в карантине от вашего поставщика безопасности электронной почты
  • Извлекают вложения .ics календаря и другие вложения, совместимые с iCalendar, из этих писем
  • Находят и удаляют соответствующие события из календарей пользователей (Microsoft 365 или Google Workspace)

SOAR

Чистый Python позволяет запускать эти скрипты во многих SOAR, включая Tines, Splunk SOAR и Cortex XSOAR.

Мы также работаем над руководствами для конкретных SOAR. Пожалуйста, обращайтесь к [email protected], если вам нужна помощь или вы хотите получить уведомление, когда мы опубликуем документацию для конкретного SOAR.

Quickstart

Каждый автономный скрипт требует:

  1. Совместимой среды выполнения
  2. Переменных окружения, содержащих учетные данные API
  3. Соответствующих разрешений API для вашего решения безопасности электронной почты и поставщика календарей

Среды выполнения

Вы можете запускать эти скрипты в любой среде с:

  • Python 3.9 или новее
  • Поддержкой установки пакетов PyPI, перечисленных в requirements.txt (requests и PyJWT)

Для производственных развертываний вам также понадобится запланировать регулярный запуск скрипта, например, с помощью cron.

Конфигурация

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

Proofpoint Cloud

root@kitploit:~
export PROOFPOINT_CLIENT_ID="your-client-id"
export PROOFPOINT_CLIENT_SECRET="your-client-secret"
  • PROOFPOINT_CLIENT_ID: OAuth 2.0 идентификатор клиента для API Proofpoint Cloud Threat Response
  • PROOFPOINT_CLIENT_SECRET: Секрет клиента OAuth 2.0

Mimecast

root@kitploit:~
export MIMECAST_CLIENT_ID="your-client-id"
export MIMECAST_CLIENT_SECRET="your-client-secret"
export MIMECAST_REGION="global"  # Варианты: global, us, uk (по умолчанию: global)
  • MIMECAST_CLIENT_ID: OAuth 2.0 идентификатор клиента для Mimecast API 2.0
  • MIMECAST_CLIENT_SECRET: Секрет клиента OAuth 2.0
  • MIMECAST_REGION: Конечная точка региона API (необязательно, по умолчанию global)

Требуемые разрешения API:

  • Services | Threat Remediation | Read
  • Gateway | Tracking | Read
  • Archive | Read

Abnormal Security

root@kitploit:~
export ABNORMAL_API_KEY="your-api-key"
  • ABNORMAL_API_KEY: Ключ API из платформы Abnormal Security

Google Workspace

root@kitploit:~
# Вариант 1: Файл сервисного аккаунта
export GOOGLE_SERVICE_ACCOUNT_FILE="/path/to/service-account.json"

# Вариант 2: JSON сервисного аккаунта (встроенный)
export GOOGLE_SERVICE_ACCOUNT_JSON='{"type":"service_account",...}'
  • GOOGLE_SERVICE_ACCOUNT_FILE: Путь к файлу ключа JSON сервисного аккаунта
  • GOOGLE_SERVICE_ACCOUNT_JSON: Встроенные учетные данные сервисного аккаунта в виде строки JSON

Необходимая настройка:

  • Включить делегирование полномочий для сервисного аккаунта на уровне домена
  • Авторизовать область: https://www.googleapis.com/auth/calendar.events
  • Настроить в Консоли администратора Google Workspace

Microsoft 365

root@kitploit:~
export MICROSOFT_CLIENT_ID="your-client-id"
export MICROSOFT_CLIENT_SECRET="your-client-secret"
export MICROSOFT_TENANT_ID="your-tenant-id"
  • MICROSOFT_CLIENT_ID: Идентификатор приложения Azure AD (клиента)
  • MICROSOFT_CLIENT_SECRET: Секрет клиента приложения Azure AD
  • MICROSOFT_TENANT_ID: Идентификатор каталога Azure AD (тенанта)

Требуемое разрешение API: Calendars.ReadWrite (разрешение приложения)

Пример: Proofpoint + Microsoft 365

root@kitploit:~
export ICS_PHISHING_REMEDIATION_MODE="dry_run" # "dry_run" установлен по умолчанию
export MESSAGE_LOOKBACK_MINUTES=10

export PROOFPOINT_CLIENT_ID="your-client-id"
export PROOFPOINT_CLIENT_SECRET="your-secret"
export MICROSOFT_TENANT_ID="your-tenant"
export MICROSOFT_CLIENT_ID="your-client"
export MICROSOFT_CLIENT_SECRET="your-secret"

python3 proofpoint-microsoft365.py

Параметры конфигурации

Режим пробного запуска (по умолчанию)

По умолчанию все скрипты запускаются в режиме пробного запуска, чтобы предотвратить случайное удаление. В этом режиме скрипт будет:

  • Получать письма в карантине и извлекать приглашения календаря
  • Искать соответствующие события календаря
  • Записывать в журнал, какие события были бы удалены, без фактического удаления

Это позволяет проверить правильность работы скрипта перед включением фактического удаления.

Включение удаления

Чтобы фактически удалять события календаря, установите переменную окружения ICS_PHISHING_REMEDIATION_MODE:

root@kitploit:~
export ICS_PHISHING_REMEDIATION_MODE="delete_events"

Допустимые значения:

  • dry_run (по умолчанию) — предварительный просмотр действий без удаления
  • delete_events — фактически удалять соответствующие события календаря

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

Окно поиска сообщений

Все скрипты ищут сообщения в карантине в пределах настраиваемого временного окна:

root@kitploit:~
export MESSAGE_LOOKBACK_MINUTES=10  # Необязательно, по умолчанию 5 минут

Важно: Это значение должно соответствовать частоте вашего расписания cron с небольшим запасом, чтобы ни одно сообщение не было пропущено. Например, если запуск происходит каждые 5 минут, установите окно поиска на 10 минут.

Пользовательские обратные вызовы

Для дополнительных интеграций, например, с системами ведения журнала или мониторинга, вы можете реализовать пользовательские обратные вызовы в своем скрипте и передать их в функцию delete_events_from_remediated_emails:

  • on_invitation_found_callback(invitation: CalendarInvitation) — вызывается, когда приглашение календаря найдено в сообщении в карантине
  • on_event_found_callback(invitation: CalendarInvitation, event: CalendarEvent) — вызывается для каждого соответствующего события календаря

Пример:

root@kitploit:~
def log_invitation(invitation):
    print(f"Found malicious invitation for {invitation.user_id}, UID: {invitation.ics_uid}")

def log_event(invitation, event):
    print(f"Found calendar event {event.id} matching invitation {invitation.ics_uid}")

fetcher = ProofpointCloudFetcher()
deleter = GoogleWorkspaceEventDeleter()

delete_events_from_remediated_emails(
    fetcher,
    deleter,
    mode="delete_events",  # Переопределение режима пробного запуска по умолчанию
    on_invitation_found_callback=log_invitation,
    on_event_found_callback=log_event
)

Примечание: Ошибки в обратных вызовах регистрируются, но не останавливают обработку событий.

Архитектура

Все скрипты следуют общему шаблону, определенному в common.py:

root@kitploit:~
class MessageFetcher:
    def yield_remediated_emails(self) -> Iterator[Message]:
        """Получить сообщения в карантине из вашего решения безопасности электронной почты"""

class EventDeleter:
    def delete_matching_events(
        self,
        invitation: CalendarInvitation,
        mode: Mode,
        on_event_found_callback: Optional[Callable[[CalendarInvitation, CalendarEvent], None]]
    ) -> None:
        """Удалить события календаря, соответствующие вложению ICS"""

Реализации для конкретных стеков обрабатывают аутентификацию API и специфичную для поставщика логику.

Получение помощи

  • Вопросы, запросы функций или сообщения об ошибках: [email protected]
  • Руководства по интеграции с SOAR: Свяжитесь с нами по адресу [email protected] для получения раннего доступа к подробным руководствам по развертыванию для вашей платформы SOAR
  • Информация об угрозах: Прочитайте нашу статью в блоге об ICS-фишинге и Отчет об исследовании угроз электронной почты на 2026 год
Скачать инструмент