Nimは、2008年から開発が始まった新しいプログラミング言語です。
命令型、マルチパラダイム、コンパイル言語という特徴を持つ言語になっています。
これは、いろいろな言語のいいところを集めたような仕上がりになっています。
「Pythonに型が付いて、Goみたいに高速に、バイナリになってOSの実行環境に依存しないで動いてくれる言語があるといいな」という夢のような仕上がりなのです。
この利点は、通常のプログラマーだけでなく、マルウェア実装者にとっても有効なものでした。
Nimで書かれたマルウェアの活動が観測されています。
Nimで書かれたマルウェアはいくつか確認されているのですが、その例を見てみましょう。
- 始まりは添付ファイル
メールの添付ファイルから始まる例が確認されています。
添付ファイルは、ここでは、MS-Wordドキュメントです。 - マクロ付き文書
最初に添付されていた文書は、見た目は空白文書なのですが、マクロを含む内容になっています。
このため、文書を開くとマクロを有効化するかの警告が表示されるようになっています。
オフィスドキュメントにはマクロ防止機構が標準で有効な状態となっているのですが、それを被害者に無効化させることを想定した攻撃手順になっています。 - 防御回避機能
このマクロ機能は、いくつかの解析防御機構を搭載しています。
パスワード保護、ロジックの分割、機構のファイル分割配置、難読化などです。
そして、このマクロは、いくつもの攻撃ツールとともに、Nim backdoorを配置します。
攻撃活動を実施している際に、表側ではおとり文書の表示を行います。 - Nim backdoorの動作
Nim backdoorは、Nimで書かれてコンパイルされたマルウェアです。
ファイル名はconhost.exeです。
動作時には添付ファイルを開いた人と同じ権限で動作します。
そして、起動時に解析のためのツールが動作しているかを確認し、見つけると終了します。
解析されていないと判定した場合、悪意ある活動を開始します。
C2に接続し、コマンドを実行します。
継続的に動作するために、永続化機構も搭載しています。
このマルウェアはWindows向けの実装状態でした。
しかし、防御回避機構や解析検出機構、そしてC2との通信機構などについては、Windows以外の環境でもそのまま使用できそうな内容に思えます。
永続化の機構などのこれら以外の部分の手配さえすれば、他の環境でも使うことのできるマルウェアが仕立てられそうです。
利用が広がっていない新しいプログラミング言語で効率的な実装ができますし、コードの難読化でもしておけば、検出が難しいものとなりそうです。
こういったモダンなプログラミング言語の悪用は今後も警戒が必要なものと考えられます。
参考記事(外部リンク):A Look at the Nim-based Campaign Using Microsoft Word Docs
to Impersonate the Nepali Government
www.netskope.com/blog/a-look-at-the-nim-based-campaign-using-microsoft-word-docs-to-impersonate-the-nepali-government
この記事をシェア |
---|