ThinkPHP の古い脆弱性 CVE-2018-20062/CVE-2019-9082:中国の脅威アクターに悪用される

Chinese Threat Actor Exploits Old ThinkPHP Flaws Since October 2023

2024/06/07 SecurityAffairs — ThinkPHP に存在する2つのリモート・コード実行の脆弱性 CVE-2018-20062CVE-2019-9082 が、中国の脅威アクターに悪用されていることが、Akamai の研究者たちにより判明した。この、遅くとも 2023年10月から展開されているキャンペーンは、当初は限られた数の顧客/組織を標的としていたが、最近になって攻撃の対象を広げているという。この攻撃は、香港ベースの Zenlayer クラウド・プロバイダー (ASN 21859) にホストされている、各種サーバの IP アドレスから発信されていた。


Akamai のレポートには、「この攻撃者は、複数の既知の脆弱性の悪用に成功している。その代表的な例が、数年前に発見された、ThinkPHP のリモート・コード実行 (RCE:remote code execution) の脆弱性である、CVE-2018-20062 と CVE-2019-9082 だ」と記されている。

中国由来の ThinkPHP フレームワークに存在する、脆弱性 CVE-2018-20062/CVE-2019-9082 は、NoneCMS や BMS などの CMS に影響を与える。これらの脆弱性の悪用に成功した攻撃者は、被害者のサーバ上でのリモート・コード実行が可能になる。これらの脆弱性は、2018年から数年にわたって公開された、各種 ThinkPHP コンポーネントを標的とする、さまざまな悪用形態の一部である。

Akamai が新たに発見した攻撃では、これらの脆弱性を悪用する攻撃は、中国に存在する侵害したサーバから “public.txt“ という名前のファイルをダウンロードすることから始まる。このファイルは、被害者のシステムに “roeter.php” として保存されるが、これは “router”  のスペルミスと思われる。ダウンロードされたファイルには、難読化された Web シェル、つまり遠隔操作のためのサーバ側のバックドア・スクリプトが含まれている。この Web シェルのコードは、基本的な ROT13 変換を使って難読化されており、長い HEX 文字列になっている。攻撃者は Web シェルにアクセスするために、“admin” という単純なパスワードを使っていた。

ThinkPHP

Akamai は、「Web シェルには、ファイル・システムをナビゲートする高度な機能が備わり、難読化を目的としたファイルの編集/削除に加えて、タイムスタンプの変更などを可能にしている。Dama と呼ばれる Web  シェルの UI は、繁体字中国語になっている。さらに Dama は、前述の高度なメカニズムに加えて、サーバへのファイル・アップロードを容易にし、また、OS や PHP の正確なバージョン情報などの、重要な技術システム・データを収集する」と詳述する。

Dama が目立つのは UI が中国語だからだと、専門家たちは指摘している。

悪用後の機能に含まれるものには、ネットワークポート・スキャンに加えて、データベースやサーバのデータへの不正アクセスなどがある。されに、この Web シェルは、サーバ上でシェルコマンドを実行するために、機密 PHP 関数をバイパスして権限を昇格させ、また、Windows タスク・スケジューラーを介して WMI を再設定し、権限の高いユーザーを追加する。Akamai の研究者たちは、この Web シェルには広範な機能が備わっているが、OS のシェルコマンドをダイレクトに実行するための、CLI (command-line interface) がサポートされていないと指摘している。

Akamai のレポートは、「この Web シェルは、One-Day 脆弱性の1つの例だ。それが知られてから、どれだけ時間の経過していようが、それを標的として悪用し続ける攻撃者は、顕著な成功を収めている。つまり、ユーザー組織が直面する永続的な課題である、脆弱性が存在する資産の特定と、効果的なパッチ管理プロセスの維持の難しさが、浮き彫りにされている。最近の、中国の脅威アクターたちの傾向として、被害者コントロールのために設計された、本格的な Web シェルの採用がある。興味深いことに、標的とされた、すべてのユーザーが ThinkPHP を使用していたわけではなく、幅広いシステムが無差別に標的にされた可能性も示唆される」と締め括られている。