最新のWebアプリケーションセキュリティ調査方法:ツール

画像



この記事では、Webアプリケーションのセキュリティをテストするためのツールについて説明します。 メインステージと作品のチェックリストは前の記事で提示されています



ほとんどのユーティリティは、人気のある侵入テストディストリビューション(Kali Linux、BlackArch、BackBox Linux)に含まれています。 何らかの理由でこれらのディストリビューションを使用する機会がない人のために、github /ユーティリティページへのリンクを公開しています。



マイルストーン



テストを完全に行うには、以下の推奨事項に従って、Webアプリケーションに応じて特定の段階をカスタマイズする必要があります。 次に、それぞれに適した手順とユーティリティについて説明します。



知能



ポートスキャン。 この段階では、古くからある古典的なnmapが役立ちます。 このユーティリティを初めて使用する場合は、デフォルトでnmapが〜1000ポート(上記の最初で最も一般的な)をスキャンし、UDPもスキャンしないことを考慮する必要があります-これを覚えておいてください。



サブドメインをスキャンします。 この段階では、digユーティリティを使用してAXFRリクエストを理解すると便利です。 subbruteユーティリティも便利です。



目に見えるコンテンツの検査。 ここで、奇妙なことに、Webアプリケーションを視覚的に調べて、その動作ロジックを理解するために、あなた自身の目が役立ちます。 小さなヒント:初期検証を匿名にし、注意を引かないようにするには、google.tranlsateのような検索エンジンとシステムのキャッシュを使用します。



非表示のコンテンツ(ディレクトリ、ファイル、情報)を検索します。 この段階では、 dirbdirsearchユーティリティ 便利です。Foca(非推奨)およびmaltegoツールを使用できます(登録が必要です。有料版があります)。



プラットフォームとWeb環境の定義。 ここでは、wappalyzerブラウザーのアドオンまたはwhatwebユーティリティを使用する必要があります。



入力フォームの定義。 この段階では、非表示コンテンツの検索の結果として識別されたページ上のフォームの視覚的検査に制限できます。



それとは別に、情報を収集するための「ハーベスター」に言及したいと思います。これらのツールを使用すると、アカウントやサブドメインの識別からサイト上の重要な情報の検索まで、非常に多くの情報を取得できます。



アクセス制御



この段階では、パスワードポリシー要件の機器検証と手動検証の両方が必要です。



確認するには、たとえばhydraまたはpatatorを使用して、既知の資格情報を使用して辞書攻撃を実行する必要があります。この方法で、このような攻撃(またはその不在)に対する保護を特定できます。



パスワードポリシーの要件を特定します。 ポリシー要件のロジックを手動で確認します。 ブルート保護なしで数字(PINコードなど)のみを使用することは非常に悪い考えです。



アカウント復旧のテスト。 この段階では、パスワードをリセットするための複数のリンクまたはトリガーがあります(異なるアカウントから)。 ここでは、たとえばhashIDを使用して、ハッシュ(頻繁に発生する)を識別して判別する必要があります。 次に、比較ユーティリティ(burpスイートのcomparerなど)を使用して、リセットトリガー(リンクなど)を比較する必要があります。



セッション保存機能のテスト。 アカウント認証機能のテスト。 権限とアクセス権の検証。 セッション調査(ライフタイム、セッショントークン、サイン、同時作業の試行など)CSRFを確認します。 これらのタスクには、 マントラが適しています-firefoxとchromeアセンブリの両方の形式のバージョンがあります。



ファジングパラメーター



Webアプリケーションのテストは、インストルメンタルモード( w3afvegaarachnisqlmap 、Acunetix、Netsparkerなど)とセミインストルメントモード( Burp SuiteOWASP ZAPなど)の両方で実行できます。



自動および手動(最も正確)のこれらのツールを使用して、次の脆弱性を特定できます:インジェクション(SQL、SOAP、LDAP、XPATHなど)、XSS脆弱性、リダイレクトおよびリダイレクト-Web脆弱性の全範囲(OWASPトップ10)。



Webアプリケーションロジックチェック



クライアント側でアプリケーションのロジックをテストします。 いわゆるのためのテスト 「レース状態」-レース状態。 アクセス権またはその不在に基づいて情報の可用性をテストします。 データの重複または分離を確認します。 この段階では、 Burp SuiteOWASP ZAP、またはすべて同じマントラを使用して、アプリケーションのロジックと操作を十分に検討する必要があります。 自動モードでこのような脆弱性を特定することはほとんど不可能です(コードを操作してそのような脆弱性の正式な兆候を特定し、ソースコードを調査するユーティリティを除く)。



サーバー環境の確認



サーバーアーキテクチャを確認します。 公開されている脆弱性の検索と特定。 サーバーアカウント(サービス)の検証。 サーバーまたはコンポーネントの設定の定義(SSLなど)。 アクセス権の検証。 ここでは、専用のスキャナー(サービス用)と有名なスキャナー( OpenVASArmitage / Metasploitなど)の両方を使用できます。



合計



アプリケーションをテストする計画があれば、特定の脆弱性の有無について、すべてのコンポーネントを段階的に調べることができます。 Webアプリケーションに基づいて、特定のアイテムにアプリケーションまたはソフトウェアに固有のチェックを追加できます。



コメントであなたの質問にお答えさせていただきます。



All Articles