パワーシェルを利用してランサムウェアをダウンロードするマルウェア
本レポートは、アンラボコリアより発表された内容を翻訳したものです。
----------------------------------------------------------------------------------------------
2016年、パワーシェル (PowerShell) を利用してランサムウェアをダウンロードするマルウェアが多く発見された。
パワーシェルは、マイクロソフト社のシステム管理用に特別に設計された作業基盤コマンドラインシェルおよびスクリプト言語であり、パワーシェルを使用するとWindows と応用プログラムの管理を簡単に制御・自動化することができる。
2006年に正式に公開され、Windows Vista 以降のバージョンにデフォルト搭載されている。
パワーシェルで作成されたマルウェアは主にダウンローダーの役割をするが、パワーシェルのみでマルウェアを作成することもできる。Windows 7 および Windows 10のユーザーが増加しているため、今後、パワーシェルを利用したさまざまな手法を使ったマルウェアが登場する危険性が高い。

パワーシェルを利用するマルウェアの感染方式
パワーシェルを利用するマルウェアは、他のマルウェアと同様に、メールの添付ファイルやリンク、Web ブラウザの脆弱性を利用することが多い。また、パワーシェルファイルではなく、JavaScript や文書ファイル内のマクロファイルでパワーシェルを実行する方式を利用する。

[図 2] 添付ファイルおよびマルウェアが含まれたリンクを利用してマルウェア感染を誘導
1) 実行権限
パワーシェルは基本的な設定の問題により、スクリプトファイルを実行できないため、攻撃者は実行権限を迂回する試みや個別のコマンド形式でマルウェアを作成する。
[図 3] 個別コマンド、およびスクリプトファイルの実行エラー
2) パワーシェルを実行するファイルの種類
パワーシェルを利用するマルウェアは、単独で存在するより、他のファイル内でパワーシェルを実行する形で存在する。JavaScript とOffice 内のマクロが最終的にパワーシェルを実行する場合が最も多く、以前は Wscript.exe などを通してJavaScript や Visual Basic Script を実行することが多かったが、最近では Powershell.exe を実行してスクリプトを実行する事例が次第に増加している。
■ JavaScriptと Visual Basic Script
※ JavaScript の拡張子 : 「JS」、「JSE」 など
※ Visual Basic Script の拡張子 : 「VBS」、「VBE」 など
JavaScript は難読化されており、これを解除しないと実際のコードを確認することは難しい。
■ Windows Script ファイルおよび HTML アプリケーション
※ Windows Script ファイルはの拡張子: 「WSF」
※ HTML アプリケーションの拡張子: 「HTA」
これらのファイルは、他のスクリプトコードが含まれている場合もあるが、大半は JavaScript で作成されている。
■ Office ファイル
パワーシェルを利用するマルウェアは、Office ファイル内のマクロ機能として存在する場合がある。マクロ機能を通して他のマルウェアをダウンロードする場合もあるが、JavaScript などのスクリプト言語を実行してファイルをダウンロードする場合もある。
[図 4] 主要コマンドをエンコードしたパワーシェルコード
マルウェア作成者は、マクロを含んだ文書が開く際にパワーシェルコードが自動実行されるように AutoOpenや Document_Open などの関数を使用することがある。
■ ショートカット (Shortcut)
ショートカットは、他のファイルの位置を含んでおり、拡張子 「LNK」 を持っている。Wscript.exe や PowerShell.exe を実行してスクリプト内容を実行することができる。例えば、文書、写真、動画ファイルのアイコンなのに wscript.exe や powershell.exe を実行するコマンドが含まれている場合はマルウェアである可能性がある。
■ パワーシェルスクリプト
一般的な Windows では、基本的にパワーシェルでスクリプトを実行できないため、パワーシェルで作成されたマルウェアは少なく、一般的には他のマルウェアをダウンロードするダウンローダーや他のマルウェアを感染させるドロッパー (Dropper) の役割をする。しかし、[図 5] のようにパワーシェルで作成されたランサムウェアも存在する。
[図 5] パワーシェルで作成されたランサムウェア
3) ファイルレス (Fileless) 手法
マルウェア作成者は、Windows で提供するスクリプトとレジストリを利用し、ファイルレス (Fileless) 手法を開発した。ファイルを残すことなく、レジストリに暗号化されたマルウェアデータを埋め込み、スクリプトコマンドで暗号化されたデータを実行する。
代表的なマルウェアとして、「Poweliks」、「Phase」、「Bedep」、「Kovter」 などがあり、現在も類似した手法を使用するマルウェアが発見されている。
ファイルレス手法を使用する一部のマルウェアは、バグで正常に実行されない場合がある。急なパワーシェルエラーが発生した際には、マルウェアの感染を疑う必要がある。
[図 6] パワーシェルエラーメッセージ
パワーシェルを利用するマルウェアによる被害を防止するためには、パワーシェルマルウェアの分析および継続的なモニタリングが重要である。また、パワーシェル実行をコントロールする機能やスクリプトを利用するマルウェアに防御できるセキュリティ製品をインストールすることが望ましい。