2021年6月下旬、QRaptorとYandexは、Meris(ラトビア語で疫病を意味する)と名付けられた一連の世界的なDDoS攻撃の背後にあるアクティブなボットネットを発見しました。このボットネットは、1秒間に生成できるリクエストの量が非常に多いことですぐに有名になりました。Cloudflareによると、Merisは1秒あたり17.2Mリクエストのスループットが可能でした。当時、MikroTikデバイスは悪名高く強力なCVE-2018-14847を使用して侵害され、ボット化されていました。ピーク時には、Merisは230,000台以上のデバイスを侵害したと推定されています。
2021年9月、RostelecomはMerisボットネットの一部を「sinkholed」したと発表した。しかし、2022年3月初旬、Impervaは、悪名高いランサムウェアグループREvilが主張したと思われる毎秒2.5Mリクエストに達するDDoS攻撃に関するブログを書きました。Impervaによると、このDDoS攻撃の実行にはMerisボットネットが使用された可能性が高いという。Merisの再登場が予想される中、Merisはシンクホールを生き延びたのだろうか?
Nozomi Networks の研究者は、Merisボットネットの能力の中核を明らかにするためにさらなる分析を行い、点と点を結び始めた。およそ2018年から2021年にかけて、MerisボットネットのバックボーンであるGruptebaボットネットは、数十万台のMikroTikデバイス(ルーター、スイッチャーなど)を感染させ、極悪なインターネットリレーに変えるために使用されてきた。使用されている主なGruptebaモジュールの1つはWindiGo(別名RanaumBot)と呼ばれるもので、MikroTikデバイスの設定に使用される独自のプロトコルであるWinboxペイロードを使用します。WinboxはMerisの根幹であるため、その機能を深く掘り下げることは理にかなっている。このブログでは、WindiGoの技術的な分析と、それがどのようにCVE-2018-14847を悪用してMikroTikルーターにアクセスするか、推奨事項を提供し、ネットワークを保護するために使用できるIoC(Indicators of Compromise)を共有します。
WindiGoポートスキャン
WindiGoを実行すると、Winboxポート(8291/tcp)にアクセス可能なMikroTikデバイスを見つけるためにネットワークをスキャンすることから始まります。WinboxはMikroTikデバイスのコンフィギュレーションに使用されるMikroTik独自のプロトコルであるため、コンフィギュレーションのフロントエンドであるWinboxアプリケーションを使用します。分析を行う中で、以下のサンプルで4つの異なるスキャン動作を確認しました:
- c4ea89b8795bd7ee97594ca62e1e9c5189e338ba1765a819cf54bd2f89922768
- 5191548b8edf4b98e623f055f5205e2db17aa220c28928b1da1c3a9ba1a75ee0
- 9d790a4377414a1e96b329fbf7741e90c8c8099d5e5996d718f663a79bb43037
- 7f3f983368989fdd9216cdd6b5a6c6063442cf3dbed5b4055b47b04ccb2fbdbb
最初の亜種は4096個のIPアドレスをランダムにスキャンする。2つ目の亜種は、プライベート・ネットワーク・クラスA、B、Cをスキャンするだけでなく、Internet Assigned Numbers Authority(IANA)が予約したアドレス空間100.64.0.0/10もスキャンします。これは、インターネット・サービス・プロバイダー(ISP)やその他のサービス・プロバイダーのシステムを、その境界内から侵害しようとする試みと思われます。
そのほとんどは、AT&T、T-Mobile、RIPEといった米国や欧州の通信会社やインターネット登録に属するもので、ブラジル、ベトナム、中国の通信会社も標的になっている。興味深いのは、2つのネットワーク・ブロックが際立っていることで、1つ目はアメリカ陸軍情報システム司令部のもの、2つ目はアメリカ国防総省ネットワーク情報センターのものである。
The last variant receives the scan target by fetching /api/request-cidr?uuid=<UUID>on its Command & Control (C2) server. Figures 1,2 and 3 depict the differences in the main scanning loops.
Winbox CVE-2018-14847 のエクスプロイト
スキャンが開始されると、ネットワークデバイスがWinboxポートのTCPハンドシェイクに応答した場合、マルウェアはCVE-2018-14847の悪用を試みます。この脆弱性は、MikroTikデバイス上の任意のファイル読み取りを活用し、user.datファイルとして知られるデバイスユーザーのクレデンシャルストアを取得するために使用されます。サンプルはWinboxパケットをオンザフライで組み立て、パケットデータの大部分はサンプル内でハードコードされ、小さなチャンクだけが動的にパッチされます。図4は、CVE-2018-14847を悪用するためにデバイスに送信される最初のWinboxパケットを示しています。
図5に見られるように、パストラバーサルは、/flash/rw/store/user.datに簡略化されたアセンブルされたペイロードで明らかになる。
この脆弱性を悪用すると、クレデンシャル・ストアを含むデバイスのuser.datファイルが流出します。図6に、マルウェアによって取得されたクレデンシャル・ストアを示します。このファイルには、デバイスに登録されたアカウント、ユーザー名、暗号化されたパスワードが含まれています。
クレデンシャルの復号化
通常であれば、ハッシュ化された状態からパスワードを取り出すには、辞書攻撃や総当たり攻撃などの追加手順が必要です。しかし、これらの古いMikroTikデバイスでは、パスワードはハッシュ化されずに暗号化されます。まずユーザー名と "static salt "をリンクしてキーを生成し、その結果をハッシュ化してパスワードをXORしたキーを生成する。このスキームの暗号学的な意味合いは省略し、マルウェアの復号化出力に直行する。図7と図8は、復号化関数実行直後の破壊と、スタック上の復号化されたパスワードのキャプチャを示しています。
マルウェアはまた、ユーザー名とパスワードの独自の辞書を含んでいる。この辞書は比較的小さく、24のユーザー名と220のパスワードで構成され、合計でおよそ5,300通りの組み合わせが可能です。これらの静的な認証情報は、パスワードの採取ステップが失敗した場合に使用される。驚くべきことに、図9に示すように、盗まれた認証情報は辞書の一番下に追加されます。つまり、デバイスから盗んだ認証情報を試す前に、マルウェアはまず何千もの静的認証情報を使ってログオンを試みますが、これはかなり非効率的です。
スケジュールされたタスク実行
この時点でマルウェアは、パスワード抽出が成功したかどうかに関係なく、デバイスにスケジュールされたタスクを登録しようとする。最初の感染ベクターはWinboxプロトコルを介して発生します。何らかの理由(ユーザー名とパスワードの間違い、ネットワーク通信の失敗など)で感染が失敗すると、マルウェアはSSHにフォールバックし、最後にWeb APIにフォールバックします。いずれにせよ、図10に見られるように、追加されるタスクは常に同じである。
MicroTikデバイスの危殆化
このスケジュールされたタスクは、デバイスが起動すると実行され、その後10分ごとに実行される。このタスクは、C2からスクリプトをダウンロードし、デバイス上で実行しようとする。これらのスクリプトは、Telnetやウェブインターフェイスなどの管理サービスを無効にし、SOCKSプロキシを有効にして、デバイスを万能のインターネットリレーに変える。
この時点でゲームオーバーとなり、デバイスは、匿名化された方法で攻撃を実行するために、脅威行為者によって使用される準備が整ったプロキシサーバーとなった。
推薦の言葉
まず、ネットワーク・ルーターやその他のネットワーク・デバイスをインターネットにオープンに接続してはならない。このケースでは、攻撃者はネットワーク境界の内部から侵入しているため、管理インターフェースをユーザーやアプリケーションのネットワークに接続しないことが重要である。このような脅威に対する強固な防御を提供するために、専用の管理ネットワークまたはゼロ・トラスト・ポリシーによる適切なネットワーク・セグメンテーションを使用する。
あなたの環境でMikroTikデバイスを使用している場合、それらが最新であることを確認する必要があります。CVE-2018-14847の脆弱性は、公開直後にMikrotikによって修正されました。デバイスの設定を見直し、強力なパスワードが使用されていることを確認してください。完全にパッチが適用されたデバイスでは、脆弱なパスワードや漏えいしたパスワードから保護されないことを忘れないでください!
最後に、資産管理ツールやIDSを活用して、ネットワーク全体を完全に可視化できるようにする。不審なネットワーク接続や侵入に対してアラートを発することで、少なくとも、深刻な被害をもたらす前に脅威を検知し、緩和するチャンスを得ることができる。これにより、セキュリティ・チームが効果的に脅威に対応できるようになります。
IOC