侵入テストを始める方法 - 翻訳

ここに画像の説明を挿入

大学3年生からセキュリティを学び始めてあっという間に5年が経ち、ペネトレーションテストについてもある程度理解できました 公式アカウントでは実践的な操作を中心とした入門チュートリアルの公開を準備中ですが、ペネトレーション テストを始めたいと考えている人の手助けになれば幸いです。役立つと思われた場合は、記事を書く動機として記事の最後でサポートしていただけます。

1. 侵入テストとは

ペネトレーション テストは、実際のハッカーの攻撃方法をシミュレートして、ターゲットの Web サイトまたはホストの包括的なセキュリティ評価を実行することです。ハッキング攻撃とは異なり、ペネトレーション テストの目的は、できるだけ多くのセキュリティ ホールを見つけることですが、実際のハッキング攻撃では、 1 つの侵入を見つけます。クリックしてターゲット システムに入ります。

優秀なペネトレーションテストエンジニアは強力なハッカーとも言え、ホワイトハットとも言えます。

なお、ペネトレーションテストを実施する場合には、対象となるお客様の許可が必要となりますので、許可されていない場合には、対象システムへのペネトレーションテストを実施しないでください。同時に、私たちは正しい職業倫理を持ち、違法なことをしてはなりません。

2. 侵入テストを学ぶ理由

ペネトレーション テストを学習するメリットは次のとおりです。

• 心理的な満足感。それはクールで、子供の頃にハッカー映画を見て自分もその人になったようなものです。

ここに画像の説明を挿入

• それなりの収入があること。このポジションの給与は大手求人サイトで確認できます。空いた時間にアルバイトをしたり、公的脆弱性テストに参加したりすることもでき、比較的十分な収入を得ることができます。

ここに画像の説明を挿入

• それほど官能的ではありません。ソフトウェア開発と金融業界の時代において、ネットワーク セキュリティ業界では人材が少なすぎるため、競争は非常に小さいと言えます。

3. 侵入テストの前提となるスキルを学ぶ

実際、ペネトレーション テストを学ぶ上で最も重要なことは、興味を持ち、好奇心、知識への渇望、そして十分な忍耐力を持つことであり、それがこの道で学習を続けるのに役立ちます。
もちろん、ペネトレーション テストの学習にはまだ少し敷居が高くなりますが、コンピューターの専門家であれば、簡単に始めることができ、1 ~ 2 か月以内に使い始めることができます。他の専攻にいる場合、またはコンピューターの初心者の場合はさらに難しいですが、心配しないでください。私の周りには業界での基礎がまったくない有名人がたくさんいますので、関心は依然として最も高いです重要。

侵入テストに必要な基本的な前提知識を次に示します。

• HTTP プロトコルの基本的な知識。HTTP プロトコルはコンピュータ ネットワークの知識に属します。ペネトレーション テストは基本的に Web サイトのリクエスト データを変更して抜け穴を見つけることであるため、HTTP プロトコル リクエストの形式を理解することが不可欠です。
• cmd / シェル操作。ここで説明する cmd 操作とは、Windows システムの cmd コマンド ライン ウィンドウを使用していくつかの一般的なコマンドを実行し、win + R キーを押して「cmd」と入力し、Enter キーを押して cmd ウィンドウを開くことを指します。Linux を使用していくつかの一般的なシェル コマンドを実行できる必要があります。
• Linux オペレーティング システムの使用。多くのペネトレーション テスト ツールは Linux オペレーティング システムでのみ実行できるため、Linux システムの使用方法を知る必要があります。練習のために VMWare 仮想マシン ソフトウェアを介して Ubuntu linux 仮想マシンをインストールすることも、練習のために Kali Linux を直接インストールすることもできます。

上記は基本的な知識であり、以下はオプションの知識であり、この知識がなくてもペネトレーション テストを実行できますが、制限は比較的大きくなります。

• Python プログラミング言語。スクリプト少年として、Python 言語を知っていれば、通常の作業負荷を軽減するためのツールを開発したり、自動情報収集などの反復的なタスクを Python を使用して実行したりするのに役立ちます。そして最も重要なことは、いくつかのエクスプロイト ツールを作成することです。

• Java/PHP プログラミング言語。ペネトレーション テストは、ほとんどの場合 Web サイトで行われます。これらの Web サイトのほとんどは Java または PHP 言語を使用して開発されており、一部はオープン ソース システムを使用して開発されています。これらのオープン ソース システムのコードを監査し、コード内のバグを見つけることができます。

