LOLBAS という難題:Microsoft Office がステルス性マルウェア・ローダーになり得る

Hackers can abuse Microsoft Office executables to download malware

2023/08/03 BleepingComputer — LOLBAS ファイル (Windows に存在し、悪用される可能性のある正規のバイナリやスクリプト) のリストには、Microsoft の電子メール・クライアント Outlook や、データベース管理システム Access の主要な実行ファイルが、まもなく含まれることになる。Microsoft Publisher アプリケーションのメイン実行ファイルに関しては、リモート・サーバからペイロードをダウンロードできることが、すでに確認されている。なお、LOLBAS とは、Living-off-the-Land Binaries and Scripts の略であり、Windows OS でネイティブのもの、また、Microsoft からダウンロードされた、署名付きファイルのことを指す。


それらは、侵害に成功したハッカーたちが、防御メカニズムを起動させることなくペイロードをダウンロード/実行するために悪用できる、合法的なツールとなってしまう。

最近の調査によると、Microsoft により署名されていない実行可能ファイルであっても、攻撃前の偵察などにおいて有用な役割を果たしているという。

Microsoft Office のバイナリ

現時点において LOLBAS プロジェクトは、150以上の Windows 関連のバイナリ/ライブラリ/スクリプトをリストアップしている。それらは攻撃者にとって、悪意のファイルをダウンロード/実行する際や、承認プログラムのリストをバイパスする際に、有益なツールになり得るものである。

自動セキュリティ検証ソリューションを提供する、Pentera のセキュリティ研究者である Nir Chako は、Microsoft Office スイートの実行ファイルを調べることで、新しい LOLBAS ファイルを発見することに、最近になって着手している。

Microsoft Office executables
Microsoft Office executable files
source: Pentera

彼は、それら全てを手動でテストし、サードパーティ・ファイルのダウンローダーとして使用される可能性のある、3つのファイル (MsoHtmEd.exe/MSPub.exe/ProtocolHandler.exe) を発見した。

研究者たちは BleepingComputer に対して、MsoHtmEd がテスト用 HTTP サーバに GET リクエストで到達し、テスト用ファイルをダウンロードする様子を、ビデオにして公開した。その後の研究において Chako は、MsoHtmEd がファイルの実行にも使用できることを発見した。


この成功に気を良くした Chako は、適切なファイルを手動で見つけるアルゴリズムをベースにして、検証プロセスを自動化するスクリプトを開発し、より多くの実行可能ファイルを、より素早く見つけ出すことができた。

彼は、「この自動化された方法を用いて、さらに6つのダウンローダーを見つけることができた。それを加えると、全部で9つの新たなダウンローダーが発見されたことになる。それは、LOLBAS の公式ダウンローダー・リストを、30% ほどの増加させるものだ。

彼は、今日のブログ投稿で、スクリプトに追加された改良について説明し、Windows でバイナリをリストアップし、意図されていないダウンロードを生じる機能をテストできるようにした。

Pentera の研究者たちは、その後も調査を継続し、LOLBAS プロジェクトの原則を満たすダウンロード/実行の機能を持つ、合計で 11件の新しいファイルを発見した。

LOLBASFunctionalityLOLBAS projectStatus
ProtocolHandlerDownloadAccepted
MSPubDownloadAccepted
MsoHtmEdDownload, ExecuteAccepted
PresentationHostDownloadAccepted
ConfigSecurityPolicyDownloadAccepted
InstallUtilDownloadAccepted
MSHtaDownloadAccepted
OutlookDownloadPull Request
MSAccessDownloadPull Request
SftpExecutePull Request
ScpExecutePull Request

それらの中でも注意すべきは、MSPub.exe/Outlook.exe/MSAccess.exe であり、それらを用いる攻撃者や侵入テスト担当者による、サードパーティ・ファイルのダウンロードを可能にしているという。

MSPub はリモート・サーバーから任意のペイロードをダウンロードできることが確認され、LOLBAS projectStatus が Accepted になっているが、他の2つはリストに追加されていない。

Chako は、「自分の技術的なミスのために追加されていない。コミットされたコードと同じコードを、誤って3つの Pull Request を提出してしまった。したがって、プロジェクトに正式に追加できるよう、提出し直す必要がある。私の事務的なミスはさておき、これらはプロジェクトの一部になる」と BleepingComputer の取材に対して答えている。

新たな LOLBAS ソース

Chako は、Microsoft のバイナリ以外にも、他の開発者による LOLBAS 基準を満たすファイルを見つけた。

Executables in the PyCharm installation folder
Signed executable in PyCharm installation folder
source: Pentera

PyCharm のインストール・フォルダには、昇格した権限で任意のファイルを実行できる elevator.exe (JetBrains により検証/署名済み) が含まれている。また、PyCharm ディレクトリにある、もう1つのファイルである WinProcessListHelper.exe は、システム上で実行されている全てのプロセスを列挙するため、偵察目的に悪用できるという。

彼が提供した、もう1つの LOLBAS 偵察ツールの例は、Git のインストール・フォルダに含まれる mkpasswd.exe であり、ユーザーと SID (Security Identifiers) の全リストを引き出せるという。

Chako の調査は2週間から始まり、新しい LOLBAS ファイルを発見するための、正しいアプローチの確立に貢献している。

そのコンセプトを理解した彼は、発見を自動化するツールを作成するために、さらに1週間を費やした。その努力は報われ、彼のスクリプトにより Microsoft のバイナリー・プール全体を、約5時間で調べ上げることができたという。

その見返りは、さらに大きなものになった。Chako が開発したツールは、Linux/VM などのプラットフォーム上でも、現状のままで、あるいは、若干の変更を加えることで、LOLBAS の新たな領域を探索するために活用できるという。

その一方で、LOLBAS の脅威について知ることは、防御者がサイバー攻撃を防止/軽減するための、適切な方法論とメカニズムの定義にも役立つ。

Pentera は、研究者/防御者/レッドチーマーたちが、新しい LOLBAS ファイルを見つけ出すための、詳細な論文も発表している。