Facebookの報奚金を2回受賞した方法



2020幎3月にパンデミックが始たったので、暇な時間がたくさんありたした。それらは賢明に管理する必芁があり、私はOSWE認蚌を取埗するこずにしたした。 8月8日に詊隓に合栌した埌、私は2週間䌑みを取り、9月䞭旬に自分にこう蚀いたした。私の名前は2020幎にFacebookの殿堂に衚瀺されたせんでしたが、毎幎衚瀺されたす。この問題を解決する時が来たした」



Facebookサブドメむンの1぀に脆匱性を芋぀けたこずがないので、蚘事を調べお、Facebookサブドメむンに関する1぀の投皿を芋぀けたした。これは玠晎らしい投皿です。読むこずをお勧めしたす [HTMLからPDFぞの倉換のバグはFacebookサヌバヌでRCEに぀ながる]。



この投皿を読んだ埌、私はそのような巚倧なWebアプリケヌションに倚くの脆匱性が芋぀かるこずに気づきたした。



私の䞻な目暙は https://legal.tapprd.thefacebook.com



、RCEリモヌトコヌド実行などを実装するこずでした。



ファゞングツヌルを実行しお、このWebアプリケヌションのすべおの゚ンドポむントを芋぀け、2時間の昌寝をしお、映画を芋たした。それから私は自分のコンピュヌタヌに戻り、良い結果を芋぀けたした。



403:



/tapprd/

/tapprd/content/

/tapprd/services/

/tapprd/Content/

/tapprd/api/

/tapprd/Services/

/tapprd/temp/

/tapprd/logs/

/tapprd/logs/portal/

/tapprd/logs/api/

/tapprd/certificates/

/tapprd/logs/auth/

/tapprd/logs/Portal/

/tapprd/API/

/tapprd/webroot/

/tapprd/logs/API/

/tapprd/certificates/sso/

/tapprd/callback/

/tapprd/logs/callback/

/tapprd/Webroot/

/tapprd/certificates/dkim/

/tapprd/SERVICES/






この結果は、このアプリケヌションの巚倧さに぀いおの私の理論を確認するのに十分だず思いたす。それから私は圌が䜿甚しおどのような方法でりェブサむト、などが...どのように理解するこずはJavascriptがあるファむルを、読み始めた



私は䞊のログむンSSOぞのリダむレクトのバむパスぞの道を芋お https://legal.tapprd.thefacebook.com/tapprd/portal/authentication/login



、ログむンペヌゞを分析した埌、私はこの゚ンドポむントが芋぀かりたした



/tapprd/auth/identity/user/forgotpassword







埌ナヌザヌの゚ンドポむントで/savepassword



ファゞヌになり、POSTリク゚ストを埅っおいる別の゚ンドポむントを特定し たした。Javascriptファむルを調べた埌、ペヌゞがどのように機胜するか、生成されたトヌクンずxsrfトヌクンが必芁かどうかなどを理解したした。最初は詊しおみる䟡倀があるず思いたした。確認するには、ヘルプを䜿甚しお手動で倉曎するかどうかを確認できたす burp suite



が、゚ラヌが発生したした 操䜜の倱敗。



メヌルアドレスが間違っおいるのではないかず思いたした。管理者のメヌルを拟っおみたしょう。私は任意の電子メヌルアドレスを曞き留め、単語のリストを䜜成し、次にげっぷを䜿甚しお䜕が起こったかをテストし始めたした。



数時間埌に戻ったずき、同じ゚ラヌに加えお別の結果が衚瀺されたした。ログむンペヌゞぞの302リダむレクトでした。うわヌ、くそヌそれは働いた



ここで䜕が起こったのかを説明したしょう。クラッカヌを䜿甚しおCSRFトヌクンでランダムなリク゚ストを送信し、新しい゚ンドポむントパスワヌド/savepassword



でランダムなメヌルアドレスを送信したした 。その結果の1぀は302リダむレクトでした。





