VirusTotalがすごく進化していた件
VirusTotalというサービスをご存じですか?
このサービスはマルウェアかもしれないファイルをアップロードすると, 複数のアンチマルウェアエンジンを同時に使って検査し, 何のアンチマルウェアが何という検出名でマルウェアを検出したのか知ることができます.
かなり前にVirusTotalに追加されていたかもしれない,relation/behaviorという項目が非常に興味深かったので実際のマルウェアの解析結果をもとに考察していきたいと思います.
参考元:
VirusTotalの解析結果ページ
まずは名前から推測ゲームを始める
例えばESETというアンチマルウェアの検出名ではMSILという名称が見られます.
MSILというのはMS ILという意味で, マイクロソフトのIL(中間言語)を指します.
マイクロソフトの中間言語といえば.NetFrameworkが挙げられ, このマルウェアはC#かVisualBasicで記述されたものではないかと推測できます.
実際ESETの日本代理店であるキャノンのページには「このトロイの木馬が動作するには、Microsoft .NET Frameworkが起動している必要があります。」との記述があり, そのように解釈することが正しかったことがわかります.
(参照: キャノン解説ページ)
relation(関係)の項目を観察する
このマルウェアが接続したURLを見ると,
(IPを一部隠してあります)
となっています.
これを見ると, マルウェアがアクセスしたURLの中に一つ, アンチマルウェアに有害判定されたURLにアクセスしたことがわかります. ただし1つだけなので誤判定かもしれません.
次にこのファイルを実行する親実行ファイルについての情報を見ていきます.
ほぼすべてのファイルにおいて30個程度のアンチマルウェアが反応していることから, このファイルもマルウェアと断定してもよさそうです.
興味深いのは, Rust cheatという文字列やDownloaderというファイル名がみられることです.
チートツールや違法ダウンロードをするためのツールを名乗って流通している実行ファイルから, 今回の分析対象の実行ファイルを呼び出していることが推察されます.
この実行ファイルが内蔵している実行ファイルもほぼすべてのアンチマルウェアが反応を示していること, svchostというWindowsのサービスを実行するためのプロセスを名乗る謎ファイルをダウンロードしていることから, 怪しさ満点です.
Behaviorを見てみる
最初にネットワーク回りを見てみましょう.
これを見る限り, 自分自身のIPアドレスを調べるためのWebサービスにアクセスしていることがわかります.
次に呼び出したWin32APIの種類を見てみます
- ・GetTickCount (システムを起動した後の経過時間が、ミリ秒単位で返る https://www.tokovalue.jp/function/GetTickCount.htm)
- ・SetFileTime(ファイルの作成日時、最終アクセス日時、最終更新日時を設定する。 https://www.tokovalue.jp/function/SetFileTime.htm)
- ・IsDebuggerPresent(デバッガー上でのアプリ起動かどうかを返す https://www.mbsd.jp/research/20200910.html)
- ・GetAdaptersAddresses(Windowsに認識されているネットワークインターフェースに設定されているMACアドレスやIPアドレスを取得する https://araramistudio.jimdo.com/2019/06/04/c-%E3%81%A7mac%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B/)
- ・ExecQueryWmi( Windows Managementという管理用ソフトウェア上でクエリを実行する) https://docs.microsoft.com/ja-jp/dotnet/framework/unmanaged-api/wmi/execquerywmi
これらのOSの機能を呼び出していることがわかりました.
パソコンの起動時間やIPアドレスの取得, ファイルタイムスタンプの改ざんといったマルウェア特有の典型的な処理をすることがわかります.
まとめ
VirusTotalという複数のアンチマルウェアを使って検査するWebサービスが, いつのまにか検体のサンドボックス内での挙動についてもある程度細かく見ることができるようになっていました.
特に呼び出しているWin32APIの種類を見ることで, なんの処理を行うのか推測できる機能はその検体の正直な動作を確認することができて非常に有用だと思いました.
コメント入力