4. 侵入テストの学習方法

記事の主題である侵入テストの学習方法に戻ります。

最初のステップは学習の方向性を決めることです

ペネトレーションテストの範囲はまだ比較的広いため、ペネトレーションテストを学ぶ前に、まずペネトレーションテストの方向性を理解することができます。方向性に従って、Webペネトレーション、APPペネトレーション、イントラネットペネトレーション、IoTペネトレーションに大別できます。 、産業用制御の浸透。難易度別に分類すると、Web の普及 < イントラネットの普及 < APP の普及 < モノのインターネットの普及 = 産業用制御の普及 という順番だと思います。理想的にはすべてが最善ですが、すべてを段階的に行う必要があります。最も単純な Web 浸透から始めて、Web 浸透をマスターしたら、他の方向に拡張することができます。

なぜこのように分類されているのか、私の理由を説明しましょう。

Web ペネトレーションは主に Web サイトの脆弱性を見つけることを目的としています。必要なのは、コンピュータ ネットワークの基本的な知識、つまり HTTP プロトコルの知識を知っていて、いくつかのツールを使用することだけです。残りは、いくつかの一般的な Web 脆弱性テスト方法を理解することです。

イントラネットペネトレーションとは、WebペネトレーションによりWebサーバーの権限を取得したり、フィッシングメールを利用して対象のイントラネットホストの権限を取得した後、対象企業の内部ネットワークに対してペネトレーションテストを実施することを指します。その中でも、サブネット分割、ネットワークトポロジー図、各種ネットワークプロトコルなど、より多くのコンピュータネットワークの知識が必要となります。また、Windows ドメインの知識、権限昇格テクノロジ、水平移動テクノロジ、権限維持テクノロジ、アンチキル テクノロジについても理解します。学習内容はそれほど難しいものではないので、時間をかければ習得できます。Web浸透よりも知識ポイントが多いため、Web浸透よりも難易度が高くなります。

APP ペネトレーションは、主に Android APP および iOS APP ペネトレーション テストの場合、Web ペネトレーションの拡張として理解できます。APP はサーバーのバックグラウンド データと対話する必要もあり、テストのこの部分は Web ペネトレーションと同じです。さらに、APP 自体の脆弱性をテストする必要もありますが、これには逆方向分析の能力が必要であり、逆方向分析は実際にはセキュリティの一般的な方向性であり、いくつかの解凍技術、動的デバッグ技術、ソフトウェアの使用を習得する必要があります。逆コンパイル ツール、Java プログラミング言語、C/C++ プログラミング言語、アセンブリ言語、Swift プログラミング言語、Object-C プログラミング言語。プログラミング言語に関しては、ソフトウェア開発者ほど熟練する必要はありませんが、少なくともコードを理解できる必要があります。APP の侵入には逆分析機能が必要であり、より多くの基礎的なコンピューター知識を学習するため、APP の侵入はより困難になります。

IoT の普及と産業用制御の普及は実際には似ています。違いは、IoT デバイスはインターネットに接続する必要があるのに対し、産業用制御デバイスは通常、隔離されたネットワーク内にあることです。同じことは、すべての物理デバイスに接続する必要があるということです。上記のさまざまな侵入とは異なり、ネットワークがあれば開始できますが、IoT や産業用制御機器がなければ、まったく開始できないか、一部のテストしか実行できません。機器に連絡できるかどうかで多くの人が立ち止まります。この分野の学習にはハードウェアを購入するためのお金が必要になるか、会社がハードウェアの購入に投資する必要があります。スキル面では、逆解析に加えて、さまざまなハードウェア知識、電気知識、産業用プロトコル、IoTプロトコルなどの理解も必要となるため、難易度は最も高くなります。

2 番目のステップは、学習している方向のフレームワークと知識ポイントを理解することです。

重要でない知識を闇雲に学習しないように、学習の方向性の枠組みや知識のポイントを理解することがより重要です。ペネトレーション テストを始めるには、最も単純な Web ペネトレーションから始めてください。入門レベルの Web ペネトレーションの知識フレームワークは 3 つの部分に分割できると思います。

1. 情報収集プロセス。
サブドメインの収集、クエリのファイリング、github の機密情報の検索など、方法を知れば知るほど、より多くの情報を収集できます。

