bashで書いたダウンローダー(ただしバイナリ)

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

多くの段階に分けて攻撃が進行する方式の脅威が多く観測されるようになってきています。
そしてそういった段階を繋ぎ合わせる役目として頻繁に利用されるのはその環境で動作するスクリプト言語です。
スクリプト言語は作成が簡単です。
そして侵害先である現地の機器の環境を利用して実行できるため、よく悪用されます。

しかし何事にも2つの側面があります。
このスクリプト言語による攻撃の構成にもそれがあります。

  • 攻撃者にとって有利な点
    攻撃を構成する手順をコードにするのが簡単だし、変更や拡張も簡単

     

  • 攻撃者にとって不利な点
    実施しようとしている内容が作成者ではない人に簡単に解釈されてしまう

諸刃の剣です。
スクリプトを使って用意した攻撃コードをメモリ中でのみハンドリングして直接別のプロセスに注入して使うような方法の場合にはスクリプトを使う攻撃手法は検出が困難となるのですが、ファイルとしてスクリプトを使用する形式は準備が簡単な反面、検出しやすいという面が出てきます。
研究者が攻撃コードの内容を理解できると、それを検出するための機構を用意されてしまうというわけです。

では、この攻撃者にとって不利な点を解消できる方法は何かあるでしょうか。
最近の攻撃で、攻撃を繋ぎ合わせる機構の部分でbashスクリプトを使用するのですが、そのbashスクリプトをそのまま攻撃に組み込むのではなく一旦コンパイルしてバイナリにしたものを利用する手法が観測されています。

shcというものがあります。
shcはShell Script Compilerです。
Linux環境などで利用できるもので、名前の通りスクリプトをコンパイルすることができます。
コンパイルした結果得られるものはその環境で利用できる実行形式のバイナリファイルです。
バイナリファイルですのでそのまま実行ができますし、バイナリファイルですので一見してもその処理内容を把握することはできません。
shcによるバイナリ化は新しい技法ではありません。
以前から製品開発などの場面で利用されています。
しかしこの方法をサイバー犯罪者が利用し始めています。

最近観測されている脅威の事例では、bashスクリプトとしてダウンローダーを実装しています。
このダウンローダーが侵害環境に持ち込むのは、XMRig CoinMinerとDDoS IRCボットです。

この例ではLinux環境などのUNIXがターゲットとなる話でした。
しかしこれはUNIXに限った話ではありません。
Windows環境においても同じようにスクリプトをバイナリ化できる方法が存在します。

着眼点を変更した方法で次々と新しい脅威が出てきます。
付け入るスキを残さないように、日々のあるべき運用の継続が重要となってきます。

参考記事(外部リンク):Shc Linux Malware Installing CoinMiner
asec.ahnlab.com/en/45182/