セキュリティ更新を適用していないPHPサーバを公開し、ビットコインを賞金として侵入を募る実証実験が、開始から19時間17分で攻略された。実際に攻撃可能な条件が整った後は約3時間で侵害が確認され、PHPの脆弱性「PHP2Shell」が実環境のサーバ侵害につながる可能性を改めて示した。
10月26日付のGigazineによると、セキュリティ研究者のジェームズ・パヴァー氏が実施したハッキングチャレンジ「Steal My Bitcoin」は、参加者のKillaBoiが侵入に成功したことで終了した。実験は、最近見つかったPHPの重大な脆弱性「PHP2Shell」が、実際のサーバ攻撃に悪用され得るかを確かめる目的で行われた。
主催者は、セキュリティパッチを適用していないPHP 8.4.26サーバを公開し、参加者にサーバへ侵入してビットコインウォレットの秘密鍵を見つけ出すよう求めた。
賞金は当初約500ドルだったが、追加の寄付により約2000ドルまで積み増された。攻撃対象はWebアプリケーションとPHP実行環境に限定され、サーバ基盤への攻撃やサービス妨害は禁止された。
開始から17時間以上たっても成功者が現れなかったため、設定不備を指摘する声が上がった。セキュリティ研究者のLiveOverflowは、サーバ上でPHPコードを実行できるページが用意されていなかったと説明した。
主催者はその後、該当ページを追加した。その約3時間後、KillaBoiがサーバ侵害に成功し、チャレンジは終了した。
KillaBoiは、PHPのメモリ不足時の処理に関する欠陥を悪用してサーバ内部の情報を取得し、その後、遠隔でのコマンド実行に成功したと明らかにした。攻撃手順はGitHubで公開している。
ただ、主催者がサーバに誤ったビットコインの秘密鍵を保存していたため、参加者はウォレットから賞金を直接取得することはできなかった。主催者は侵入成功を確認した後、0.02511679BTCを賞金として支払った。
今回の実験は、一定の条件下ではPHP2Shellが実際のサーバ侵害につながり得ることを実証した。