By Luke van Zyl

どんな人のInstagramアカウントでもハッキング可能な手法をホワイトハッカーのラックスマン・マシヤーさんが公開しました。なお、マシヤーさんはInstagramの運営元であるFacebookに通告しており、脆弱性はすでに修正されています。

How I Could Have Hacked Any Instagram Account - The Zero Hack

https://thezerohack.com/hack-any-instagram#articlescroll

マシヤーさんが発見した脆弱性とは、パスワード再設定システムに関するもの。Instagramのパスワード再設定システムとは、登録された電話番号にSMS送信された6桁の認証コードを使用するものです。この認証コードの受付にはフィルタ機能が設けられており、同じIPから複数の認証コードを入力しても一定数以上は受け付けてくれないようになっていました。

しかし、マシヤーさんは、Instagramに6桁の認証コードの入力信号を複数のIPから同時に多数送信すると、フィルタ機能が飽和して信号が素通しになってしまう脆弱性を発見。その脆弱性を活用して、「000000」から「999999」までの全ての認証コードを総当たり攻撃すればパスワード再設定システムを突破して、どんなInstagramのアカウントでも不正にアクセスできることを突き止めました。

以下の記事を読むと、2016年時点のFacebookにはフィルター機能すらなかったことがわかります。その後、指摘を受けてFacebookはフィルタ機能を導入しましたが、そのフィルタ機能も不完全で今回マシヤーさんに破られてしまいました。

Facebookのパスワード再設定に脆弱性、他人のアカウントにフルアクセス可能だったことが判明 - GIGAZINE

マシヤーさんが実際にInstagramのパスワード再設定システムを突破しているムービーが以下。

How I Could Have Hacked Any Instagram Account | Proof of Concept - YouTube

ハッキングに使用するためのIPアドレスがこんな感じでズラリと並んでいます。

「Go」をクリックし、脆弱性診断でよく用いられているツールであるBurp Suite上で動作する自作スクリプトを起動すると……

正しい認証コードは「834506」だと判明。

正解の「834506」以外の約20万件の認証コードは全て「wrong code(間違った番号)」と表示されます。

「834506」の認証コードは、サーバーの認証を通過したので正解ということ。

マシヤーさんによると、1000個の異なるIPアドレスを用意することはAWSなどGCPなどのクラウドサービスを利用すれば容易であるため、この手法は想像以上に簡単で、1つのアカウントをハックするコストは150ドル(約1万6000円)で済むとのこと。この手法を活用すればどんな著名人のInstagramアカウントだろうとハッキング可能なので、150ドルはかなり安いわけです。Facebookはマシヤーさんの発見した手法を有効だと認定。脆弱性は修正され、マシヤーさんには報奨金として3万ドル(約320万円)が送呈されたそうです。