2 つ目は、侵入テストに共通のツールを使用することです。
エントリーレベルの侵入テストの場合、基本的には nmap、Burpsuite、Kali Linux、および sqlmap を使用するだけで十分です。

3. Web ペネトレーションの一般的な脆弱性テスト。
エントリーレベルの侵入テストでは、まず、最も一般的な SQL インジェクションの脆弱性、XSS の脆弱性、ファイル アップロードの脆弱性、不正な脆弱性、弱いパスワードなどの OWASP トップ 10 の脆弱性を習得できます。

3 つの主要な知識フレームワークを確認した後、これら 3 つの側面の知識ポイントを見つけるために検索エンジンを使用する必要があります。検索エンジンには Google の使用のみをお勧めします (Google を使用して自分で情報を見つける方法)。Baidu は広告が多すぎます。それらを検索してください 物事は Google よりもはるかに価値がありません。
ここに画像の説明を挿入

3 番目のステップは、侵入テストの知識ポイントを学ぶことです。

侵入テストのフレームワークと知識ポイントを一般的に理解したら、次のステップは、これらの知識ポイントをどのように学習するかです。

1 つ目は独学で、お金をかけずに、またはほとんどお金をかけずにエントリーレベルのペネトテストを行うのに適しており、大学生や自由な時間が多い人に適しています。

独学ではGoogleを使って検索し、さまざまな知識を学ぶ必要があります。海外にも侵入テストのガイドラインがいくつかあるので、それに従うことができます。

たとえば、ペネトレーション テスト実行標準では、ペネトレーション テストの理論的な知識が紹介されています。さらに側面の理論もあります。初心者が読むことはお勧めできません。ここでは言及のみを記載します。Web サイトは次のとおりです。http:// www.pentest-standard.org/index
.php/Main_Page

実践的なガイドもいくつかありますが、ほとんどがテキストで内容はすべて英語なので、英語が苦手な方はChromeブラウザのWebページ翻訳を利用してご覧ください。

http://www.pentest-standard.org/index.php/PTES_Technical_guidelines
ここに画像の説明を挿入

OWASP Web セキュリティ テスト ガイド プロジェクトもあります。これには、脆弱性のいくつかのテスト手順が含まれており、入門ガイドとして参照できます。

https://owasp.org/www-project-web-security-testing-guide/stable/
ここに画像の説明を挿入

外国のペネトレーション テスト ガイドを読むだけでなく、ペネトレーション テストの本を購入して読むこともできます。「Web セキュリティの徹底分析」や「ハッキング攻撃・防御技術集 Web 実戦」などの良書を何冊か読みましたが、本を読むのは
退屈だと感じています。ビデオチュートリアルもいくつかあります。あまりにも多いので、お勧めはできませんが、評価を見て自分で判断する必要があります。

ここに画像の説明を挿入

もちろん、独学だけでなく、ある程度の経済力のある初心者向けのトレーニングコースに参加することもできます。私の周りにも養成講座から始めた大スターがたくさんいますが、私は参加したことがないので勧められませんが、参加したことのある友人には勧めることはできます。

第4ステップ 実践運用

3 番目のステップで学習した知識ポイントに従って実際の操作を実行し、各知識ポイントを学習した後に練習します。実践的な操作には、脆弱性テスト用に特別に設計されたいくつかの仮想マシン射撃場を見つけることができます。射撃場をダウンロードした後、使用します。 VMWare 仮想マシン ソフトウェアを開く テストのためにアクセスできます。いくつかの範囲を以下に示します。

owaspbwa: Open Web Application Security Project (OWASP) は、VMware 形式の仮想マシン上に配布される脆弱な Web アプリケーションのグループです。Webgoat、DVWA、bWAPP などの多数の脆弱な Web サイトを統合する、この仮想マシン射撃場が推奨されます。 。ダウンロードアドレスは以下の通りです。

https://sourceforge.net/projects/owaspbwa/

ここに画像の説明を挿入

Metasploitable :
Metasploitable は、意図的に脆弱な Linux 仮想マシンです。この仮想マシンは、セキュリティ トレーニング、セキュリティ ツールのテスト、一般的な侵入テスト手法の実践に使用できます。この仮想マシンも優れていますが、vsftp の脆弱性など、ホストの脆弱性がいくつかあります。ダウンロードアドレスは次のとおりです:
https://sourceforge.net/projects/metasploitable/

ここに画像の説明を挿入

