webhackingnotes
1-情報収集:情報収集は、セキュリティバグの狩猟の一部です。攻撃サーフェス偵察 - 戦略と標準化の価値
***仮想ホストの識別:複数のWebサイトが一般的に同じ物理サーバーに展開されます。
- 多くの組織のWebサイトは、共有リソースを使用してサービスプロバイダーによってホストされています。 IPアドレスの共有は、それらが使用する最も有用で費用対効果の高い手法の1つです。特定のIPアドレスに対して逆DNSクエリを実行すると、多くのドメイン名が返されることがよくあります。これらのWebサイトは、名前ベースの仮想ホスティングを使用しており、ホストヘッダー値によって同じIPアドレスでホストされている他のWebサイトと一意に識別および差別化されています。
- YouGetSignal(http://www.yougetsignal.com/)は、逆のIPルックアップ機能を提供するWebサイトです。
***サブドメインの列挙:
- VPSを使用してサブドメインを見つけることで、偵察を開始できます。見つけるサブドメインが多いほど、攻撃面が増えます。
- ウェブサイトのサブドメインを見つけることは、驚くべき場所に私たちを上陸させることができます。イスラエルのセキュリティ研究者であるNIR Goldshlagerによる講演を覚えています。NIRGoldshlagerでは、Googleサービスでサブドメイン列挙スキャンを実行しました。
***ポートスキャン:
- サブドメインを列挙した後、ポートスカンニングを開始して、ランニングサービスを含むより多くの攻撃面を識別できます。
- ポートスキャンを使用します - 通常の80,443だけを探してください - すべての65536ポートに対してポートスキャンを実行します。ランダムなハイポートで何が実行できるかに驚くでしょう。
- Portscanの結果は、企業の全体的なセキュリティを示すこともできます。たとえば、80および443を除くすべてのポートを閉鎖した会社(HTTPおよびHTTPSサイトをホストするための一般的なWebポート)はセキュリティ意識である可能性がありますが、多くのオープンポートがオープンしている会社は反対であり、賞の可能性が高い可能性があります。
- Webサーバー上のオープンポートを識別した後、基礎となるオペレーティングシステムを決定する必要があります。
- 基礎となるオペレーティングシステムとオープンポートが決定されたら、オープンポートで実行されている正確なアプリケーションを特定する必要があります。 Webサーバーをスキャンするときは、オペレーティングシステムの上で実行されているWebサービスのフレーバーとバージョンを分析する必要があります。
***コンテンツディスカバリー:非表示およびデフォルトのコンテンツを発見します
- インターネット検索エンジンの多くの用途のツアーを出発する前に、プロファイリングの効率を大幅に向上させることができる追加の検索関連の問題に注意したいと思います。 robots.txtファイルには、Googleなどの検索エンジンがインデックスまたは無視することになっているディレクトリのリストが含まれています。
- サイトマップは、努力がゼロで基礎研究を行うためのばかげた単純な方法です。 Doing a little URL hacking with the sitemap.xml slug will often return either an actual XML file detailing the site's structure, or a Yoast-or-other-seo-plugin-supplied HTML page documenting different areas of the site, with separate sitemaps for posts, pages, and so on.
- 隠されたディレクトリ、または忘れられたもの /バックアップなどを探しているアプリケーションをマップします。
- コンテンツの発見にアプローチする方法はいくつかあります。まず、BruteForceを使用してファイルとディレクトリを発見しようとします。
- ファジングツールを使用して、さまざまなパスを試して、URIが巨大なワードリストから取得し、レスポンスのHTTPステータスコードを分析して、隠されたディレクトリとファイルを発見することができます。
- Cewlは、Robin Hoodが作成したカスタムワードリストジェネレーターです。基本的には、ターゲットサイトを特定の深さまで叩き、単語のリストを返します。このWordListは、後で管理ポータルなど、Bruteforce Webアプリケーションログインの辞書として使用できます。
- 敏感な資産のブルートフォーチングと並行して、クモは、サイトマップなしで、ブルートを強化するだけでは提供できないサイトの写真を撮るのに役立ちます。
- Webサーバーには、管理者向けのディレクトリ、サイトの古いバージョン、バックアップディレクトリ、データディレクトリ、またはHTMLコードで参照されていないその他のディレクトリがあります。
- 一般的なfileおよびディレクトリ名と一般的な拡張機能のリストを取得します。これらのリストに、アプリケーション内で実際に観察されたすべてのアイテムと、これらから推測されるアイテムを追加します。アプリケーション開発者が使用する命名規則を理解してみてください。たとえば、adddocument.jspとviewdocument.jspというページがある場合、editdocument.jspとremovedocument.jspと呼ばれるページもある場合があります。
- 潜在的に興味深い存在を手動で確認して、結果内の誤検知を排除します。
***公開リソースを参照:ターゲットWebサイトに関する情報を公開されているリソースから蓄積する
- ファイルとディレクトリブルートフォーキングを超えて行く必要がある場合、Google Dorkingは、興味深いコンテンツの発見も提供することができます。 Google Dorkingは、特にURL、Redirect_TO、IDなどの脆弱性に一般的に関連付けられているURLパラメーターを見つける場合、時間を節約できます。
- 検索エンジンは常にハッカーの親友でした。主要なインターネット検索エンジンの少なくとも1つが、過去に少なくとも1回ターゲットWebアプリケーションをインデックス化したことは良いことです。
- Googleを超えて、特定の情報を見つける際に非常に貴重な特定の焦点を持つ他の検索エンジンがあります。人に関する情報を見つけたいか、公的記録について問い合わせるかにかかわらず、あなたが望むものを見つけるために特別な検索エンジンがなされる可能性があります。
- 連絡先情報など、アプリケーションのコンテンツで発見した名前と電子メールアドレスで検索を実行します。 HTMLコメントなど、画面上でレンダリングされていないアイテムを含めます。 Web検索に加えて、ニュースとグループの検索を実行します。ターゲットアプリケーションとそのサポートインフラストラクチャに関するインターネットフォーラムに投稿された技術的な詳細を探してください。
- 興味深いコンテンツを見つけるもう1つのアプローチは、会社のgithubを確認することです。会社からのオープンソースリポジトリや、使用するテクノロジーに関する有用な情報を見つけることができます。
- Githubは素晴らしいデータの宝庫です。パスワード、APIキー、古いソースコード、内部ホスト名/IPSなどを取得することができた多くの浸透テストと赤いチーム評価がありました。これらは、直接的な妥協をもたらすか、別の攻撃を支援しました。多くの開発者は、コードを間違ったリポジトリにプッシュする(会社のプライベートリポジトリの代わりにパブリックリポジトリに送信する)か、誤って敏感な素材(パスワードなど)を押してから削除しようとすることです。 GitHubで良いことの1つは、コードが変更または削除されるたびに追跡することです。
- Shodan(https://www.shodan.io)は、インターネットを定期的にスキャンし、バナー、ポート、ネットワークに関する情報をつかむ素晴らしいサービスです。
- Cansysは、インターネット上のすべての到達可能なサーバーとデバイスを継続的に監視するため、リアルタイムで検索して分析できます。ネットワーク攻撃の表面を理解し、新しい脅威を発見し、それらのグローバルな影響を評価することができます[https://censys.io/]。
- 忘れられたエンドポイントを見つけるためにWaybackMachineを利用してください
***テクノロジースタック:使用されるテクノロジーを特定します
- 新しいアプリケーションをテストするときに私が行う最初のタスクの1つは、使用されているテクノロジーを識別することです。これには、Frontend JavaScriptフレームワーク、サーバー側のアプリケーションフレームワーク、サードパーティサービス、ローカルホストファイル、リモートファイルなどが含まれますが、これらに限定されません。
- Webサイトの開発に使用されるフレームワークに関する知識を持つことで、未満のバージョンに存在する可能性のある脆弱性を特定する上で利点があります。
- 基礎となる技術が何であるかを探してください。これに役立つツールは、NMAPを再び&Webアプリの場合、特にWappalyzer
***新しいフーシャルの識別:
- また、JavaScriptファイルを追跡することにより、新しいサイト機能を見つけることもできます。 JavaScriptファイルに焦点を当てることは、サイトがFrontend JavaScriptフレームワークに依存してコンテンツをレンダリングする場合に特に強力です。このアプリケーションは、JavaScriptファイルに含まれるサイトが使用するサイトのほとんどのHTTPエンドポイントを持つことに依存します。
- 新しい機能へのアクセスのために支払います
***ソースコード:ソースコード分析は、通常、自動化されたビルドチェーンの一部として、または手動レビューとして、ホワイトボックスでのみ行われるもの、内部テストシナリオで行われるものと考えられています。しかし、ブラウザが利用できるクライアント側のコードを分析することは、外部の研究者として脆弱性を探す効果的な方法でもあります。