Nerbian RAT

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

Nerbian RATは名前の通りRATです。
RATはremote access trojanです。
これまでのマルウェアの亜種ではなく新しい実装のようです。
こんな感じです。

  • Nerbian RATは新種のマルウェアである
  • Nerbian RATはさまざまな回避技術を実装している
  • Go言語で実装されており、既存の様々なオープンソースのGoライブラリを使用している
  • 最初の侵入はメールに添付されたワード文書である

最近の流行りの方向性で実装してきていると感じます。
次のように展開されます。

  • メールが来る
    WHOからのメールです。
  • メールには添付ファイル
    開きたくなる内容が記載されています。
    開いたら巧みにマクロを有効にさせます。
  • マクロがバッチファイルをダウンロード
    ダウンロードされたバッチファイルはPowerShellで記述されており、さらに別のバイナリファイルをダウンロードします。
  • バイナリファイルはドロッパー
    このドロッパーには回避技術が盛り込まれています。
    環境のチェックを行います。
    場所のチェックを行います。
    マルウェア本体のダウンロードを行います。
    すべてが意図動作した場合にだけ、永続化設定を行い、マルウェア本体を実行します。

どのような環境のチェックを行うことで回避を行うのでしょう。

  • 侵入先環境のシステムのハードディスクのサイズ
    特定のサイズ以下である場合に対象外として活動を行いません。
    標準では100GB以下であるかどうかを確認します。
  • ハードディスクの名前
    ハードディスクには名前があり、それがOSから確認することができます。
    名前に、virtual、vbox、vmware、のいずれかの文字列が含まれる場合活動を行いません。
  • MACアドレス
    仮想環境で動作するVMの場合、そのネットワークインターフェースのMACアドレスは通常その仮想環境でよく使われるベンダーコードから始まります。
    仮想環境であることを示すベンダーコードから始まるMACアドレスが検出されると活動を行いません。
  • プロセス名
    プロセス一覧を取得し、リバースエンジニアリングやデバッグプログラムとして利用されることの多いものがあると活動を行いません。
    また、メモリ分析やメモリ改ざんを実施できるプロセスが確認される場合も活動を行いません。
  • 時間の進み具合
    プログラムをデバッグを実行している場合、ブレークポイントを設定してその時点の各種変数を確認するようなことを実施します。
    プロセスがこのように動作している場合、特定のコード部分から別の特定のコード部分までにたどり着くために通常よりも長い時間が経過することになります。
    こういった想定以上に実行時間が経過してしまっている場合に活動を行わなくなる機構が搭載されています。
  • デバッグ中判定
    IsDebuggerPresent APIを使用して、実行可能ファイルがデバッグされているかどうかを判別します。
  • ネットワークインターフェイス名
    仮想環境で動作する場合、よく使用されるネットワークインターフェイスがあります。
    そういったものが検出された場合、活動を行いません。

驚くほど高機能です。
このマルウェアの回避技術の多くの部分は、Chacalで提供されているものです。
Chacalは、「RedチームとペネトレーションテストのためのGolangアンチVMフレームワーク」です。

アンチデバッグ、アンチVM、アンチフォレンジックという流れは加速しています。

参考記事(外部リンク):Nerbian RAT Using COVID-19 Themes Features Sophisticated Evasion Techniques
www.proofpoint.com/us/blog/threat-insight/nerbian-rat-using-covid-19-themes-features-sophisticated-evasion-techniques