初めに
どうも、クソ雑魚のなんちゃてエンジニアです。
今回は5月末ごろに確認された新型?(手法は前からあったと思うが、脆弱性が新しい)のマルウェアの解析をした際の記事を書こうかなと思う。
実際にマルウェアをローカルに落として解析するので、あまり経験がない方は試さないほうがいいかと思うが、興味があれば是非ともマルウェア解析をしてみてほしい。
※というのも筆者も初心者なので、アセンブリの知識は乏しい。
その点ご了承いただければと(アセンブリ使わないけどね。)
乞うご期待!
目次
- 今回の背景
- マルウェア調査
- 公開情報調査
- ローカル環境での分析
- Follinaへの対処
- まとめ
今回の背景
5月の末ごろにこのようなTwitterでの発信があった。
本発信はMicrosoftの脆弱性CVE-2022-30190(通称「Follina」と呼ばれている、5/27ごろにはこの脆弱性番号は割り振られていなかった。)を悪用したファイル(Wordファイルが今回騒動になっていた)が出てきたことを示している。
また、こういった情報を記事にして配信している以下の「Bleeping Computer」にも情報が挙げられた(こういった情報の記事は「Bleeping Computer」さんは早いです。)
これら発信を受けて5/30ごろにMicrosoft(MS)にて以下の脆弱性情報が公開されることとなった。
RCEの脆弱性がありますといった内容である。
本配信を受けて、私は少し興味を持ったので個人的に調査を実施してみたので、その備忘録として本記事を書いたのである。
※日本の社会人の皆さんはMicrosoftのOfficeを多用していると思うので、本マルウェア含み、不審なファイルには気を付けてください。
マルウェア調査方法
公開情報調査
まずは公開されている情報から色々とマルウェアの情報を集めていく。
こういったマルウェアが公開されているサンドボックスサイトに登録されているのかどうかを調査していくこととなる。
以下のサイトを参考にどういったOSで、ファイルで、プロセスで動くのかざっくりと把握できればいい。
※これによってどのような環境を用意すればいいのか、また調査中の感染による被害を出さないようにすればいいかがわかる。
VirusTotal
皆さん御用達のVirusTotalさんです。
AnyRun
どういった動作なのか動画で見れるし、いいね!
Hatching Triage
このサイトは結構サンプルのマルウェア数が多い印象
上記サイトを用いるとどういったプロセスでマルウェアが走るのかある程度理解できると思う。
参考にAnyRunで表示されるプロセスの画像を以下に張り付ける。
※MSでの脆弱性だし、Linux環境で分析しとこうかな。
ローカル環境での分析
まずここで意識しないといけないのはマルウェアの動作を理解し、自身のStart以外でマルウェアを走らせないような環境で分析を行うことである。
といっても自分は初心者なのでMSでプロセスを走らせないようにLinux環境でファイルを分析した。
※起動がMSのプロセスだが、その後の動作がLinux環境でも走る可能性があるので、どこまでマルウェアの動作を解析するかは決めておかないと死にます。
※念のため感染しても問題がないデバイスで、仮想環境を立てることをお勧めします。
検体の入手
前章で提示した各サンドボックスから検体を入手するもよし、マルウェアが保存されている公開DBから落としてくるもよしです。
私は知る人ぞ知る以下のサイトから落としてきました。
※大体みんな知っている。マルウェア本体をダウンロードする過程であり、感染してしまう可能性があるので、一応本サイトは非公開にさせてもらう。
ダウンロードしてきたファイルを以下のように保存される。このファイルを解凍してレッツ解析スタートである。
マルウェア解析本番
表層解析
まずはどんなものか解析を進める。
ファイルの拡張子に関しては偽造しているファイルがあったりするので、以下のコマンドで確認を行う。
# file ファイル名
本実行結果を以下に示す。
まぁ表示通りMicrosoftのOfficeファイルである。ここからはOfficeのXMLファイルフォーマットの解析手順に移る。
OfficeのXMLファイルフォーマットは元はXMLファイルなので、unzipを行って中身を展開しXMLファイルとして見れるようにする。
※上記手順はもとのファイル拡張子を「.doc」から「.zip」に変更して展開してもできるので、好きなようにしてもらって構わない。
静的解析
これら展開したXMLを探って調査を開始する。
すると、Wordのアイコン画像などを参照するファイル「word/_rels/document.xml.rels」の中身に以下のような赤枠の記述がみられた。
これが悪性なHTMLファイルをダウンロードさせるURLであり、Wordファイルを開く(クリックする)だけでマルウェアが実行されることとなる。
また、以下にもある通り、プレビュー画面でも本マルウェアは動作するようである。
このHTMLのダウンロード先ドメインはすでに死んでいるのでダウンロードはできないのだが、以下のサイトで中身を確認できる。
このようにHTMLの<Script>タグで、CVE-2022-30190を悪用するようなPowerShellが組まれており、RCEのコード自体はBASE64で暗号化されている。
暗号化されているRCEのコードをデコードさせてみると以下のようなものが出てくる。
$cmd = "c:\windows\system32\cmd.exe";Start-Process $cmd -windowstyle hidden -ArgumentList "/c taskkill /f /im msdt.exe";Start-Process $cmd #以降は非表示とさせていただく。;
msdtのプロセスを走らせて...RARをほげほげしている...
怖いことこの上ない。
Follinaへの対処
本脆弱性の対処方針としてはMSTDのプロトコルを停止するのが手っ取り早いと考えられる。
※トレンドマイクロ様が以下のように手順を公開してくれている。
マイクロソフトでは本脆弱性を突いた攻撃の回避策として、MSDTプロトコルの無効化を案内しています。
- 管理者権限でコマンドプロンプトを起動
- レジストリをバックアップのため、以下のコマンドを実行
reg export HKEY_CLASSES_ROOT\ms-msdt <ファイル名>
- MSDTプロトコルの無効化のため、以下のコマンドを実行
reg delete HKEY_CLASSES_ROOT\ms-msdt /f
※レジストリを元に戻したい場合には、バックアップしたレジストリから元の状態に復元します。
- 管理者権限でコマンドプロンプトを起動
- バックアップしたレジストリを復元するため、以下のコマンドを実行
reg import <ファイル名>
また、以下のようにOfficeの最新盤を使用していれば、本脆弱性は発露しないということも言われている。
まとめ
第十三回の投稿はいかがだったでしょうか?
日々進化していくサイバー攻撃における情報収集から解析手法の一助になっていればと考えています。
※解析の際には慎重に環境を設定してください。感染してしまっては元も子もありません。
マルウェア解析たのしぃい、アセンブラ難しいぃぃいい(使ってない)。