This post is also available in: English (英語)

概要

2016年に初めて発見されたTrickbotは、脆弱なWindowsホストからシステム情報、ログイン資格情報その他の機密データを窃取するマルウェアです。Trickbotはモジュール型マルウェアで、そのモジュールの1つにパスワードグラバー(パスワードを窃取するツール)があります。2019年11月以降、OpenSSHとOpenVPNアプリケーションからのデータを標的とするTrickbot用パスワードグラバーの痕跡を見かけるようになりました。

Trickbotのモジュール

Trickbotに感染したWindowsホストは、複数のモジュールをダウンロードしてさまざまな機能を実行します。これらのモジュールは、感染したユーザーの>AppData\Roamingディレクトリ以下のフォルダに暗号化バイナリとして保存されます。暗号化バイナリはDLLファイルとしてデコードされてシステムメモリから実行されます。

図1は、64ビット版Windows 7ホスト上で2019年11月8日金曜日に確認した最近のTrickbot感染によって生成されたエンコード済みTrickbotモジュールです。

図1 2019年11月8日にTrickbotに感染したモジュール
図1 2019年11月8日にTrickbotに感染したモジュール

パスワードグラバーモジュール

図1に示したモジュールの1つにpwgrab64というものがありますが、これがTrickbotが使うパスワードグラバーです。このモジュールは、被害者のブラウザキャッシュに保存されているログイン資格情報を取得し、被害端末にインストールされている他のアプリケーションからログイン資格情報も取得します。

パスワードグラバーなどTrickbotのモジュールは、平文の8082/tcp経由のHTTP接続を使用し、窃取したデータをTrickbotの使うIPアドレスに送信します。

図2は、Trickbot感染ホストが生成したトラフィックのパケットキャプチャ(pcap)の情報の例です。ここでは、感染ユーザーのChromeブラウザキャッシュから窃取されたログイン資格情報を赤い四角で囲って表示しています。HTTP POSTリクエストのURLが「81という数字で終わっている点に注意してください。この数字(81)は、Trickbotのパスワードグラバーモジュールにより生成されるURLに使用されるものです。

図2 感染したユーザーのChromeブラウザキャッシュから窃取されたログイン資格情報
図2 感染したユーザーのChromeブラウザキャッシュから窃取されたログイン資格情報。POSTリクエストの行(1行目)がTrickbotのパスワードグラバーモジュールのマーカー(81)。赤い四角で囲ったのが窃取された資格情報。Content-Disposition: form-data; name="source" の MIME コンテンツからは Chrome のパスワードが確認できる

パスワードグラバーの更新

Trickbot感染によるトラフィックパターンは、2019年11月上旬まではほぼワンパターンでしたが、これ以降、パスワードグラバーについて2種類の新しいHTTP POSTリクエストが発生し始めました。これら2種類は次の内容であることが確認されています。

  • OpenSSH private keys
  • OpenVPN passwords and configsls

ただしOpenVPNの「configslsは「configsのつづり間違いの可能性があります。図3および図4は、これら識別子を含むHTTP POSTリクエストの例を示しています。

図3 OpenSSH秘密鍵窃取用のTrickbotパスワードグラバーがトリガーするHTTP POSTリクエスト
図3 OpenSSH秘密鍵窃取用のTrickbotパスワードグラバーがトリガーするHTTP POSTリクエスト。パスワードグラバーのマーカーである「81」と「OpenSSH  private keys」という内容が確認できる
図4 OpenVPNのパスワードと構成用にTrickbotパスワードグラバーがトリガーするHTTP POSTリクエスト
図4 OpenVPNのパスワードと構成用にTrickbotパスワードグラバーがトリガーするHTTP POSTリクエスト。こちらもパスワードグラバーのマーカーである「81」と「OpenVPN  passwords and configsls」という内容が確認できる

これら2種類の更新は正常に機能しているのか

Trickbotのパスワードグラバーモジュールに対するこれら更新は、完全に機能してはいない可能性があります。OpenSSHとOpenVPNに対してパスワードグラバーがトリガーするHTTP POSTリクエストは、被害端末にOpenSSHやOpenVPNがインストールされているかどうかに関係なく発生しますが、私たちはこれまでのところこのトラフィックに実際にデータが含まれてる様子を確認したことがありません。

ラボ環境にWindows 7とWindows 10の両方のホストを用意し、それらにOpenSSHとOpenVPNアプリケーションを設定した上でTrickbotに感染させる検証を行いましたが、この環境でも正常に機能するという結果は確認されず、Trickbot感染でOpenSSHとOpenVPN用のパスワードグラバーが生成したHTTP POSTリクエストにデータは含まれていませんでした。

ただし、Trickbotのパスワードグラバーは、PuTTYと呼ばれるSSH/TelnetクライアントからSSHパスワードと秘密鍵の抜き取り自体は行っています。

図5と図6は、あるホストにPuTTYをインストールして秘密鍵でクラウドサーバーにSSH接続するよう設定しておいて、そのホストをTrickbotに感染させた環境でTrickbotのパスワードグラバーが行った活動を示しています。

図5 PuTTYのパスワード用にTrickbotパスワードグラバーがトリガーしたHTTP POSTリクエスト
図5 PuTTYのパスワード用にTrickbotパスワードグラバーがトリガーしたHTTP POSTリクエスト。パスワードグラバーのマーカーである81と、「PuTTY passwords」が確認できる。
図6 PuTTYの秘密鍵用にTrickbotパスワードグラバーがトリガーしたHTTP POSTリクエスト。パスワードグラバーのマーカーである81と、「Precious files」という文字列が確認できる。ここで「Precious files」は、PuTTY の秘密鍵ファイルを識別するのに使われている。
図6 PuTTYの秘密鍵用にTrickbotパスワードグラバーがトリガーしたHTTP POSTリクエスト。パスワードグラバーのマーカーである81と、「Precious files」という文字列が確認できる。ここでの「Precious files」は、PuTTY の秘密鍵ファイルを識別するのに使われている。

結論

本稿では、最近のTrickbotトラフィックパターンに変化が見られること、そこからパスワードグラバーモジュールが更新されたと見られることについてお話しました。

これらの更新はOpenSSH、OpenVPNアプリケーションのデータを対象としていますが、この更新は正常には機能していないようです。とはいえ、Trickbotのパスワードグラバーは、PuTTYを始め、SSH関連アプリケーションから秘密鍵などの機密データ抜き取りは行います。

トラフィックパターンが新しくなるということは、それだけ継続的にTrickbotが進化しつづけている、ということを示しています。ただし、Microsoft Windowsに常に最新のパッチを適用し、最新バージョン実行するといったセキュリティベストプラクティスを守っていれば、Trickbotへの感染は防ぎやすくなります。

パロアルトネットワークス製品をご利用のお客様は、Threat PreventionプラットフォームによりTrickbotから保護されています。 AutoFocus をお使いのお客様は、Trickbotによる活動を Trickbot タグで追跡できます。

Enlarged Image