ピカチュウ:
ピカチュウは中国の脆弱性射撃場です

https://github.com/zhuifengshaonianhanlu/pikachu

ここに画像の説明を挿入

Vulhub:
Vulhub は多くの脆弱な Docker イメージを統合しており、Docker を使用してさまざまな脆弱な環境を起動できます。アドレスは次のとおりです:
https://vulhub.org/

射撃場をダウンロードした後、BurpSuite プロキシ ツールの使用方法を学ぶ必要があります。このツールは侵入テストのために必ず学習する必要があります。商用ソフトウェアであり、価格は安くありません。インターネット上にはクラック版が存在します。 。BurpSuite の公式ドキュメントを参照して学習および使用できます。アドレスは次のとおりです:
https://portswigger.net/burp/documentation/desktop/getting-started

BurpSuite はビデオだけでなく、脆弱性テストのチュートリアルやオンライン射撃場も公式に提供しており、侵入テストについては公式 Web サイトで直接学ぶことができます

ここに画像の説明を挿入

仮想マシン ソフトウェアの使用方法がわからない場合は、オンラインの脆弱性射撃場で練習することもできます。

Webセキュリティアカデミー:
https://portswigger.net/web-security/getting-started

ハックザボックス:
https://www.hackthebox.com/

ペンテスター向けウェブ:https://www.pentesterlab.com/exercises/web_for_pentester/course

一般的な脆弱性テスト方法と burpsuite ツールの使用法を学習した後は、実際の Web サイトにアクセスして実際に戦う必要があります。大手インターネット企業のパッチ適用プラットフォーム、脆弱性ボックス、SRCなど、実戦用の脆弱性プラットフォームが存在しますが、これらのプラットフォーム上で脆弱性マイニングを行う場合は、各プラットフォームのルールを明確にし、そのルールに厳密に従う必要があります。ここでもう 1 つの注意事項があります。許可なしにテストしないでください。許可なくテストしないでください。許可なくテストしないでください。重要なことは3回言ってください。その結果については、「ネットワークセキュリティ法」を確認してください。
これはペネトレーションテストの入門編ですが、後で時間があるときにいくつかのチュートリアルを公開しますので、お楽しみに~~~

ここに画像の説明を挿入

大学3年生からセキュリティを学び始めてあっという間に5年が経ち、ペネトレーションテストについてもある程度理解できました 公式アカウントでは実践的な操作を中心とした入門チュートリアルの公開を準備中ですが、ペネトレーション テストを始めたいと考えている人の手助けになれば幸いです。役立つと思われた場合は、記事を書く動機として記事の最後でサポートしていただけます。

1. 侵入テストとは

ペネトレーション テストは、実際のハッカーの攻撃方法をシミュレートして、ターゲットの Web サイトまたはホストの包括的なセキュリティ評価を実行することです。ハッキング攻撃とは異なり、ペネトレーション テストの目的は、できるだけ多くのセキュリティ ホールを見つけることですが、実際のハッキング攻撃では、 1 つの侵入を見つけます。クリックしてターゲット システムに入ります。

優秀なペネトレーションテストエンジニアは強力なハッカーとも言え、ホワイトハットとも言えます。

なお、ペネトレーションテストを実施する場合には、対象となるお客様の許可が必要となりますので、許可されていない場合には、対象システムへのペネトレーションテストを実施しないでください。同時に、私たちは正しい職業倫理を持ち、違法なことをしてはなりません。

2. 侵入テストを学ぶ理由

ペネトレーション テストを学習するメリットは次のとおりです。

• 心理的な満足感。それはクールで、子供の頃にハッカー映画を見て自分もその人になったようなものです。

ここに画像の説明を挿入

• それなりの収入があること。このポジションの給与は大手求人サイトで確認できます。空いた時間にアルバイトをしたり、公的脆弱性テストに参加したりすることもでき、比較的十分な収入を得ることができます。

ここに画像の説明を挿入

• それほど官能的ではありません。ソフトウェア開発と金融業界の時代において、ネットワーク セキュリティ業界では人材が少なすぎるため、競争は非常に小さいと言えます。

3. 侵入テストの前提となるスキルを学ぶ

