Facebookをハックする方法

いいね 「Facebookをハック」することはあまりありませんでした。 Facebookサーバーの1つでオペレーティングシステムレベルのコマンドを実行できました。



物語は私がそれをやった方法です。



昨年9月、私はひどいインフルエンザにかかった。 ベッドでうろついているのは退屈で、 Facebook Vulnerability Finderプログラム(Bug Bounty Facebook)を掘り始めました。 私は以前に同様のプログラムに参加したことがありますが、Facebookプログラムには参加していません。



ところで、これはまったく複雑なハックではありませんが、機能しました。



nmapで開始し、ポートをスキャンし、Facebookが所有するドメインに限定します。 異なるIPアドレスでいくつかのサービスが見つかりました。 また、Facebookが行った買収についても調べました。 検出されたサービスの標準ポートの同様のスキャンを実施しました。



Facebookが取得したIPアドレスの1つにJenkinsがいて、標準ポートで作業していました。 残念ながら、ブラウザで開いた後、残念ながら、基本認証のログインウィンドウが表示されました。 これは、他のほとんどの脆弱性ハンターとFacebookのセキュリティチームがテストを完了する場所だと思います。



nmapをフルポートスキャンにすることにしました。 結果は、標準以下のポートで実行されている別のJenkinsサービスを示しました。 それにアクセスできて、認証は私に期待していませんでした。 ビンゴ!



知らない人のために、 ジェンキンスは継続的インテグレーション(CI)サーバーです。 認証後、Jenkins Script Consoleを介してGroovyコードを実行できます。



GroovyコードとJenkins Script Consoleを使用して、ユーザーjenkinsの下でサーバー上でコマンドを実行できました

whoamiコマンドを実行するサンプルGroovyコード:



def command = """whoami""" def proc = command.execute() proc.waitFor() println "stdout: ${proc.in.text}"
      
      





Facebookはこの問題を報告し、非常に迅速に修正しました。 私は彼らの脆弱性検索プログラムを通じて7500ドルを受け取りました。 支払いには数ヶ月かかり、多くの手紙が行き来しました。 しかし、最終的に私はそれを得た。



結果は何ですか? 基本を忘れないでください。 Facebookの買収の1つで、 nmapのみを使用してベッドに横たわっているだけで、かなり危険な間違いを見つけました。



支払いについてFacebookに感謝の意を表したいと思います。今後エラーについてもっと伝えられることを望みます。



All Articles