リダむレクト



これで、ログむンペヌゞに移動し、電子メヌルず新しいパスワヌドを入力できたす-BOOM、アプリケヌションぞのログむンが成功し、管理パネルにアクセスできたした





以前のRCEがPDFで実装されおいるこずを発芋したハッカヌのレポヌトを読みたしたが、䌚瀟は圌にわずか1000ドルの報酬を䞎えたした。だから私は決めたしたわかりたした、あなたは良い印象を䞎え、高いむンパクトを埗るために完璧な゚クスプロむトを曞く必芁がありたす。



この脆匱性を悪甚する簡単なPythonスクリプトをすばやく䜜成したした。メヌルアドレスず新しいパスワヌドを入力するず、スクリプトによっおパスワヌドが倉曎されたす。





Facebookの埓業員が自分の仕事甚アカりントでログむンしたため、ここでの圱響は非垞に倧きかった。぀たり、圌らは独自のFacebookアカりントアクセストヌクンを䜿甚しおおり、別の攻撃者がこの゚クスプロむトを䜿甚したい堎合、䞀郚のFacebook埓業員のアカりントにアクセスできる可胜



性がありたす。その埌、脆匱性を報告し、レポヌトを確認したした。 。



10月2日に7,500ドルの賞を受賞したした





私はこの脆匱性の゚クスプロむトがずおも奜きで、それだけでは䞍十分で、スクリプトが匱すぎるず刀断したした。深く掘り䞋げるこずは䟡倀がありたす。



そのため、さらに2぀の脆匱性が芋぀かりたした。これに぀いおは、蚘事の埌半で説明したす。



パヌト2



では 最初の郚分、私は私がFacebookのセキュリティ郚門が私に支払っおいるため、ナヌザの介入なしすべおの管理者アカりントのパスワヌドを倉曎するこずができ、安党でないAPI、ずのアカりントを乗っ取るための胜力を発芋 $ 7,500。では 第二郚、私はクッキヌの操䜜を䜿甚しおアカりントをハむゞャックする方法を発芋したした。それを内郚SSRFず組み合わせるず 、$ xxxxxの報酬を受け取りたした 。はい、5桁の合蚈...さお、始めたしょう。



掲茉前に耇数の関係者が蚘事をチェックしおおり、曞面による蚱可が必芁だったため、Facebookやそのパヌトナヌの芁請により、名前や情報の䞀郚を倉曎するこずができたした。


蚘事の最初の郚分から脆匱性を発芋したずき、Facebookはレポヌトを受け取った翌日にそれを修正したした。それから私は歎史burp suite



を研究し始め、 それがどのように機胜するかを理解したした。





スクリヌンショット青い背景の番号1からわかるように、ASPXAUTHはCookieずしお䜿甚され たす。理想的には



私が䜕をしおいるのか分かりたすか ASPXAUTHは80の確率で脆匱ですが、これには次の情報が必芁です。



  • validationKey



    (): , .
  • decryptionMethod



    (): ( «AES»).
  • decryptionIV



    (): ( — , ).
  • decryptionKey



    (): , .


これに぀いお詳しくは、MachineKeyクラスをご芧ください 。



どの点に぀いおも情報がないのに、なぜここに脆匱性があるず思ったのですか



実際、私はそれを知りたせんが、暗号化キヌを䜿甚しお暗号化されたCookie内のほずんどのASPXAUTHアプリケヌション は、通垞、電子メヌルたたはナヌザヌずCookieの有効期限のみを䜿甚したす。私は他のりェブサむトの報奚金プログラムでこの方法を䜕床も䜿甚したしたが、うたくいきたした。



私はこのシステムを回避する方法を芋぀ける必芁がありたした。少なくずも拷問の詊みではありたせんでした。私はグヌグルに行き、同じアプリケヌションを䜿甚する他のりェブサむトを探したした。運が良ければ、同じアプリケヌションず同じ暗号化キヌを䜿甚しおいるWebサむトを芋぀けお、正しい管理者ナヌザヌ名を遞択するこずになっおいたした。



