はじめに
Cisco Talos による最近の調査では、一般的なウイルス対策エンジンを回避するため、従来とは異なるファイル形式が攻撃で使われていることが判明しました。これは特定のファイル形式に限った話ではありませんが、今回の事例は、マクロベースの感染ベクトルに「注力しすぎた」ウイルス対策エンジンの盲点を突く、新しい攻撃アプローチだと言えます。その中心にあるのが、一部の Office アプリケーションで使われる OpenDocument(ODT)ファイルで、これによりウイルス対策エンジンによる検出を回避できます。ODT は XML ベースのファイルを含む ZIPアーカイブで、Microsoft Office や Apache OpenOffice、LibreOffice などで採用されています。
ODT ファイルを使用した最近のマルウェア攻撃では、ウイルス対策エンジンによる検出が回避されました。ウイルス対策エンジンは ODT ファイルを標準アーカイブとして認識するため、通常の Office ドキュメントと同じ検出ルールが適用されないことに起因しています。複数のサンドボックスでも、ODT ドキュメントが(Microsoft Office ファイルではなく)アーカイブとして認識され、分析に失敗することが確認されました。つまり ODT ファイルを使用すれば、通常は従来のウイルス対策ソフトウェアによってブロックされるマルウェアを配信できるのです。
ODT ファイルを使用するマルウェア サンプルも、少数ながら確認されています。悪意のあるドキュメントを使用した攻撃の大半は今でも Microsoft Office ファイルに依存していますが、今回のケースを見る限り、ODT ファイルを使用した攻撃が今後さらに拡大する可能性があります。本日のブログ記事では、OpenDocument が攻撃に使用された 3 つの例を紹介します。最初の 2 件は Microsoft Office ユーザを標的にしていますが、3 件目は LibreOffice ユーザのみを狙ったものです。これらのサンプルが単なるテスト目的なのか、それとも実際の攻撃目的なのかは現時点で不明です。
事例 1:OLE オブジェクトと HTA スクリプトが埋め込まれた ODT ファイル
最初の事例は、OLE オブジェクトが埋め込まれた ODT ファイルを使った攻撃です。埋め込まれたオブジェクトは、確認画面で被害者がクリックしない限り実行されません。この事例は、アラビア語ユーザと英語ユーザを狙った別々の攻撃で確認されています。
いずれの攻撃でも、以下の OLE オブジェクトによって HTA ファイルが導入、実行されます。
2 つの HTA スクリプトは、top4top[.]net からファイルをダウンロードします。以下の Web サイトは、アラビア語ユーザの間で人気のファイル ホスティング プラットフォームです。
次にリモート管理ツール(RAT)がダウンロードされます。アラビア語ユーザを狙った攻撃では、長らく存在する NJRAT マルウェアがペイロードで、C2 サーバは amibas8722[.]ddns[.]net です。この URL はアルジェリアの ISP を参照しています。
英語ユーザを狙った攻撃のペイロー
ドは RevengeRAT です。C2 サーバ(wh-32248[.]portmap[.]io)は、Portmap プラットフォームの背後に隠されていました。ポータブル実行可能(PE)プログラムはレジストリに保存され、タスク スケジューラと PowerShell スクリプトにより実行されます。
これらの手口は、以前にこちらの記事で公開したものと似ています。いずれの攻撃でも同じバージョンの RAT が使用され、レジストリにペイロードが記録されます。PowerShell スクリプトがペイロードをデコードして実行し、最後に Portmap プラットフォームで攻撃インフラの最終 IP を隠します。これらの要素を考慮すると、2 件のケースが同じ攻撃者またはフレームワークでつながっている可能性がある程度高いと言えます。
事例 2:OLE オブジェクトとマルウェアが組み込まれた ODT ファイル
2 つ目の事例でも、ODT ファイルに OLE オブジェクトが埋め込まれています。
$ unzip -l 80c62c646cce264c08deb02753f619da82b27d9c727e854904b9b7d88e45bf9e Archive: 80c62c646cce264c08deb02753f619da82b27d9c727e854904b9b7d88e45bf9e Length Date Time Name --------- ---------- ----- ---- 39 1980-01-01 00:00 mimetype 1540 1980-01-01 00:00 settings.xml 805 1980-01-01 00:00 META-INF/manifest.xml 1026 1980-01-01 00:00 meta.xml 491520 1980-01-01 00:00 Object 1 17784 1980-01-01 00:00 ObjectReplacements/Object 1 3354 1980-01-01 00:00 content.xml 6170 1980-01-01 00:00 styles.xml --------- ------- 522238 8 files
事例 1 と同じく、被害者が操作しない限りオブジェクトは実行されません。OLE オブジェクトが実行されると、.NET バイナリの「Spotify.exe」が被害者のマシンに書き込まれます。もちろんこれは偽のファイルで、リソースとして保存された新しい PE バイナリを Deflate 収縮します。新しいバイナリは、Goliath、babelfor.NET や 9rays などの多数のツールで幾十にも難読化されます。
すべての難読化が解除されると、最終的なペイロードである AZORult が姿を現します。最終的なバイナリでは、AZORult のコードを確認できます。
事例 3:StarOffice Basic のユーザを狙った ODT ファイル
3 つ目の事例は、Microsoft Office ユーザではなく、OpenOffice と LibreOffice のユーザを狙った攻撃です。ここでは、Microsoft Office ドキュメントのマクロと同等の機能が、オープンソース ソフトウェアの Starsuite Basic で使用されています。Starsuite Basic のコードは、ODT アーカイブ内の Basic/Standard/ リポジトリにあります。
$ unzip -l 525ca043a22901923bac28bb0d74dd57 Archive: 525ca043a22901923bac28bb0d74dd57 Length Date Time Name --------- ---------- ----- ---- 0 2019-08-19 12:53 Thumbnails/ 728 2019-08-19 12:52 Thumbnails/thumbnail.png 10843 2019-08-19 12:52 styles.xml 0 2019-08-19 12:53 Basic/ 0 2019-08-19 13:22 Basic/Standard/ 1317 2019-08-19 13:00 Basic/Standard/Module1.xml 348 2019-08-19 12:52 Basic/Standard/script-lb.xml 338 2019-08-19 12:52 Basic/script-lc.xml 8539 2019-08-19 12:52 settings.xml 0 2019-08-19 12:53 Configurations2/ 0 2019-08-19 12:53 Configurations2/accelerator/ 0 2019-08-19 12:52 Configurations2/accelerator/current.xml 0 2019-08-19 12:53 META-INF/ 1390 2019-08-19 12:52 META-INF/manifest.xml 899 2019-08-19 12:52 manifest.rdf 1050 2019-08-19 12:52 meta.xml 39 2019-08-19 12:52 mimetype 3297 2019-08-19 12:52 content.xml --------- ------- 28788 18 files
ランダム データの例は次のとおりです。
コードは「plink」というバイナリをダウンロードして実行します。このバイナリは SSH 通信を確立します。使われている IP アドレスはローカル ネットワークのアドレスであり、インターネット上のパブリック IP ではありません。Talos が確認した他のドキュメントも、実行可能ファイルを同じローカル ネットワークからダウンロードするため、これは興味深い点だと言えます。攻撃者の目的が単なるテストやペネトレーション テストなのか、それとも実際の攻撃なのかは判明していません。ただし攻撃者にとっては、水平方向に侵入先を広げるチャンスとなります。
マルウェアは次に、以下のようにペイロード「Metasploit」のダウンロードを試みます。
最後に、以下の難読化されたコードにより「Metasploit」を WMI で実行します。
これらのサンプルは、OpenOffice と StarOffice のユーザのみを標的にしています。最終的なペイロードや、不正な ODT ドキュメントの配布メカニズムはまだ判明していません。
まとめ
Microsoft Office は最も広く使用されている生産性スイートですが、よく攻撃を受けるプラットフォームでもあります。Microsoft Windows OS と同様に、攻撃者にとっての主要な標的になっています。
よく知られたプラットフォームを攻撃すれば、被害者のマシンにアクセスできる可能性が高まるからです。ただし今回のような ODT ファイルを使った手口は、攻撃者が積極的に試行錯誤していることを裏付けています。ODT ファイルで感染率が向上したり、検出を回避したりできるかテストしているのでしょう。一部のウイルス対策エンジンやサンドボックスは ODT ファイルを適切に処理できないため、「見逃す」事態も起きています。Microsoft Office 以外のユーザは少数派かもしれませんが、検出率が低いため攻撃の成功率が高くなります。しかも、利用人口の少ないファイル形式を使用すると標的型攻撃の成功率が上がる傾向にあります。攻撃者が OSINT を実施すれば、LibreOffice のパブリック移行ページを基に、LibreOffice を使用する可能性のあるユーザを把握できます。パブリック移行ページでは LibreOffice を採用している組織の一覧を把握できますが、これにはソフトウェアの普及状況を知れるメリットと、組織のインフラが公開されるデメリットの両方があります。
カバレッジ
SNORT® などの侵入防御システムは、各コマンドの末尾にある特定のシグニチャによって、ODT ファイルなどの脅威を効果的に検出できます。侵入防御システムに加えて、Cisco AMP for Endpoints などのエンドポイントの検出および対応ツール(EDR)を使用することをお勧めします。これにより、プロセスの呼び出しを追跡し、プロセスを検査できます。こちらから AMP を無料でお試しいただけます。
他にも、以下の製品により今回の脅威を検出してブロックできます。
Cisco クラウド Web セキュリティ(CWS)または Web セキュリティ アプライアンス(WSA)の Web スキャンは、悪意のある Web サイトへのアクセスを防止し、これらの攻撃で使用されるマルウェアを検出します。
電子メール セキュリティは、攻撃の一環として攻撃者が送りつける不正な電子メールをブロックします。
次世代ファイアウォール(NGFW)、次世代侵入防止システム(NGIPS)、およびMeraki MX などのネットワーク セキュリティ アプライアンスは、この脅威に関連する悪意のあるアクティビティを検出できます。
AMP Threat Grid は、悪意のあるバイナリを特定し、すべてのシスコ セキュリティ製品に保護機能を埋め込みます。
シスコのセキュア インターネット ゲートウェイ(SIG)である Umbrella は、社内ネットワークの内外で悪意のあるドメイン、IP、URL への接続をブロックします。
オープン ソースの SNORTⓇ サブスクライバ ルール セットをお使いであれば、Snort.org で購入可能な最新のルール パックをダウンロードすることで、システムを最新状態に維持できます。
IOC(侵入の痕跡)
事例 1
ODT ドキュメント:de8e85328b1911084455e7dc78b18fd1c6f84366a23eaa273be7fbe4488613dd
f24c6a56273163595197c68abeab7f18e4e2bedd6213892d83cdb7a191ff9900
PE:02000ddf92ceb363760acc1d06b7cd1f05be7a1ca6df68586e77cf65f4c6963e
19027327329e2314b506d9f44b6871f2613b8bb72aa831004e6be873bdb1175d
C2 サーバ:
wh-32248[.]portmap[.]io
amibas8722[.]ddns[.]net
ペイロードの保存先:
top4top[.]net
事例 2
ODT ドキュメント:80c62c646cce264c08deb02753f619da82b27d9c727e854904b9b7d88e45bf9e
PE:20919e87d52b1609bc35d939695405212b8ca540e50ce8bece01a9fccfa70169
事例 3
2f4aa28974486152092669c85d75232098d32446adefeeef3a94ad4c58af0fc8
d099eac776eabf48f55a75eb863ad539a546202da02720aa83d88308be3ce4ca
84cb192cc6416b20293dfb8c621267e1584815a188b67757fa0d1af29a7cfdcd
b2b51864fa2f80f8edbdaf6721a6780e15a30291a748c2dfc52d574de0d8c3ed
f9138756639104e2c392b085cc5a98b1db77f0ed6e3b79eacac9899001ed7116
efb81fb8095319f5ee6fd4d6741b80386a824b9df05460d16d22cad1d6bbb35d
f5194cc197d98ed9078cceca223e294c5ec873b86cbeff92eb9eaca17fc90584
429d270195bed378495349cf066aee649fd1c8c450530d896844b1692ddddc77
本稿は 2019年9月30日に Talos Group のブログに投稿された「Open Document format creates twist in maldoc landscape」の抄訳です。