注目の高まるSquirrel.Windows

ほぼこもセキュリティニュース By Terilogy Worx

Squirrel.Windowsはご存じでしょうか。
Windowsデスクトップアプリを配布するために利用できる方法の一つです。
簡単に利用できるアプリケーションの配布ツールを作成できるため、人気が出てきています。

どんな感じで組み込まれて利用されているのか、例を一つ見てみましょう。

  • インストーラーを送り込む
    方法は特定されていませんが、なんらかの方法でインストーラーを送り込みます。
    いろいろな手がありますよね。

     

  • 被害者がインストーラーを実行する
    実行されるインストーラーは、Squirrel.Windowsを使って作成されたものです。

     

  • Node.jsのアプリが動作する
    NodeなのでJavaScriptなのですが、コンパイルされていてそのまま動作します。
    動作を開始すると、自身に含まれているファイルを被害者環境にコピーし、実行します。
    実行されるファイルは署名付きのアプリケーションですので、警告なしで動作します。

     

  • Nimのローダーが動作する
    署名付きアプリケーションは、その動作のためにDLLを読み込みます。
    そしてさらに、そのDLLが別のDLLを読み込みます。DLLサイドローディングです。
    この2段目のDLLが悪意を持って用意されたDLLになっています。
    この悪意のDLLはNim言語で実装されたマルウェアローダーです。

     

  • Coyoteが動作する
    Coyoteはバンキング型トロイです。
    被害者のシステム上で開いているすべてのアプリケーションを監視し、特定の銀行アプリケーションまたはWebサイトがアクセスされるのを待ちます。
    永続化にはWindowsログオンスクリプトが利用されます。

このCoyoteの感染の流れそのものは、最近よく見かける通常の多段構成の感染の動きです。
特別に感じる部分はありません。

この流れの中で、Squirrel.Windowsの部分がMSIで作られていたらどうなるでしょうか。
インストール動作が開始する前に、ユーザーアカウント制御機構が動作し、「本当にインストールしますか?」ということを意味するダイアログでいったん問いかけられます。
いわゆるUACですね。
UACダイアログが表示されてもよく考えないでクリックしてしまう、といった別の問題もあるにはありますが、これはこれで有用に思います。

ところが、Squirrel.Windowsで作成されたインストーラーは、UACのダイアログでの警告がなされません。
実行したら、そのままインストールが開始されます。
しかも、Squirrel.WindowsはGitHubで公開されていますので、ソースコードも参照できます。
悪意を持った人用の変化したものが登場してしまうような、危険な感じもします。

これまでは、マルウェアの配布には、MSIというマイクロソフトの提供するインストーラー機構が悪用されるものが多く確認されていました。
ここに新たな選択肢が投入されてしまった感じがします。

参考記事(外部リンク):Coyote: A multi-stage banking Trojan abusing the Squirrel
installer

securelist.com/coyote-multi-stage-banking-trojan/111846/