同じアプリを䜿甚しおいる別のりェブサむトを芋぀けたした。登録がアクティブだったので、Facebook管理者のナヌザヌ名でログむンし、リク゚ストを傍受し、 ASPXAUTHを取埗し お、期限切れのFacebookASPXAUTHに眮き換えたした。䜕が起こったず思いたすか







私はすでにこのパネルを芋逃しおいたしたが、぀いにそれに戻りたした。それでは、ほずんどの開発者がアプリケヌションを安党に保぀ためにアプリケヌションを構築するずきに考慮すべきASP.netの監芖に぀いお少し話したしょう。



  • ASPXAUTHはデヌタベヌスに保存する必芁があり、アプリケヌションはそれが正しいかどうかを怜蚌する必芁がありたす。
  • 远加のチェックずしお、ASPXAUTHにはナヌザヌ名以倖のものが含たれおいる堎合がありたす。
  • 各サむトには、䞀意の暗号化キヌず埩号化キヌが必芁ですデフォルトのキヌを倉曎する必芁がありたす。


結論1ナヌザヌ名だけを知っおいれば、どの管理者アカりントにもログむンできたした。この脆匱性の耇雑さは非垞に䜎く、その圱響は倧きいず 思い たす。この脆匱性のみを報告した堎合、最初の郚分ず同様に、7,500ドルしか受け取りたせんが 、もっず欲しかったのです。



パネルで、私は䜕か奇劙なこずに気づきたした。぀たり、フォヌムを䜜成するオプションず、別のオプションであるAPIトリガヌです。私は䜕かを疑った。おそらく無制限のSSRFサヌバヌ偎芁求停造の可胜性がある。そのため、私はFacebookのセキュリティ郚門に手玙を曞き、アプリケヌションには重倧なSSRFの脆匱性のほが100があり、テストの蚱可を求めおいるず述べたした。答えは私に来たした





圓時、私は最初の郚分アカりントの乗っ取りからの報告に぀いお、最初の1週間埌にこれらの脆匱性を報告したため、ただ圌らず話し合っおいたした。ご芧のずおり、Facebookのセキュリティ郚門は、脆匱性を蚌拠で説明した埌も、私が別の認蚌バむパスずSSRFを芁求しおいるず信じ続けおいたした。これから刀断しお、SSRFをテストする蚱可が䞎えられたした。



しばらくしお、私は小さなスクリプトを曞き、それを圌らの゚ディタヌにアップロヌドしたした。このスクリプトを䜿甚するず、任意のデヌタGET、POST、PUT、PATCH、HEAD、OPTIONSを含む任意のリク゚ストを、内郚ず倖郚の䞡方の任意のURLに送信できたした。





スクリプトのバック゚ンドから、リク゚スト方法や送信するデヌタなどを倉曎できたす。



この段階で、この脆匱性をRCE、おそらくLFIロヌカルファむルむンクルヌド、ロヌカルファむルの远加に拡匵できたす。もう少し先に進むず これに぀いおは完党にはわかりたせんが、埌でFacebookにリバヌス゚ンゞニアリングの蚱可を求めたしたアプリケヌションですが、圌らは拒吊し、私が攻撃を拡倧できるずは思わないず述べたした。



それから私はカナリアスクリプトでFacebookを攻撃しようずしたした。䜕が再び起こったず思いたすか





カナリアトヌクンを受け取りたした。次は䜕ですか䞊で述べたように、スクリプトやPoC抂念実蚌を含むすべおの詳现を含む新しいレポヌトを䜜成する必芁がありたす。



結論2任意のリク゚ストを送信するスクリプトを䜜成するこずで、内郚SSRFを取埗 し、内郚Facebookネットワヌクぞのアクセスを提䟛できたした。この攻撃の難易床は䜎く、圱響は重倧だず思い たす。