実際、ペネトレーション テストを学ぶ上で最も重要なことは、興味を持ち、好奇心、知識への渇望、そして十分な忍耐力を持つことであり、それがこの道で学習を続けるのに役立ちます。
もちろん、ペネトレーション テストの学習にはまだ少し敷居が高くなりますが、コンピューターの専門家であれば、簡単に始めることができ、1 ~ 2 か月以内に使い始めることができます。他の専攻にいる場合、またはコンピューターの初心者の場合はさらに難しいですが、心配しないでください。私の周りには業界での基礎がまったくない有名人がたくさんいますので、関心は依然として最も高いです重要。

侵入テストに必要な基本的な前提知識を次に示します。

• HTTP プロトコルの基本的な知識。HTTP プロトコルはコンピュータ ネットワークの知識に属します。ペネトレーション テストは基本的に Web サイトのリクエスト データを変更して抜け穴を見つけることであるため、HTTP プロトコル リクエストの形式を理解することが不可欠です。
• cmd / シェル操作。ここで説明する cmd 操作とは、Windows システムの cmd コマンド ライン ウィンドウを使用していくつかの一般的なコマンドを実行し、win + R キーを押して「cmd」と入力し、Enter キーを押して cmd ウィンドウを開くことを指します。Linux を使用していくつかの一般的なシェル コマンドを実行できる必要があります。
• Linux オペレーティング システムの使用。多くのペネトレーション テスト ツールは Linux オペレーティング システムでのみ実行できるため、Linux システムの使用方法を知る必要があります。練習のために VMWare 仮想マシン ソフトウェアを介して Ubuntu linux 仮想マシンをインストールすることも、練習のために Kali Linux を直接インストールすることもできます。

上記は基本的な知識であり、以下はオプションの知識であり、この知識がなくてもペネトレーション テストを実行できますが、制限は比較的大きくなります。

• Python プログラミング言語。スクリプト少年として、Python 言語を知っていれば、通常の作業負荷を軽減するためのツールを開発したり、自動情報収集などの反復的なタスクを Python を使用して実行したりするのに役立ちます。そして最も重要なことは、いくつかのエクスプロイト ツールを作成することです。

• Java/PHP プログラミング言語。ペネトレーション テストは、ほとんどの場合 Web サイトで行われます。これらの Web サイトのほとんどは Java または PHP 言語を使用して開発されており、一部はオープン ソース システムを使用して開発されています。これらのオープン ソース システムのコードを監査し、コード内のバグを見つけることができます。

4. 侵入テストの学習方法

記事の主題である侵入テストの学習方法に戻ります。

最初のステップは学習の方向性を決めることです

ペネトレーションテストの範囲はまだ比較的広いため、ペネトレーションテストを学ぶ前に、まずペネトレーションテストの方向性を理解することができます。方向性に従って、Webペネトレーション、APPペネトレーション、イントラネットペネトレーション、IoTペネトレーションに大別できます。 、産業用制御の浸透。難易度別に分類すると、Web の普及 < イントラネットの普及 < APP の普及 < モノのインターネットの普及 = 産業用制御の普及 という順番だと思います。理想的にはすべてが最善ですが、すべてを段階的に行う必要があります。最も単純な Web 浸透から始めて、Web 浸透をマスターしたら、他の方向に拡張することができます。

なぜこのように分類されているのか、私の理由を説明しましょう。

Web ペネトレーションは主に Web サイトの脆弱性を見つけることを目的としています。必要なのは、コンピュータ ネットワークの基本的な知識、つまり HTTP プロトコルの知識を知っていて、いくつかのツールを使用することだけです。残りは、いくつかの一般的な Web 脆弱性テスト方法を理解することです。

イントラネットペネトレーションとは、WebペネトレーションによりWebサーバーの権限を取得したり、フィッシングメールを利用して対象のイントラネットホストの権限を取得した後、対象企業の内部ネットワークに対してペネトレーションテストを実施することを指します。その中でも、サブネット分割、ネットワークトポロジー図、各種ネットワークプロトコルなど、より多くのコンピュータネットワークの知識が必要となります。また、Windows ドメインの知識、権限昇格テクノロジ、水平移動テクノロジ、権限維持テクノロジ、アンチキル テクノロジについても理解します。学習内容はそれほど難しいものではないので、時間をかければ習得できます。Web浸透よりも知識ポイントが多いため、Web浸透よりも難易度が高くなります。

