SSH 経由でサーバーに感染し、分散型ボットネットを構築する FritzFrog ワームが特定されました

Guardicore 社は、データセンターとクラウド システムの保護を専門にしています。 明らかに FritzFrog は、Linux ベースのサーバーを攻撃する新しいハイテク マルウェアです。 FritzFrog は、開いている SSH ポートを持つサーバーに対するブルートフォース攻撃によって拡散するワームとコンポーネントを組み合わせて、制御ノードなしで動作し、単一障害点のない分散型ボットネットを構築します。

ボットネットを構築するには、独自の P2P プロトコルが使用されます。このプロトコルでは、ノードが相互に対話し、攻撃の組織化を調整し、ネットワークの運用をサポートし、互いのステータスを監視します。 SSH 経由でリクエストを受け入れるサーバーに対してブルートフォース攻撃を実行することで、新たな被害者が見つかります。 新しいサーバーが検出されると、ログインとパスワードの一般的な組み合わせの辞書が検索されます。 制御は任意のノードを通じて実行できるため、ボットネット オペレーターを特定してブロックすることが困難になります。

研究者らによると、ボットネットにはすでに約 500 個のノードがあり、その中にはいくつかの大学や大手鉄道会社のサーバーも含まれています。 攻撃の主なターゲットは、教育機関、医療センター、政府機関、銀行、通信会社のネットワークであることに注意してください。 サーバーが侵害されると、Monero 暗号通貨のマイニング プロセスがサーバー上で組織されます。 問題のマルウェアの活動は 2020 年 XNUMX 月から追跡されています。

FritzFrog の特別な点は、すべてのデータと実行可能コードがメモリ内にのみ保持されることです。 ディスク上の変更は、authorized_keys ファイルに新しい SSH キーを追加することのみで構成され、その後、このキーはサーバーへのアクセスに使用されます。 システム ファイルは変更されないため、チェックサムを使用して整合性をチェックするシステムにはワームが見えなくなります。 メモリには、ブルートフォースパスワードの辞書やマイニング用のデータも保存されており、これらは P2P プロトコルを使用してノード間で同期されます。

悪意のあるコンポーネントは、ifconfig、libexec、php-fpm、nginx プロセスとして偽装されます。 ボットネット ノードは近隣ノードのステータスを監視し、サーバーが再起動されたり、OS が再インストールされたりした場合 (変更されたauthorized_keys ファイルが新しいシステムに転送された場合)、ホスト上の悪意のあるコンポーネントを再アクティブ化します。 通信には標準の SSH が使用されます。マルウェアはさらに、localhost インターフェイスにバインドするローカルの「netcat」を起動し、外部ホストが接続に authorized_keys のキーを使用して SSH トンネル経由でアクセスするポート 1234 上のトラフィックをリッスンします。

SSH 経由でサーバーに感染し、分散型ボットネットを構築する FritzFrog ワームが特定されました

FritzFrog コンポーネント コードは Go で書かれており、マルチスレッド モードで実行されます。 このマルウェアには、異なるスレッドで実行されるいくつかのモジュールが含まれています。

  • クラッカー - 攻撃されたサーバー上のパスワードを検索します。
  • CryptoComm + Parser - 暗号化された P2P 接続を組織します。
  • CastVotes は、攻撃対象のホストを共同で選択するメカニズムです。
  • TargetFeed - 隣接ノードから攻撃対象のノードのリストを受け取ります。
  • DeployMgmt は、侵害されたサーバーに悪意のあるコードを配布するワームの実装です。
  • 所有 - すでに悪意のあるコードを実行しているサーバーへの接続を担当します。
  • アセンブル - 個別に転送されたブロックからメモリ内のファイルをアセンブルします。
  • Antivir - 競合するマルウェアを抑制するモジュールで、CPU リソースを消費する文字列「xmr」を持つプロセスを識別して終了します。
  • Libexec は、Monero 暗号通貨をマイニングするためのモジュールです。

FritzFrog で使用される P2P プロトコルは、ノード間のデータ転送、スクリプトの実行、マルウェア コンポーネントの転送、ステータスのポーリング、ログの交換、プロキシの起動などを担う約 30 のコマンドをサポートします。 情報は、JSON 形式でシリアル化された別の暗号化チャネルを介して送信されます。 暗号化には、非対称 AES 暗号と Base64 エンコーディングが使用されます。 DH プロトコルはキー交換に使用されます (Diffie-Hellman)。 状態を判断するために、ノードは常に ping リクエストを交換します。

すべてのボットネット ノードは、攻撃されたシステムや侵害されたシステムに関する情報を含む分散データベースを維持します。 攻撃ターゲットはボットネット全体で同期されます。各ノードは個別のターゲットを攻撃します。 XNUMX つの異なるボットネット ノードが同じホストを攻撃することはありません。 また、ノードは空きメモリ サイズ、稼働時間、CPU 負荷、SSH ログイン アクティビティなどのローカル統計を収集して隣接ノードに送信します。 この情報は、マイニング プロセスを開始するか、他のシステムを攻撃するためだけにノードを使用するかを決定するために使用されます (たとえば、負荷がかかっているシステムや管理者が頻繁に接続するシステムではマイニングが開始されません)。

フリッツフロッグを識別するために、研究者たちは簡単な方法を提案しました。 シェルスクリプト。 システムの損傷を判断するには
ポート 1234 でのリスニング接続の存在、 悪意のあるキー authorized_keys (同じ SSH キーがすべてのノードにインストールされている) と、関連する実行可能ファイル (「/proc/」を持たない実行中のプロセス「ifconfig」、「libexec」、「php-fpm」、「nginx」) のメモリ内の存在/exe" はリモート ファイルを指します)。 兆候は、ネットワーク ポート 5555 上のトラフィックの存在である可能性もあります。これは、Monero 暗号通貨のマイニング中にマルウェアが典型的なプール web.xmrpool.eu にアクセスするときに発生します。

出所: オープンネット.ru

コメントを追加します