【バグハンターインタビュー】iQimpz
バグバウンティとはなにか、脆弱性診断の種別などについて詳しく知りたい方は脆弱性診断とは(⾮エンジニア向け)もしくは脆弱性診断とは(エンジニア向け)もぜひご参照ください。
【バグハンターインタビュー】とは、バグバウンティ業界のエキスパートがバグの種類や傾向について光を当てるインタビューシリーズです。 iQimpz氏はIntigritiの有名なバグハンターで、いつも質の高いIDOR(Insecure DirectObjectReferenceという脆弱性)のレポートを送ることで知られています。
Dylanさん、こんにちは。あなた自身について、またバグハンターになった経緯について教えてください。
こんにちは。私は20歳のバグハンターで、クリスチャンで、アメリカに住む大学生、Dylan Lawhonです。セントラル・アーカンソー大学(UCA)に通い、サイバーセキュリティの学位取得をめざしています。また、SANS Technology Instituteで応用サイバーセキュリティ(ACS)の学部証明書を取得中です。
バグハントや学業以外の時間は、愛する人と過ごすこと、ワークアウト、ハイキング、そして攻撃的なセキュリティに関するあらゆる研究を楽しんでいます。
私がバグハンターに興味を持ったのは、STÖKのYouTubeビデオを見て、ライブハッキングイベントやバグバウンティコミュニティの良い雰囲気を見てからです。CTF競技(Capture The Flag。情報セキュリティのスキルを競うコンテスト)をやっていて、一般的なバグの種類をすでに理解していたので、挑戦してみようと思ったんです。初めてバグをトリアージされたとき、興奮と喜び、そして重複していないことへの安堵感が爆発し、私はすぐに夢中になりました。今でも、自分のバグがトリアージされたときは、同じような感覚を覚えます。
では、今はどのような生活を送っているのでしょうか。バグバウンティをどのようなペースで行い、それはあなたの生活にどのようにフィットしているのでしょうか?
現在、UCAとSANS Instituteに通っていると結構な時間を取られてしまうので、趣味でバグバウンティをしています。バグバウンティを始めたのは2020年10月末なので、まだかなり最近ですが、すでに私の生活の大部分を占めるようになりました。
バグバウンティを始めて最初の3ヶ月で、Intigritiの90日リーダーボードで1位を獲得し、その間、他の活動に加えて、バグバウンティに週に〜80時間費やしていました。今は、学期末のプロジェクトで学校に時間を取られるようになったので、週に40時間くらいしかバグバウンティに費やせません。
朝は授業の前にバグハントをし、仕事を終えて1時間30分ほどジムに行ってから、次の日の朝までバグハントをするのが日常です。
どのようにターゲットにアプローチしますか?決められた手順に従っていますか?考えられる全てのバグ、全てのエンドポイントに対して脆弱性のテストを行いますか?あるいはそれ以外の方法でしょうか?
私はあらかじめ決められた方法論を持っているわけではなく、ターゲットがすべて異なるため、私のアプローチは常に異なっています。私はまだバグバウンティの経験が浅いので、自分の方法論に磨きをかけているところです。
現在、私は1つのターゲットに多くの時間を費やすことを好みます。なぜなら、より影響力のあるバグを発見でき、重複する可能性が低いからです。また、この方法は、少なくとも私にとっては、たくさんのターゲットを見て容易に解決できるバグを探すよりも楽しいのです。
どのターゲットにアプローチするときにも、変わらないことがいくつかあります。ひとつは、バグを探し始める前に、アプリケーションの目的とその動作についてよく理解することです。また、パラメータ名、隠しパス、DOMベースのXSS、情報漏洩、オープンリダイレクト、使用ライブラリなどを見つけるのに最適な場所なので、JavaScriptファイルは常にチェックしています。また、早い段階で、アプリケーションがどのような技術を使っているか、バックエンドとフロントエンドを調べるのも好きです。これを行うには、Wappalyzer、BuiltWith、Burp Pluginsのような自動化されたツールを使用する方法があります。また、異なるエンドポイントへのレスポンスヘッダを分析し、聞いたことのないものをググることで、手動で行うようにしています。これは、自動化されたツールでは検出されない、あまり知られていない技術を見つけるための素晴らしい方法です。
2つ目の質問についてですが、私は、いくつかの機能をテストしてすべての可能な脆弱性を調べたり、すべてのエンドポイントにわたっていくつかの脆弱性を探したりしてみました。私は間違いなく、より少ないターゲットで多くの脆弱性を検索することをお勧めします。一つは、同じバグを何度も探すのはすぐに飽きるからです。また、私がバグバウンティを行う主な理由は学ぶことなので、多くの脆弱性を探すことは、異なる脆弱性に関する私の知識を広げる機会がより多くあるため、より理にかなっているのです。
バグハントで重要な役割を果たすのは偵察ですか?また、それはあなたにとってどのようなものですか?
私のバグハントでは、偵察がとても重要です。しかし、私は必要なほどにはやっていないと言っておきます。
私はメインアプリケーションにこだわりたいので、サブドメインの列挙、ディレクトリのブルートフォース、取得の列挙などのような広範な偵察はあまり行いません。その代わり、私の偵察は、javascriptファイルの分析、テクノロジーフィンガープリント、パラメータファジング、GitHub、Google Dorking、Wayback Machineを使った古いAPIエンドポイントやファイルの発見で構成されています。
しかし、私の偵察は常に変化しており、将来的にはもっと注力していくつもりです。
最も力を入れて探す脆弱性のターゲットがあれば、その脆弱性名とその理由を教えてください。
大量に見つけたわけでもないのに、私の「お気に入り」脆弱性は、ブラインドXSSだと思うのです。実行されることを期待せずに、ブラインドXSSペイロードを送信するのです。そして、ある瞬間、XSSハンター(もし使っているなら)からメールが届き、多くの疑問で頭がいっぱいになります。例えば、それはどのプログラムからのものなのか?1ヶ月前に送ったペイロードなのか?それはどのエンドポイントで実行されたのか?サードパーティのウェブサイトにあるのだろうか?などです。
ターゲットに関しては、何らかの権限階層があり、ユーザー入力のための場所がたくさんあり、おそらくファイルアップロード機能があるようなターゲットが好ましいと思います。
あなたの強みはどのようなものですか?どのような種類のツールを頼りにしていますか、どのようにそれらを選択していますか、そしてあなたのお気に入りはどれでしょうか?
私のツールはとてもシンプルです。メイン/お気に入りは、Burp SuiteとGoogleです。この2つのツールを使うだけで、成功したバグハンターになれます。また、この2つは最も一般的なツールなので、あまり説明する必要はないでしょう。それ以外では、技術のフィンガープリントにWappalyzerとBuiltWithを使っています。ウェブパスの発見には、DirsearchとWayback Machineを使用しています。サブドメインの列挙にはAmass、そしてアクティブなものを見つけるにはhttprobeです。
自動化について説明してもらいましょう。多くのハッカーは、偵察、大規模テスト、さらにはサブドメイン乗っ取りなどのバグの自動報告などに活用しています。しかし、手動テストでしか発見できないようなロジックや高度なバグに焦点を当てたい人もいます。自動化について、あなたはどのようにお考えでしょうか?また、それに時間を費やす価値があると思いますか?
現在、私のバグハントの大部分は手作業です。自動化されているのは、新しいターゲットで起動するときの基本的な偵察用のbashエイリアス、s3バケットの設定ミスのテスト、ウェブパスの発見、その他細かいものです。また、あるサブドメインに基本的な脆弱性があり、ターゲットに類似のサブドメインが多数ある場合、すべてのサブドメインでそれをテストする小さなスクリプトを書きます。それ以外は、すべて手作業です。
自動化は、「時間をかける価値がある」と思っているので、今後もっとやっていこうと思っています。
毎週何時間くらいバグハントをしているのですか?
2つ目の質問にあるように、今では1週間に約40時間をバグバウンティに費やしていますよ。
バグハントについて、過去の自分にアドバイスするとしたら?
2つあります。1つ目は、1つのターゲットに多くの時間を費やすことです。2つ目は、すべてのプログラムにはまだ未発見のバグがあるので、興味のあるプログラムでバグハントしてください。7日経ったプログラムでも、7年経ったプログラムでも、まだバグがあります。
バグハンターが直面する大きなハードルのひとつに、情報の過多があります。攻撃やツールの進化のスピードに、どのようについていけばいいのでしょうか。また、情報量の多さに圧倒されている初心者の方に、どのようなことを伝えたいのでしょうか。
世の中には膨大な量の情報があり、初心者にとっては越えられない壁のように思えるかもしれません。そのため、多くの人が落胆し、辞めてしまうのです。その大きな理由のひとつは、「過程」ではなく「ゴール」を意識しすぎていることだと思います。ゴールとは、7桁の報奨金を稼ぐことや、ライブハッキングイベントに招待されることですが、バグハンターがその地点に到達するために何百時間、何千時間と費やしてきたことを理解していないのです。毎日何を学んでいるかで成功を測るようになれば、努力している限りは勝ち組です。
ですから、初心者の方には、毎日、バグバウンティに関して何かを学ぶことに集中することをお勧めします。それが何であっても構わないので、自分が興味のあるものを選んでください。そのうちに、いろいろなことが結びついてくるし、そのときは無駄だと思っていた情報が、将来役に立つことがよくあります。
私は、いくつかの方法で最新の情報を入手しています。Twitterは欠かせません。適切な人をフォローすれば、新しいツール、洞察に満ちた研究、新しいCVE、イベント、執筆など、多くの最新情報を得ることができます。また、私は手に入る限り多くの記事を読んでいます。Pentester Landのバグバウンティの書き込み一覧、IntigritiのBug Bytes、Hackerones Hacktivitiyは素晴らしいリソースです。 また、STÖKのBounty Thursday YouTubeビデオも良い情報源です。
報奨金で購入した、一番魅力的なものは何ですか?
バグバウンティの報奨金は全部投資したり貯めたりしてるので、まだあまりカッコいいものは買ってないです。
メンターであれ、コミュニティメンバーであれ、あなたがエールを送りたいハッカーは誰ですか?
コミュニティのメンバーやリーダーの中で、私がエールを送りたい人が何人かいます。まず、@securinti。彼はとてもクリエイティブで革新的なハッカーで、とても興味深いバグをいくつか見つけてくれました。彼はまた、とても親切で、Intigritiのプラットフォームについて私が抱いたどんな質問にもいつも答えてくれました。
また、@stokfredrikにもエールを送りたいと思います。彼はとても優秀なコンテンツクリエイターであり、ハッカーでもあります。私がバグバウンティに興味を持ったのは、彼のビデオを見てからだとも書きました。
他にも、@TomNomNom、@NahamSec、@samwcyoを紹介しておきます。彼らは皆、非常に才能のある立派なバグハンターで、彼らが発信するすべての記事、ツール、コンテンツ、ヒントに本当に感謝しています。
バグバウンティプラットフォームに期待すること、Intigritiを選んだ理由を教えてください。
私は、自分のレポートが公正に扱われることを望んでいますが、Intigritiでは常にそうしてくれます。また、質問やレポートが時間通りに返信されることも期待しており、Intigritiがどのようにしているのか分かりませんが、90%の確率で24時間以内に返信があり、残りの10%も非常に早いです。そして、トリアージからの優しい言葉、スワッグ引換券、親切なサポートチームメンバー、コンテンツクリエイターへのスポンサーシップなど、Intigritiがバグハンターのためにしてくれることがとても気に入っています。もうひとつ、単純なことですが、Intigritiのみんなが私の努力を評価してくれていることを実感できるのも大きなポイントです。
インタビューに答えていただき、ありがとうございました。最後に一言お願いします。
この素晴らしいプラットフォームと、私のバグバウンティへについての洞察を共有する機会を与えてくれたIntigritiに感謝したいと思います。ご質問やご意見がありましたら、Twitterの@iqimpzにDMをお送りください。
出典:Intigriti
https://blog.intigriti.com/2021/04/12/get-to-know-qimpz-one-of-intigritis-top-hackers/
———————————————
バグバウンティプログラムを活用してみる
スリーシェイクは欧州を代表するバグバウンティプラットフォームを提供するIntigritiと世界で初めて提携。高い技術力を持ったスリーシェイクのセキュリティエンジニアが、専門的なトリアージ・英語でのコミュニケーションなどの運用を代行。セキュリティ領域の専門家がいない、社内のリソースをかけられない企業もバグバウンティプログラムを活用できます。