セキュリティ
Jaydip Modhwadia氏、PHP2Shellの現実的な悪用可能性を検証する課題を約3時間で突破
英国を拠点とする開発者でペンテスターの人物が、先週インターネットを大混乱に陥れたPHP2Shell脆弱性の悪用が可能であることを実証し、2,000ドル相当のビットコイン賞金を獲得しました。
賞金を獲得したのは、「Killa」の名で知られる26歳のJaydip Modhwadia氏です。賞金を設定したのはJames Pavur氏で、同氏は10月24日に「Steal My Bitcoin」サイトを公開していました。
PavurはCTF(キャプチャー・ザ・フラッグ)形式の課題を立ち上げ、自身のウェブサイトでリモートコード実行(RCE)を達成した人に2,000ドル相当のビットコインを贈ると約束しました。サイバーセキュリティ業界で言われているほどPHP2Shellの悪用は容易ではないことを証明するのが狙いでした。
Modhwadia氏が賞金を獲得した後、サイトには「私のビットコインは19.28時間後に盗まれました」と表示されています。ただし、実際にかかった時間は3時間未満とみられています。
Pavur氏が土曜日にCTFを開始した直後から、フラッグ獲得を狙う参加者から不満の声が上がりました。同氏が用意したサイトは静的HTMLしか配信しておらず、PHP2ShellのエクスプロイトでRCEを達成できる構成になっていなかったためです。
このウェブページでは脆弱なバージョンのPHPが動作していました。しかし、攻撃経路を成立させるには、参加者がフックとして利用できるPHPファイルを脆弱なサイトが配信している必要がありました。Pavur氏は10月25日の1300 UTC頃に、この点を修正したようです。
Modhwadia氏は、PHPエンドポイントが公開された状態のウェブサイトで、1547 UTCにRCEを達成しました。
その後、Pavur氏がサーバー上に誤ったウォレットキーを配置するミスがありましたが、CTFの主催者はModhwadia氏に賞金を送りました。賞金額は、Pavur氏が当初設定した500ドルから、コミュニティの上乗せにより2,000ドルに増えていました。
このペンテスターは自身の手法をまとめた解説記事を公開しました。手法は単一ファイルのPythonスクリプトで、完全に実行するのに必要なHTTPリクエストは「多くても」20回だといいます。
Modhwadia氏はThe Registerの取材に対し、フラッグの獲得には「合計でおよそ3時間ほど」かかったと改めて認めました。コンテストの動向は追っていたものの、「大きな注目を集めるまでは挑戦しなかった」と話しています。
Pavur氏がエンドポイントを導入する前に挑戦していたら、苦戦した可能性があります。CTFの話題がテック界隈で一気に広がったことで、バグバウンティハンターが何時間にもわたってサイトへのアクセスを試みていたためです。
Modhwadia氏は次のように付け加えました。「19時間かかったのは、人気が出た後にサイト全体が誰にとってもほぼ使えない状態になったからです」
Pavur氏はNginxに1MBというかなり厳しいリクエスト上限を導入しましたが、それでもこの課題には膨大な数の挑戦が集まりました。
Hudson RockのAlon Gal共同創業者兼CTOは、Modhwadia氏の取り組みを称賛しました。一方で、わずか数時間で成功したからといって、同じ攻撃を大規模に自動化できることを意味するわけではないと指摘しています。
同氏は次のように述べました。「これは、自律型AIエージェントが任意のPHPサーバーを大規模に侵害できるようになったということでしょうか。そうではありません。これは高度で、標的を絞ったエクスプロイトでした。
ただし、技術的に意味のある制約があっても、PHP2Shellを実際の標的に対して武器化できることは示しています」
Modhwadia氏の概念実証(PoC)は、PHP2Shellが悪用可能であることを示した最初の事例ではありません。ただ、より高度な部類に入ります。
当初は、脆弱なサーバー上のアドレス空間配置のランダム化(ASLR)が、現実の悪用に対する大きな障壁になるとの見方が出ていました。このペンテスターの手法は、ASLRを回避します。最近明らかになった他の手法も同様に回避しています。
VulnCheckのエクスプロイト開発ディレクターを務めるSpencer McIntyre氏は先週、The Registerに対し、攻撃者はPHP2Shellを悪用する新たな手法を見つけていると語りました。同氏は、攻撃者は「このバグに明らかに時間(とトークン)を費やしている」と述べています。
当初、専門家の間では、脆弱性が公表される数時間前、場合によっては数日前に、エクスプロイトコードがオンライン上で見つかっていたとの指摘がありました。これが数百万件のエクスプロイト試行につながりましたが、実際のシステムに対する有効性を判断するには時期尚早でした。
先週は、組織が攻撃から自衛しようと急いだ結果、数多くのウェブサイトがメンテナンスのために停止されました。こうした攻撃が成功していたかどうかは不明です。
Modhwadia氏は、受け取った賞金の一部をLupus Foundation(ループス財団)に寄付したと明かしました。同氏自身もループスを患っており、この病気への理解を広めるためだといいます。®