APP ペネトレーションは、主に Android APP および iOS APP ペネトレーション テストの場合、Web ペネトレーションの拡張として理解できます。APP はサーバーのバックグラウンド データと対話する必要もあり、テストのこの部分は Web ペネトレーションと同じです。さらに、APP 自体の脆弱性をテストする必要もありますが、これには逆方向分析の能力が必要であり、逆方向分析は実際にはセキュリティの一般的な方向性であり、いくつかの解凍技術、動的デバッグ技術、ソフトウェアの使用を習得する必要があります。逆コンパイル ツール、Java プログラミング言語、C/C++ プログラミング言語、アセンブリ言語、Swift プログラミング言語、Object-C プログラミング言語。プログラミング言語に関しては、ソフトウェア開発者ほど熟練する必要はありませんが、少なくともコードを理解できる必要があります。APP の侵入には逆分析機能が必要であり、より多くの基礎的なコンピューター知識を学習するため、APP の侵入はより困難になります。

IoT の普及と産業用制御の普及は実際には似ています。違いは、IoT デバイスはインターネットに接続する必要があるのに対し、産業用制御デバイスは通常、隔離されたネットワーク内にあることです。同じことは、すべての物理デバイスに接続する必要があるということです。上記のさまざまな侵入とは異なり、ネットワークがあれば開始できますが、IoT や産業用制御機器がなければ、まったく開始できないか、一部のテストしか実行できません。機器に連絡できるかどうかで多くの人が立ち止まります。この分野の学習にはハードウェアを購入するためのお金が必要になるか、会社がハードウェアの購入に投資する必要があります。スキル面では、逆解析に加えて、さまざまなハードウェア知識、電気知識、産業用プロトコル、IoTプロトコルなどの理解も必要となるため、難易度は最も高くなります。

2 番目のステップは、学習している方向のフレームワークと知識ポイントを理解することです。

重要でない知識を闇雲に学習しないように、学習の方向性の枠組みや知識のポイントを理解することがより重要です。ペネトレーション テストを始めるには、最も単純な Web ペネトレーションから始めてください。入門レベルの Web ペネトレーションの知識フレームワークは 3 つの部分に分割できると思います。

1. 情報収集プロセス。
サブドメインの収集、クエリのファイリング、github の機密情報の検索など、方法を知れば知るほど、より多くの情報を収集できます。

2 つ目は、侵入テストに共通のツールを使用することです。
エントリーレベルの侵入テストの場合、基本的には nmap、Burpsuite、Kali Linux、および sqlmap を使用するだけで十分です。

3. Web ペネトレーションの一般的な脆弱性テスト。
エントリーレベルの侵入テストでは、まず、最も一般的な SQL インジェクションの脆弱性、XSS の脆弱性、ファイル アップロードの脆弱性、不正な脆弱性、弱いパスワードなどの OWASP トップ 10 の脆弱性を習得できます。

3 つの主要な知識フレームワークを確認した後、これら 3 つの側面の知識ポイントを見つけるために検索エンジンを使用する必要があります。検索エンジンには Google の使用のみをお勧めします (Google を使用して自分で情報を見つける方法)。Baidu は広告が多すぎます。それらを検索してください 物事は Google よりもはるかに価値がありません。
ここに画像の説明を挿入

3 番目のステップは、侵入テストの知識ポイントを学ぶことです。

侵入テストのフレームワークと知識ポイントを一般的に理解したら、次のステップは、これらの知識ポイントをどのように学習するかです。

1 つ目は独学で、お金をかけずに、またはほとんどお金をかけずにエントリーレベルのペネトテストを行うのに適しており、大学生や自由な時間が多い人に適しています。

独学ではGoogleを使って検索し、さまざまな知識を学ぶ必要があります。海外にも侵入テストのガイドラインがいくつかあるので、それに従うことができます。

たとえば、ペネトレーション テスト実行標準では、ペネトレーション テストの理論的な知識が紹介されています。さらに側面の理論もあります。初心者が読むことはお勧めできません。ここでは言及のみを記載します。Web サイトは次のとおりです。http:// www.pentest-standard.org/index
.php/Main_Page

実践的なガイドもいくつかありますが、ほとんどがテキストで内容はすべて英語なので、英語が苦手な方はChromeブラウザのWebページ翻訳を利用してご覧ください。

http://www.pentest-standard.org/index.php/PTES_Technical_guidelines
ここに画像の説明を挿入

OWASP Web セキュリティ テスト ガイド プロジェクトもあります。これには、脆弱性のいくつかのテスト手順が含まれており、入門ガイドとして参照できます。

https://owasp.org/www-project-web-security-testing-guide/stable/
ここに画像の説明を挿入

