Na první pohled jde o obyčejnou Cloudflare CAPTCHA. Uživatel má pouze potvrdit, že není robot. Jenže místo klasického kliknutí na ověřovací políčko dostane instrukci, aby otevřel Windows Terminal nebo PowerShell a vložil připravený příkaz. Právě v tomto okamžiku začíná problém.
Microsoft Threat Intelligence popsal novou kampaň označovanou jako TerminalFix, která navazuje na známou techniku ClickFix. Útočníci využívají kompromitované webové stránky a falešné Cloudflare Turnstile CAPTCHA k přesvědčení uživatele, aby sám spustil škodlivý PowerShell příkaz. Útok je přitom výrazně propracovanější než jednoduché stažení infostealeru. Pozorovaný řetězec kombinuje DLL sideloading, steganografii, perzistenci, průzkum Active Directory a nakonec vytvoření šifrovaného reverse tunnelu, který může útočníkovi umožnit přístup k dalším systémům v interní síti.
Falešná Cloudflare CAPTCHA jako začátek útoku
Celý útok začíná na kompromitované webové stránce. Návštěvník na ní může nejprve vidět zcela běžný obsah, který následně překryje falešná Cloudflare Turnstile CAPTCHA. Vzhled kopíruje skutečné Cloudflare ověření a využívá známé prvky služby, takže uživatel nemusí mít důvod okamžitě zpozornět.
Problém nastává po interakci s falešnou CAPTCHA. Webová stránka vloží škodlivý příkaz do schránky uživatele a následně mu zobrazí instrukce, aby otevřel Windows Terminal nebo PowerShell a příkaz vložil. Uživatel tak ve skutečnosti provede první škodlivý krok sám. Právě tento princip je typický pro techniku ClickFix, která staví na sociálním inženýrství místo toho, aby se malware pokoušel celý proces provést automaticky.
TerminalFix je zajímavý také tím, že útočníci oběť směrují přímo do Windows Terminalu nebo PowerShellu. V některých dřívějších ClickFix kampaních se objevoval například dialog Windows Run. Přímé využití terminálu však umožňuje spouštět komplexnější PowerShell příkazy a skripty.
PowerShell stáhne první část malwaru
Po spuštění příkazu se z infrastruktury útočníků stáhne ZIP archiv, který je následně rozbalen do adresáře pod C:\ProgramData. V archivu se nachází mimo jiné soubory LockScreenContentServer.exe a dui70.dll. První z nich představuje legitimní, digitálně podepsaný Windows executable, zatímco druhý je škodlivá DLL knihovna, která se vydává za komponentu Windows DirectUI Engine.
Tady se do útoku zapojuje technika DLL sideloading. Útočník využívá skutečnost, že legitimní aplikace při svém spuštění načítá potřebné knihovny. Pokud se v jejím adresáři nachází škodlivá knihovna se správným názvem, může ji legitimní program načíst místo očekávané komponenty.
V případě TerminalFix tak škodlivý dui70.dll načte legitimní LockScreenContentServer.exe. Samotný proces přitom může působit méně podezřele, protože jde o legitimní Windows komponentu. Microsoft u analyzovaného vzorku zaznamenal také neobvyklé metadata škodlivé DLL, včetně zmanipulovaného časového razítka směřujícího až do roku 2104.
Škodlivý DLL soubor navíc obsahuje obfuskovaný payload. Ten je při načtení dekódován v paměti a pokračuje dalšími fázemi infekce.
Malware schovává payload v PNG obrázcích
TerminalFix následně využívá další zajímavou techniku – steganografii. Malware stahuje z externí infrastruktury několik PNG obrázků, které na první pohled vypadají jako běžné obrázkové soubory. Ve skutečnosti ale obsahují ukrytá binární data.
Ukrytý obsah je uložen v hodnotách jednotlivých pixelů, konkrétně v jejich RGBA kanálech. PowerShell skript tyto hodnoty načte a rekonstruuje z nich další soubory. Útočníci navíc payload rozdělili mezi více obrázků. Z jednoho souboru je možné získat executable a z dalších obrázků jednotlivé části DLL, které jsou následně složeny dohromady.
Po dokončení extrakce jsou původní PNG soubory odstraněny. Útočníci tím snižují množství artefaktů, které by po infekci mohly zůstat na disku.
Steganografie tak v tomto případě neslouží pouze jako zajímavý trik. Pomáhá ukrýt škodlivý obsah uvnitř souborů, které mohou na první pohled vypadat zcela neškodně.
TerminalFix zajišťuje perzistenci
Po instalaci se malware snaží zajistit, aby přežil také restart počítače. TerminalFix k tomu využívá více mechanismů perzistence. Jedním z nich je Registry Run key, který umožňuje automatické spuštění malwaru při přihlášení uživatele. Druhým mechanismem je Scheduled Task, prostřednictvím kterého se malware znovu spouští přibližně každých 60 minut.
Stagingový adresář je navíc označen jako skrytý a systémový. Kombinace několika jednoduchých mechanismů tak zvyšuje šanci, že malware zůstane v systému aktivní i poté, co uživatel počítač restartuje.
Průzkum Active Directory
TerminalFix se následně nezaměřuje pouze na samotný napadený počítač. Malware začne zjišťovat, jaké prostředí se kolem něj nachází. Provádí například průzkum důvěryhodných vztahů mezi doménami, hledá členy skupiny Domain Admins, enumeruje uživatele a počítače v Active Directory a získává další informace o systému a síťové infrastruktuře.
Pozornost je věnována například doménovým řadičům, databázovým serverům, zálohovacím systémům nebo dalším důležitým systémům v organizaci. Malware může také pingovat vybrané servery a zjišťovat, které systémy jsou z napadeného zařízení dostupné.
Tato fáze je důležitá především proto, že ukazuje skutečný cíl útoku. TerminalFix není pouze jednoduchý malware určený k jednorázovému ukradení hesel nebo cookies. Útočníci se snaží zjistit, co se nachází v interní síti a kam by se mohli z kompromitovaného počítače dostat dál.
Reverse tunnel může otevřít cestu do interní sítě
Nejzajímavější a zároveň nejnebezpečnější část celé kampaně přichází v okamžiku, kdy malware vytvoří reverse tunnel. Útočníci do systému stáhnou vlastní Python runtime a skript client.py, který funguje jako reverse-tunnel implant.
Implant navazuje odchozí spojení přes TLS na portu 443 a následně vytváří WebSocket spojení pro další komunikaci. Důležité je, že nejde pouze o jednoduchý kanál pro zadávání příkazů. Implant podporuje komunikaci, která umožňuje přes napadený počítač navazovat TCP spojení k dalším systémům.
V praxi to znamená, že kompromitovaný počítač může fungovat jako prostředník mezi útočníkem a interní sítí. Zjednodušeně si lze situaci představit jako útočník → reverse tunnel → napadený počítač → interní síť → další systémy.
To je také důvod, proč Microsoft upozorňuje, že zařízení zasažená kampaní TerminalFix je vhodné považovat za potenciální network pivot point. Útočník nemusí mít přímý přístup k interním serverům z internetu. Může využít již kompromitovaný počítač, který se do interní infrastruktury dostane legitimním síťovým připojením.
Microsoft zároveň uvádí, že v analyzovaném řetězci nepozoroval následnou krádež dat, ransomware ani další fázi útoku, která by tento přístup využila. Samotná schopnost provádět průzkum sítě a vytvořit reverse tunnel však poskytuje útočníkům velmi nebezpečnou základnu pro případné pokračování útoku.
TerminalFix ukazuje další vývoj ClickFix
Na kampani TerminalFix je zajímavé především spojení několika technik, které jsou samy o sobě známé. Útok začíná falešnou CAPTCHA, pokračuje přes sociální inženýrství a PowerShell, následně využije DLL sideloading, steganografii a mechanismy perzistence. Po průzkumu prostředí pak přichází reverse tunnel umožňující potenciální pohyb v interní síti.
Celý útok tak můžeme zjednodušeně popsat jako kompromitovaný web → falešný Cloudflare CAPTCHA → příkaz ve schránce → PowerShell → ZIP archiv → DLL sideloading → steganografie → perzistence → průzkum Active Directory → reverse tunnel.
Právě tento vývoj ukazuje, proč je ClickFix stále nebezpečnější. Útočník nemusí hledat způsob, jak obejít každou bezpečnostní kontrolu. Místo toho využije sociální inženýrství a přesvědčí uživatele, aby sám provedl krok, který by za běžných okolností bezpečnostní software mohl zablokovat.
Jak se proti TerminalFix bránit?
Základní obrana proti TerminalFix je přitom poměrně jednoduchá: nikdy nespouštět příkaz v PowerShellu nebo Windows Terminalu pouze proto, že to po vás požaduje webová stránka. Legitimní CAPTCHA nepotřebuje, abyste otevírali PowerShell, spouštěli Windows Terminal, používali Win + R, kopírovali skript do schránky nebo spouštěli příkaz jako součást ověření, že jste člověk.
Pro administrátory je důležité sledovat například neobvyklé spouštění LockScreenContentServer.exe mimo jeho standardní umístění, načítání dui70.dll, podezřelé PowerShell příkazy, vytváření neobvyklých Scheduled Tasks nebo síťová spojení na infrastrukturu spojenou s kampaní. Microsoft ve své analýze zveřejnil také konkrétní indikátory kompromitace a možnosti detekce pomocí Microsoft Defenderu.
Co dělat, pokud jste příkaz skutečně spustili?
Pokud jste se s falešnou CAPTCHA setkali, ale příkaz jste nespustili, stačí stránku zavřít a obsah schránky přepsat. Pokud jste však příkaz skutečně vložili do PowerShellu nebo Windows Terminalu a potvrdili jeho spuštění, je situace výrazně vážnější.
U firemního počítače není vhodné pouze ručně mazat podezřelé soubory a pokračovat v práci. Napadené zařízení může mít stále aktivní spojení s infrastrukturou útočníka a zároveň mohlo být využito k průzkumu interní sítě. Takový počítač je proto vhodné izolovat a incident řešit jako potenciální kompromitaci koncového bodu. U zařízení připojených do domény je zároveň potřeba věnovat pozornost přihlašovacím údajům, které na něm mohly být dostupné.
Závěr
TerminalFix je dalším příkladem toho, jak se vyvíjí technika ClickFix a proč už nestačí uživatelům říkat pouze „neklikejte na podezřelé odkazy“. Útok může začít na webu, který vypadá naprosto normálně, pokračovat falešnou Cloudflare CAPTCHA a skončit kompromitací počítače, průzkumem Active Directory a vytvořením tunelu do interní sítě.
Nejnebezpečnější na TerminalFix přitom není samotná falešná CAPTCHA. Nebezpečné je především to, co přijde po ní. PowerShell, DLL sideloading, steganografie, perzistence, průzkum Active Directory a reverse tunnel vytvářejí z jednoduchého sociálně-inženýrského triku několikaúrovňový útok.
A proto platí jednoduché pravidlo:
CAPTCHA vás může požádat, abyste klikli. Nikdy by vás neměla požádat, abyste otevřeli PowerShell.
Zdroje
- Microsoft Security – TerminalFix campaign deploys a reverse tunnel through multistage intrusion
- The Hacker News – TerminalFix Uses Fake Cloudflare CAPTCHAs to Deploy Reverse-Tunnel Backdoor
- Microsoft Security – Think before you Click(Fix): Analyzing the ClickFix social engineering technique
- MITRE ATT&CK – DLL Side-Loading (T1574.001)
- MITRE ATT&CK – Steganography (T1027.003)