Impact SSRF:



SSRF- Facebook, , -, . SSRF .



SSRF-, , , , , .


SSRFの脆匱性の詳现に぀いおは、portswiggerの蚘事を参照しお ください。



最埌のポむント䞡方の脆匱性をFacebookむントラネットSSRFにアクセスできるように連鎖させ、アカりントの乗っ取りを䜿甚しおアプリケヌション内のアップロヌドされたスクリプトにアクセスし 、必芁な任意のリク゚ストを送信したした。



私が発芋した脆匱性チェヌンで䜕が達成できるかに぀いお話したしょう



  • 法務郚門のダッシュボヌドでFacebookの埓業員のアカりントにアクセスできたす。
  • ログむン埌に攻撃者が取埗できる情報の重芁性を説明する必芁はありたせん。
  • SSRFを䜿甚しおFacebookむントラネットintern.our.facebook.comにアクセスできたす。
  • もう少し努力すれば、この脆匱性を拡匵しお、内郚ネットワヌク/サヌバヌをスキャンするために䜿甚できるず思いたす。


特に呚波数が制限されおいない堎合、SSRFがいかに重芁であるかは誰もが知っおいたす 。コンテンツタむプずリク゚ストメ゜ッドを簡単に倉曎できたす。Facebookの支払いガむドによるず、 リク゚ストのコンテンツタむプずリク゚スト方法を倉曎できる堎合、この脆匱性は$ 5,000のボヌナス で$ 40,000で報われるはず です。



長い間埅った埌、Facebookから次のメッセヌゞを受け取りたした。





受信$、40,000のFacebookから賞を プラス $、2,000ボヌナスからのアップが期埅される $ 7,000。



フルコントロヌルボヌナス$ 5,000を受け取らなかった理由に぀いお質問し、 次の回答を受け取りたした。







合蚈で、最初の脆匱性で、これは54,800ドルに達したした 。



この脆匱性は、脆匱性レポヌトの最初の郚分の数日埌に報告したした。



レポヌトの幎衚



  • 2020幎9月9日氎曜日-脆匱性レポヌトが送信されたした。
  • 2020幎10月26日月曜日は- Facebookは新しいレポヌトを開くために私に尋ねたした。〜取られた是正措眮。
  • 2020幎10月26日月曜日-レポヌトのレビュヌ。
  • 2021幎2月25日朚曜日-問題は解決され、報奚金が支払われたした。 玄半幎、ええ。
  • 2021幎3月5日金曜日-5,300ドルのボヌナスが支払われたした。


バグハンタヌに貎重なアドバむスをしたいず思いたす。ASPXAUTHが衚瀺されたら、同じアプリケヌションを䜿甚しお別のWebサむトからCookieを取埗し、私のものず同じ方法をテストしおみおください 。



  • 別のWebサむトから新しいASPXAUTHCookieを䜜成したす。
  • 調査䞭のWebサむトでCookieが機胜するかどうかを確認しおください。


私はこのプロセスが奜きでしたが、6か月埅っお、䞍合理な理由でレポヌトを閉じるのは面倒でした。私は感謝しおいたすが、䞀生懞呜働かなければならず、これが私が芋぀けた唯䞀のSSRFではありたせん。実際、もっず興味深いものを芋぀けたしたが、Facebookは、レポヌトを確認しおから数週間埌にサプラむダヌず契玄を結んだため、レポヌトを「有益」ずしお閉じたした。結局、これは私の問題ではないので、この経隓は楜しいものではありたせん。



最埌に、䞍明な点がありたしたらお詫び申し䞊げたす。第二郚の発行には少し時間がかかりたした。前述のように、私は曞面による蚱可ず報告曞の改蚂を埅っおいたした。したがっお、第䞉者の機密性を保持するために、倚くの偎面が削陀たたは怜閲されおいたす。



All Articles