外国のペネトレーション テスト ガイドを読むだけでなく、ペネトレーション テストの本を購入して読むこともできます。「Web セキュリティの徹底分析」や「ハッキング攻撃・防御技術集 Web 実戦」などの良書を何冊か読みましたが、本を読むのは
退屈だと感じています。ビデオチュートリアルもいくつかあります。あまりにも多いので、お勧めはできませんが、評価を見て自分で判断する必要があります。

ここに画像の説明を挿入

もちろん、独学だけでなく、ある程度の経済力のある初心者向けのトレーニングコースに参加することもできます。私の周りにも養成講座から始めた大スターがたくさんいますが、私は参加したことがないので勧められませんが、参加したことのある友人には勧めることはできます。

第4ステップ 実践運用

3 番目のステップで学習した知識ポイントに従って実際の操作を実行し、各知識ポイントを学習した後に練習します。実践的な操作には、脆弱性テスト用に特別に設計されたいくつかの仮想マシン射撃場を見つけることができます。射撃場をダウンロードした後、使用します。 VMWare 仮想マシン ソフトウェアを開く テストのためにアクセスできます。いくつかの範囲を以下に示します。

owaspbwa: Open Web Application Security Project (OWASP) は、VMware 形式の仮想マシン上に配布される脆弱な Web アプリケーションのグループです。Webgoat、DVWA、bWAPP などの多数の脆弱な Web サイトを統合する、この仮想マシン射撃場が推奨されます。 。ダウンロードアドレスは以下の通りです。

https://sourceforge.net/projects/owaspbwa/

ここに画像の説明を挿入

Metasploitable :
Metasploitable は、意図的に脆弱な Linux 仮想マシンです。この仮想マシンは、セキュリティ トレーニング、セキュリティ ツールのテスト、一般的な侵入テスト手法の実践に使用できます。この仮想マシンも優れていますが、vsftp の脆弱性など、ホストの脆弱性がいくつかあります。ダウンロードアドレスは次のとおりです:
https://sourceforge.net/projects/metasploitable/

ここに画像の説明を挿入

ピカチュウ:
ピカチュウは中国の脆弱性射撃場です

https://github.com/zhuifengshaonianhanlu/pikachu

ここに画像の説明を挿入

Vulhub:
Vulhub は多くの脆弱な Docker イメージを統合しており、Docker を使用してさまざまな脆弱な環境を起動できます。アドレスは次のとおりです:
https://vulhub.org/

射撃場をダウンロードした後、BurpSuite プロキシ ツールの使用方法を学ぶ必要があります。このツールは侵入テストのために必ず学習する必要があります。商用ソフトウェアであり、価格は安くありません。インターネット上にはクラック版が存在します。 。BurpSuite の公式ドキュメントを参照して学習および使用できます。アドレスは次のとおりです:
https://portswigger.net/burp/documentation/desktop/getting-started

BurpSuite はビデオだけでなく、脆弱性テストのチュートリアルやオンライン射撃場も公式に提供しており、侵入テストについては公式 Web サイトで直接学ぶことができます

ここに画像の説明を挿入

仮想マシン ソフトウェアの使用方法がわからない場合は、オンラインの脆弱性射撃場で練習することもできます。

Webセキュリティアカデミー:
https://portswigger.net/web-security/getting-started

ハックザボックス:
https://www.hackthebox.com/

ペンテスター向けウェブ:https://www.pentesterlab.com/exercises/web_for_pentester/course

一般的な脆弱性テスト方法と burpsuite ツールの使用法を学習した後は、実際の Web サイトにアクセスして実際に戦う必要があります。大手インターネット企業のパッチ適用プラットフォーム、脆弱性ボックス、SRCなど、実戦用の脆弱性プラットフォームが存在しますが、これらのプラットフォーム上で脆弱性マイニングを行う場合は、各プラットフォームのルールを明確にし、そのルールに厳密に従う必要があります。ここでもう 1 つの注意事項があります。許可なしにテストしないでください。許可なくテストしないでください。許可なくテストしないでください。重要なことは3回言ってください。その結果については、「ネットワークセキュリティ法」を確認してください。
これはペネトレーションテストの入門編ですが、後で時間があるときにいくつかのチュートリアルを公開しますので、お楽しみに~~~

おすすめ

転載: blog.csdn.net/Arvin_FH/article/details/132452163
おすすめ